diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/interpreters')
51 files changed, 733 insertions, 231 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/acl2/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/acl2/default.nix index 9ad95645240b..83b54e442aa3 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/acl2/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/acl2/default.nix @@ -21,7 +21,7 @@ in stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "acl2-devel"; repo = "acl2-devel"; - rev = "${version}"; + rev = version; sha256 = "0c0wimaf16nrr3d6cxq6p7nr7rxffvpmn66hkpwc1m6zpcipf0y5"; }; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/cling/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/cling/default.nix new file mode 100644 index 000000000000..68819fa7ab06 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/cling/default.nix @@ -0,0 +1,102 @@ +{ stdenv +, python +, libffi +, git +, cmake +, zlib +, fetchgit +, makeWrapper +, runCommand +, runCommandNoCC +, llvmPackages_5 +, glibc +}: + +let + unwrapped = stdenv.mkDerivation rec { + pname = "cling-unwrapped"; + version = "0.7"; + + src = fetchgit { + url = "http://root.cern/git/clang.git"; + # This commit has the tag cling-0.7 so we use it, even though cpt.py + # tries to use refs/tags/cling-patches-rrelease_50 + rev = "354b25b5d915ff3b1946479ad07f3f2768ea1621"; + branchName = "cling-patches"; + sha256 = "0q8q2nnvjx3v59ng0q3qqqhzmzf4pmfqqiy3rz1f3drx5w3lgyjg"; + }; + + clingSrc = fetchgit { + url = "http://root.cern/git/cling.git"; + rev = "70163975eee5a76b45a1ca4016bfafebc9b57e07"; + sha256 = "1mv2fhk857kp5rq714bq49iv7gy9fgdwibydj5wy1kq2m3sf3ysi"; + }; + + preConfigure = '' + echo "add_llvm_external_project(cling)" >> tools/CMakeLists.txt + cp -r $clingSrc ./tools/cling + chmod -R a+w ./tools/cling + ''; + + nativeBuildInputs = [ python git cmake ]; + buildInputs = [ libffi llvmPackages_5.llvm zlib ]; + + cmakeFlags = [ + "-DLLVM_TARGETS_TO_BUILD=host;NVPTX" + "-DLLVM_ENABLE_RTTI=ON" + + # Setting -DCLING_INCLUDE_TESTS=ON causes the cling/tools targets to be built; + # see cling/tools/CMakeLists.txt + "-DCLING_INCLUDE_TESTS=ON" + ]; + + meta = with stdenv.lib; { + description = "The Interactive C++ Interpreter"; + homepage = "https://root.cern/cling/"; + license = with licenses; [ lgpl21 ncsa ]; + maintainers = with maintainers; [ thomasjm ]; + platforms = platforms.unix; + }; + }; + + # The flags passed to the wrapped cling should + # a) prevent it from searching for system include files and libs, and + # b) provide it with the include files and libs it needs (C and C++ standard library) + + # These are also exposed as cling.flags/cling.compilerIncludeFlags because it's handy to be + # able to pass them to tools that wrap Cling, particularly Jupyter kernels such as xeus-cling + # and the built-in jupyter-cling-kernel. Both of these use Cling as a library by linking against + # libclingJupyter.so, so the makeWrapper approach to wrapping the binary doesn't work. + # Thus, if you're packaging a Jupyter kernel, you either need to pass these flags as extra + # args to xcpp (for xeus-cling) or put them in the environment variable CLING_OPTS + # (for jupyter-cling-kernel) + flags = [ + "-nostdinc" + "-nostdinc++" + "-isystem" "${glibc.dev}/include" + "-I" "${unwrapped}/include" + "-I" "${unwrapped}/lib/clang/5.0.2/include" + ]; + + # Autodetect the include paths for the compiler used to build Cling, in the same way Cling does at + # https://github.com/root-project/cling/blob/v0.7/lib/Interpreter/CIFactory.cpp#L107:L111 + # Note: it would be nice to just put the compiler in Cling's PATH and let it do this by itself, but + # unfortunately passing -nostdinc/-nostdinc++ disables Cling's autodetection logic. + compilerIncludeFlags = runCommandNoCC "compiler-include-flags.txt" {} '' + export LC_ALL=C + ${stdenv.cc}/bin/c++ -xc++ -E -v /dev/null 2>&1 | sed -n -e '/^.include/,''${' -e '/^ \/.*++/p' -e '}' > tmp + sed -e 's/^/-isystem /' -i tmp + tr '\n' ' ' < tmp > $out + ''; + +in + +runCommand "cling-${unwrapped.version}" { + buildInputs = [ makeWrapper ]; + inherit unwrapped flags compilerIncludeFlags; + inherit (unwrapped) meta; +} '' + makeWrapper $unwrapped/bin/cling $out/bin/cling \ + --add-flags "$(cat "$compilerIncludeFlags")" \ + --add-flags "$flags" +'' diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix index c023aa65fdaa..a6beaf1a5761 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix @@ -1,25 +1,25 @@ -{ stdenv, fetchurl, graalvm8, glibcLocales }: +{ stdenv, fetchurl, graalvm11-ce, glibcLocales }: with stdenv.lib; stdenv.mkDerivation rec { pname = "babashka"; - version = "0.0.97"; + version = "0.2.3"; reflectionJson = fetchurl { name = "reflection.json"; url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-reflection.json"; - sha256 = "1gd9ih9l02n1j9qkbxb36d3cb5sddwvxiw8kkicgc4xig77lsa7z"; + sha256 = "0lbdh3v3g3j00bn99bjhjj3gk1q9ks2alpvl9bxc00xpyw86f7z8"; }; src = fetchurl { url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; - sha256 = "08py6bawfrhg90fbcnv2mq4c91g5wa1q2q6zdjy2i1b9q4x1654r"; + sha256 = "0vh6k3dkzyk346jjzg6n4mdi65iybrmhb3js9lm73yc3ay2c5dyi"; }; dontUnpack = true; LC_ALL = "en_US.UTF-8"; - nativeBuildInputs = [ graalvm8 glibcLocales ]; + nativeBuildInputs = [ graalvm11-ce glibcLocales ]; buildPhase = '' native-image \ @@ -78,7 +78,7 @@ stdenv.mkDerivation rec { ''; homepage = "https://github.com/borkdude/babashka"; license = licenses.epl10; - platforms = graalvm8.meta.platforms; + platforms = graalvm11-ce.meta.platforms; maintainers = with maintainers; [ bandresen bhougland DerGuteMoritz jlesquembre ]; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojure/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojure/default.nix index 39db54babe44..f12645ec2b62 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojure/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojure/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "clojure"; - version = "1.10.1.645"; + version = "1.10.1.727"; src = fetchurl { url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz"; - sha256 = "1z6a9an8ls992y4japmzdxay7c5d2z9s2q1xl4g615r23jwpcsf9"; + sha256 = "1mnxvy4n7g72vcwhvrgr0xqri3p9d9w76c8a78kphhmd8lq0m92q"; }; nativeBuildInputs = [ @@ -14,22 +14,28 @@ stdenv.mkDerivation rec { makeWrapper ]; + # See https://github.com/clojure/brew-install/blob/1.10.1/src/main/resources/clojure/install/linux-install.sh installPhase = let binPath = stdenv.lib.makeBinPath [ rlwrap jdk ]; in '' - mkdir -p $out/libexec - cp clojure-tools-${version}.jar $out/libexec - cp example-deps.edn $out - cp deps.edn $out - cp clj_exec.clj $out + clojure_lib_dir=$out + bin_dir=$out/bin + echo "Installing libs into $clojure_lib_dir" + install -Dm644 deps.edn "$clojure_lib_dir/deps.edn" + install -Dm644 example-deps.edn "$clojure_lib_dir/example-deps.edn" + install -Dm644 exec.jar "$clojure_lib_dir/libexec/exec.jar" + install -Dm644 clojure-tools-${version}.jar "$clojure_lib_dir/libexec/clojure-tools-${version}.jar" + + echo "Installing clojure and clj into $bin_dir" substituteInPlace clojure --replace PREFIX $out + install -Dm755 clojure "$bin_dir/clojure" + install -Dm755 clj "$bin_dir/clj" - install -Dt $out/bin clj clojure - wrapProgram $out/bin/clj --prefix PATH : $out/bin:${binPath} - wrapProgram $out/bin/clojure --prefix PATH : $out/bin:${binPath} + wrapProgram $bin_dir/clojure --prefix PATH : $out/bin:${binPath} + wrapProgram $bin_dir/clj --prefix PATH : $out/bin:${binPath} installManPage clj.1 clojure.1 ''; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix index 122831e80cc0..61fd94c09bf4 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix @@ -145,7 +145,7 @@ stdenv.mkDerivation { src = fetchgit { url = "https://github.com/anmonteiro/lumo.git"; - rev = "${version}"; + rev = version; sha256 = "12agi6bacqic2wq6q3l28283badzamspajmajzqm7fbdl2aq1a4p"; }; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/dart/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/dart/default.nix index 050e7f14979c..99e6d9662839 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/dart/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/dart/default.nix @@ -12,6 +12,10 @@ let aarch64 = "arm64"; in { + "1.24.3-x86_64-darwin" = fetchurl { + url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; + sha256 = "1n4cq4jrms4j0yl54b3w14agcgy8dbipv5788jziwk8q06a8c69l"; + }; "1.24.3-x86_64-linux" = fetchurl { url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; sha256 = "16sm02wbkj328ni0z1z4n4msi12lb8ijxzmbbfamvg766mycj8z3"; @@ -24,6 +28,10 @@ let url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip"; sha256 = "1p5bn04gr91chcszgmw5ng8mlzgwsrdr2v7k7ppwr1slkx97fsrh"; }; + "2.7.2-x86_64-darwin" = fetchurl { + url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; + sha256 = "111zl075qdk2zd4d4mmfkn30jmzsri9nq3nspnmc2l245gdq34jj"; + }; "2.7.2-x86_64-linux" = fetchurl { url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; sha256 = "0vvsgda1smqdjn35yiq9pxx8f5haxb4hqnspcsfs6sn5c36k854v"; @@ -36,6 +44,18 @@ let url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip"; sha256 = "1p66fkdh1kv0ypmadmg67c3y3li3aaf1lahqh2g6r6qrzbh5da2p"; }; + "2.10.0-x86_64-darwin" = fetchurl { + url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; + sha256 = "1n4qgsax5wi7krgvvs0dy7fz39nlykiw8gr0gdacc85hgyhqg09j"; + }; + "2.10.0-x86_64-linux" = fetchurl { + url = "${base}/${stable_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; + sha256 = "0dncmsfbwcn3ygflhp83i6z4bvc02fbpaq1vzdzw8xdk3sbynchb"; + }; + "2.9.0-4.0.dev-x86_64-darwin" = fetchurl { + url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; + sha256 = "0gj91pbvqrxsvxaj742cllqha2z65867gggzq9hq5139vkkpfj9s"; + }; "2.9.0-4.0.dev-x86_64-linux" = fetchurl { url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; sha256 = "16d9842fb3qbc0hy0zmimav9zndfkq96glgykj20xssc88qpjk2r"; @@ -48,6 +68,14 @@ let url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip"; sha256 = "1x6mlmc4hccmx42k7srhma18faxpxvghjwqahna80508rdpljwgc"; }; + "2.11.0-161.0.dev-x86_64-darwin" = fetchurl { + url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip"; + sha256 = "0mlwxp7jkkjafxkc4vqlgwl62y0hk1arhfrvc9hpm9dv98g3bdjj"; + }; + "2.11.0-161.0.dev-x86_64-linux" = fetchurl { + url = "${base}/${dev_version}/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip"; + sha256 = "05difz4w2fyh2yq5p5pkrqk59jqljlxhc1i6lmy5kihh6z69r12i"; + }; }; in @@ -69,9 +97,7 @@ stdenv.mkDerivation { mkdir -p $out cp -R * $out/ echo $libPath - patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath $libPath \ - $out/bin/dart + find $out/bin -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \; ''; libPath = makeLibraryPath [ stdenv.cc.cc ]; @@ -87,7 +113,7 @@ stdenv.mkDerivation { with C-style syntax. It offers compilation to JavaScript, interfaces, mixins, abstract classes, reified generics, and optional typing. ''; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; + platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" ]; license = licenses.bsd3; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-directory-package.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-directory-package.nix index b4401a85d141..7fe1b46e3a55 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-directory-package.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-directory-package.nix @@ -5,7 +5,7 @@ # the `file` # # This function is used by `dhall-to-nixpkgs` when given a directory -lib.makeOverridable +lib.makePackageOverridable ( { # Arguments passed through to `buildDhallPackage` name , dependencies ? [] @@ -14,12 +14,17 @@ lib.makeOverridable , src , # The file to import, relative to the root directory file ? "package.dhall" + # Set to `true` to generate documentation for the package + , document ? false }: - buildDhallPackage { - inherit name dependencies source; + buildDhallPackage + ( { inherit name dependencies source; - code = "${src}/${file}"; - } + code = "${src}/${file}"; + + } + // lib.optionalAttrs document { documentationRoot = src; } + ) ) diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-github-package.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-github-package.nix index 9289e9b656d3..0978e47754b9 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-github-package.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-github-package.nix @@ -1,7 +1,7 @@ { buildDhallPackage, fetchFromGitHub, lib }: # This function is used by `dhall-to-nixpkgs` when given a GitHub repository -lib.makeOverridable +lib.makePackageOverridable ( { # Arguments passed through to `buildDhallPackage` name , dependencies ? [] @@ -12,6 +12,8 @@ lib.makeOverridable directory ? "" , # The file to import, relative to the above directory file ? "package.dhall" + # Set to `true` to generate documentation for the package + , document ? false # Arguments passed through to `fetchFromGitHub` , owner @@ -22,29 +24,32 @@ lib.makeOverridable , ... }@args: - buildDhallPackage { - inherit name dependencies source; - - code = - let - src = fetchFromGitHub ({ - name = "${name}-source"; - - inherit owner repo rev; - } // removeAttrs args [ - "name" - "dependencies" - "source" - "directory" - "file" - "owner" - "repo" - "rev" - ]); - - prefix = lib.optionalString (directory != "") "${directory}/"; - - in - "${src}/${prefix}${file}"; - } + let + src = fetchFromGitHub ({ + name = "${name}-source"; + + inherit owner repo rev; + } // removeAttrs args [ + "name" + "dependencies" + "document" + "source" + "directory" + "file" + "owner" + "repo" + "rev" + ]); + + prefix = lib.optionalString (directory != "") "${directory}/"; + + in + buildDhallPackage + ( { inherit name dependencies source; + + code = "${src}/${prefix}${file}"; + } + // lib.optionalAttrs document + { documentationRoot = "${src}/${prefix}"; } + ) ) diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix index 9303244eb885..039c50f06937 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix @@ -1,4 +1,4 @@ -{ dhall, haskell, lib, lndir, runCommand, writeText }: +{ dhall, dhall-docs, haskell, lib, lndir, runCommand, writeText }: { name @@ -31,6 +31,12 @@ # space within the Nix store, but if you set the following `source` option to # `true` then the package will also include `source.dhall`. , source ? false + + # Directory to generate documentation for (i.e. as the `--input` option to the + # `dhall-docs` command.) + # + # If `null`, then no documentation is generated. +, documentationRoot ? null }: let @@ -42,8 +48,12 @@ let cache = ".cache"; + data = ".local/share"; + cacheDhall = "${cache}/dhall"; + dataDhall = "${data}/dhall"; + sourceFile = "source.dhall"; in @@ -71,4 +81,10 @@ in echo "missing $SHA_HASH" > $out/binary.dhall ${lib.optionalString (!source) "rm $out/${sourceFile}"} + + ${lib.optionalString (documentationRoot != null) '' + mkdir -p $out/${dataDhall} + + XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --input '${documentationRoot}' --output-link $out/docs + ''} '' diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/duktape/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/duktape/default.nix index 53cbbad8e553..8dbfee206417 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/duktape/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/duktape/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "duktape"; - version = "2.5.0"; + version = "2.6.0"; src = fetchurl { url = "http://duktape.org/duktape-${version}.tar.xz"; - sha256 = "05ln6b2a0s8ynz28armwqs2r5zjyi3cxi0dx6ahnxlqw19b13m43"; + sha256 = "19szwxzvl2g65fw95ggvb8h0ma5bd9vvnnccn59hwnc4dida1x4n"; }; buildPhase = '' diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/elixir/1.11.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/elixir/1.11.nix new file mode 100644 index 000000000000..8f9d869abf3c --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/elixir/1.11.nix @@ -0,0 +1,9 @@ +{ mkDerivation }: + +# How to obtain `sha256`: +# nix-prefetch-url --unpack https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz +mkDerivation { + version = "1.11.2"; + sha256 = "0b4nfgxhmi4gwba9h9k103zrkpbxxvk0gmdl0ggrd5xlg6v288ky"; + minimumOTPVersion = "21"; +} diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix index f821baf66c5d..8dddd5befd4d 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix @@ -69,6 +69,6 @@ in license = licenses.epl10; platforms = platforms.unix; - maintainers = with maintainers; [ havvy couchemar ankhers filalex77 ]; + maintainers = with maintainers; [ havvy couchemar ankhers Br1ght0ne ]; }; }) diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/erlang/R23.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/erlang/R23.nix index e0e2357cc24e..3ad55d806a57 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/erlang/R23.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/erlang/R23.nix @@ -3,8 +3,8 @@ # How to obtain `sha256`: # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz mkDerivation { - version = "23.1"; - sha256 = "1k74g6m2lidhp04vrcwrg0jszj3zwxyrm4fsma09sfn9rfsra36g"; + version = "23.1.2"; + sha256 = "06dp2sw486khy2lc34cw5dca58ii5jvi26dpchiqxnmyvd6995z0"; prePatch = '' substituteInPlace make/configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}" diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/evcxr/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/evcxr/default.nix index 11b9cd1ba505..a97f132b3b2f 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/evcxr/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/evcxr/default.nix @@ -2,22 +2,30 @@ rustPlatform.buildRustPackage rec { pname = "evcxr"; - version = "0.5.3"; + version = "0.6.0"; src = fetchFromGitHub { owner = "google"; repo = "evcxr"; rev = "v${version}"; - sha256 = "144xqi19d2nj9qgmhpx6d1kfhx9vfkmk7rnq6nzybpx4mbbl3ki2"; + sha256 = "sha256-QpUhUE65/IuT/VenziPX6z+CbJswbPPIv/ZnTthZpEU="; }; - cargoSha256 = "07lzxh0wh6azrlzfaacg29zmkn8jdnkdqbwgd5ajy79y8nii3c7z"; + cargoSha256 = "sha256-iUzVd4XtD+41yTV/BmqWLenzAUNPfS7vIHm1KfuPe9A="; + + RUST_SRC_PATH = "${rustPlatform.rustLibSrc}"; nativeBuildInputs = [ pkgconfig makeWrapper cmake ]; buildInputs = stdenv.lib.optional stdenv.isDarwin Security; - postInstall = '' - wrapProgram $out/bin/evcxr --prefix PATH : ${stdenv.lib.makeBinPath [ cargo gcc ]} - wrapProgram $out/bin/evcxr_jupyter --prefix PATH : ${stdenv.lib.makeBinPath [ cargo gcc ]} + postInstall = let + wrap = exe: '' + wrapProgram $out/bin/${exe} \ + --prefix PATH : ${stdenv.lib.makeBinPath [ cargo gcc ]} \ + --set-default RUST_SRC_PATH "$RUST_SRC_PATH" + ''; + in '' + ${wrap "evcxr"} + ${wrap "evcxr_jupyter"} rm $out/bin/testing_runtime ''; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/groovy/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/groovy/default.nix index 97e997bdd693..dd9cac84ddd8 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/groovy/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/groovy/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "groovy"; - version = "3.0.3"; + version = "3.0.7"; src = fetchurl { url = "http://dl.bintray.com/groovy/maven/apache-groovy-binary-${version}.zip"; - sha256 = "0xdm70b61pdj8z3g08az16y9b6cpz5hv7iwvwfyfyxrjdi47h419"; + sha256 = "1xdpjqx7qaq0syw448b32q36g12pgh1hn6knyqi3k5isp0f09qmr"; }; buildInputs = [ unzip makeWrapper ]; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/guile/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/guile/default.nix index 68df200835fa..52a3488d0515 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/guile/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/guile/default.nix @@ -38,7 +38,13 @@ libtool libunistring ]; - enableParallelBuilding = true; + # According to Bernhard M. Wiedemann <bwiedemann suse de> on + # #reproducible-builds on irc.oftc.net, (2020-01-29): they had to + # build Guile without parallel builds to make it reproducible. + # + # re: https://issues.guix.gnu.org/issue/20272 + # re: https://build.opensuse.org/request/show/732638 + enableParallelBuilding = false; patches = [ ./eai_system.patch @@ -109,4 +115,3 @@ ''; }; }) - diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix index d85448a9677c..02992e718718 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix @@ -1,45 +1,46 @@ -{ stdenv, fetchFromGitHub, fetchpatch, libX11, libXt, withGraphics ? true }: +{ stdenv +, fetchFromGitHub +, libX11 +, libXt +, withGraphics ? true +}: stdenv.mkDerivation rec { pname = "icon-lang"; - version = "9.5.1"; + version = "unstable-2020-02-05"; src = fetchFromGitHub { owner = "gtownsend"; repo = "icon"; - rev = "rel${builtins.replaceStrings ["."] [""] version}"; - sha256 = "1gkvj678ldlr1m5kjhx6zpmq11nls8kxa7pyy64whgakfzrypynw"; + rev = "829cff33de4a21546fb269de3ef5acd7b4f0c0c7"; + sha256 = "1lj2f13pbaajcy4v3744bz46rghhw5sv4dwwfnzhsllbj5gnjsv2"; }; buildInputs = stdenv.lib.optionals withGraphics [ libX11 libXt ]; - patches = [ - # Patch on git master, likely won't be necessary in future release - (fetchpatch { - url = "https://github.com/gtownsend/icon/commit/bfc4a6004d0d3984c8066289b8d8e563640c4ddd.patch"; - sha256 = "1pqapjghk10rb73a1mfflki2wipjy4kvnravhmrilkqzb9hd6v8m"; - excludes = [ - "doc/relnotes.htm" - "src/h/version.h" - ]; - }) - ]; - configurePhase = let - _name = if stdenv.isDarwin then "macintosh" else "linux"; + target = if withGraphics then "X-Configure" else "Configure"; + platform = + if stdenv.isLinux then "linux" + else if stdenv.isDarwin then "macintosh" + else if stdenv.isBSD then "bsd" + else if stdenv.isCygwin then "cygwin" + else if stdenv.isSunOS then "solaris" + else throw "unsupported system"; in - '' - make ${stdenv.lib.optionalString withGraphics "X-"}Configure name=${_name} - ''; + "make ${target} name=${platform}"; installPhase = '' make Install dest=$out + rm $out/README + mkdir -p $out/share/doc + mv $out/doc $out/share/doc/icon ''; meta = with stdenv.lib; { description = ''A very high level general-purpose programming language''; maintainers = with maintainers; [ vrthra yurrriq ]; - platforms = with platforms; linux ++ darwin; + platforms = with platforms; linux ++ darwin ++ freebsd ++ netbsd ++ openbsd ++ cygwin ++ illumos; license = licenses.publicDomain; homepage = "https://www.cs.arizona.edu/icon/"; }; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/joker/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/joker/default.nix index 7f773882d8f9..2eb01b376446 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/joker/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/joker/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "joker"; - version = "0.15.6"; + version = "0.15.7"; src = fetchFromGitHub { rev = "v${version}"; owner = "candid82"; repo = "joker"; - sha256 = "1yi9q8ibia6gz6s30i3bjrbmlhj6knrb3d73113dxrs8abi1mkbh"; + sha256 = "01mlizkflajad4759yl60ymibymrvanhc22jaffj50k9b77v97kq"; }; vendorSha256 = "031ban30kx84r54fj9aq96pwkz9nqh4p9yzs4l8i1wqmy52rldvl"; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/metamath/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/metamath/default.nix index 66352cfdda4b..cccb7434797a 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/metamath/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/metamath/default.nix @@ -2,15 +2,15 @@ stdenv.mkDerivation { pname = "metamath"; - version = "0.182"; + version = "0.193"; buildInputs = [ autoreconfHook ]; src = fetchFromGitHub { owner = "metamath"; repo = "metamath-exe"; - rev = "5df616efe4119ff88daf77e7041d45b6fa39c578"; - sha256 = "0amjdgy42c7jypf6sz98iczlxcyl9bqx67ws1q8w2zdqk2izsyjp"; + rev = "f973c81222ebe36580a24f0fa7bbb600990af7d6"; + sha256 = "1s9hyknfvhj86g3giayyf3dxzg23iij0rs7bdvj075v9qbyhqn9b"; }; meta = with stdenv.lib; { diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/octave/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/octave/default.nix index d9766108596a..841f89b97fbd 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/octave/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/octave/default.nix @@ -59,12 +59,12 @@ assert (!blas.isILP64) && (!lapack.isILP64); mkDerivation rec { - version = "5.2.0"; + version = "6.1.0"; pname = "octave"; src = fetchurl { url = "mirror://gnu/octave/${pname}-${version}.tar.gz"; - sha256 = "1qcmcpsq1lfka19fxzvxjwjhg113c39a9a0x8plkhvwdqyrn5sig"; + sha256 = "0mqa1g3fq0q45mqc0didr8vl6bk7jzj6gjsf1522qqjq2r04xwvg"; }; buildInputs = [ diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/perl/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/perl/default.nix index 576d72f9d110..ac41a63cef77 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/perl/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/perl/default.nix @@ -174,11 +174,11 @@ let priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl` }; } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec { - crossVersion = "f59d2b6a179760230d925550db78b93c410433e4"; # Sept 22, 2020 + crossVersion = "6c115604fcbf01ceb3c6d7c13206a7590abf6c21"; # Nov 22, 2020 perl-cross-src = fetchurl { url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz"; - sha256 = "1r07waq4ik4gf32c046f27pglwcy5rv9b6whj6497xbxfmaa5562"; + sha256 = "1xb3krm7m3f7lhq774pf48czyfa8378jahg1q0kkcz8alrl270w1"; }; depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ]; @@ -214,7 +214,7 @@ in { perldevel = common { perl = pkgs.perldevel; buildPerl = buildPackages.perldevel; - version = "5.33.2"; - sha256 = "0zrb3d744argzy5idmafk92iprq9qbhzqbg4xj5w2i80sgg41212"; + version = "5.33.4"; + sha256 = "02r8d0wrwaj0vgqbbqidhqgck2xp5k9g49aslj9faqcmgpsj5kcz"; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/7.3.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/7.3.nix new file mode 100644 index 000000000000..30e26bf87a1b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/7.3.nix @@ -0,0 +1,20 @@ +{ callPackage, lib, stdenv, nixosTests, ... }@_args: + +let + generic = (import ./generic.nix) _args; + + base = callPackage generic (_args // { + version = "7.3.25"; + sha256 = "1yq2fwpg9jgcafcrq4ffqm52r0f80pi6zy7fj1yb1qwim96mlcb9"; + + # https://bugs.php.net/bug.php?id=76826 + extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch; + }); + +in base.withExtensions ({ all, ... }: with all; ([ + bcmath calendar curl ctype dom exif fileinfo filter ftp gd + gettext gmp hash iconv intl json ldap mbstring mysqli mysqlnd + opcache openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite + pgsql posix readline session simplexml sockets soap sodium sqlite3 + tokenizer xmlreader xmlwriter zip zlib +] ++ lib.optionals (!stdenv.isDarwin) [ imap ])) diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/7.4.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/7.4.nix new file mode 100644 index 000000000000..b45da1fb86cb --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/7.4.nix @@ -0,0 +1,17 @@ +{ callPackage, lib, stdenv, nixosTests, ... }@_args: + +let + generic = (import ./generic.nix) _args; + + base = callPackage generic (_args // { + version = "7.4.13"; + sha256 = "1nhzldjp8jfd1hivfyn5wydim5daibz0vkfxgys2xj8igs2kk8qm"; + }); + +in base.withExtensions ({ all, ... }: with all; ([ + bcmath calendar curl ctype dom exif fileinfo filter ftp gd + gettext gmp iconv intl json ldap mbstring mysqli mysqlnd opcache + openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql + posix readline session simplexml sockets soap sodium sqlite3 + tokenizer xmlreader xmlwriter zip zlib +] ++ lib.optionals (!stdenv.isDarwin) [ imap ])) diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/8.0.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/8.0.nix new file mode 100644 index 000000000000..ded661e55853 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/8.0.nix @@ -0,0 +1,17 @@ +{ callPackage, lib, stdenv, nixosTests, ... }@_args: + +let + generic = (import ./generic.nix) _args; + + base = callPackage generic (_args // { + version = "8.0.0"; + sha256 = "02cx3gvxqvkllp54jfvs83kl8bmpcqyzp9jf1d0l9x5bgv1jv0sy"; + }); + +in base.withExtensions ({ all, ... }: with all; ([ + bcmath calendar curl ctype dom exif fileinfo filter ftp gd + gettext gmp iconv intl ldap mbstring mysqli mysqlnd opcache + openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql + posix readline session simplexml sockets soap sodium sqlite3 + tokenizer xmlreader xmlwriter zip zlib +] ++ lib.optionals (!stdenv.isDarwin) [ imap ])) diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/fix-opcache-configure.patch b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/fix-opcache-configure.patch new file mode 100644 index 000000000000..e67d2cc7bc79 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/fix-opcache-configure.patch @@ -0,0 +1,81 @@ +diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 +index 726188597496..781e51d3e44c 100644 +--- a/Zend/Zend.m4 ++++ b/Zend/Zend.m4 +@@ -190,12 +190,6 @@ dnl LIBZEND_OTHER_CHECKS + dnl + AC_DEFUN([LIBZEND_OTHER_CHECKS],[ + +-AC_ARG_ENABLE([zts], +- [AS_HELP_STRING([--enable-zts], +- [Enable thread safety])], +- [ZEND_ZTS=$enableval], +- [ZEND_ZTS=no]) +- + AC_MSG_CHECKING(whether to enable thread-safety) + AC_MSG_RESULT($ZEND_ZTS) + +diff --git a/configure.ac b/configure.ac +index 8d6e922fa9bf..e07a75d19ac7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -797,6 +797,19 @@ if test "$PHP_DEBUG_ASSERTIONS" = "yes"; then + ZEND_DEBUG=yes + fi + ++AC_ARG_ENABLE([zts], ++ [AS_HELP_STRING([--enable-zts], ++ [Enable thread safety])], ++ [ZEND_ZTS=$enableval], ++ [ZEND_ZTS=no]) ++ ++if test "$ZEND_ZTS" = "yes"; then ++ AC_DEFINE(ZTS, 1,[ ]) ++ PHP_THREAD_SAFETY=yes ++else ++ PHP_THREAD_SAFETY=no ++fi ++ + PHP_ARG_ENABLE([rtld-now], + [whether to dlopen extensions with RTLD_NOW instead of RTLD_LAZY], + [AS_HELP_STRING([--enable-rtld-now], +@@ -1136,13 +1149,6 @@ LIBZEND_BASIC_CHECKS + LIBZEND_DLSYM_CHECK + LIBZEND_OTHER_CHECKS + +-if test "$ZEND_ZTS" = "yes"; then +- AC_DEFINE(ZTS,1,[ ]) +- PHP_THREAD_SAFETY=yes +-else +- PHP_THREAD_SAFETY=no +-fi +- + INCLUDES="$INCLUDES -I\$(top_builddir)/TSRM" + INCLUDES="$INCLUDES -I\$(top_builddir)/Zend" + +diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 +index 054cd28c0247..93d72fb73d19 100644 +--- a/ext/opcache/config.m4 ++++ b/ext/opcache/config.m4 +@@ -66,7 +66,7 @@ if test "$PHP_OPCACHE" != "no"; then + esac + fi + +- if test "$enable_zts" = "yes"; then ++ if test "$PHP_THREAD_SAFETY" = "yes"; then + DASM_FLAGS="$DASM_FLAGS -D ZTS=1" + fi + +diff --git a/ext/session/config.m4 b/ext/session/config.m4 +index 7abc8813b72a..da31bbde86cc 100644 +--- a/ext/session/config.m4 ++++ b/ext/session/config.m4 +@@ -31,7 +31,7 @@ if test "$PHP_MM" != "no"; then + AC_MSG_ERROR(cannot find mm library) + fi + +- if test "$enable_zts" = "yes"; then ++ if test "$PHP_THREAD_SAFETY" = "yes"; then + dnl The mm library is not thread-safe, and mod_mm.c refuses to compile. + AC_MSG_ERROR(--with-mm cannot be combined with --enable-zts) + fi
\ No newline at end of file diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/generic.nix index dd296eb10d84..4a96abcf9b69 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/php/generic.nix @@ -1,7 +1,7 @@ # We have tests for PCRE and PHP-FPM in nixos/tests/php/ or # both in the same attribute named nixosTests.php -{ callPackage, lib, stdenv, nixosTests }@_args: +{ callPackage, lib, stdenv, nixosTests, ... }: let generic = @@ -29,7 +29,7 @@ let , embedSupport ? false , ipv6Support ? true , systemdSupport ? stdenv.isLinux - , valgrindSupport ? true + , valgrindSupport ? !stdenv.isDarwin , ztsSupport ? apxs2Support }@args: let @@ -126,6 +126,10 @@ let if test -e $out/bin/php-fpm; then wrapProgram $out/bin/php-fpm --set PHP_INI_SCAN_DIR $out/lib fi + + if test -e $out/bin/phpdbg; then + wrapProgram $out/bin/phpdbg --set PHP_INI_SCAN_DIR $out/lib + fi ''; }; in @@ -194,7 +198,8 @@ let ++ lib.optional (!ipv6Support) "--disable-ipv6" ++ lib.optional systemdSupport "--with-fpm-systemd" ++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}" - ++ lib.optional ztsSupport "--enable-maintainer-zts" + ++ lib.optional (ztsSupport && (lib.versionOlder version "8.0")) "--enable-maintainer-zts" + ++ lib.optional (ztsSupport && (lib.versionAtLeast version "8.0")) "--enable-zts" # Sendmail @@ -271,34 +276,4 @@ let outputsToInstall = [ "out" "dev" ]; }; }; - - php73base = callPackage generic (_args // { - version = "7.3.23"; - sha256 = "0k600imsxm3r3qdv20ryqhvfmnkmjhvm2hcnqr180l058snncrpx"; - - # https://bugs.php.net/bug.php?id=76826 - extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch; - }); - - php74base = callPackage generic (_args // { - version = "7.4.11"; - sha256 = "1idq2sk3x6msy8l2g42jv3y87h1fgb1aybxw7wpjkliv4iaz422l"; - }); - - defaultPhpExtensions = { all, ... }: with all; ([ - bcmath calendar curl ctype dom exif fileinfo filter ftp gd - gettext gmp iconv intl json ldap mbstring mysqli mysqlnd opcache - openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite pgsql - posix readline session simplexml sockets soap sodium sqlite3 - tokenizer xmlreader xmlwriter zip zlib - ] ++ lib.optionals (!stdenv.isDarwin) [ imap ]); - - defaultPhpExtensionsWithHash = { all, ... }: - (defaultPhpExtensions { inherit all; }) ++ [ all.hash ]; - - php74 = php74base.withExtensions defaultPhpExtensions; - php73 = php73base.withExtensions defaultPhpExtensionsWithHash; - -in { - inherit php73 php74; -} +in generic diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix index 2cfaa69a4c8b..e6ab1f218795 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -18,12 +18,17 @@ , ucsEncoding ? 4 # For the Python package set , packageOverrides ? (self: super: {}) -, buildPackages +, pkgsBuildBuild +, pkgsBuildHost +, pkgsBuildTarget +, pkgsHostHost +, pkgsTargetTarget , sourceVersion , sha256 , passthruFun , static ? false , enableOptimizations ? (!stdenv.isDarwin) +, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}" }: assert x11Support -> tcl != null @@ -34,8 +39,8 @@ assert x11Support -> tcl != null with stdenv.lib; let - - pythonForBuild = buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"}; + buildPackages = pkgsBuildHost; + inherit (passthru) pythonForBuild; passthru = passthruFun rec { inherit self sourceVersion packageOverrides; @@ -44,7 +49,12 @@ let executable = libPrefix; pythonVersion = with sourceVersion; "${major}.${minor}"; sitePackages = "lib/${libPrefix}/site-packages"; - inherit hasDistutilsCxxPatch pythonForBuild; + inherit hasDistutilsCxxPatch; + pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr}; + pythonOnBuildForHost = pkgsBuildHost.${pythonAttr}; + pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr}; + pythonOnHostForHost = pkgsHostHost.${pythonAttr}; + pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or {}; } // { inherit ucsEncoding; }; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/3.10/no-ldconfig.patch b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/3.10/no-ldconfig.patch new file mode 100644 index 000000000000..c259aed72b99 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/3.10/no-ldconfig.patch @@ -0,0 +1,107 @@ +From 084c6dd6352077e64f10cf7aa168f95d800f3819 Mon Sep 17 00:00:00 2001 +From: Jonathan Ringer <jonringer117@gmail.com> +Date: Mon, 9 Nov 2020 10:24:35 -0800 +Subject: [PATCH] CPython: Don't use ldconfig + +--- + Lib/ctypes/util.py | 77 ++-------------------------------------------- + 1 file changed, 2 insertions(+), 75 deletions(-) + +diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py +index 0c2510e..7fb98af 100644 +--- a/Lib/ctypes/util.py ++++ b/Lib/ctypes/util.py +@@ -100,53 +100,7 @@ elif os.name == "posix": + return thefile.read(4) == elf_header + + def _findLib_gcc(name): +- # Run GCC's linker with the -t (aka --trace) option and examine the +- # library name it prints out. The GCC command will fail because we +- # haven't supplied a proper program with main(), but that does not +- # matter. +- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)) +- +- c_compiler = shutil.which('gcc') +- if not c_compiler: +- c_compiler = shutil.which('cc') +- if not c_compiler: +- # No C compiler available, give up +- return None +- +- temp = tempfile.NamedTemporaryFile() +- try: +- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name] +- +- env = dict(os.environ) +- env['LC_ALL'] = 'C' +- env['LANG'] = 'C' +- try: +- proc = subprocess.Popen(args, +- stdout=subprocess.PIPE, +- stderr=subprocess.STDOUT, +- env=env) +- except OSError: # E.g. bad executable +- return None +- with proc: +- trace = proc.stdout.read() +- finally: +- try: +- temp.close() +- except FileNotFoundError: +- # Raised if the file was already removed, which is the normal +- # behaviour of GCC if linking fails +- pass +- res = re.findall(expr, trace) +- if not res: +- return None +- +- for file in res: +- # Check if the given file is an elf file: gcc can report +- # some files that are linker scripts and not actual +- # shared objects. See bpo-41976 for more details +- if not _is_elf(file): +- continue +- return os.fsdecode(file) ++ return None + + + if sys.platform == "sunos5": +@@ -268,34 +222,7 @@ elif os.name == "posix": + else: + + def _findSoname_ldconfig(name): +- import struct +- if struct.calcsize('l') == 4: +- machine = os.uname().machine + '-32' +- else: +- machine = os.uname().machine + '-64' +- mach_map = { +- 'x86_64-64': 'libc6,x86-64', +- 'ppc64-64': 'libc6,64bit', +- 'sparc64-64': 'libc6,64bit', +- 's390x-64': 'libc6,64bit', +- 'ia64-64': 'libc6,IA-64', +- } +- abi_type = mach_map.get(machine, 'libc6') +- +- # XXX assuming GLIBC's ldconfig (with option -p) +- regex = r'\s+(lib%s\.[^\s]+)\s+\(%s' +- regex = os.fsencode(regex % (re.escape(name), abi_type)) +- try: +- with subprocess.Popen(['/sbin/ldconfig', '-p'], +- stdin=subprocess.DEVNULL, +- stderr=subprocess.DEVNULL, +- stdout=subprocess.PIPE, +- env={'LC_ALL': 'C', 'LANG': 'C'}) as p: +- res = re.search(regex, p.stdout.read()) +- if res: +- return os.fsdecode(res.group(1)) +- except OSError: +- pass ++ return None + + def _findLib_ld(name): + # See issue #9998 for why this is needed +-- +2.28.0 + diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix index b25d613eb7f3..cd06c2b63670 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix @@ -14,12 +14,16 @@ , self , configd , autoreconfHook +, autoconf-archive , python-setup-hook , nukeReferences # For the Python package set , packageOverrides ? (self: super: {}) -, buildPackages -, pythonForBuild ? buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"} +, pkgsBuildBuild +, pkgsBuildHost +, pkgsBuildTarget +, pkgsHostHost +, pkgsTargetTarget , sourceVersion , sha256 , passthruFun @@ -35,6 +39,7 @@ # Not using optimizations on Darwin # configure: error: llvm-profdata is required for a --enable-optimizations build but could not be found. , enableOptimizations ? (!stdenv.isDarwin) +, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}" }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -52,6 +57,8 @@ assert bluezSupport -> bluez != null; with stdenv.lib; let + buildPackages = pkgsBuildHost; + inherit (passthru) pythonForBuild; passthru = passthruFun rec { inherit self sourceVersion packageOverrides; @@ -60,13 +67,20 @@ let executable = libPrefix; pythonVersion = with sourceVersion; "${major}.${minor}"; sitePackages = "lib/${libPrefix}/site-packages"; - inherit hasDistutilsCxxPatch pythonForBuild; + inherit hasDistutilsCxxPatch; + pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr}; + pythonOnBuildForHost = pkgsBuildHost.${pythonAttr}; + pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr}; + pythonOnHostForHost = pkgsHostHost.${pythonAttr}; + pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or {}; }; version = with sourceVersion; "${major}.${minor}.${patch}${suffix}"; nativeBuildInputs = optionals (!stdenv.isDarwin) [ autoreconfHook + ] ++ optionals (!stdenv.isDarwin && passthru.pythonAtLeast "3.10") [ + autoconf-archive # needed for AX_CHECK_COMPILE_FLAG ] ++ [ nukeReferences ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ @@ -82,8 +96,6 @@ let hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false); - inherit pythonForBuild; - pythonForBuildInterpreter = if stdenv.hostPlatform == stdenv.buildPlatform then "$out/bin/python" else pythonForBuild.interpreter; @@ -291,13 +303,6 @@ in with passthru; stdenv.mkDerivation { find $out -name "*.py" | ${pythonForBuildInterpreter} -OO -m compileall -q -f -x "lib2to3" -i - '' + optionalString stripBytecode '' find $out -type d -name __pycache__ -print0 | xargs -0 -I {} rm -rf "{}" - '' + '' - # *strip* shebang from libpython gdb script - it should be dual-syntax and - # interpretable by whatever python the gdb in question is using, which may - # not even match the major version of this python. doing this after the - # bytecode compilations for the same reason. - mkdir -p $out/share/gdb - sed '/^#!/d' Tools/gdb/libpython.py > $out/share/gdb/libpython.py ''; preFixup = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' @@ -315,8 +320,6 @@ in with passthru; stdenv.mkDerivation { pythonForBuild buildPackages.bash ]; - separateDebugInfo = true; - inherit passthru; enableParallelBuilding = true; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/default.nix index 90b6e8ee0cb0..7c3f94dcd16e 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/default.nix @@ -14,13 +14,70 @@ with pkgs; , packageOverrides , sitePackages , hasDistutilsCxxPatch - , pythonForBuild - , self + , pythonOnBuildForBuild + , pythonOnBuildForHost + , pythonOnBuildForTarget + , pythonOnHostForHost + , pythonOnTargetForTarget + , self # is pythonOnHostForTarget }: let - pythonPackages = callPackage ../../../top-level/python-packages.nix { - python = self; - overrides = packageOverrides; - }; + pythonPackages = callPackage + ({ pkgs, stdenv, python, overrides }: let + pythonPackagesFun = import ../../../top-level/python-packages.nix { + inherit stdenv pkgs; + python = self; + }; + otherSplices = { + selfBuildBuild = pythonOnBuildForBuild.pkgs; + selfBuildHost = pythonOnBuildForHost.pkgs; + selfBuildTarget = pythonOnBuildForTarget.pkgs; + selfHostHost = pythonOnHostForHost.pkgs; + selfTargetTarget = pythonOnTargetForTarget.pkgs or {}; # There is no Python TargetTarget. + }; + keep = self: { + # TODO maybe only define these here so nothing is needed to be kept in sync. + inherit (self) + isPy27 isPy35 isPy36 isPy37 isPy38 isPy39 isPy3k isPyPy pythonAtLeast pythonOlder + python bootstrapped-pip buildPythonPackage buildPythonApplication + fetchPypi + hasPythonModule requiredPythonModules makePythonPath disabledIf + toPythonModule toPythonApplication + buildSetupcfg + + eggUnpackHook + eggBuildHook + eggInstallHook + flitBuildHook + pipBuildHook + pipInstallHook + pytestCheckHook + pythonCatchConflictsHook + pythonImportsCheckHook + pythonNamespacesHook + pythonRecompileBytecodeHook + pythonRemoveBinBytecodeHook + pythonRemoveTestsDirHook + setuptoolsBuildHook + setuptoolsCheckHook + venvShellHook + wheelUnpackHook + + wrapPython + + pythonPackages + + recursivePthLoader + ; + }; + in lib.makeScopeWithSplicing + pkgs.splicePackages + pkgs.newScope + otherSplices + keep + (lib.extends overrides pythonPackagesFun)) + { + overrides = packageOverrides; + }; in rec { isPy27 = pythonVersion == "2.7"; isPy35 = pythonVersion == "3.5"; @@ -28,6 +85,7 @@ with pkgs; isPy37 = pythonVersion == "3.7"; isPy38 = pythonVersion == "3.8"; isPy39 = pythonVersion == "3.9"; + isPy310 = pythonVersion == "3.10"; isPy2 = lib.strings.substring 0 1 pythonVersion == "2"; isPy3 = lib.strings.substring 0 1 pythonVersion == "3"; isPy3k = isPy3; @@ -41,13 +99,15 @@ with pkgs; inherit sourceVersion; pythonAtLeast = lib.versionAtLeast pythonVersion; pythonOlder = lib.versionOlder pythonVersion; - inherit hasDistutilsCxxPatch pythonForBuild; + inherit hasDistutilsCxxPatch; + # TODO: rename to pythonOnBuild + # Not done immediately because its likely used outside Nixpkgs. + pythonForBuild = pythonOnBuildForHost.override { inherit packageOverrides; self = pythonForBuild; }; tests = callPackage ./tests.nix { python = self; }; }; - in { python27 = callPackage ./cpython/2.7 { @@ -115,10 +175,22 @@ in { inherit passthruFun; }; + python310 = callPackage ./cpython { + self = python310; + sourceVersion = { + major = "3"; + minor = "10"; + patch = "0"; + suffix = "a2"; + }; + sha256 = "0zl5h61s8n2w2v1n40af0mwaw7lqh5fl1ys7kyjgcph60vb9wzjr"; + inherit (darwin) configd; + inherit passthruFun; + }; + # Minimal versions of Python (built without optional dependencies) python3Minimal = (python38.override { self = python3Minimal; - pythonForBuild = pkgs.buildPackages.python3Minimal; # strip down that python version as much as possible openssl = null; readline = null; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix index d14eb9cbb09d..1a64c79232bc 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix @@ -1,14 +1,15 @@ # Hooks for building Python packages. { python , lib -, callPackage , makeSetupHook , disabledIf , isPy3k , ensureNewerSourcesForZipFilesHook +, findutils }: let + callPackage = python.pythonForBuild.pkgs.callPackage; pythonInterpreter = python.pythonForBuild.interpreter; pythonSitePackages = python.sitePackages; pythonCheckInterpreter = python.interpreter; @@ -94,7 +95,7 @@ in rec { makeSetupHook { name = "python-namespaces-hook.sh"; substitutions = { - inherit pythonSitePackages; + inherit pythonSitePackages findutils; }; } ./python-namespaces-hook.sh) {}; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/pip-install-hook.sh b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/pip-install-hook.sh index 770739b36bde..a4f08b8b14cb 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/pip-install-hook.sh +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/pip-install-hook.sh @@ -11,9 +11,7 @@ pipInstallPhase() { export PYTHONPATH="$out/@pythonSitePackages@:$PYTHONPATH" pushd dist || return 1 - mkdir tmpbuild - NIX_PIP_INSTALL_TMPDIR=tmpbuild @pythonInterpreter@ -m pip install ./*.whl --no-index --prefix="$out" --no-cache $pipInstallFlags - rm -rf tmpbuild + @pythonInterpreter@ -m pip install ./*.whl --no-index --no-warn-script-location --prefix="$out" --no-cache $pipInstallFlags popd || return 1 runHook postInstall diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh index 50f21819d176..15d2bd0eb34c 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh @@ -17,16 +17,17 @@ pythonNamespacesHook() { for pathSegment in ${pathSegments[@]}; do constructedPath=${constructedPath}/${pathSegment} pathToRemove=${constructedPath}/__init__.py - pycachePath=${constructedPath}/__pycache__/__init__* + pycachePath=${constructedPath}/__pycache__/ + # remove __init__.py if [ -f "$pathToRemove" ]; then - echo "Removing $pathToRemove" - rm "$pathToRemove" + rm -v "$pathToRemove" fi - if [ -f "$pycachePath" ]; then - echo "Removing $pycachePath" - rm "$pycachePath" + # remove __pycache__/ entry, can be interpreter specific. E.g. __init__.cpython-38.pyc + # use null characters to perserve potential whitespace in filepath + if [ -d "$pycachePath" ]; then + @findutils@/bin/find "$pycachePath" -name '__init__*' -exec rm -v "{}" + fi done done diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix index c3be76790ebd..670c870f1077 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -17,7 +17,6 @@ , pythonCatchConflictsHook , pythonImportsCheckHook , pythonNamespacesHook -, pythonRecompileBytecodeHook , pythonRemoveBinBytecodeHook , pythonRemoveTestsDirHook , setuptoolsBuildHook @@ -54,7 +53,9 @@ , disabled ? false # Raise an error if two packages are installed with the same name -, catchConflicts ? true +# TODO: For cross we probably need a different PYTHONPATH, or not +# add the runtime deps until after buildPhase. +, catchConflicts ? (python.stdenv.hostPlatform == python.stdenv.buildPlatform) # Additional arguments to pass to the makeWrapper function, which wraps # generated binaries. @@ -113,7 +114,6 @@ let python wrapPython ensureNewerSourcesForZipFilesHook # move to wheel installer (pip) or builder (setuptools, flit, ...)? - pythonRecompileBytecodeHook # Remove when solved https://github.com/NixOS/nixpkgs/issues/81441 pythonRemoveTestsDirHook ] ++ lib.optionals catchConflicts [ setuptools pythonCatchConflictsHook @@ -167,9 +167,6 @@ let # Python packages built through cross-compilation are always for the host platform. disallowedReferences = lib.optionals (python.stdenv.hostPlatform != python.stdenv.buildPlatform) [ python.pythonForBuild ]; - # For now, revert recompilation of bytecode. - dontUsePythonRecompileBytecode = true; - meta = { # default to python's platforms platforms = python.meta.platforms; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix index 10073602071a..8feeb3c51bf3 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix @@ -5,10 +5,16 @@ , python-setup-hook # For the Python package set , packageOverrides ? (self: super: {}) +, pkgsBuildBuild +, pkgsBuildHost +, pkgsBuildTarget +, pkgsHostHost +, pkgsTargetTarget , sourceVersion , pythonVersion , sha256 , passthruFun +, pythonAttr ? "pypy${stdenv.lib.substring 0 1 pythonVersion}${stdenv.lib.substring 2 3 pythonVersion}" }: assert zlibSupport -> zlib != null; @@ -22,9 +28,14 @@ let implementation = "pypy"; libPrefix = "pypy${pythonVersion}"; executable = "pypy${if isPy3k then "3" else ""}"; - pythonForBuild = self; # No cross-compiling for now. sitePackages = "site-packages"; hasDistutilsCxxPatch = false; + + pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr}; + pythonOnBuildForHost = pkgsBuildHost.${pythonAttr}; + pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr}; + pythonOnHostForHost = pkgsHostHost.${pythonAttr}; + pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or {}; }; pname = passthru.executable; version = with sourceVersion; "${major}.${minor}.${patch}"; @@ -151,7 +162,7 @@ in with passthru; stdenv.mkDerivation rec { homepage = "http://pypy.org/"; description = "Fast, compliant alternative implementation of the Python language (${pythonVersion})"; license = licenses.mit; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; + platforms = [ "aarch64-linux" "i686-linux" "x86_64-linux" "x86_64-darwin" ]; maintainers = with maintainers; [ andersk ]; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/tests.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/tests.nix index dcfa41cc308e..a291919b3277 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/tests.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/tests.nix @@ -1,4 +1,5 @@ -{ python +{ stdenv +, python , runCommand , substituteAll , lib @@ -92,4 +93,4 @@ let -in environmentTests // integrationTests +in stdenv.lib.optionalAttrs (stdenv.hostPlatform == stdenv.buildPlatform ) (environmentTests // integrationTests) diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix index 05798cbaf1b8..572cbdccbfb2 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix @@ -4,7 +4,7 @@ let python = let packageOverrides = self: super: { - typeddep = super.callPackage ./typeddep {}; + typeddep = self.callPackage ./typeddep {}; }; in interpreter.override {inherit packageOverrides; self = python;}; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/default.nix index 762ca2bdd34b..81975bc5250e 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/python/update-python-libraries/default.nix @@ -9,4 +9,4 @@ runCommand "update-python-libraries" { cp ${./update-python-libraries.py} $out patchShebangs $out substituteInPlace $out --replace 'GIT = "git"' 'GIT = "${git}/bin/git"' -''
\ No newline at end of file +'' diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/racket/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/racket/default.nix index b62df6e837b8..2c51c691a8b8 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/racket/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/racket/default.nix @@ -46,7 +46,7 @@ in stdenv.mkDerivation rec { pname = "racket"; - version = "7.8"; # always change at once with ./minimal.nix + version = "7.9"; # always change at once with ./minimal.nix src = (stdenv.lib.makeOverridable ({ name, sha256 }: fetchurl { @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { } )) { name = "${pname}-${version}"; - sha256 = "19z3dayybcra277s4gk2mppalwawd93f2b16xyrb6d7rbbfz7j9j"; + sha256 = "0gmp2ahmfd97nn9bwpfx9lznjmjkd042slnrrbdmyh59cqh98y2m"; }; FONTCONFIG_FILE = fontsConf; @@ -72,7 +72,7 @@ stdenv.mkDerivation rec { preConfigure = '' unset AR - for f in src/lt/configure src/cs/c/configure src/racket/src/string.c; do + for f in src/lt/configure src/cs/c/configure src/bc/src/string.c; do substituteInPlace "$f" --replace /usr/bin/uname ${coreutils}/bin/uname done mkdir src/build diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/racket/minimal.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/racket/minimal.nix index abff21c798aa..9fd220e5b98f 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/racket/minimal.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/racket/minimal.nix @@ -5,7 +5,7 @@ racket.overrideAttrs (oldAttrs: rec { name = "racket-minimal-${oldAttrs.version}"; src = oldAttrs.src.override { inherit name; - sha256 = "0bbglf9vfacpm2hn3lskhvc8cpg6z088fbnzpqsn17z8qdk8yvb3"; + sha256 = "0yc5zkpq1bavj64h67pllw6mfjhmdp65fgdpyqcaan3syy6b5cia"; }; meta = oldAttrs.meta // { diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/default.nix index 94f01cd51dff..0d7707000418 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "rakudo"; - version = "2020.09"; + version = "2020.11"; src = fetchurl { url = "https://www.rakudo.org/dl/rakudo/rakudo-${version}.tar.gz"; - sha256 = "1izfwns7viwy0x9hnhx13j9w5qa97qpyxqk9cd8iax7i68z057m7"; + sha256 = "107sskgf0p6npm3vjpv5wrqgfa007af6bxxiv1wgiyzx7maqdw5n"; }; buildInputs = [ icu zlib gmp perl ]; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix index f03043369e92..5cd0b50e6958 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/moarvm.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "moarvm"; - version = "2020.09"; + version = "2020.11"; src = fetchurl { url = "https://www.moarvm.org/releases/MoarVM-${version}.tar.gz"; - sha256 = "08prlvnyqwnzb7mwaqvgv662v78xgwsyy12cpyim6gc4z0i1kcj8"; + sha256 = "1163zv1fglgwbk6pppzbjwcgzpp13ilg5cz7fawsfnzdnrrq40kd"; }; buildInputs = [ perl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ]; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix index 14d5f563fcd2..ad17808281fe 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/nqp.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "nqp"; - version = "2020.09"; + version = "2020.11"; src = fetchurl { url = "https://github.com/raku/nqp/releases/download/${version}/nqp-${version}.tar.gz"; - sha256 = "09kiy7r732yrh3nzdzdq9yki0jx2hamyqvrbahk4mlxmb6cl9qmh"; + sha256 = "03whmlc6bmwmwrddwd5vqmir0gzwnmf0apvl2q1na09qqj3zb1br"; }; buildInputs = [ perl ]; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix index c82053446933..b2cea4ad473b 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/rakudo/zef.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "zef"; - version = "0.8.5"; + version = "0.9.4"; src = fetchFromGitHub { owner = "ugexe"; repo = "zef"; rev = "v${version}"; - sha256 = "17a5ns0ph8626q3b4wv9v2n0zqmhqbqyzjzxa387kr19qs933yy6"; + sha256 = "0h3lbznzxqmsv2816vr6y244sfdchj13yhbav86zy2m79p8b5lgq"; }; buildInputs = [ rakudo makeWrapper ]; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/ruby/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/ruby/default.nix index 02d0f02c3495..87aa5aca1e14 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/ruby/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/ruby/default.nix @@ -44,11 +44,22 @@ let , groff, docSupport ? true , libyaml, yamlSupport ? true , libffi, fiddleSupport ? true - # ruby -e "puts RbConfig::CONFIG['configure_args']" - # puts a reference to the C compiler in the binary. - # This might be required by some gems at runtime, - # but we allow to strip it out for smaller closure size. - , removeReferencesTo, removeReferenceToCC ? true + # By default, ruby has 3 observed references to stdenv.cc: + # + # - If you run: + # ruby -e "puts RbConfig::CONFIG['configure_args']" + # - In: + # $out/${passthru.libPath}/${stdenv.targetPlatform.system}/rbconfig.rb + # Or (usually): + # $(nix-build -A ruby)/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb + # - In $out/lib/libruby.so and/or $out/lib/libruby.dylib + # + # Since some Gems require JIT support, there's probably no + # escape from this reference. Hence, it was decided to enable this + # feature by default, as it's enabled by default by ruby's ./configure + # script. If you'd like to have a ruby without reference to cc, setting + # jitSupport to false should remove all known references mentioned above. + , removeReferencesTo, jitSupport ? true , autoreconfHook, bison, autoconf , buildEnv, bundler, bundix , libiconv, libobjc, libunwind, Foundation @@ -108,6 +119,9 @@ let sed -i configure.ac -e '/config.guess/d' cp --remove-destination ${config}/config.guess tool/ cp --remove-destination ${config}/config.sub tool/ + # Make the build reproducible for ruby <= 2.7 + # See https://github.com/ruby/io-console/commit/679a941d05d869f5e575730f6581c027203b7b26#diff-d8422f096931c58d4463e2489f62a228b0f24f0492950ba88c8c89a0d741cfe6 + sed -i ext/io/console/io-console.gemspec -e '/s\.date/d' ''; # Force the revision.h generation. Somehow `revision.tmp` is an empty @@ -118,6 +132,7 @@ let configureFlags = ["--enable-shared" "--enable-pthread" "--with-soname=ruby-${version}"] ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby" + ++ op (!jitSupport) "--disable-jit-support" ++ op (!docSupport) "--disable-install-doc" ++ ops stdenv.isDarwin [ # on darwin, we have /usr/include/tk.h -- so the configure script detects @@ -150,11 +165,14 @@ let # Remove unnecessary groff reference from runtime closure, since it's big sed -i '/NROFF/d' $out/lib/ruby/*/*/rbconfig.rb ${ - lib.optionalString removeReferenceToCC '' + lib.optionalString (!jitSupport) '' # Get rid of the CC runtime dependency ${removeReferencesTo}/bin/remove-references-to \ -t ${stdenv.cc} \ $out/lib/libruby* + ${removeReferencesTo}/bin/remove-references-to \ + -t ${stdenv.cc} \ + $out/${passthru.libPath}/${stdenv.targetPlatform.system}/rbconfig.rb '' } # Bundler tries to create this directory @@ -188,6 +206,8 @@ let sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig ''; + disallowedRequisites = op (!jitSupport) stdenv.cc.cc; + meta = with stdenv.lib; { description = "The Ruby language"; homepage = "http://www.ruby-lang.org/en/"; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix index 0bbcadba3f51..8263a987d639 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "rubygems"; - version = "3.1.2"; + version = "3.1.3"; src = fetchurl { url = "https://rubygems.org/rubygems/rubygems-${version}.tgz"; - sha256 = "0h7ij4jpj8rgnpkl63cwh2lnav73pw5wpfqra3va7077lsyadlgd"; + sha256 = "181wjclxnq5lrwnr53famy9pg8911hi9w2v0vy7dqgjqnc4iy1hp"; }; patches = [ diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/spidermonkey/78.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/spidermonkey/78.nix index 84897ee84639..a3d7242f453d 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/spidermonkey/78.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/spidermonkey/78.nix @@ -21,11 +21,11 @@ stdenv.mkDerivation rec { pname = "spidermonkey"; - version = "78.1.0"; + version = "78.4.0"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"; - sha256 = "18k47dl9hbnpqw69csxjar5dhwa7r8k7j9kvcfgmwb1iv6ba601n"; + sha256 = "1z3hj45bnd12z3g6ajv9qrgclca7fymi1sxj9l9nh9q6y6xz0g4f"; }; outputs = [ "out" "dev" ]; @@ -52,18 +52,6 @@ stdenv.mkDerivation rec { zlib ]; - patches = [ - # https://mail.gnome.org/archives/distributor-list/2020-August/msg00000.html - (fetchpatch { - url = "https://github.com/ptomato/mozjs/commit/b2974f8a6558d2dc4517b49ee313a9900a853285.patch"; - sha256 = "1bl5mbx7gmad6fmpc427263i1ychi2linpg69kxlr2w91r5m6ji3"; - }) - (fetchpatch { - url = "https://github.com/ptomato/mozjs/commit/e5a2eb99f653ae03c67e536df1d55d265a0a1605.patch"; - sha256 = "0xhy63nw2byibmjc41yh6dwpg282nylganrs5aprn9pbqbcpsvif"; - }) - ]; - preConfigure = '' export CXXFLAGS="-fpermissive" export LIBXUL_DIST=$out @@ -101,9 +89,9 @@ stdenv.mkDerivation rec { # Remove unnecessary static lib preFixup = '' - moveToOutput bin/js60-config "$dev" + moveToOutput bin/js78-config "$dev" rm $out/lib/libjs_static.ajs - ln -s $out/bin/js60 $out/bin/js + ln -s $out/bin/js78 $out/bin/js ''; enableParallelBuilding = true; @@ -112,7 +100,7 @@ stdenv.mkDerivation rec { description = "Mozilla's JavaScript engine written in C/C++"; homepage = "https://developer.mozilla.org/en/SpiderMonkey"; license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license. - maintainers = [ maintainers.abbradar ]; + maintainers = with maintainers; [ abbradar lostnet ]; platforms = platforms.linux; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/supercollider/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/supercollider/default.nix index eed0bdc5807e..acdffba8d72b 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/supercollider/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/supercollider/default.nix @@ -9,12 +9,12 @@ in mkDerivation rec { pname = "supercollider"; - version = "3.11.0"; + version = "3.11.2"; src = fetchurl { url = "https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source.tar.bz2"; - sha256 = "0l5j7sqrjlm85ql91ybcrvdykfkkwfqd7w3m4llbymw720r2ln9p"; + sha256 = "wiwyxrxIJnHU+49RZy33Etl6amJ3I1xNojEpEDA6BQY="; }; hardeningDisable = [ "stackprotector" ]; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix index d908346f1962..9bdd31f400a8 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, libX11, libXt }: +{ stdenv, fetchurl, unzip, libX11, libXt, libnsl }: stdenv.mkDerivation { pname = "unicon-lang"; @@ -7,7 +7,7 @@ stdenv.mkDerivation { url = "http://unicon.org/dist/uni-2-4-2010.zip"; sha256 = "1g9l2dfp99dqih2ir2limqfjgagh3v9aqly6x0l3qavx3qkkwf61"; }; - buildInputs = [ libX11 libXt unzip ]; + buildInputs = [ libnsl libX11 libXt unzip ]; hardeningDisable = [ "fortify" ]; diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/wasmer/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/wasmer/default.nix index c620b1686ea6..7b390c547163 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/wasmer/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/wasmer/default.nix @@ -34,6 +34,6 @@ rustPlatform.buildRustPackage rec { ''; homepage = "https://wasmer.io/"; license = licenses.mit; - maintainers = with maintainers; [ filalex77 ]; + maintainers = with maintainers; [ Br1ght0ne ]; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix b/infra/libkookie/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix index b725c3e6e503..3d13dddb6425 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix @@ -2,17 +2,17 @@ rustPlatform.buildRustPackage rec { pname = "wasmtime"; - version = "0.20.0"; + version = "0.21.0"; src = fetchFromGitHub { owner = "bytecodealliance"; - repo = "${pname}"; + repo = pname; rev = "v${version}"; - sha256 = "01k1fpk2qp4kv0xr4f0xmrjkr98j5ws48r1aks8l80mffs4ynqfr"; + sha256 = "0q7wsnq5zdskxwzsxwm98jfnv2frnwca1dkhwndcn9yyz2gyw57m"; fetchSubmodules = true; }; - cargoSha256 = "0vghcs1nbxlkmw9wfikzb1ndscx7fkmgv5q8dnfcisl05zpkj7si"; + cargoSha256 = "1r1fm28zaxfbzd17jzaz8ql6ss6y6djgdhpfpkvpbw9l8l06x4lc"; nativeBuildInputs = [ python cmake clang ]; buildInputs = [ llvmPackages.libclang ] ++ |