From 4fc73bd7f33769bab7a0fe0b7b3ab6c8838f98a8 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 6 Dec 2023 11:27:22 +0100 Subject: minimal support for freebsd (#41434) --- var/spack/repos/builtin/packages/clingo/package.py | 4 +++- var/spack/repos/builtin/packages/expat/package.py | 2 +- var/spack/repos/builtin/packages/krb5/freebsd-link.patch | 11 +++++++++++ var/spack/repos/builtin/packages/krb5/package.py | 1 + var/spack/repos/builtin/packages/libbsd/package.py | 2 ++ 5 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 var/spack/repos/builtin/packages/krb5/freebsd-link.patch (limited to 'var') diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py index f64dc6e812..eaf4c6ad92 100644 --- a/var/spack/repos/builtin/packages/clingo/package.py +++ b/var/spack/repos/builtin/packages/clingo/package.py @@ -50,6 +50,7 @@ class Clingo(CMakePackage): depends_on("re2c@0.13:", type="build") depends_on("bison@2.5:", type="build", when="platform=linux") depends_on("bison@2.5:", type="build", when="platform=darwin") + depends_on("bison@2.5:", type="build", when="platform=freebsd") depends_on("bison@2.5:", type="build", when="platform=cray") with when("platform=windows"): @@ -61,8 +62,9 @@ class Clingo(CMakePackage): depends_on("python", type=("build", "link", "run")) # Clingo 5.5.0 supports Python 3.6 or later and needs CFFI depends_on("python@3.6.0:", type=("build", "link", "run"), when="@5.5.0:") - depends_on("py-cffi", type=("build", "run"), when="@5.5.0: platform=darwin") depends_on("py-cffi", type=("build", "run"), when="@5.5.0: platform=linux") + depends_on("py-cffi", type=("build", "run"), when="@5.5.0: platform=darwin") + depends_on("py-cffi", type=("build", "run"), when="@5.5.0: platform=freebsd") depends_on("py-cffi", type=("build", "run"), when="@5.5.0: platform=cray") patch("python38.patch", when="@5.3:5.4.0") diff --git a/var/spack/repos/builtin/packages/expat/package.py b/var/spack/repos/builtin/packages/expat/package.py index c6a5fae505..45142ea1a5 100644 --- a/var/spack/repos/builtin/packages/expat/package.py +++ b/var/spack/repos/builtin/packages/expat/package.py @@ -105,7 +105,7 @@ class Expat(AutotoolsPackage, CMakePackage): # `~libbsd`. variant( "libbsd", - default=sys.platform != "darwin" and sys.platform != "win32", + default=sys.platform == "linux", description="Use libbsd (for high quality randomness)", ) diff --git a/var/spack/repos/builtin/packages/krb5/freebsd-link.patch b/var/spack/repos/builtin/packages/krb5/freebsd-link.patch new file mode 100644 index 0000000000..76f49a44fd --- /dev/null +++ b/var/spack/repos/builtin/packages/krb5/freebsd-link.patch @@ -0,0 +1,11 @@ +--- a/src/config/shlib.conf ++++ b/src/config/shlib.conf +@@ -327,7 +327,7 @@ mips-*-netbsd*) + CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' + CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)' + SHLIBEXT=.so +- LDCOMBINE='ld -Bshareable' ++ LDCOMBINE='$(CC) -shared' + SHLIB_RPATH_FLAGS='--enable-new-dtags -rpath $(SHLIB_RDIRS)' + SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' + CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' diff --git a/var/spack/repos/builtin/packages/krb5/package.py b/var/spack/repos/builtin/packages/krb5/package.py index 84dc616066..ad1ea1cd99 100644 --- a/var/spack/repos/builtin/packages/krb5/package.py +++ b/var/spack/repos/builtin/packages/krb5/package.py @@ -42,6 +42,7 @@ class Krb5(AutotoolsPackage): ) # This patch is applied in newer upstream releases patch("mit-krb5-1.17-static-libs.patch", level=0, when="@:1.18.9") + patch("freebsd-link.patch", when="platform=freebsd") configure_directory = "src" build_directory = "src" diff --git a/var/spack/repos/builtin/packages/libbsd/package.py b/var/spack/repos/builtin/packages/libbsd/package.py index 070ebd7656..e31ce810cf 100644 --- a/var/spack/repos/builtin/packages/libbsd/package.py +++ b/var/spack/repos/builtin/packages/libbsd/package.py @@ -35,6 +35,8 @@ class Libbsd(AutotoolsPackage): patch("cdefs.h.patch", when="@0.8.6 %gcc@:4") patch("local-elf.h.patch", when="@:0.10 %intel") + conflicts("platform=freebsd") + # https://gitlab.freedesktop.org/libbsd/libbsd/issues/1 conflicts("platform=darwin") -- cgit v1.2.3-60-g2f50