52 name = "hydra-perl-deps";
53 paths = with perlPackages; lib.closePropagation
57 CatalystAuthenticationStoreDBIxClass
58 CatalystAuthenticationStoreLDAP
60 CatalystPluginAccessLog
61 CatalystPluginAuthorizationRoles
63 CatalystPluginPrometheusTiny
64 CatalystPluginSessionStateCookie
65 CatalystPluginSessionStoreFastMmap
66 CatalystPluginStackTrace
68 CatalystTraitForRequestProxyBase
72 CatalystXScriptServerStarman
73 CatalystXRoleApplicator
108 StringCompareConstantTime
125 stdenv.mkDerivation rec {
127 version = "2024-03-08";
129 src = fetchFromGitHub {
132 rev = "8f56209bd6f3b9ec53d50a23812a800dee7a1969";
133 hash = "sha256-mhEj02VruXPmxz3jsKHMov2ERNXk9DwaTAunWEO1iIQ=";
157 hydraPath = lib.makeBinPath (
176 ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ]
179 nativeBuildInputs = [
187 nativeCheckInputs = [
196 configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
198 env.NIX_CFLAGS_COMPILE = "-pthread";
200 OPENLDAP_ROOT = openldap;
203 PATH=$(pwd)/src/script:$(pwd)/src/hydra-eval-jobs:$(pwd)/src/hydra-queue-runner:$(pwd)/src/hydra-evaluator:$PATH
204 PERL5LIB=$(pwd)/src/lib:$PERL5LIB;
207 enableParallelBuilding = true;
210 # https://github.com/NixOS/hydra/security/advisories/GHSA-2p75-6g9f-pqgx
212 name = "CVE-2024-32657.patch";
213 url = "https://github.com/NixOS/hydra/commit/b72528be5074f3e62e9ae2c2ae8ef9c07a0b4dd3.patch";
214 hash = "sha256-+y27N8AIaHj13mj0LwW7dkpzfzZ4xfjN8Ld23c5mzuU=";
219 # Change 5s timeout for init to 30s
220 substituteInPlace t/lib/HydraTestContext.pm \
221 --replace 'expectOkay(5, ("hydra-init"));' 'expectOkay(30, ("hydra-init"));'
226 export LOGNAME=''${LOGNAME:-foo}
227 # set $HOME for bzr so it can create its trace file
228 export HOME=$(mktemp -d)
230 rm t/Hydra/Controller/User/ldap-legacy.t
234 mkdir -p $out/nix-support
235 for i in $out/bin/*; do
237 if [[ $chars =~ ELF ]]; then continue; fi
239 --prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \
240 --prefix PATH ':' $out/bin:$hydraPath \
241 --set-default HYDRA_RELEASE ${version} \
242 --set HYDRA_HOME $out/libexec/hydra \
243 --set NIX_RELEASE ${nix.name or "unknown"}
250 inherit nix perlDeps;
251 tests.basic = nixosTests.hydra.hydra_unstable;
255 description = "Nix-based continuous build system";
256 homepage = "https://nixos.org/hydra";
257 license = licenses.gpl3;
258 platforms = platforms.linux;
259 maintainers = with maintainers; [ lheckemann mindavi ] ++ teams.helsinki-systems.members;