spack/var/spack/repos/builtin/packages/libtirpc/package.py
2024-11-11 15:33:22 +01:00

56 lines
2.2 KiB
Python

# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Libtirpc(AutotoolsPackage):
"""Libtirpc is a port of Suns Transport-Independent RPC library to Linux."""
homepage = "https://sourceforge.net/projects/libtirpc/"
url = "https://sourceforge.net/projects/libtirpc/files/libtirpc/1.1.4/libtirpc-1.1.4.tar.bz2/download"
license("BSD-3-Clause")
version("1.3.3", sha256="6474e98851d9f6f33871957ddee9714fdcd9d8a5ee9abb5a98d63ea2e60e12f3")
version("1.2.6", sha256="4278e9a5181d5af9cd7885322fdecebc444f9a3da87c526e7d47f7a12a37d1cc")
version("1.1.4", sha256="2ca529f02292e10c158562295a1ffd95d2ce8af97820e3534fe1b0e3aec7561d")
depends_on("c", type="build") # generated
depends_on("krb5")
provides("rpc")
# Remove -pipe flag to compiler in Makefiles when using nvhpc
patch("libtirpc-remove-pipe-flag-for-nvhpc.patch", when="%nvhpc")
# Allow to build on macOS
# - Remove versioning linker flags and include
# - Include missing / apple specific headers
# - Add apple pre-processor guards to guard / ignore some sections
# Taken from:
# https://github.com/unfs3/unfs3/pull/25#issuecomment-1631198490
patch("macos-1.3.3.patch", when="@1.3.3 platform=darwin")
# Only the latest version is known to build on macOS. Previous versions fail
# with auth_none.c:81:9: error: unknown type name 'mutex_t'
conflicts("platform=darwin", when="@:1.3.2", msg="Does not build on macOS")
@property
def headers(self):
hdrs = find_headers("*", self.prefix)
# libtirpc puts headers under include/tirpc, but some codes (e.g. hdf)
# do not expect a tirpc component. Since some might, we return
# both prefix.include.tirpc and prefix.include as header paths
hdrs.directories = [self.prefix.include.tirpc, self.prefix.include]
return hdrs
def configure_args(self):
# See discussion in
# https://github.com/unfs3/unfs3/pull/25#issuecomment-1631198490
if self.spec.satisfies("@1.3.3 platform=darwin"):
return ["--disable-gssapi"]
return []