unison: update to 2.53.3, deprecate old versions we can't build in spack (#41777)

- Use MakefilePackage and simplified package.py

- Deprecate old versions - they did not build for me with OCaml 4.13.1
  that is currently in Spack. Also, the changes from the previous
  versions seem to be quite significant.
This commit is contained in:
Arne Becker 2024-01-18 00:58:31 +00:00 committed by GitHub
parent ded778004e
commit 308761d5f9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,7 +6,7 @@
from spack.package import * from spack.package import *
class Unison(Package): class Unison(MakefilePackage):
"""Unison is a file-synchronization tool for OSX, Unix, and """Unison is a file-synchronization tool for OSX, Unix, and
Windows. It allows two replicas of a collection of files and Windows. It allows two replicas of a collection of files and
directories to be stored on different hosts (or different disks directories to be stored on different hosts (or different disks
@ -20,19 +20,28 @@ class Unison(Package):
license("GPL-3.0-or-later") license("GPL-3.0-or-later")
version("2.51.2", sha256="a2efcbeab651be6df69cc9b253011a07955ecb91fb407a219719451197849d5e") version("2.53.3", sha256="aaea04fc5bc76dcfe8627683c9659ee4c194d4f992cc8aaa15bbb2820fc8de46")
version("2.48.15v4", sha256="f8c7e982634bbe1ed6510fe5b36b6c5c55c06caefddafdd9edc08812305fdeec") version(
"2.51.2",
sha256="a2efcbeab651be6df69cc9b253011a07955ecb91fb407a219719451197849d5e",
deprecated=True,
)
version(
"2.48.15v4",
sha256="f8c7e982634bbe1ed6510fe5b36b6c5c55c06caefddafdd9edc08812305fdeec",
deprecated=True,
)
depends_on("ocaml@4.10.0:~force-safe-string", type="build") depends_on("ocaml@4.10.0:~force-safe-string", type=("build", "link"))
with when("@:2.51.2"):
patch("large.patch", level=0) patch("large.patch", level=0)
patch("4.08-compatibility.patch", when="^ocaml@4.08:") patch("4.08-compatibility.patch", when="^ocaml@4.08:")
parallel = False parallel = False
def install(self, spec, prefix): build_targets = ["UISTYLE=text", "DEBUGGING=false", "THREADS=true"]
make("UISTYLE=text DEBUGGING=false THREADS=true")
def install(self, spec, prefix):
mkdirp(prefix.bin) mkdirp(prefix.bin)
install("src/unison", prefix.bin) install("src/unison", prefix.bin)
set_executable(join_path(prefix.bin, "unison"))