diff --git a/pkgs/tools/networking/voms/default.nix b/pkgs/tools/networking/voms/default.nix new file mode 100644 index 000000000000..06639a5ef129 --- /dev/null +++ b/pkgs/tools/networking/voms/default.nix @@ -0,0 +1,70 @@ +{ lib +, stdenv +, fetchFromGitHub + # Native build inputs +, autoreconfHook +, bison +, flex +, pkg-config + # Build inputs +, expat +, gsoap +, openssl +, zlib +}: + +stdenv.mkDerivation rec{ + pname = "voms-unstable"; + version = "2021-05-04"; + + src = fetchFromGitHub { + owner = "italiangrid"; + repo = "voms"; + rev = "61563152fce3a4e6860dd8ab8ab6e72b7908d8b8"; + sha256 = "LNR0G4XrgxqjQmjyaKoZJLNoxtAGiTM93FG3jIU1u+Y="; + }; + + nativeBuildInputs = [ + autoreconfHook + bison + flex + pkg-config + ]; + + buildInputs = [ + expat + gsoap + openssl + zlib + ]; + + outputs = [ "bin" "out" "dev" "man" ]; + + preAutoreconf = '' + mkdir -p aux src/autogen + ''; + + postAutoreconf = '' + # FHS patching + substituteInPlace configure \ + --replace "/usr/bin/soapcpp2" "${gsoap}/bin/soapcpp2" + + # Tell gcc about the location of zlib + # See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=voms + export GSOAP_SSL_PP_CFLAGS="$(pkg-config --cflags gsoapssl++ zlib)" + export GSOAP_SSL_PP_LIBS="$(pkg-config --libs gsoapssl++ zlib)" + ''; + + configureFlags = [ + "--with-gsoap-wsdl2h=${gsoap}/bin/wsdl2h" + ]; + + meta = with lib; { + description = "The VOMS native service and APIs"; + homepage = "https://italiangrid.github.io/voms/"; + changelog = "https://github.com/italiangrid/voms/blob/master/ChangeLog"; + license = licenses.asl20; + platforms = platforms.linux; # gsoap is currently Linux-only in Nixpkgs + maintainers = with maintainers; [ ShamrockLee ]; + }; +} diff --git a/pkgs/tools/networking/xrootd/default.nix b/pkgs/tools/networking/xrootd/default.nix index a4c90f95e90d..0dc5c7a5eb04 100644 --- a/pkgs/tools/networking/xrootd/default.nix +++ b/pkgs/tools/networking/xrootd/default.nix @@ -4,15 +4,16 @@ , fetchFromGitHub , cmake , cppunit +, pkg-config , curl , fuse , libkrb5 , libuuid , libxml2 , openssl -, pkg-config , readline , systemd +, voms , zlib , enableTests ? true }: @@ -52,6 +53,7 @@ stdenv.mkDerivation rec { ++ lib.optionals stdenv.isLinux [ fuse systemd + voms ] ++ lib.optionals enableTests [ cppunit diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index daa30701e59c..00f24f6a7ab3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1216,6 +1216,8 @@ with pkgs; ventoy-bin = callPackage ../tools/cd-dvd/ventoy-bin { }; + voms = callPackage ../tools/networking/voms { }; + vopono = callPackage ../tools/networking/vopono { }; winbox = callPackage ../tools/admin/winbox {