diff --git a/maintainers/scripts/haskell/hydra-report.hs b/maintainers/scripts/haskell/hydra-report.hs index 360b9f2058d..6f154d90f06 100755 --- a/maintainers/scripts/haskell/hydra-report.hs +++ b/maintainers/scripts/haskell/hydra-report.hs @@ -1,6 +1,6 @@ #! /usr/bin/env nix-shell #! nix-shell -p "haskellPackages.ghcWithPackages (p: [p.aeson p.req])" -#! nix-shell -p hydra-unstable +#! nix-shell -p hydra_unstable #! nix-shell -i runhaskell {- diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix index 90adab7fbf2..9440382e66a 100644 --- a/nixos/modules/services/continuous-integration/hydra/default.nix +++ b/nixos/modules/services/continuous-integration/hydra/default.nix @@ -99,8 +99,8 @@ in package = mkOption { type = types.package; - default = pkgs.hydra-unstable; - defaultText = literalExpression "pkgs.hydra-unstable"; + default = pkgs.hydra_unstable; + defaultText = literalExpression "pkgs.hydra_unstable"; description = "The Hydra package."; }; diff --git a/nixos/tests/hydra/default.nix b/nixos/tests/hydra/default.nix index 9fc787842d8..baf18afbc56 100644 --- a/nixos/tests/hydra/default.nix +++ b/nixos/tests/hydra/default.nix @@ -11,7 +11,7 @@ let inherit (import ./common.nix { inherit system; }) baseConfig; hydraPkgs = { - inherit (pkgs) hydra-unstable; + inherit (pkgs) hydra_unstable; }; makeHydraTest = with pkgs.lib; name: package: makeTest { diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix deleted file mode 100644 index 5289015d43b..00000000000 --- a/pkgs/development/tools/misc/hydra/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ lib, fetchFromGitHub, callPackage, nixVersions, nixosTests, fetchpatch }: - -{ - hydra-unstable = callPackage ./common.nix { - version = "2022-02-07"; - src = fetchFromGitHub { - owner = "NixOS"; - repo = "hydra"; - rev = "517dce285a851efd732affc084c7083aed2e98cd"; - sha256 = "sha256-abWhd/VLNse3Gz7gcVbFANJLAhHV4nbOKjhVDmq/Zmg="; - }; - patches = [ - ./eval.patch - ./missing-std-string.patch - (fetchpatch { - url = "https://github.com/NixOS/hydra/commit/5ae26aa7604f714dcc73edcb74fe71ddc8957f6c.patch"; - sha256 = "sha256-wkbWo8SFbT3qwVxwkKQWpQT5Jgb1Bb51yiLTlFdDN/I="; - }) - ]; - nix = nixVersions.nix_2_6; - - tests = { - basic = nixosTests.hydra.hydra-unstable; - }; - }; -} diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/unstable.nix similarity index 66% rename from pkgs/development/tools/misc/hydra/common.nix rename to pkgs/development/tools/misc/hydra/unstable.nix index 2b0775afc37..36de9f886c1 100644 --- a/pkgs/development/tools/misc/hydra/common.nix +++ b/pkgs/development/tools/misc/hydra/unstable.nix @@ -1,29 +1,61 @@ -{ stdenv, nix, perlPackages, buildEnv -, makeWrapper, autoconf, automake, libtool, unzip, pkg-config, sqlite, libpqxx_6 -, top-git, mercurial, darcs, subversion, breezy, openssl, bzip2, libxslt -, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json -, docbook_xsl, openssh, gnused, coreutils, findutils, gzip, xz, gnutar -, rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null -, migration ? false, patches ? [] -, tests ? {}, mdbook +{ stdenv +, lib +, nix +, perlPackages +, buildEnv +, makeWrapper +, autoconf +, automake +, libtool +, unzip +, pkg-config +, sqlite +, libpqxx_6 +, top-git +, mercurial +, darcs +, subversion +, breezy +, openssl +, bzip2 +, libxslt +, perl +, postgresql +, nukeReferences +, git +, boehmgc +, nlohmann_json +, docbook_xsl +, openssh +, gnused +, coreutils +, findutils +, gzip +, xz +, gnutar +, rpm +, dpkg +, cdrkit +, pixz +, boost +, autoreconfHook +, mdbook , foreman , python3 , libressl , cacert , glibcLocales +, fetchFromGitHub +, fetchpatch +, nixosTests }: -with stdenv; - -if lib.versions.major nix.version == "1" - then throw "This Hydra version doesn't support Nix 1.x" -else - let perlDeps = buildEnv { name = "hydra-perl-deps"; paths = with perlPackages; lib.closePropagation - [ ModulePluggable + [ + ModulePluggable AuthenSASL CatalystActionREST CatalystAuthenticationStoreDBIxClass @@ -92,15 +124,37 @@ let git ]; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "hydra"; + version = "2022-02-07"; - inherit stdenv src version patches; + src = fetchFromGitHub { + owner = "NixOS"; + repo = "hydra"; + rev = "517dce285a851efd732affc084c7083aed2e98cd"; + sha256 = "sha256-abWhd/VLNse3Gz7gcVbFANJLAhHV4nbOKjhVDmq/Zmg="; + }; buildInputs = - [ makeWrapper libtool unzip nukeReferences sqlite libpqxx_6 - top-git mercurial darcs subversion breezy openssl bzip2 libxslt - perlDeps perl nix + [ + makeWrapper + libtool + unzip + nukeReferences + sqlite + libpqxx_6 + top-git + mercurial + darcs + subversion + breezy + openssl + bzip2 + libxslt + perlDeps + perl + nix postgresql # for running the tests nlohmann_json boost @@ -108,9 +162,26 @@ in stdenv.mkDerivation rec { ]; hydraPath = lib.makeBinPath ( - [ sqlite subversion openssh nix coreutils findutils pixz - gzip bzip2 xz gnutar unzip git top-git mercurial /*darcs*/ gnused breezy - ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] ); + [ + sqlite + subversion + openssh + nix + coreutils + findutils + pixz + gzip + bzip2 + xz + gnutar + unzip + git + top-git + mercurial /*darcs*/ + gnused + breezy + ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] + ); nativeBuildInputs = [ autoreconfHook pkg-config mdbook autoconf automake ]; @@ -122,6 +193,15 @@ in stdenv.mkDerivation rec { libressl.nc ]; + patches = [ + ./eval.patch + ./missing-std-string.patch + (fetchpatch { + url = "https://github.com/NixOS/hydra/commit/5ae26aa7604f714dcc73edcb74fe71ddc8957f6c.patch"; + sha256 = "sha256-wkbWo8SFbT3qwVxwkKQWpQT5Jgb1Bb51yiLTlFdDN/I="; + }) + ]; + configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ]; NIX_CFLAGS_COMPILE = "-pthread"; @@ -158,7 +238,10 @@ in stdenv.mkDerivation rec { doCheck = true; - passthru = { inherit perlDeps migration tests; }; + passthru = { + inherit perlDeps; + tests.basic = nixosTests.hydra.hydra_unstable; + }; meta = with lib; { description = "Nix-based continuous build system"; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index d4da00d579a..9bd5066863d 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -552,7 +552,8 @@ mapAliases ({ holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01 htmlTidy = throw "'htmlTidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22 ht-rust = xh; # Added 2021-02-13 - hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now"; # Added 2020-04-06 + hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra_unstable` now"; # Added 2020-04-06 + hydra-unstable = hydra_unstable; # added 2022-05-10 ### I ### diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6c9a00c0f1b..68ec2577431 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17858,8 +17858,7 @@ with pkgs; hwloc = callPackage ../development/libraries/hwloc {}; - inherit (callPackage ../development/tools/misc/hydra { }) - hydra-unstable; + hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_6; }; hydra-cli = callPackage ../development/tools/misc/hydra-cli { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9136afd6bed..3c97d570a90 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -24501,6 +24501,12 @@ let url = "mirror://cpan/authors/id/C/CV/CVLIBRARY/UUID4-Tiny-0.002.tar.gz"; sha256 = "e7535b31e386d432dec7adde214348389e1d5cf753e7ed07f1ae04c4360840cf"; }; + postPatch = lib.optionalString (stdenv.isAarch64) '' + # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h + # printf SYS_getrandom | gcc -include sys/syscall.h -E - + substituteInPlace lib/UUID4/Tiny.pm \ + --replace "syscall( 318" "syscall( 278" + ''; meta = { description = "Cryptographically secure v4 UUIDs for Linux x64"; license = with lib.licenses; [ artistic1 gpl1Plus ]; diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 1621740c288..ade95838efc 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -4,7 +4,7 @@ https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. To debug this expression you can use `hydra-eval-jobs` from - `pkgs.hydra-unstable` which prints the jobset description + `pkgs.hydra_unstable` which prints the jobset description to `stdout`: $ hydra-eval-jobs -I . pkgs/top-level/release-haskell.nix