Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 __splicedPackages, 3 callPackage, 4 config, 5 db, 6 lib, 7 makeScopeWithSplicing', 8 pythonPackagesExtensions, 9 stdenv, 10}@args: 11 12( 13 let 14 15 # Common passthru for all Python interpreters. 16 passthruFun = import ./passthrufun.nix args; 17 18 sources = { 19 python313 = { 20 sourceVersion = { 21 major = "3"; 22 minor = "13"; 23 patch = "5"; 24 suffix = ""; 25 }; 26 hash = "sha256-k+WD8kNFTm6eRYjKLCZiIGrZYWWYYyd6/NuWgBZH1kA="; 27 }; 28 }; 29 30 in 31 { 32 33 python27 = callPackage ./cpython/2.7 { 34 self = __splicedPackages.python27; 35 sourceVersion = { 36 major = "2"; 37 minor = "7"; 38 patch = "18"; 39 suffix = ".8"; # ActiveState's Python 2 extended support 40 }; 41 hash = "sha256-HUOzu3uJbtd+3GbmGD35KOk/CDlwL4S7hi9jJGRFiqI="; 42 inherit passthruFun; 43 }; 44 45 python310 = callPackage ./cpython { 46 self = __splicedPackages.python310; 47 sourceVersion = { 48 major = "3"; 49 minor = "10"; 50 patch = "18"; 51 suffix = ""; 52 }; 53 hash = "sha256-rmZbxnir2atqbhVz0kgWJaU3GbxRfppjTtK5/vrjgX8="; 54 inherit passthruFun; 55 }; 56 57 python311 = callPackage ./cpython { 58 self = __splicedPackages.python311; 59 sourceVersion = { 60 major = "3"; 61 minor = "11"; 62 patch = "13"; 63 suffix = ""; 64 }; 65 hash = "sha256-j7X5+8dgn6giyzFUmIRXXbf9llfL/7iVELXXl1ljqDo="; 66 inherit passthruFun; 67 }; 68 69 python312 = callPackage ./cpython { 70 self = __splicedPackages.python312; 71 sourceVersion = { 72 major = "3"; 73 minor = "12"; 74 patch = "11"; 75 suffix = ""; 76 }; 77 hash = "sha256-wwuyS38emhmxG1WlRkNPdOc5u0wnGj46gP9DgNSfets="; 78 inherit passthruFun; 79 }; 80 81 python313 = callPackage ./cpython ( 82 { 83 self = __splicedPackages.python313; 84 inherit passthruFun; 85 } 86 // sources.python313 87 ); 88 89 python314 = callPackage ./cpython { 90 self = __splicedPackages.python314; 91 sourceVersion = { 92 major = "3"; 93 minor = "14"; 94 patch = "0"; 95 suffix = "rc1"; 96 }; 97 hash = "sha256-hwd4CunxnFv1ufJ4JxgboRza17spLqScrVQkMx5A7os="; 98 inherit passthruFun; 99 }; 100 # Minimal versions of Python (built without optional dependencies) 101 python3Minimal = 102 (callPackage ./cpython ( 103 { 104 self = __splicedPackages.python3Minimal; 105 inherit passthruFun; 106 pythonAttr = "python3Minimal"; 107 # strip down that python version as much as possible 108 openssl = null; 109 readline = null; 110 ncurses = null; 111 gdbm = null; 112 sqlite = null; 113 tzdata = null; 114 libuuid = null; 115 bzip2 = null; 116 libxcrypt = null; 117 xz = null; 118 zlib = null; 119 libffi = null; 120 stripConfig = true; 121 stripIdlelib = true; 122 stripTests = true; 123 stripTkinter = true; 124 rebuildBytecode = false; 125 stripBytecode = true; 126 includeSiteCustomize = false; 127 enableOptimizations = false; 128 enableLTO = false; 129 mimetypesSupport = false; 130 withExpat = false; 131 withMpdecimal = false; 132 /* 133 The actual 'allowedReferences' attribute is set inside the cpython derivation. 134 This is necessary in order to survive overrides of dependencies. 135 */ 136 allowedReferenceNames = [ 137 "bashNonInteractive" 138 ]; 139 } 140 // sources.python313 141 )).overrideAttrs 142 (old: { 143 # TODO(@Artturin): Add this to the main cpython expr 144 strictDeps = true; 145 pname = "python3-minimal"; 146 }); 147 148 pypy27 = callPackage ./pypy { 149 self = __splicedPackages.pypy27; 150 sourceVersion = { 151 major = "7"; 152 minor = "3"; 153 patch = "19"; 154 }; 155 156 hash = "sha256-hwPNywH5+Clm3UO2pgGPFAOZ21HrtDwSXB+aIV57sAM="; 157 pythonVersion = "2.7"; 158 db = db.override { dbmSupport = !stdenv.hostPlatform.isDarwin; }; 159 python = __splicedPackages.pythonInterpreters.pypy27_prebuilt; 160 inherit passthruFun; 161 }; 162 163 pypy310 = callPackage ./pypy { 164 self = __splicedPackages.pypy310; 165 sourceVersion = { 166 major = "7"; 167 minor = "3"; 168 patch = "19"; 169 }; 170 171 hash = "sha256-p8IpMLkY9Ahwhl7Yp0FH9ENO+E09bKKzweupNV1JKcg="; 172 pythonVersion = "3.10"; 173 db = db.override { dbmSupport = !stdenv.hostPlatform.isDarwin; }; 174 python = __splicedPackages.pypy27; 175 inherit passthruFun; 176 }; 177 178 pypy311 = callPackage ./pypy { 179 self = __splicedPackages.pypy311; 180 sourceVersion = { 181 major = "7"; 182 minor = "3"; 183 patch = "19"; 184 }; 185 186 hash = "sha256-SBfARLtGmjJ05gqjZFdw+B60+RZup/3E5sNRNFVUyNg="; 187 pythonVersion = "3.11"; 188 db = db.override { dbmSupport = !stdenv.hostPlatform.isDarwin; }; 189 python = __splicedPackages.pypy27; 190 inherit passthruFun; 191 }; 192 193 pypy27_prebuilt = callPackage ./pypy/prebuilt_2_7.nix { 194 # Not included at top-level 195 self = __splicedPackages.pythonInterpreters.pypy27_prebuilt; 196 sourceVersion = { 197 major = "7"; 198 minor = "3"; 199 patch = "19"; 200 }; 201 202 hash = 203 { 204 aarch64-linux = "sha256-/onU/UrxP3bf5zFZdQA1GM8XZSDjzOwVRKiNF09QkQ4="; 205 x86_64-linux = "sha256-04RFUIwurxTrs4DZwd7TIcXr6uMcfmaAAXPYPLjd9CM="; 206 aarch64-darwin = "sha256-KHgOC5CK1ttLTglvQjcSS+eezJcxlG2EDZyHSetnp1k="; 207 x86_64-darwin = "sha256-a+KNRI2OZP/8WG2bCuTQkGSoPMrrW4BgxlHFzZrgaHg="; 208 } 209 .${stdenv.system}; 210 pythonVersion = "2.7"; 211 inherit passthruFun; 212 }; 213 214 pypy310_prebuilt = callPackage ./pypy/prebuilt.nix { 215 # Not included at top-level 216 self = __splicedPackages.pythonInterpreters.pypy310_prebuilt; 217 sourceVersion = { 218 major = "7"; 219 minor = "3"; 220 patch = "19"; 221 }; 222 hash = 223 { 224 aarch64-linux = "sha256-ryeliRePERmOIkSrZcpRBjC6l8Ex18zEAh61vFjef1c="; 225 x86_64-linux = "sha256-xzrCzCOArJIn/Sl0gr8qPheoBhi6Rtt1RNU1UVMh7B4="; 226 aarch64-darwin = "sha256-PbigP8SWFkgBZGhE1/OxK6oK2zrZoLfLEkUhvC4WijY="; 227 x86_64-darwin = "sha256-LF5cKjOsiCVR1/KLmNGdSGuJlapQgkpztO3Mau7DXGM="; 228 } 229 .${stdenv.system}; 230 pythonVersion = "3.10"; 231 inherit passthruFun; 232 }; 233 234 pypy311_prebuilt = callPackage ./pypy/prebuilt.nix { 235 # Not included at top-level 236 self = __splicedPackages.pythonInterpreters.pypy311_prebuilt; 237 sourceVersion = { 238 major = "7"; 239 minor = "3"; 240 patch = "19"; 241 }; 242 hash = 243 { 244 aarch64-linux = "sha256-EyB9v4HOJOltp2CxuGNie3e7ILH7TJUZHgKgtyOD33Q="; 245 x86_64-linux = "sha256-kXfZ4LuRsF+SHGQssP9xoPNlO10ppC1A1qB4wVt1cg8="; 246 aarch64-darwin = "sha256-dwTg1TAuU5INMtz+mv7rEENtTJQjPogwz2A6qVWoYcE="; 247 x86_64-darwin = "sha256-okOfnTDf2ulqXpEBx9xUqKaLVsnXMU6jmbCiXT6H67I="; 248 } 249 .${stdenv.system}; 250 pythonVersion = "3.11"; 251 inherit passthruFun; 252 }; 253 } 254 // lib.optionalAttrs config.allowAliases { 255 pypy39_prebuilt = throw "pypy 3.9 has been removed, use pypy 3.10 instead"; # Added 2025-01-03 256 } 257)