From b8c19337b6b65e68ee8078d55859e0034da13b21 Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Wed, 9 Sep 2020 13:30:43 +0200 Subject: [PATCH] LDAP: add the required packages to the perlPackage via the overlay Nixpkgs doesn't currently provide these required packages. In order to use this feature without waiting for a newer release of NixOS/Nixpkgs thes have been packages inline. --- flake.nix | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 77bf6670..94dcd292 100644 --- a/flake.nix +++ b/flake.nix @@ -35,14 +35,73 @@ # A Nixpkgs overlay that provides a 'hydra' package. overlay = final: prev: { - hydra = with final; let + # Add LDAP dependencies that aren't currently found within nixpkgs. + perlPackages = prev.perlPackages // { + NetLDAPServer = prev.perlPackages.buildPerlPackage { + pname = "Net-LDAP-Server"; + version = "0.43"; + src = final.fetchurl { + url = "mirror://cpan/authors/id/A/AA/AAR/Net-LDAP-Server-0.43.tar.gz"; + sha256 = "0qmh3cri3fpccmwz6bhwp78yskrb3qmalzvqn0a23hqbsfs4qv6x"; + }; + propagatedBuildInputs = with final.perlPackages; [ NetLDAP ConvertASN1 ]; + meta = { + description = "LDAP server side protocol handling"; + license = with final.stdenv.lib.licenses; [ artistic1 ]; + }; + }; + NetLDAPSID = prev.perlPackages.buildPerlPackage { + pname = "Net-LDAP-SID"; + version = "0.0001"; + src = final.fetchurl { + url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-SID-0.001.tar.gz"; + sha256 = "1mnnpkmj8kpb7qw50sm8h4sd8py37ssy2xi5hhxzr5whcx0cvhm8"; + }; + meta = { + description= "Active Directory Security Identifier manipulation"; + license = with final.stdenv.lib.licenses; [ artistic2 ]; + }; + }; + + NetLDAPServerTest = prev.perlPackages.buildPerlPackage { + pname = "Net-LDAP-Server-Test"; + version = "0.22"; + src = final.fetchurl { + url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-Server-Test-0.22.tar.gz"; + sha256 = "13idip7jky92v4adw60jn2gcc3zf339gsdqlnc9nnvqzbxxp285i"; + }; + propagatedBuildInputs = with final.perlPackages; [ NetLDAP NetLDAPServer TestMore DataDump NetLDAPSID ]; + meta = { + description= "test Net::LDAP code"; + license = with final.stdenv.lib.licenses; [ artistic1 ]; + }; + }; + + CatalystAuthenticationStoreLDAP = prev.perlPackages.buildPerlPackage { + pname = "Catalyst-Authentication-Store-LDAP"; + version = "1.016"; + src = final.fetchurl { + url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-LDAP-1.016.tar.gz"; + sha256 = "0cm399vxqqf05cjgs1j5v3sk4qc6nmws5nfhf52qvpbwc4m82mq8"; + }; + propagatedBuildInputs = with final.perlPackages; [ NetLDAP CatalystPluginAuthentication ClassAccessorFast ]; + buildInputs = with final.perlPackages; [ TestMore TestMockObject TestException NetLDAPServerTest ]; + meta = { + description= "Authentication from an LDAP Directory"; + license = with final.stdenv.lib.licenses; [ artistic1 ]; + }; + }; + }; + + hydra = with final; let perlDeps = buildEnv { name = "hydra-perl-deps"; paths = with perlPackages; lib.closePropagation [ ModulePluggable CatalystActionREST CatalystAuthenticationStoreDBIxClass + CatalystAuthenticationStoreLDAP CatalystDevel CatalystDispatchTypeRegex CatalystPluginAccessLog