nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
fork

Configure Feed

Select the types of activity you want to include in your feed.

at netboot-syslinux-multiplatform 236 lines 9.3 kB view raw
1/* This file defines the builds that constitute the Nixpkgs. 2 Everything defined here ends up in the Nixpkgs channel. Individual 3 jobs can be tested by running: 4 5 $ nix-build pkgs/top-level/release.nix -A <jobname>.<system> 6 7 e.g. 8 9 $ nix-build pkgs/top-level/release.nix -A coreutils.x86_64-linux 10*/ 11{ nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; revision = "0000000000000000000000000000000000000000"; } 12, officialRelease ? false 13 # The platforms for which we build Nixpkgs. 14, supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ] 15, limitedSupportedSystems ? [ "i686-linux" ] 16 # Strip most of attributes when evaluating to spare memory usage 17, scrubJobs ? true 18 # Attributes passed to nixpkgs. Don't build packages marked as unfree. 19, nixpkgsArgs ? { config = { 20 allowUnfree = false; 21 inHydra = true; 22 permittedInsecurePackages = [ 23 # *Exceptionally*, those packages will be cached with their *secure* dependents 24 # because they will reach EOL in the middle of the 23.05 release 25 # and it will be too much painful for our users to recompile them 26 # for no real reason. 27 # Remove them for 23.11. 28 "nodejs-16.20.0" 29 "openssl-1.1.1t" 30 ]; 31 }; } 32}: 33 34with import ./release-lib.nix { inherit supportedSystems scrubJobs nixpkgsArgs; }; 35 36let 37 38 systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems; 39 40 supportDarwin = lib.genAttrs [ 41 "x86_64" 42 "aarch64" 43 ] (arch: builtins.elem "${arch}-darwin" systemsWithAnySupport); 44 45 nonPackageJobs = 46 { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; }; 47 48 metrics = import ./metrics.nix { inherit pkgs nixpkgs; }; 49 50 manual = import ../../doc { inherit pkgs nixpkgs; }; 51 lib-tests = import ../../lib/tests/release.nix { inherit pkgs; }; 52 pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; }; 53 54 darwin-tested = if supportDarwin.x86_64 then pkgs.releaseTools.aggregate 55 { name = "nixpkgs-darwin-${jobs.tarball.version}"; 56 meta.description = "Release-critical builds for the Nixpkgs darwin channel"; 57 constituents = 58 [ jobs.tarball 59 jobs.cabal2nix.x86_64-darwin 60 jobs.ghc.x86_64-darwin 61 jobs.git.x86_64-darwin 62 jobs.go.x86_64-darwin 63 jobs.mariadb.x86_64-darwin 64 jobs.nix.x86_64-darwin 65 jobs.nixpkgs-review.x86_64-darwin 66 jobs.nix-info.x86_64-darwin 67 jobs.nix-info-tested.x86_64-darwin 68 jobs.openssh.x86_64-darwin 69 jobs.openssl.x86_64-darwin 70 jobs.pandoc.x86_64-darwin 71 jobs.postgresql.x86_64-darwin 72 jobs.python3.x86_64-darwin 73 jobs.ruby.x86_64-darwin 74 jobs.rustc.x86_64-darwin 75 # blocking ofBorg CI 2020-02-28 76 # jobs.stack.x86_64-darwin 77 jobs.stdenv.x86_64-darwin 78 jobs.vim.x86_64-darwin 79 jobs.cachix.x86_64-darwin 80 81 # UI apps 82 # jobs.firefox-unwrapped.x86_64-darwin 83 jobs.qt5.qtmultimedia.x86_64-darwin 84 jobs.inkscape.x86_64-darwin 85 jobs.gimp.x86_64-darwin 86 jobs.emacs.x86_64-darwin 87 jobs.wireshark.x86_64-darwin 88 jobs.transmission-gtk.x86_64-darwin 89 90 # Tests 91 /* 92 jobs.tests.cc-wrapper.x86_64-darwin 93 jobs.tests.cc-wrapper-clang.x86_64-darwin 94 jobs.tests.cc-wrapper-libcxx.x86_64-darwin 95 jobs.tests.stdenv-inputs.x86_64-darwin 96 jobs.tests.macOSSierraShared.x86_64-darwin 97 jobs.tests.stdenv.hooks.patch-shebangs.x86_64-darwin 98 */ 99 ]; 100 } else null; 101 102 unstable = pkgs.releaseTools.aggregate 103 { name = "nixpkgs-${jobs.tarball.version}"; 104 meta.description = "Release-critical builds for the Nixpkgs unstable channel"; 105 constituents = 106 [ jobs.tarball 107 jobs.metrics 108 jobs.manual 109 jobs.lib-tests 110 jobs.pkgs-lib-tests 111 jobs.stdenv.x86_64-linux 112 jobs.cargo.x86_64-linux 113 jobs.go.x86_64-linux 114 jobs.linux.x86_64-linux 115 jobs.pandoc.x86_64-linux 116 jobs.python3.x86_64-linux 117 # Needed by contributors to test PRs (by inclusion of the PR template) 118 jobs.nixpkgs-review.x86_64-linux 119 # Needed for support 120 jobs.nix-info.x86_64-linux 121 jobs.nix-info-tested.x86_64-linux 122 # Ensure that X11/GTK are in order. 123 jobs.firefox-unwrapped.x86_64-linux 124 jobs.cachix.x86_64-linux 125 126 /* 127 jobs.tests.cc-wrapper.x86_64-linux 128 jobs.tests.cc-wrapper-gcc7.x86_64-linux 129 jobs.tests.cc-wrapper-gcc8.x86_64-linux 130 131 # broken see issue #40038 132 133 jobs.tests.cc-wrapper-clang.x86_64-linux 134 jobs.tests.cc-wrapper-libcxx.x86_64-linux 135 jobs.tests.cc-wrapper-clang-5.x86_64-linux 136 jobs.tests.cc-wrapper-libcxx-5.x86_64-linux 137 jobs.tests.cc-wrapper-clang-6.x86_64-linux 138 jobs.tests.cc-wrapper-libcxx-6.x86_64-linux 139 jobs.tests.cc-multilib-gcc.x86_64-linux 140 jobs.tests.cc-multilib-clang.x86_64-linux 141 jobs.tests.stdenv-inputs.x86_64-linux 142 jobs.tests.stdenv.hooks.patch-shebangs.x86_64-linux 143 */ 144 ] 145 ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools 146 ++ lib.optionals supportDarwin.x86_64 [ 147 jobs.stdenv.x86_64-darwin 148 jobs.cargo.x86_64-darwin 149 jobs.cachix.x86_64-darwin 150 jobs.go.x86_64-darwin 151 jobs.python3.x86_64-darwin 152 jobs.nixpkgs-review.x86_64-darwin 153 jobs.nix-info.x86_64-darwin 154 jobs.nix-info-tested.x86_64-darwin 155 jobs.git.x86_64-darwin 156 jobs.mariadb.x86_64-darwin 157 jobs.vim.x86_64-darwin 158 jobs.inkscape.x86_64-darwin 159 jobs.qt5.qtmultimedia.x86_64-darwin 160 /* 161 jobs.tests.cc-wrapper.x86_64-darwin 162 jobs.tests.cc-wrapper-gcc7.x86_64-darwin 163 # jobs.tests.cc-wrapper-gcc8.x86_64-darwin 164 jobs.tests.cc-wrapper-clang.x86_64-darwin 165 jobs.tests.cc-wrapper-libcxx.x86_64-darwin 166 jobs.tests.cc-wrapper-clang-5.x86_64-darwin 167 jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin 168 jobs.tests.cc-wrapper-clang-6.x86_64-darwin 169 jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin 170 jobs.tests.stdenv-inputs.x86_64-darwin 171 jobs.tests.macOSSierraShared.x86_64-darwin 172 jobs.tests.stdenv.hooks.patch-shebangs.x86_64-darwin 173 */ 174 ]; 175 }; 176 177 stdenvBootstrapTools = with lib; 178 genAttrs systemsWithAnySupport (system: 179 if hasSuffix "-linux" system then 180 let 181 bootstrap = import ../stdenv/linux/make-bootstrap-tools.nix { 182 pkgs = import ../.. { 183 localSystem = { inherit system; }; 184 }; 185 }; 186 in { 187 inherit (bootstrap) dist test; 188 } 189 else if hasSuffix "-darwin" system then 190 let 191 bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix { 192 localSystem = { inherit system; }; 193 }; 194 in { 195 # Lightweight distribution and test 196 inherit (bootstrap) dist test; 197 # Test a full stdenv bootstrap from the bootstrap tools definition 198 # TODO: Re-enable once the new bootstrap-tools are in place. 199 #inherit (bootstrap.test-pkgs) stdenv; 200 } 201 else 202 abort "No bootstrap implementation for system: ${system}" 203 ); 204 }; 205 206 # Do not allow attribute collision between jobs inserted in 207 # 'nonPackageAttrs' and jobs pulled in from 'pkgs'. 208 # Conflicts usually cause silent job drops like in 209 # https://github.com/NixOS/nixpkgs/pull/182058 210 jobs = lib.attrsets.unionOfDisjoint 211 nonPackageJobs 212 (mapTestOn ((packagePlatforms pkgs) // { 213 haskell.compiler = packagePlatforms pkgs.haskell.compiler; 214 haskellPackages = packagePlatforms pkgs.haskellPackages; 215 idrisPackages = packagePlatforms pkgs.idrisPackages; 216 agdaPackages = packagePlatforms pkgs.agdaPackages; 217 218 pkgsLLVM.stdenv = [ "x86_64-linux" "aarch64-linux" ]; 219 pkgsMusl.stdenv = [ "x86_64-linux" "aarch64-linux" ]; 220 pkgsStatic.stdenv = [ "x86_64-linux" "aarch64-linux" ]; 221 222 tests = packagePlatforms pkgs.tests; 223 224 # Language packages disabled in https://github.com/NixOS/nixpkgs/commit/ccd1029f58a3bb9eca32d81bf3f33cb4be25cc66 225 226 #emacsPackages = packagePlatforms pkgs.emacsPackages; 227 #rPackages = packagePlatforms pkgs.rPackages; 228 ocamlPackages = { }; 229 perlPackages = { }; 230 231 darwin = packagePlatforms pkgs.darwin // { 232 xcode = {}; 233 }; 234 } )); 235 236in jobs