diff options
Diffstat (limited to 'nixpkgs/pkgs/development/interpreters')
103 files changed, 650 insertions, 411 deletions
diff --git a/nixpkgs/pkgs/development/interpreters/acl2/default.nix b/nixpkgs/pkgs/development/interpreters/acl2/default.nix index 8d93492209c6..9445d42f24e4 100644 --- a/nixpkgs/pkgs/development/interpreters/acl2/default.nix +++ b/nixpkgs/pkgs/development/interpreters/acl2/default.nix @@ -62,8 +62,8 @@ in stdenv.mkDerivation rec { ACL2 have been removed because it is not currently possible to build them with Nix. ''; - homepage = http://www.cs.utexas.edu/users/moore/acl2/; - downloadPage = https://github.com/acl2-devel/acl2-devel/releases; + homepage = "http://www.cs.utexas.edu/users/moore/acl2/"; + downloadPage = "https://github.com/acl2-devel/acl2-devel/releases"; # There are a bunch of licenses in the community books, but since # they currently get deleted during the build, we don't mention # their licenses here. ACL2 proper is released under a BSD diff --git a/nixpkgs/pkgs/development/interpreters/bats/default.nix b/nixpkgs/pkgs/development/interpreters/bats/default.nix index 744106bce5d0..35672116ca06 100644 --- a/nixpkgs/pkgs/development/interpreters/bats/default.nix +++ b/nixpkgs/pkgs/development/interpreters/bats/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { installPhase = "./install.sh $out"; meta = with stdenv.lib; { - homepage = https://github.com/bats-core/bats-core; + homepage = "https://github.com/bats-core/bats-core"; description = "Bash Automated Testing System"; maintainers = [ maintainers.lnl7 ]; license = licenses.mit; diff --git a/nixpkgs/pkgs/development/interpreters/ceptre/default.nix b/nixpkgs/pkgs/development/interpreters/ceptre/default.nix index cde9146f78c6..de12185b96f0 100644 --- a/nixpkgs/pkgs/development/interpreters/ceptre/default.nix +++ b/nixpkgs/pkgs/development/interpreters/ceptre/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { name = "ceptre-2016-11-27"; src = fetchgit { - url = https://github.com/chrisamaphone/interactive-lp; + url = "https://github.com/chrisamaphone/interactive-lp"; rev = "e436fda2ccd44e9c9d226feced9d204311deacf5"; sha256 = "174pxfnw3qyn2w8qxmx45fa68iddf106mkfi0kcmyqxzsc9jprh8"; }; @@ -18,7 +18,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "A linear logic programming language for modeling generative interactive systems"; - homepage = https://github.com/chrisamaphone/interactive-lp; + homepage = "https://github.com/chrisamaphone/interactive-lp"; maintainers = with maintainers; [ pSub ]; platforms = with platforms; linux; }; diff --git a/nixpkgs/pkgs/development/interpreters/chibi/default.nix b/nixpkgs/pkgs/development/interpreters/chibi/default.nix index 2ad0bc0285e5..f0de3f640918 100644 --- a/nixpkgs/pkgs/development/interpreters/chibi/default.nix +++ b/nixpkgs/pkgs/development/interpreters/chibi/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation { inherit name; meta = { - homepage = https://github.com/ashinn/chibi-scheme; + homepage = "https://github.com/ashinn/chibi-scheme"; description = "Small Footprint Scheme for use as a C Extension Language"; platforms = stdenv.lib.platforms.all; license = stdenv.lib.licenses.bsd3; diff --git a/nixpkgs/pkgs/development/interpreters/clips/default.nix b/nixpkgs/pkgs/development/interpreters/clips/default.nix index c70bfd9406e0..cf0710f36a1a 100644 --- a/nixpkgs/pkgs/development/interpreters/clips/default.nix +++ b/nixpkgs/pkgs/development/interpreters/clips/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { ''; meta = with stdenv.lib; { description = "A Tool for Building Expert Systems"; - homepage = http://www.clipsrules.net/; + homepage = "http://www.clipsrules.net/"; longDescription = '' Developed at NASA's Johnson Space Center from 1985 to 1996, CLIPS is a rule-based programming language useful for creating diff --git a/nixpkgs/pkgs/development/interpreters/clisp/default.nix b/nixpkgs/pkgs/development/interpreters/clisp/default.nix index 5dcfa42c92fc..1b7ff2c8cba3 100644 --- a/nixpkgs/pkgs/development/interpreters/clisp/default.nix +++ b/nixpkgs/pkgs/development/interpreters/clisp/default.nix @@ -94,7 +94,7 @@ stdenv.mkDerivation rec { meta = { description = "ANSI Common Lisp Implementation"; - homepage = http://clisp.cons.org; + homepage = "http://clisp.cons.org"; maintainers = with stdenv.lib.maintainers; [raskin tohl]; platforms = stdenv.lib.platforms.unix; # problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062 diff --git a/nixpkgs/pkgs/development/interpreters/clisp/hg.nix b/nixpkgs/pkgs/development/interpreters/clisp/hg.nix index 550535f30aee..6898f84669f7 100644 --- a/nixpkgs/pkgs/development/interpreters/clisp/hg.nix +++ b/nixpkgs/pkgs/development/interpreters/clisp/hg.nix @@ -90,7 +90,7 @@ stdenv.mkDerivation rec { meta = { description = "ANSI Common Lisp Implementation"; - homepage = http://clisp.cons.org; + homepage = "http://clisp.cons.org"; maintainers = with stdenv.lib.maintainers; [raskin tohl]; # problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062 platforms = stdenv.lib.platforms.linux; diff --git a/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix b/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix new file mode 100644 index 000000000000..db849bb542de --- /dev/null +++ b/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix @@ -0,0 +1,82 @@ +{ stdenv, fetchurl, graalvm8 }: + +with stdenv.lib; +stdenv.mkDerivation rec { + pname = "babashka"; + version = "0.0.78"; + + reflectionJson = fetchurl { + name = "reflection.json"; + url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-reflection.json"; + sha256 = "1m1nwdxjsc6bkdzkbsll316ly0c3qxaimjzyfph1220irjxnm7xf"; + }; + + src = fetchurl { + url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; + sha256 = "01w990zk5qjrbnc846snh6na002kdyrlrfnqwg03ibx20g3mr7if"; + }; + + dontUnpack = true; + + buildInputs = [ graalvm8 ]; + + buildPhase = '' + native-image \ + -jar ${src} \ + -H:Name=bb \ + -H:+ReportExceptionStackTraces \ + -J-Dclojure.spec.skip-macros=true \ + -J-Dclojure.compiler.direct-linking=true \ + "-H:IncludeResources=BABASHKA_VERSION" \ + "-H:IncludeResources=SCI_VERSION" \ + -H:ReflectionConfigurationFiles=${reflectionJson} \ + --initialize-at-run-time=java.lang.Math\$RandomNumberGeneratorHolder \ + --initialize-at-build-time \ + -H:Log=registerResource: \ + -H:EnableURLProtocols=http,https \ + --enable-all-security-services \ + -H:+JNI \ + --verbose \ + --no-fallback \ + --no-server \ + --report-unsupported-elements-at-runtime \ + "-J-Xmx3g" + ''; + + installPhase = '' + mkdir -p $out/bin + cp bb $out/bin/bb + ''; + + meta = with stdenv.lib; { + description = "A Clojure babushka for the grey areas of Bash"; + longDescription = '' + The main idea behind babashka is to leverage Clojure in places where you + would be using bash otherwise. + + As one user described it: + + I’m quite at home in Bash most of the time, but there’s a substantial + grey area of things that are too complicated to be simple in bash, but + too simple to be worth writing a clj/s script for. Babashka really + seems to hit the sweet spot for those cases. + + Goals: + + - Low latency Clojure scripting alternative to JVM Clojure. + - Easy installation: grab the self-contained binary and run. No JVM needed. + - Familiarity and portability: + - Scripts should be compatible with JVM Clojure as much as possible + - Scripts should be platform-independent as much as possible. Babashka + offers support for linux, macOS and Windows. + - Allow interop with commonly used classes like java.io.File and System + - Multi-threading support (pmap, future, core.async) + - Batteries included (tools.cli, cheshire, ...) + - Library support via popular tools like the clojure CLI + ''; + homepage = "https://github.com/borkdude/babashka"; + license = licenses.epl10; + platforms = graalvm8.meta.platforms; + maintainers = with maintainers; [ bhougland DerGuteMoritz jlesquembre ]; + }; +} diff --git a/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix b/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix index 369d84708dc4..d51fa76003b2 100644 --- a/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix +++ b/nixpkgs/pkgs/development/interpreters/clojure/clooj.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation { meta = { description = "A lightweight IDE for Clojure"; - homepage = https://github.com/arthuredelstein/clooj; + homepage = "https://github.com/arthuredelstein/clooj"; license = stdenv.lib.licenses.bsd3; }; } diff --git a/nixpkgs/pkgs/development/interpreters/clojure/default.nix b/nixpkgs/pkgs/development/interpreters/clojure/default.nix index 01fba17f104f..e8c3e7b098ab 100644 --- a/nixpkgs/pkgs/development/interpreters/clojure/default.nix +++ b/nixpkgs/pkgs/development/interpreters/clojure/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { description = "A Lisp dialect for the JVM"; - homepage = https://clojure.org/; + homepage = "https://clojure.org/"; license = licenses.epl10; longDescription = '' Clojure is a dynamic programming language that targets the Java diff --git a/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix b/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix index d6252a7506aa..122831e80cc0 100644 --- a/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix +++ b/nixpkgs/pkgs/development/interpreters/clojurescript/lumo/default.nix @@ -279,7 +279,7 @@ stdenv.mkDerivation { Thanks to V8's custom startup snapshots, Lumo starts up instantaneously, making it the fastest Clojure REPL in existence. ''; - homepage = https://github.com/anmonteiro/lumo; + homepage = "https://github.com/anmonteiro/lumo"; license = stdenv.lib.licenses.epl10; maintainers = [ stdenv.lib.maintainers.hlolli ]; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; diff --git a/nixpkgs/pkgs/development/interpreters/dart/default.nix b/nixpkgs/pkgs/development/interpreters/dart/default.nix index cff1885e2798..eda8e450bbaf 100644 --- a/nixpkgs/pkgs/development/interpreters/dart/default.nix +++ b/nixpkgs/pkgs/development/interpreters/dart/default.nix @@ -79,7 +79,7 @@ stdenv.mkDerivation { dontStrip = true; meta = { - homepage = https://www.dartlang.org/; + homepage = "https://www.dartlang.org/"; maintainers = with maintainers; [ grburst ]; description = "Scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps"; longDescription = '' diff --git a/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix b/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix index 739dc9b3d52e..9303244eb885 100644 --- a/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix +++ b/nixpkgs/pkgs/development/interpreters/dhall/build-dhall-package.nix @@ -1,4 +1,4 @@ -{ haskell, haskellPackages, lib, lndir, runCommand, writeText }: +{ dhall, haskell, lib, lndir, runCommand, writeText }: { name @@ -34,18 +34,9 @@ }: let - # `buildDhallPackage` requires version 1.25.0 or newer of the Haskell - # interpreter for Dhall. Given that the default version is 1.24.0 we choose - # the latest available version instead until the default is upgraded. - # # HTTP support is disabled in order to force that HTTP dependencies are built # using Nix instead of using Dhall's support for HTTP imports. - dhall = - haskell.lib.justStaticExecutables - (haskell.lib.appendConfigureFlag - haskellPackages.dhall_1_29_0 - "-f-with-http" - ); + dhallNoHTTP = haskell.lib.appendConfigureFlag dhall "-f-with-http"; file = writeText "${name}.dhall" code; @@ -69,13 +60,13 @@ in mkdir -p $out/${cacheDhall} - ${dhall}/bin/dhall --alpha --file '${file}' > $out/${sourceFile} + ${dhallNoHTTP}/bin/dhall --alpha --file '${file}' > $out/${sourceFile} - SHA_HASH=$(${dhall}/bin/dhall hash <<< $out/${sourceFile}) + SHA_HASH=$(${dhallNoHTTP}/bin/dhall hash <<< $out/${sourceFile}) HASH_FILE="''${SHA_HASH/sha256:/1220}" - ${dhall}/bin/dhall encode --file $out/${sourceFile} > $out/${cacheDhall}/$HASH_FILE + ${dhallNoHTTP}/bin/dhall encode --file $out/${sourceFile} > $out/${cacheDhall}/$HASH_FILE echo "missing $SHA_HASH" > $out/binary.dhall diff --git a/nixpkgs/pkgs/development/interpreters/duktape/default.nix b/nixpkgs/pkgs/development/interpreters/duktape/default.nix index 369c3840b874..53cbbad8e553 100644 --- a/nixpkgs/pkgs/development/interpreters/duktape/default.nix +++ b/nixpkgs/pkgs/development/interpreters/duktape/default.nix @@ -23,8 +23,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "An embeddable Javascript engine, with a focus on portability and compact footprint"; - homepage = https://duktape.org/; - downloadPage = https://duktape.org/download.html; + homepage = "https://duktape.org/"; + downloadPage = "https://duktape.org/download.html"; license = licenses.mit; maintainers = [ maintainers.fgaz ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/development/interpreters/eff/default.nix b/nixpkgs/pkgs/development/interpreters/eff/default.nix index 9da2b0d899d7..c848ebc60479 100644 --- a/nixpkgs/pkgs/development/interpreters/eff/default.nix +++ b/nixpkgs/pkgs/development/interpreters/eff/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation { checkTarget = "test"; meta = with stdenv.lib; { - homepage = https://www.eff-lang.org; + homepage = "https://www.eff-lang.org"; description = "A functional programming language based on algebraic effects and their handlers"; longDescription = '' Eff is a functional language with handlers of not only exceptions, diff --git a/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix b/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix index 571f39203f8f..b46b71485c82 100644 --- a/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix +++ b/nixpkgs/pkgs/development/interpreters/elixir/generic-builder.nix @@ -60,7 +60,7 @@ in pos = builtins.unsafeGetAttrPos "sha256" args; meta = with stdenv.lib; { - homepage = https://elixir-lang.org/; + homepage = "https://elixir-lang.org/"; description = "A functional, meta-programming aware language built on top of the Erlang VM"; longDescription = '' diff --git a/nixpkgs/pkgs/development/interpreters/erlang/R16B02-basho.nix b/nixpkgs/pkgs/development/interpreters/erlang/R16B02-basho.nix index 11637868ed0f..c94528e674f4 100644 --- a/nixpkgs/pkgs/development/interpreters/erlang/R16B02-basho.nix +++ b/nixpkgs/pkgs/development/interpreters/erlang/R16B02-basho.nix @@ -42,7 +42,7 @@ mkDerivation { ''; meta = { - homepage = https://github.com/basho/otp/; + homepage = "https://github.com/basho/otp/"; description = "Programming language used for massively scalable soft real-time systems, Basho fork"; longDescription = '' diff --git a/nixpkgs/pkgs/development/interpreters/erlang/R22.nix b/nixpkgs/pkgs/development/interpreters/erlang/R22.nix index 88fe21453a82..7596ad9e2f10 100644 --- a/nixpkgs/pkgs/development/interpreters/erlang/R22.nix +++ b/nixpkgs/pkgs/development/interpreters/erlang/R22.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 = "22.1.7"; - sha256 = "18aqy2s8nqd82v4lzzxknrwjva8mv1y2hvai9cakz5nkyd3vwq62"; + version = "22.3"; + sha256 = "0srbyncgnr1kp0rrviq14ia3h795b3gk0iws5ishv6rphcq1rs27"; prePatch = '' substituteInPlace make/configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}" diff --git a/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix b/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix index c0203e5915f7..883fa87cbd4b 100644 --- a/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/nixpkgs/pkgs/development/interpreters/erlang/generic-builder.nix @@ -108,7 +108,7 @@ in stdenv.mkDerivation ({ setupHook = ./setup-hook.sh; meta = with stdenv.lib; ({ - homepage = https://www.erlang.org/; + homepage = "https://www.erlang.org/"; downloadPage = "https://www.erlang.org/download.html"; description = "Programming language used for massively scalable soft real-time systems"; diff --git a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix index fa8050a21ff0..4430298beb5f 100644 --- a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix +++ b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "evcxr"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "google"; repo = "evcxr"; - rev = "239e431c58d04c641da22af791e4d3e1b894365e"; - sha256 = "0vkcis06gwsqfwvrl8xcf74mfcs6j77b9fhcz5rrh77mwl7ixsdc"; + rev = "582ce09f216d4812f7d152f6eedf0b034fc4dbbd"; + sha256 = "12hlqgh74z8vmd7fkxh4vk3dqp8hlhzkxnbyywk6nphi562n6w5w"; }; - cargoSha256 = "0pamwqhw3sj4anqc1112l5cayhqzibdhqjc28apfrkf2m63cclzi"; + cargoSha256 = "0yr8vwlpfsg47sg0032yrsdcgxyky0hy4963zkh0pmjykbyqkb3h"; nativeBuildInputs = [ pkgconfig makeWrapper cmake ]; buildInputs = stdenv.lib.optional stdenv.isDarwin Security; diff --git a/nixpkgs/pkgs/development/interpreters/gauche/default.nix b/nixpkgs/pkgs/development/interpreters/gauche/default.nix index 9b38d1e4ad54..26a30ef2cd3c 100644 --- a/nixpkgs/pkgs/development/interpreters/gauche/default.nix +++ b/nixpkgs/pkgs/development/interpreters/gauche/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "R7RS Scheme scripting engine"; - homepage = https://practical-scheme.net/gauche/; + homepage = "https://practical-scheme.net/gauche/"; maintainers = with maintainers; [ mnacamura ]; license = licenses.bsd3; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/development/interpreters/gnu-apl/default.nix b/nixpkgs/pkgs/development/interpreters/gnu-apl/default.nix index c2a3556cfea2..f01cfc2444bc 100644 --- a/nixpkgs/pkgs/development/interpreters/gnu-apl/default.nix +++ b/nixpkgs/pkgs/development/interpreters/gnu-apl/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Free interpreter for the APL programming language"; - homepage = https://www.gnu.org/software/apl/; + homepage = "https://www.gnu.org/software/apl/"; license = licenses.gpl3Plus; maintainers = [ maintainers.kovirobi ]; platforms = with platforms; linux ++ darwin; diff --git a/nixpkgs/pkgs/development/interpreters/groovy/default.nix b/nixpkgs/pkgs/development/interpreters/groovy/default.nix index e1d404a6b15d..1572f5e4be2c 100644 --- a/nixpkgs/pkgs/development/interpreters/groovy/default.nix +++ b/nixpkgs/pkgs/development/interpreters/groovy/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "groovy"; - version = "3.0.0"; + version = "3.0.2"; src = fetchurl { url = "http://dl.bintray.com/groovy/maven/apache-groovy-binary-${version}.zip"; - sha256 = "10nn04hfky4x75nss33vvslw958pjvhw35lcfb3lxvaifqg23cpl"; + sha256 = "1ddw3fqrmwh4w6z6xgck4jhmq33rwgbmpjw07g12ri1vgw4xks9w"; }; buildInputs = [ unzip makeWrapper ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "An agile dynamic language for the Java Platform"; - homepage = http://groovy-lang.org/; + homepage = "http://groovy-lang.org/"; license = licenses.asl20; maintainers = with maintainers; [ pSub ]; platforms = with platforms; unix; diff --git a/nixpkgs/pkgs/development/interpreters/guile/1.8.nix b/nixpkgs/pkgs/development/interpreters/guile/1.8.nix index 158987d4e0ef..6057480476f2 100644 --- a/nixpkgs/pkgs/development/interpreters/guile/1.8.nix +++ b/nixpkgs/pkgs/development/interpreters/guile/1.8.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { meta = { description = "Embeddable Scheme implementation"; - homepage = https://www.gnu.org/software/guile/; + homepage = "https://www.gnu.org/software/guile/"; license = stdenv.lib.licenses.lgpl2Plus; maintainers = [ stdenv.lib.maintainers.ludo ]; platforms = stdenv.lib.platforms.unix; diff --git a/nixpkgs/pkgs/development/interpreters/guile/2.0.nix b/nixpkgs/pkgs/development/interpreters/guile/2.0.nix index af71d5cc80d7..b5b83e180254 100644 --- a/nixpkgs/pkgs/development/interpreters/guile/2.0.nix +++ b/nixpkgs/pkgs/development/interpreters/guile/2.0.nix @@ -101,7 +101,7 @@ meta = { description = "Embeddable Scheme implementation"; - homepage = https://www.gnu.org/software/guile/; + homepage = "https://www.gnu.org/software/guile/"; license = stdenv.lib.licenses.lgpl3Plus; maintainers = with stdenv.lib.maintainers; [ ludo lovek323 ]; platforms = stdenv.lib.platforms.all; diff --git a/nixpkgs/pkgs/development/interpreters/hugs/default.nix b/nixpkgs/pkgs/development/interpreters/hugs/default.nix index 2177ae22db56..35463b161572 100644 --- a/nixpkgs/pkgs/development/interpreters/hugs/default.nix +++ b/nixpkgs/pkgs/development/interpreters/hugs/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation { name = "hugs98-200609"; src = fetchurl { - url = http://cvs.haskell.org/Hugs/downloads/2006-09/hugs98-Sep2006.tar.gz; + url = "http://cvs.haskell.org/Hugs/downloads/2006-09/hugs98-Sep2006.tar.gz"; sha256 = "1dj65c39zpy6qqvvrwns2hzj6ipnd4ih655xj7kgyk2nfdvd5x1w"; }; patches = [ (fetchurl { - url = https://aur.archlinux.org/cgit/aur.git/plain/hsbase_inline.patch?h=hugs; + url = "https://aur.archlinux.org/cgit/aur.git/plain/hsbase_inline.patch?h=hugs"; name = "hsbase_inline.patch"; sha256 = "1h0sp16d17hlm6gj7zdbgwrjwi2l4q02m8p0wd60dp4gn9i9js0v"; }) @@ -40,7 +40,7 @@ stdenv.mkDerivation { ]; meta = with stdenv.lib; { - homepage = https://www.haskell.org/hugs; + homepage = "https://www.haskell.org/hugs"; description = "Haskell interpreter"; maintainers = with maintainers; [ joachifm ]; license = licenses.bsd3; diff --git a/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix b/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix index d243ae9bc580..d85448a9677c 100644 --- a/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix +++ b/nixpkgs/pkgs/development/interpreters/icon-lang/default.nix @@ -41,6 +41,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ vrthra yurrriq ]; platforms = with platforms; linux ++ darwin; license = licenses.publicDomain; - homepage = https://www.cs.arizona.edu/icon/; + homepage = "https://www.cs.arizona.edu/icon/"; }; } diff --git a/nixpkgs/pkgs/development/interpreters/io/default.nix b/nixpkgs/pkgs/development/interpreters/io/default.nix index f763274c15d7..42af3cc427b4 100644 --- a/nixpkgs/pkgs/development/interpreters/io/default.nix +++ b/nixpkgs/pkgs/development/interpreters/io/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Io programming language"; - homepage = http://iolanguage.org/; + homepage = "http://iolanguage.org/"; license = licenses.bsd3; maintainers = with maintainers; [ diff --git a/nixpkgs/pkgs/development/interpreters/j/default.nix b/nixpkgs/pkgs/development/interpreters/j/default.nix index 791ac6dd3381..c3d5221d42a7 100644 --- a/nixpkgs/pkgs/development/interpreters/j/default.nix +++ b/nixpkgs/pkgs/development/interpreters/j/default.nix @@ -2,13 +2,14 @@ stdenv.mkDerivation rec { pname = "j"; - version = "807"; - jtype = "release"; + version = "901"; + jtype = "release-e"; src = fetchFromGitHub { owner = "jsoftware"; repo = "jsource"; rev = "j${version}-${jtype}"; - sha256 = "1qciw2yg9x996zglvj2461qby038x89xcmfb3qyrh3myn8m1nq2n"; + sha256 = "13ky37rrl6mc66fckrdnrw64gmvq1qlv6skzd513lab4d0wigshw"; + name = "jsource"; }; buildInputs = [ readline libedit bc ]; @@ -26,57 +27,33 @@ stdenv.mkDerivation rec { export HOME=$TMPDIR export JLIB=$SOURCE_DIR/jlibrary - export jbld=$HOME/bld - export jplatform=${platform} - export jmake=$SOURCE_DIR/make - export jgit=$SOURCE_DIR - export JBIN=$jbld/j${bits}/bin - mkdir -p $JBIN - echo $OUT_DIR - cd make + cd make2 patchShebangs . - sed -i jvars.sh -e " - s@~/git/jsource@$SOURCE_DIR@; - s@~/jbld@$HOME@; - " - sed -i $JLIB/bin/profile.ijs -e "s@'/usr/share/j/.*'@'$out/share/j'@;" - # For future versions, watch - # https://github.com/jsoftware/jsource/pull/4 - cp ./jvars.sh $HOME + ./build_all.sh - echo ' - #define jversion "${version}" - #define jplatform "${platform}" - #define jtype "${jtype}" // release,beta,... - #define jlicense "GPL3" - #define jbuilder "nixpkgs" // website or email - ' > ../jsrc/jversion.h - - ./build_jconsole.sh j${bits} - ./build_libj.sh j${bits} + cp $SOURCE_DIR/bin/${platform}/j${bits}*/* "$JLIB/bin" ''; checkPhase = '' - echo 'i. 5' | $JBIN/jconsole | fgrep "0 1 2 3 4" + + echo 'i. 5' | $JLIB/bin/jconsole | fgrep "0 1 2 3 4" # Now run the real tests cd $SOURCE_DIR/test for f in *.ijs do echo $f - $JBIN/jconsole < $f > /dev/null || echo FAIL && echo PASS + $JLIB/bin/jconsole < $f > /dev/null || echo FAIL && echo PASS done ''; installPhase = '' mkdir -p "$out" - cp -r $JBIN "$out/bin" - rm $out/bin/*.txt # Remove logs from the bin folder mkdir -p "$out/share/j" cp -r $JLIB/{addons,system} "$out/share/j" @@ -88,6 +65,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ raskin synthetica ]; platforms = with platforms; linux ++ darwin; license = licenses.gpl3Plus; - homepage = http://jsoftware.com/; + homepage = "http://jsoftware.com/"; }; } diff --git a/nixpkgs/pkgs/development/interpreters/janet/default.nix b/nixpkgs/pkgs/development/interpreters/janet/default.nix index 0fc6928c1aba..828cf3a72442 100644 --- a/nixpkgs/pkgs/development/interpreters/janet/default.nix +++ b/nixpkgs/pkgs/development/interpreters/janet/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "janet"; - version = "1.7.0"; + version = "1.8.1"; src = fetchFromGitHub { owner = "janet-lang"; repo = pname; rev = "v${version}"; - sha256 = "1z7r4ddgwxgxy1pp36p2wchcmzjqfyki3a4kicnr23ldflqv9ycc"; + sha256 = "1v2kgbx6w1ii83a1c9ridm1i52rmcjb0g1d23fhqn7hya5bwrhr6"; }; nativeBuildInputs = [ meson ninja ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Janet programming language"; - homepage = https://janet-lang.org/; + homepage = "https://janet-lang.org/"; license = licenses.mit; platforms = platforms.all; maintainers = with maintainers; [ andrewchambers ]; diff --git a/nixpkgs/pkgs/development/interpreters/joker/default.nix b/nixpkgs/pkgs/development/interpreters/joker/default.nix index 1db2dd60197b..b176c55cbfd1 100644 --- a/nixpkgs/pkgs/development/interpreters/joker/default.nix +++ b/nixpkgs/pkgs/development/interpreters/joker/default.nix @@ -1,19 +1,17 @@ -{ stdenv, buildGoModule, fetchFromGitHub, Security }: +{ stdenv, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "joker"; - version = "0.14.2"; + version = "0.15.0"; src = fetchFromGitHub { rev = "v${version}"; owner = "candid82"; repo = "joker"; - sha256 = "1wi80sr8h9fwh4xipff0y6qdzrliwyk2w1bmi33ncykxd9r2g7nk"; + sha256 = "03lbvxmkn0rr7yv7kj6c4dh4zayiwbhrkqbz2m22dw568rjbp8az"; }; - modSha256 = "0i16vf7n1xfz5kp9w3fvyc9y9wgz4h396glgpdaznpxjr12rb43j"; - - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; + modSha256 = "1mylgim9nm0v5wybgzi74nqzmvzwzws0027wzl86dbj5id83ab9v"; preBuild = '' go generate ./... diff --git a/nixpkgs/pkgs/development/interpreters/jruby/default.nix b/nixpkgs/pkgs/development/interpreters/jruby/default.nix index 3784b6ab282f..79cb1c7154b5 100644 --- a/nixpkgs/pkgs/development/interpreters/jruby/default.nix +++ b/nixpkgs/pkgs/development/interpreters/jruby/default.nix @@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" ""; jruby = stdenv.mkDerivation rec { pname = "jruby"; - version = "9.2.11.0"; + version = "9.2.11.1"; src = fetchurl { url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz"; - sha256 = "01yzpasnpqqm0vfc0ki8vkxbzijjfws135jw8k0r50b5lahjvs4a"; + sha256 = "1p4ml5rqidqllc7z85zn2q4pyyih71j0gb71wl43j4v74p44j17i"; }; buildInputs = [ makeWrapper ]; diff --git a/nixpkgs/pkgs/development/interpreters/kona/default.nix b/nixpkgs/pkgs/development/interpreters/kona/default.nix index 9b7f36f4c874..041616cc1f63 100644 --- a/nixpkgs/pkgs/development/interpreters/kona/default.nix +++ b/nixpkgs/pkgs/development/interpreters/kona/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "An interpreter of K, APL-like programming language"; - homepage = https://github.com/kevinlawler/kona/; + homepage = "https://github.com/kevinlawler/kona/"; maintainers = with maintainers; [ raskin ]; platforms = platforms.all; license = licenses.isc; diff --git a/nixpkgs/pkgs/development/interpreters/lolcode/default.nix b/nixpkgs/pkgs/development/interpreters/lolcode/default.nix index 3ef239e89a9a..bd4b93b835fc 100644 --- a/nixpkgs/pkgs/development/interpreters/lolcode/default.nix +++ b/nixpkgs/pkgs/development/interpreters/lolcode/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { postInstall = "mv $out/bin/lci $out/bin/lolcode-lci"; meta = { - homepage = http://lolcode.org; + homepage = "http://lolcode.org"; description = "An esoteric programming language"; longDescription = '' LOLCODE is a funny esoteric programming language, a bit Pascal-like, diff --git a/nixpkgs/pkgs/development/interpreters/love/0.10.nix b/nixpkgs/pkgs/development/interpreters/love/0.10.nix index e1ca3ded2083..dbe3f6fa2df0 100644 --- a/nixpkgs/pkgs/development/interpreters/love/0.10.nix +++ b/nixpkgs/pkgs/development/interpreters/love/0.10.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3 meta = { - homepage = http://love2d.org; + homepage = "http://love2d.org"; description = "A Lua-based 2D game engine/scripting language"; license = stdenv.lib.licenses.zlib; platforms = stdenv.lib.platforms.linux; diff --git a/nixpkgs/pkgs/development/interpreters/love/0.7.nix b/nixpkgs/pkgs/development/interpreters/love/0.7.nix index 3bf8aee0d07b..6f09c0764412 100644 --- a/nixpkgs/pkgs/development/interpreters/love/0.7.nix +++ b/nixpkgs/pkgs/development/interpreters/love/0.7.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://love2d.org; + homepage = "http://love2d.org"; description = "A Lua-based 2D game engine/scripting language"; license = stdenv.lib.licenses.zlib; diff --git a/nixpkgs/pkgs/development/interpreters/love/0.9.nix b/nixpkgs/pkgs/development/interpreters/love/0.9.nix index a2182f454361..79b83f0643f1 100644 --- a/nixpkgs/pkgs/development/interpreters/love/0.9.nix +++ b/nixpkgs/pkgs/development/interpreters/love/0.9.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3 meta = { - homepage = http://love2d.org; + homepage = "http://love2d.org"; description = "A Lua-based 2D game engine/scripting language"; license = stdenv.lib.licenses.zlib; diff --git a/nixpkgs/pkgs/development/interpreters/love/11.1.nix b/nixpkgs/pkgs/development/interpreters/love/11.1.nix index 3629345baf6a..2ef3a4ca05a4 100644 --- a/nixpkgs/pkgs/development/interpreters/love/11.1.nix +++ b/nixpkgs/pkgs/development/interpreters/love/11.1.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3 meta = { - homepage = http://love2d.org; + homepage = "http://love2d.org"; description = "A Lua-based 2D game engine/scripting language"; license = stdenv.lib.licenses.zlib; platforms = stdenv.lib.platforms.linux; diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/filesystem.nix b/nixpkgs/pkgs/development/interpreters/lua-5/filesystem.nix index 64050ea95f87..a3e633bbab17 100644 --- a/nixpkgs/pkgs/development/interpreters/lua-5/filesystem.nix +++ b/nixpkgs/pkgs/development/interpreters/lua-5/filesystem.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { ''; meta = { - homepage = https://github.com/keplerproject/luafilesystem; + homepage = "https://github.com/keplerproject/luafilesystem"; hydraPlatforms = stdenv.lib.platforms.linux; maintainers = [ ]; }; diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix b/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix index 6fc2e53b9617..98e4684e0921 100644 --- a/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix +++ b/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix @@ -97,7 +97,7 @@ self = stdenv.mkDerivation rec { }; meta = { - homepage = http://www.lua.org; + homepage = "http://www.lua.org"; description = "Powerful, fast, lightweight, embeddable scripting language"; longDescription = '' Lua combines simple procedural syntax with powerful data diff --git a/nixpkgs/pkgs/development/interpreters/lua-5/sockets.nix b/nixpkgs/pkgs/development/interpreters/lua-5/sockets.nix index f0eb1becc578..73fbbc3e66a6 100644 --- a/nixpkgs/pkgs/development/interpreters/lua-5/sockets.nix +++ b/nixpkgs/pkgs/development/interpreters/lua-5/sockets.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ lua5 ]; meta = { - homepage = http://w3.impa.br/~diego/software/luasocket/; + homepage = "http://w3.impa.br/~diego/software/luasocket/"; hydraPlatforms = stdenv.lib.platforms.linux; maintainers = [ ]; }; diff --git a/nixpkgs/pkgs/development/interpreters/luajit/default.nix b/nixpkgs/pkgs/development/interpreters/luajit/default.nix index 08c0564847c5..9be368a59027 100644 --- a/nixpkgs/pkgs/development/interpreters/luajit/default.nix +++ b/nixpkgs/pkgs/development/interpreters/luajit/default.nix @@ -97,7 +97,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "High-performance JIT compiler for Lua 5.1"; - homepage = http://luajit.org; + homepage = "http://luajit.org"; license = licenses.mit; platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ thoughtpolice smironov vcunat andir ]; diff --git a/nixpkgs/pkgs/development/interpreters/maude/default.nix b/nixpkgs/pkgs/development/interpreters/maude/default.nix index 721cfe388655..e4e984fc4ac6 100644 --- a/nixpkgs/pkgs/development/interpreters/maude/default.nix +++ b/nixpkgs/pkgs/development/interpreters/maude/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation { enableParallelBuilding = false; meta = { - homepage = http://maude.cs.illinois.edu/; + homepage = "http://maude.cs.illinois.edu/"; description = "High-level specification language"; license = stdenv.lib.licenses.gpl2Plus; diff --git a/nixpkgs/pkgs/development/interpreters/metamath/default.nix b/nixpkgs/pkgs/development/interpreters/metamath/default.nix index 42b95f341ba9..680e4106695b 100644 --- a/nixpkgs/pkgs/development/interpreters/metamath/default.nix +++ b/nixpkgs/pkgs/development/interpreters/metamath/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation { in the Metamath Proof Explorer, and it generated its web pages. The *.mm ASCII databases (set.mm and others) are also included in this derivation. ''; - homepage = http://us.metamath.org; + homepage = "http://us.metamath.org"; downloadPage = "http://us.metamath.org/#downloads"; license = licenses.gpl2; maintainers = [ maintainers.taneb ]; diff --git a/nixpkgs/pkgs/development/interpreters/mujs/default.nix b/nixpkgs/pkgs/development/interpreters/mujs/default.nix index aef23ad6881d..2abcec68c866 100644 --- a/nixpkgs/pkgs/development/interpreters/mujs/default.nix +++ b/nixpkgs/pkgs/development/interpreters/mujs/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { makeFlags = [ "prefix=$(out)" ]; meta = with stdenv.lib; { - homepage = https://mujs.com/; + homepage = "https://mujs.com/"; description = "A lightweight, embeddable Javascript interpreter"; platforms = platforms.unix; maintainers = with maintainers; [ pSub ]; diff --git a/nixpkgs/pkgs/development/interpreters/nix-exec/default.nix b/nixpkgs/pkgs/development/interpreters/nix-exec/default.nix index bde2f5d9fa96..0c976f2f0b05 100644 --- a/nixpkgs/pkgs/development/interpreters/nix-exec/default.nix +++ b/nixpkgs/pkgs/development/interpreters/nix-exec/default.nix @@ -16,7 +16,7 @@ in stdenv.mkDerivation { meta = { description = "Run programs defined in nix expressions"; - homepage = https://github.com/shlevy/nix-exec; + homepage = "https://github.com/shlevy/nix-exec"; license = stdenv.lib.licenses.mit; platforms = nix.meta.platforms; broken = true; diff --git a/nixpkgs/pkgs/development/interpreters/octave/default.nix b/nixpkgs/pkgs/development/interpreters/octave/default.nix index 4a63d1862014..4d2bf40b3292 100644 --- a/nixpkgs/pkgs/development/interpreters/octave/default.nix +++ b/nixpkgs/pkgs/development/interpreters/octave/default.nix @@ -21,7 +21,7 @@ , zlib , curl , qrupdate -, openblas +, blas, lapack , arpack , libwebp , gl2ps @@ -53,17 +53,7 @@ , darwin }: -let - suitesparseOrig = suitesparse; - qrupdateOrig = qrupdate; -in -# integer width is determined by openblas, so all dependencies must be built -# with exactly the same openblas -let - suitesparse = - if suitesparseOrig != null then suitesparseOrig.override { inherit openblas; } else null; - qrupdate = if qrupdateOrig != null then qrupdateOrig.override { inherit openblas; } else null; -in +assert (!blas.is64bit) && (!lapack.is64bit); stdenv.mkDerivation rec { version = "5.2.0"; @@ -85,7 +75,8 @@ stdenv.mkDerivation rec { fltk zlib curl - openblas + blas + lapack libsndfile fftw fftwSinglePrec @@ -134,15 +125,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # See https://savannah.gnu.org/bugs/?50339 - F77_INTEGER_8_FLAG = if openblas.blas64 then "-fdefault-integer-8" else ""; + F77_INTEGER_8_FLAG = if blas.is64bit then "-fdefault-integer-8" else ""; configureFlags = [ - "--with-blas=openblas" - "--with-lapack=openblas" + "--with-blas=blas" + "--with-lapack=lapack" + (if blas.is64bit then "--enable-64" else "--disable-64") ] ++ (if stdenv.isDarwin then [ "--enable-link-all-dependencies" ] else [ ]) ++ stdenv.lib.optionals enableReadline [ "--enable-readline" ] - ++ stdenv.lib.optionals openblas.blas64 [ "--enable-64" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "--with-x=no" ] ++ stdenv.lib.optionals enableQt [ "--with-qt=5" ] ++ stdenv.lib.optionals enableJIT [ "--enable-jit" ] diff --git a/nixpkgs/pkgs/development/interpreters/perl/default.nix b/nixpkgs/pkgs/development/interpreters/perl/default.nix index 8f8b63a261e5..cc43a7d2f858 100644 --- a/nixpkgs/pkgs/development/interpreters/perl/default.nix +++ b/nixpkgs/pkgs/development/interpreters/perl/default.nix @@ -162,7 +162,7 @@ let ''; # */ meta = { - homepage = https://www.perl.org/; + homepage = "https://www.perl.org/"; description = "The standard implementation of the Perl 5 programmming language"; license = licenses.artistic1; maintainers = [ maintainers.eelco ]; @@ -170,11 +170,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 = "ba90816ef2c24dc06fd6cd2c854abcfa1aae00a3"; # Nov 22, 2019 + crossVersion = "1.3.2"; # Mar 21, 2020 perl-cross-src = fetchurl { url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz"; - sha256 = "19jq5fz6l64s0v6j64n5mkk5v2srpyfn9sc09hwbpkp9n74q82j4"; + sha256 = "1283crdjsyi45mgdiak4jmy907mqn09frxzxp21b18hvxmfn4smq"; }; depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ]; @@ -202,15 +202,15 @@ in { perl530 = common { perl = pkgs.perl530; buildPerl = buildPackages.perl530; - version = "5.30.1"; - sha256 = "0r7r8a7pkgxp3w5lza559ahxczw6hzpwvhkpc4c99vpi3xbjagdz"; + version = "5.30.2"; + sha256 = "128nfdxcvxfn5kq55qcfrx2851ys8hv794dcdxbyny8rm7w7vnv6"; }; # the latest Devel version perldevel = common { perl = pkgs.perldevel; buildPerl = buildPackages.perldevel; - version = "5.31.6"; - sha256 = "08n3c8xm1brxpckqy8i1xgjrpl4afrhcva9bhxswr938n675x71k"; + version = "5.31.10"; + sha256 = "1gvv5zs54gzb947x7ryjkaalm9rbqf8l8hwjwdm9lbfgkpg07kny"; }; } diff --git a/nixpkgs/pkgs/development/interpreters/php/default.nix b/nixpkgs/pkgs/development/interpreters/php/default.nix index 497a1d87f557..1d6576b383cd 100644 --- a/nixpkgs/pkgs/development/interpreters/php/default.nix +++ b/nixpkgs/pkgs/development/interpreters/php/default.nix @@ -1,13 +1,9 @@ -# pcre functionality is tested in nixos/tests/php-pcre.nix -{ config, lib, stdenv, fetchurl -, autoconf, automake, bison, file, flex, libtool, pkgconfig, re2c -, libxml2, readline, zlib, curl, postgresql, gettext -, openssl, pcre, pcre2, sqlite -, libxslt, bzip2, icu, openldap, cyrus_sasl, unixODBC -, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2 -, gd, freetype, libXpm, libjpeg, libpng, libwebp -, libzip, valgrind, oniguruma, symlinkJoin, writeText -, makeWrapper, callPackage +# We have tests for PCRE and PHP-FPM in nixos/tests/php/ or +# both in the same attribute named nixosTests.php + +{ callPackage, config, fetchurl, lib, makeWrapper, stdenv, symlinkJoin +, writeText , autoconf, automake, bison, flex, libtool, pkgconfig, re2c +, apacheHttpd, libargon2, libxml2, pcre, pcre2 , systemd, valgrind }: let @@ -15,182 +11,83 @@ let { version , sha256 , extraPatches ? [] - , withSystemd ? config.php.systemd or stdenv.isLinux - , imapSupport ? config.php.imap or (!stdenv.isDarwin) - , ldapSupport ? config.php.ldap or true - , mysqlndSupport ? config.php.mysqlnd or true - , mysqliSupport ? (config.php.mysqli or true) && (mysqlndSupport) - , pdo_mysqlSupport ? (config.php.pdo_mysql or true) && (mysqlndSupport) - , libxml2Support ? config.php.libxml2 or true - , apxs2Support ? config.php.apxs2 or (!stdenv.isDarwin) - , embedSupport ? config.php.embed or false - , bcmathSupport ? config.php.bcmath or true - , socketsSupport ? config.php.sockets or true - , curlSupport ? config.php.curl or true - , gettextSupport ? config.php.gettext or true - , pcntlSupport ? config.php.pcntl or true - , pdo_odbcSupport ? config.php.pdo_odbc or true - , postgresqlSupport ? config.php.postgresql or true - , pdo_pgsqlSupport ? config.php.pdo_pgsql or true - , readlineSupport ? config.php.readline or true - , sqliteSupport ? config.php.sqlite or true - , soapSupport ? (config.php.soap or true) && (libxml2Support) - , zlibSupport ? config.php.zlib or true - , opensslSupport ? config.php.openssl or true - , mbstringSupport ? config.php.mbstring or true - , gdSupport ? config.php.gd or true - , intlSupport ? config.php.intl or true - , exifSupport ? config.php.exif or true - , xslSupport ? config.php.xsl or false - , bz2Support ? config.php.bz2 or false - , zipSupport ? config.php.zip or true - , ftpSupport ? config.php.ftp or true - , fpmSupport ? config.php.fpm or true - , gmpSupport ? config.php.gmp or true - , ztsSupport ? (config.php.zts or false) || (apxs2Support) - , calendarSupport ? config.php.calendar or true - , sodiumSupport ? (config.php.sodium or true) && (lib.versionAtLeast version "7.2") - , tidySupport ? (config.php.tidy or false) - , argon2Support ? (config.php.argon2 or true) && (lib.versionAtLeast version "7.2") - , libzipSupport ? (config.php.libzip or true) && (lib.versionAtLeast version "7.2") - , phpdbgSupport ? config.php.phpdbg or true + + # Sapi flags , cgiSupport ? config.php.cgi or true , cliSupport ? config.php.cli or true + , fpmSupport ? config.php.fpm or true + , pearSupport ? config.php.pear or true , pharSupport ? config.php.phar or true - , xmlrpcSupport ? (config.php.xmlrpc or false) && (libxml2Support) + , phpdbgSupport ? config.php.phpdbg or true + + + # Misc flags + , apxs2Support ? config.php.apxs2 or (!stdenv.isDarwin) + , argon2Support ? config.php.argon2 or true , cgotoSupport ? config.php.cgoto or false - , valgrindSupport ? (config.php.valgrind or true) && (lib.versionAtLeast version "7.2") + , embedSupport ? config.php.embed or false , ipv6Support ? config.php.ipv6 or true - , pearSupport ? (config.php.pear or true) && (libxml2Support) - }: stdenv.mkDerivation { + , systemdSupport ? config.php.systemd or stdenv.isLinux + , valgrindSupport ? config.php.valgrind or true + , ztsSupport ? (config.php.zts or false) || (apxs2Support) + }: let + pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre; + in stdenv.mkDerivation { pname = "php"; inherit version; enableParallelBuilding = true; - nativeBuildInputs = [ autoconf automake bison file flex libtool pkgconfig re2c ]; - - buildInputs = [ ] - ++ lib.optional (lib.versionOlder version "7.3") pcre - ++ lib.optional (lib.versionAtLeast version "7.3") pcre2 - ++ lib.optional (lib.versionAtLeast version "7.4") oniguruma - ++ lib.optional withSystemd systemd - ++ lib.optionals imapSupport [ uwimap openssl pam ] - ++ lib.optionals curlSupport [ curl openssl ] - ++ lib.optionals ldapSupport [ openldap openssl ] - ++ lib.optionals gdSupport [ gd freetype libXpm libjpeg libpng libwebp ] - ++ lib.optionals opensslSupport [ openssl openssl.dev ] + nativeBuildInputs = [ autoconf automake bison flex libtool pkgconfig re2c ]; + + buildInputs = + # PCRE extension + [ pcre' ] + + # Enable sapis + ++ lib.optional pearSupport [ libxml2.dev ] + + # Misc deps ++ lib.optional apxs2Support apacheHttpd - ++ lib.optional (ldapSupport && stdenv.isLinux) cyrus_sasl - ++ lib.optional zlibSupport zlib - ++ lib.optional libxml2Support libxml2 - ++ lib.optional readlineSupport readline - ++ lib.optional sqliteSupport sqlite - ++ lib.optional postgresqlSupport postgresql - ++ lib.optional pdo_odbcSupport unixODBC - ++ lib.optional pdo_pgsqlSupport postgresql - ++ lib.optional gmpSupport gmp - ++ lib.optional gettextSupport gettext - ++ lib.optional intlSupport icu - ++ lib.optional xslSupport libxslt - ++ lib.optional bz2Support bzip2 - ++ lib.optional sodiumSupport libsodium - ++ lib.optional tidySupport html-tidy ++ lib.optional argon2Support libargon2 - ++ lib.optional libzipSupport libzip - ++ lib.optional valgrindSupport valgrind; + ++ lib.optional systemdSupport systemd + ++ lib.optional valgrindSupport valgrind + ; CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11"; - configureFlags = [ "--with-config-file-scan-dir=/etc/php.d" ] - ++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre.dev}" "PCRE_LIBDIR=${pcre}" ] - ++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre2.dev}" "PCRE_LIBDIR=${pcre2}" ] - ++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" "PCRE_LIBDIR=${pcre2}" ] - ++ lib.optional stdenv.isDarwin "--with-iconv=${libiconv}" - ++ lib.optional withSystemd "--with-fpm-systemd" - ++ lib.optionals imapSupport [ - "--with-imap=${uwimap}" - "--with-imap-ssl" - ] - ++ lib.optionals ldapSupport [ - "--with-ldap=/invalid/path" - "LDAP_DIR=${openldap.dev}" - "LDAP_INCDIR=${openldap.dev}/include" - "LDAP_LIBDIR=${openldap.out}/lib" - ] - ++ lib.optional (ldapSupport && stdenv.isLinux) "--with-ldap-sasl=${cyrus_sasl.dev}" - ++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs" - ++ lib.optional embedSupport "--enable-embed" - ++ lib.optional curlSupport "--with-curl=${curl.dev}" - ++ lib.optional zlibSupport "--with-zlib=${zlib.dev}" - ++ lib.optional (libxml2Support && (lib.versionOlder version "7.4")) "--with-libxml-dir=${libxml2.dev}" - ++ lib.optional (!libxml2Support) [ - "--disable-dom" - (if (lib.versionOlder version "7.4") then "--disable-libxml" else "--without-libxml") - "--disable-simplexml" - "--disable-xml" - "--disable-xmlreader" - "--disable-xmlwriter" - "--without-pear" - ] - ++ lib.optional pcntlSupport "--enable-pcntl" - ++ lib.optional readlineSupport "--with-readline=${readline.dev}" - ++ lib.optional sqliteSupport "--with-pdo-sqlite=${sqlite.dev}" - ++ lib.optional postgresqlSupport "--with-pgsql=${postgresql}" - ++ lib.optional pdo_odbcSupport "--with-pdo-odbc=unixODBC,${unixODBC}" - ++ lib.optional pdo_pgsqlSupport "--with-pdo-pgsql=${postgresql}" - ++ lib.optional (pdo_mysqlSupport && mysqlndSupport) "--with-pdo-mysql=mysqlnd" - ++ lib.optional (mysqliSupport && mysqlndSupport) "--with-mysqli=mysqlnd" - ++ lib.optional (pdo_mysqlSupport || mysqliSupport) "--with-mysql-sock=/run/mysqld/mysqld.sock" - ++ lib.optional bcmathSupport "--enable-bcmath" - ++ lib.optionals (gdSupport && lib.versionAtLeast version "7.4") [ - "--enable-gd" - "--with-external-gd=${gd.dev}" - "--with-webp=${libwebp}" - "--with-jpeg=${libjpeg.dev}" - "--with-xpm=${libXpm.dev}" - "--with-freetype=${freetype.dev}" - "--enable-gd-jis-conv" - ] ++ lib.optionals (gdSupport && lib.versionOlder version "7.4") [ - "--with-gd=${gd.dev}" - "--with-webp-dir=${libwebp}" - "--with-jpeg-dir=${libjpeg.dev}" - "--with-png-dir=${libpng.dev}" - "--with-freetype-dir=${freetype.dev}" - "--with-xpm-dir=${libXpm.dev}" - "--enable-gd-jis-conv" - ] - ++ lib.optional gmpSupport "--with-gmp=${gmp.dev}" - ++ lib.optional soapSupport "--enable-soap" - ++ lib.optional socketsSupport "--enable-sockets" - ++ lib.optional opensslSupport "--with-openssl" - ++ lib.optional mbstringSupport "--enable-mbstring" - ++ lib.optional gettextSupport "--with-gettext=${gettext}" - ++ lib.optional intlSupport "--enable-intl" - ++ lib.optional exifSupport "--enable-exif" - ++ lib.optional xslSupport "--with-xsl=${libxslt.dev}" - ++ lib.optional bz2Support "--with-bz2=${bzip2.dev}" - ++ lib.optional (zipSupport && (lib.versionOlder version "7.4")) "--enable-zip" - ++ lib.optional (zipSupport && (lib.versionAtLeast version "7.4")) "--with-zip" - ++ lib.optional ftpSupport "--enable-ftp" - ++ lib.optional fpmSupport "--enable-fpm" - ++ lib.optional ztsSupport "--enable-maintainer-zts" - ++ lib.optional calendarSupport "--enable-calendar" - ++ lib.optional sodiumSupport "--with-sodium=${libsodium.dev}" - ++ lib.optional tidySupport "--with-tidy=${html-tidy}" - ++ lib.optional argon2Support "--with-password-argon2=${libargon2}" - ++ lib.optional (libzipSupport && (lib.versionOlder version "7.4")) "--with-libzip=${libzip.dev}" - ++ lib.optional phpdbgSupport "--enable-phpdbg" - ++ lib.optional (!phpdbgSupport) "--disable-phpdbg" + configureFlags = + # Disable all extensions + [ "--disable-all" ] + + # PCRE + ++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ] + ++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre'.dev}" ] + ++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre'.dev}" ] + ++ [ "PCRE_LIBDIR=${pcre'}" ] + + + # Enable sapis ++ lib.optional (!cgiSupport) "--disable-cgi" ++ lib.optional (!cliSupport) "--disable-cli" - ++ lib.optional (!pharSupport) "--disable-phar" - ++ lib.optional xmlrpcSupport "--with-xmlrpc" + ++ lib.optional fpmSupport "--enable-fpm" + ++ lib.optional pearSupport [ "--with-pear=$(out)/lib/php/pear" "--enable-xml" "--with-libxml" ] + ++ lib.optional (pearSupport && (lib.versionOlder version "7.4")) "--enable-libxml" + ++ lib.optional pharSupport "--enable-phar" + ++ lib.optional phpdbgSupport "--enable-phpdbg" + + + # Misc flags + ++ lib.optional apxs2Support "--with-apxs2=${apacheHttpd.dev}/bin/apxs" + ++ lib.optional argon2Support "--with-password-argon2=${libargon2}" ++ lib.optional cgotoSupport "--enable-re2c-cgoto" - ++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}" + ++ lib.optional embedSupport "--enable-embed" ++ lib.optional (!ipv6Support) "--disable-ipv6" - ++ lib.optional (pearSupport && libxml2Support) "--with-pear=$(out)/lib/php/pear"; + ++ lib.optional systemdSupport "--with-fpm-systemd" + ++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}" + ++ lib.optional ztsSupport "--enable-maintainer-zts" + ; hardeningDisable = [ "bindnow" ]; @@ -204,8 +101,6 @@ let --replace '@PHP_LDFLAGS@' "" done - substituteInPlace ./build/libtool.m4 --replace /usr/bin/file ${file}/bin/file - export EXTENSION_DIR=$out/lib/php/extensions ./buildconf --copy --force @@ -235,6 +130,12 @@ let inherit sha256; }; + patches = [ ./fix-paths-php7.patch ] ++ extraPatches; + + separateDebugInfo = true; + + outputs = [ "out" "dev" ]; + meta = with stdenv.lib; { description = "An HTML-embedded scripting language"; homepage = "https://www.php.net/"; @@ -243,57 +144,121 @@ let platforms = platforms.all; outputsToInstall = [ "out" "dev" ]; }; + }; - patches = [ ./fix-paths-php7.patch ] ++ extraPatches; + generic' = { version, sha256, self, selfWithExtensions, ... }@args: + let + php = generic (builtins.removeAttrs args [ "self" "selfWithExtensions" ]); - stripDebugList = "bin sbin lib modules"; + php-packages = (callPackage ../../../top-level/php-packages.nix { + php = self; + phpWithExtensions = selfWithExtensions; + }); - outputs = [ "out" "dev" ]; - }; + buildEnv = { extensions ? (_: []), extraConfig ? "" }: + let + getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name; + enabledExtensions = extensions php-packages.extensions; - generic' = { version, sha256, ... }@args: let php = generic args; in php.overrideAttrs (_: { - passthru.buildEnv = { exts ? (_: []), extraConfig ? "" }: let - extraInit = writeText "custom-php.ini" '' - ${extraConfig} - ${lib.concatMapStringsSep "\n" (ext: let - extName = lib.removePrefix "php-" (builtins.parseDrvName ext.name).name; - type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension"; - in '' - ${type}=${ext}/lib/php/extensions/${extName}.so - '') (exts (callPackage ../../../top-level/php-packages.nix { inherit php; }))} - ''; - in symlinkJoin { - name = "php-custom-${version}"; - nativeBuildInputs = [ makeWrapper ]; - paths = [ php ]; - postBuild = '' - wrapProgram $out/bin/php \ - --add-flags "-c ${extraInit}" - wrapProgram $out/bin/php-fpm \ - --add-flags "-c ${extraInit}" - ''; - }; - }); + # Generate extension load configuration snippets from the + # extension parameter. This is an attrset suitable for use + # with textClosureList, which is used to put the strings in + # the right order - if a plugin which is dependent on + # another plugin is placed before its dependency, it will + # fail to load. + extensionTexts = + lib.listToAttrs + (map (ext: + let + extName = getExtName ext; + type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension"; + in + lib.nameValuePair extName { + text = "${type}=${ext}/lib/php/extensions/${extName}.so"; + deps = lib.optionals (ext ? internalDeps) + (map getExtName ext.internalDeps); + }) + enabledExtensions); -in { - php72 = generic' { - version = "7.2.28"; - sha256 = "18sjvl67z5a2x5s2a36g6ls1r3m4hbrsw52hqr2qsgfvg5dkm5bw"; + extNames = map getExtName enabledExtensions; + extraInit = writeText "custom-php.ini" '' + ${lib.concatStringsSep "\n" + (lib.textClosureList extensionTexts extNames)} + ${extraConfig} + ''; + in + symlinkJoin { + name = "php-with-extensions-${version}"; + inherit (php) version; + nativeBuildInputs = [ makeWrapper ]; + passthru = { + inherit buildEnv withExtensions enabledExtensions; + inherit (php-packages) packages extensions; + }; + paths = [ php ]; + postBuild = '' + cp ${extraInit} $out/lib/custom-php.ini + + wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib + + if test -e $out/bin/php-fpm; then + wrapProgram $out/bin/php-fpm --set PHP_INI_SCAN_DIR $out/lib + fi + ''; + }; + + withExtensions = extensions: buildEnv { inherit extensions; }; + in + php.overrideAttrs (_: { + passthru = { + enabledExtensions = []; + inherit buildEnv withExtensions; + inherit (php-packages) packages extensions; + }; + }); + + php72base = generic' { + version = "7.2.29"; + sha256 = "08xry2fgqgg8s0ym1hh11wkbr36av3zq1bn4krbciw1b7x8gb8ga"; + self = php72base; + selfWithExtensions = php72; # https://bugs.php.net/bug.php?id=76826 extraPatches = lib.optional stdenv.isDarwin ./php72-darwin-isfinite.patch; }; - php73 = generic' { - version = "7.3.15"; - sha256 = "0g84hws15s8gh8iq4h6q747dyfazx47vh3da3whz8d80x83ibgld"; + php73base = generic' { + version = "7.3.16"; + sha256 = "0bh499v9dfgh9k51w4rird1slb9rh9whp5h37fb84c98d992s1xq"; + self = php73base; + selfWithExtensions = php73; # https://bugs.php.net/bug.php?id=76826 extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch; }; - php74 = generic' { - version = "7.4.3"; - sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ="; + php74base = generic' { + version = "7.4.4"; + sha256 = "17w2m4phhpj76x5fx67vgjrlkcczqvky3f5in1kjg2pch90qz3ih"; + self = php74base; + selfWithExtensions = php74; }; + + defaultPhpExtensions = extensions: with extensions; ([ + 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 = extensions: + (defaultPhpExtensions extensions) ++ [ extensions.hash ]; + + php74 = php74base.withExtensions defaultPhpExtensions; + php73 = php73base.withExtensions defaultPhpExtensionsWithHash; + php72 = php72base.withExtensions defaultPhpExtensionsWithHash; + +in { + inherit php72base php73base php74base php72 php73 php74; } diff --git a/nixpkgs/pkgs/development/interpreters/picoc/default.nix b/nixpkgs/pkgs/development/interpreters/picoc/default.nix index 6e57ad250bb4..00e77033575f 100644 --- a/nixpkgs/pkgs/development/interpreters/picoc/default.nix +++ b/nixpkgs/pkgs/development/interpreters/picoc/default.nix @@ -43,8 +43,8 @@ stdenv.mkDerivation rec { very sparing of data space. This means it can work well in small embedded devices. ''; - homepage = https://github.com/zsaleeba/picoc; - downloadPage = https://code.google.com/p/picoc/downloads/list; + homepage = "https://github.com/zsaleeba/picoc"; + downloadPage = "https://code.google.com/p/picoc/downloads/list"; license = licenses.bsd3; platforms = platforms.linux; }; diff --git a/nixpkgs/pkgs/development/interpreters/picolisp/default.nix b/nixpkgs/pkgs/development/interpreters/picolisp/default.nix index 1a0a781b9188..c49437717c15 100644 --- a/nixpkgs/pkgs/development/interpreters/picolisp/default.nix +++ b/nixpkgs/pkgs/development/interpreters/picolisp/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { meta = { description = "A simple Lisp with an integrated database"; - homepage = https://picolisp.com/; + homepage = "https://picolisp.com/"; license = licenses.mit; platforms = platforms.all; broken = stdenv.isDarwin; # times out diff --git a/nixpkgs/pkgs/development/interpreters/pixie/default.nix b/nixpkgs/pkgs/development/interpreters/pixie/default.nix index 02f6d34a0305..9b57e153aa05 100644 --- a/nixpkgs/pkgs/development/interpreters/pixie/default.nix +++ b/nixpkgs/pkgs/development/interpreters/pixie/default.nix @@ -84,7 +84,7 @@ let ''; meta = { description = "A clojure-like lisp, built with the pypy vm toolkit"; - homepage = https://github.com/pixie-lang/pixie; + homepage = "https://github.com/pixie-lang/pixie"; license = stdenv.lib.licenses.lgpl3; platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"]; maintainers = with stdenv.lib.maintainers; [ bendlas ]; diff --git a/nixpkgs/pkgs/development/interpreters/pyrex/0.9.5.nix b/nixpkgs/pkgs/development/interpreters/pyrex/0.9.5.nix index 30a601ef8dfd..40eb1daf49c8 100644 --- a/nixpkgs/pkgs/development/interpreters/pyrex/0.9.5.nix +++ b/nixpkgs/pkgs/development/interpreters/pyrex/0.9.5.nix @@ -14,7 +14,7 @@ python2Packages.buildPythonPackage { doCheck = false; meta = { - homepage = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/; + homepage = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/"; description = "A language for writing Python extension modules"; license = stdenv.lib.licenses.asl20; }; diff --git a/nixpkgs/pkgs/development/interpreters/pyrex/0.9.6.nix b/nixpkgs/pkgs/development/interpreters/pyrex/0.9.6.nix index 69a930891885..e518edba1b39 100644 --- a/nixpkgs/pkgs/development/interpreters/pyrex/0.9.6.nix +++ b/nixpkgs/pkgs/development/interpreters/pyrex/0.9.6.nix @@ -14,7 +14,7 @@ python2Packages.buildPythonPackage { doCheck = false; meta = { - homepage = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/; + homepage = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/"; description = "A language for writing Python extension modules"; license = stdenv.lib.licenses.asl20; }; diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix index 77b37c5f5c39..696be2136ecc 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -263,7 +263,7 @@ in with passthru; stdenv.mkDerivation ({ doCheck = false; # expensive, and fails meta = { - homepage = http://python.org; + homepage = "http://python.org"; description = "A high-level dynamically-typed programming language"; longDescription = '' Python is a remarkably powerful dynamic programming language that diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix index b778b62f908d..43d635f3a33a 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix @@ -28,6 +28,8 @@ , stripTkinter ? false , rebuildBytecode ? true , stripBytecode ? false +, includeSiteCustomize ? true +, static ? false }: assert x11Support -> tcl != null @@ -130,7 +132,7 @@ in with passthru; stdenv.mkDerivation { CPPFLAGS = concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs); LDFLAGS = concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs); LIBS = "${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}"; - NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; + NIX_LDFLAGS = optionalString (stdenv.isLinux && !stdenv.hostPlatform.isMusl) "-lgcc_s" + optionalString stdenv.hostPlatform.isMusl "-lgcc_eh"; # Determinism: We fix the hashes of str, bytes and datetime objects. PYTHONHASHSEED=0; @@ -169,7 +171,7 @@ in with passthru; stdenv.mkDerivation { # Never even try to use lchmod on linux, # don't rely on detecting glibc-isms. "ac_cv_func_lchmod=no" - ]; + ] ++ optional static "LDFLAGS=-static"; preConfigure = '' for i in /usr /sw /opt /pkg; do # improve purity @@ -237,7 +239,7 @@ in with passthru; stdenv.mkDerivation { '' + optionalString stripTests '' # Strip tests rm -R $out/lib/python*/test $out/lib/python*/**/test{,s} - '' + '' + '' + optionalString includeSiteCustomize '' # Include a sitecustomize.py file cp ${../sitecustomize.py} $out/${sitePackages}/sitecustomize.py '' + optionalString rebuildBytecode '' @@ -262,7 +264,7 @@ in with passthru; stdenv.mkDerivation { # Enforce that we don't have references to the OpenSSL -dev package, which we # explicitly specify in our configure flags above. disallowedReferences = - stdenv.lib.optionals (openssl != null) [ openssl.dev ] + stdenv.lib.optionals (openssl != null && !static) [ openssl.dev ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ # Ensure we don't have references to build-time packages. # These typically end up in shebangs. @@ -274,7 +276,7 @@ in with passthru; stdenv.mkDerivation { enableParallelBuilding = true; meta = { - homepage = http://python.org; + homepage = "http://python.org"; description = "A high-level dynamically-typed programming language"; longDescription = '' Python is a remarkably powerful dynamic programming language that diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix index e27959c05e8d..e033858acc01 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { name = "python27-docs-html-2.7.16"; src = fetchurl { - url = http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-html.tar.bz2; + url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-html.tar.bz2"; sha256 = "1razs1grzhai65ihaiyph8kz6ncjkgp1gsn3c8v7kanf13lqim02"; }; installPhase = '' diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix index 0226f7cd8809..c9a770a6fcf1 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { name = "python27-docs-pdf-a4-2.7.16"; src = fetchurl { - url = http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-a4.tar.bz2; + url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-a4.tar.bz2"; sha256 = "14ml1ynrlbhg43737bdsb8k5y39wsffqj4iwhylhb8n8l5dplfdq"; }; installPhase = '' diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix index 88d1a6931668..e03d031bae48 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { name = "python27-docs-pdf-letter-2.7.16"; src = fetchurl { - url = http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-letter.tar.bz2; + url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-letter.tar.bz2"; sha256 = "019i8n48m71mn31v8d85kkwyqfgcgqnqh506y4a7fcgf656bajs0"; }; installPhase = '' diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix index ea35e9fb6a35..d19d7be19357 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { name = "python27-docs-text-2.7.16"; src = fetchurl { - url = http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-text.tar.bz2; + url = "http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-text.tar.bz2"; sha256 = "1da7swlykvc013684nywycinfz3v8dqkcmv0zj8p7l5lyi5mq03r"; }; installPhase = '' diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix index 45783eb82632..a83363b5c473 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { name = "python37-docs-html-3.7.2"; src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-html.tar.bz2; + url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-html.tar.bz2"; sha256 = "19wbrawpdam09fmyipfy92sxwn1rl93v8jkfqsfx028qhvzf0422"; }; installPhase = '' diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix index 998af644c718..e60032f71bf8 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { name = "python37-docs-pdf-a4-3.7.2"; src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-a4.tar.bz2; + url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-a4.tar.bz2"; sha256 = "0vdx762m30hjaabn6w88awcj2qpbz0b6z59zn9wmamd35k59lfba"; }; installPhase = '' diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix index 1c6aea5ee3c1..b737a1e32995 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { name = "python37-docs-pdf-letter-3.7.2"; src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-letter.tar.bz2; + url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-letter.tar.bz2"; sha256 = "17g57vlyvqx0k916q84q2pcx7y8myw0fda9fvg9kh0ph930c837x"; }; installPhase = '' diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix index 32388780f6ff..2897042ec04a 100644 --- a/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix +++ b/nixpkgs/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { name = "python37-docs-text-3.7.2"; src = fetchurl { - url = http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-text.tar.bz2; + url = "http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-text.tar.bz2"; sha256 = "0h50rlr8jclwfxa106b42q2vn2ynp219c4zsy5qz65n5m3b7y1g2"; }; installPhase = '' diff --git a/nixpkgs/pkgs/development/interpreters/python/default.nix b/nixpkgs/pkgs/development/interpreters/python/default.nix index 94f04b73f498..099632b1e853 100644 --- a/nixpkgs/pkgs/development/interpreters/python/default.nix +++ b/nixpkgs/pkgs/development/interpreters/python/default.nix @@ -96,10 +96,10 @@ in { sourceVersion = { major = "3"; minor = "7"; - patch = "6"; + patch = "7"; suffix = ""; }; - sha256 = "0gskry19ylw91p38pdq36qcgk6h3x5i4ia0ik977kw2943kwr8jm"; + sha256 = "0di1y2cna823qgk6sd2lvpjdm3g2qikdd50i2bjd330dpzqsk806"; inherit (darwin) configd; inherit passthruFun; }; @@ -147,6 +147,7 @@ in { stripTkinter = true; rebuildBytecode = false; stripBytecode = true; + includeSiteCustomize = false; }).overrideAttrs(old: { pname = "python3-minimal"; meta = old.meta // { diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix b/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix index 47690320e81e..4d736426f3bf 100644 --- a/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix +++ b/nixpkgs/pkgs/development/interpreters/python/hooks/default.nix @@ -89,6 +89,14 @@ in rec { }; } ./python-imports-check-hook.sh) {}; + pythonNamespacesHook = callPackage ({}: + makeSetupHook { + name = "python-namespaces-hook.sh"; + substitutions = { + inherit pythonSitePackages; + }; + } ./python-namespaces-hook.sh) {}; + pythonRemoveBinBytecodeHook = callPackage ({ }: makeSetupHook { name = "python-remove-bin-bytecode-hook"; diff --git a/nixpkgs/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh b/nixpkgs/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh new file mode 100644 index 000000000000..50f21819d176 --- /dev/null +++ b/nixpkgs/pkgs/development/interpreters/python/hooks/python-namespaces-hook.sh @@ -0,0 +1,40 @@ +# Clean up __init__.py's found in namespace directories +echo "Sourcing python-namespaces-hook" + +pythonNamespacesHook() { + echo "Executing pythonNamespacesHook" + + for namespace in ${pythonNamespaces[@]}; do + echo "Enforcing PEP420 namespace: ${namespace}" + + # split namespace into segments. "azure.mgmt" -> "azure mgmt" + IFS='.' read -ra pathSegments <<< $namespace + constructedPath=$out/@pythonSitePackages@ + + # Need to remove the __init__.py at each namespace level + # E.g `azure/__init__.py` and `azure/mgmt/__init__.py` + # The __pycache__ entry also needs to be removed + for pathSegment in ${pathSegments[@]}; do + constructedPath=${constructedPath}/${pathSegment} + pathToRemove=${constructedPath}/__init__.py + pycachePath=${constructedPath}/__pycache__/__init__* + + if [ -f "$pathToRemove" ]; then + echo "Removing $pathToRemove" + rm "$pathToRemove" + fi + + if [ -f "$pycachePath" ]; then + echo "Removing $pycachePath" + rm "$pycachePath" + fi + done + done + + echo "Finished executing pythonNamespacesHook" +} + +if [ -z "${dontUsePythonNamespacesHook-}" -a -n "${pythonNamespaces-}" ]; then + postFixupHooks+=(pythonNamespacesHook) +fi + diff --git a/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix b/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix index 180bc63857c2..22938a455852 100644 --- a/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/nixpkgs/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -16,6 +16,7 @@ , pipInstallHook , pythonCatchConflictsHook , pythonImportsCheckHook +, pythonNamespacesHook , pythonRemoveBinBytecodeHook , pythonRemoveTestsDirHook , setuptoolsBuildHook @@ -131,6 +132,9 @@ let ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ # This is a test, however, it should be ran independent of the checkPhase and checkInputs pythonImportsCheckHook + ] ++ lib.optionals (python.pythonAtLeast "3.3") [ + # Optionally enforce PEP420 for python3 + pythonNamespacesHook ] ++ nativeBuildInputs; buildInputs = buildInputs ++ pythonPath; diff --git a/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix b/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix index 54400ae3e0a4..e782eb2fdeea 100644 --- a/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix +++ b/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix @@ -151,7 +151,7 @@ in with passthru; stdenv.mkDerivation rec { enableParallelBuilding = true; # almost no parallelization without STM meta = with stdenv.lib; { - homepage = http://pypy.org/; + 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" ]; diff --git a/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt.nix b/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt.nix index 7ac8037293ff..0ebd33648343 100644 --- a/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt.nix +++ b/nixpkgs/pkgs/development/interpreters/python/pypy/prebuilt.nix @@ -117,7 +117,7 @@ in with passthru; stdenv.mkDerivation { inherit passthru; meta = with stdenv.lib; { - homepage = http://pypy.org/; + homepage = "http://pypy.org/"; description = "Fast, compliant alternative implementation of the Python language (${pythonVersion})"; license = licenses.mit; platforms = [ "x86_64-linux" ]; diff --git a/nixpkgs/pkgs/development/interpreters/python/sitecustomize.py b/nixpkgs/pkgs/development/interpreters/python/sitecustomize.py index e03b244dbc04..72ce951328f1 100644 --- a/nixpkgs/pkgs/development/interpreters/python/sitecustomize.py +++ b/nixpkgs/pkgs/development/interpreters/python/sitecustomize.py @@ -21,6 +21,19 @@ paths = os.environ.pop('NIX_PYTHONPATH', None) if paths: functools.reduce(lambda k, p: site.addsitedir(p, k), paths.split(':'), site._init_pathinfo()) -executable = os.environ.pop('NIX_PYTHONEXECUTABLE', None) -if 'PYTHONEXECUTABLE' not in os.environ and executable: - sys.executable = executable +# Check whether we are in a venv. +# Note Python 2 does not support base_prefix so we assume we are not in a venv. +in_venv = sys.version_info.major == 3 and sys.prefix != sys.base_prefix + +if not in_venv: + executable = os.environ.pop('NIX_PYTHONEXECUTABLE', None) + prefix = os.environ.pop('NIX_PYTHONPREFIX', None) + + if 'PYTHONEXECUTABLE' not in os.environ and executable is not None: + sys.executable = executable + if prefix is not None: + # Because we cannot check with Python 2 whether we are in a venv, + # creating a venv from a Nix env won't work as well with Python 2. + # Also, note that sysconfig does not like it when sys.prefix is set to None + sys.prefix = sys.exec_prefix = prefix + site.PREFIXES.insert(0, prefix) diff --git a/nixpkgs/pkgs/development/interpreters/python/tests.nix b/nixpkgs/pkgs/development/interpreters/python/tests.nix index 37fbe6701148..55065c45d576 100644 --- a/nixpkgs/pkgs/development/interpreters/python/tests.nix +++ b/nixpkgs/pkgs/development/interpreters/python/tests.nix @@ -2,6 +2,7 @@ , runCommand , substituteAll , lib +, callPackage }: let @@ -36,6 +37,7 @@ let is_venv = "True"; is_nixenv = "False"; }; + # Venv built using Python Nix environment (python.buildEnv) # TODO: Cannot create venv from a nix env # Error: Command '['/nix/store/ddc8nqx73pda86ibvhzdmvdsqmwnbjf7-python3-3.7.6-venv/bin/python3.7', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1. @@ -49,6 +51,14 @@ let # }; }; + # All PyPy package builds are broken at the moment + integrationTests = lib.optionalAttrs (python.isPy3k && (!python.isPyPy)) rec { + # Before the addition of NIX_PYTHONPREFIX mypy was broken with typed packages + nix-pythonprefix-mypy = callPackage ./tests/test_nix_pythonprefix { + interpreter = python; + }; + }; + testfun = name: attrs: runCommand "${python.name}-tests-${name}" ({ inherit (python) pythonVersion; } // attrs) '' @@ -60,4 +70,4 @@ let touch $out/success ''; -in lib.mapAttrs testfun envs \ No newline at end of file +in lib.mapAttrs testfun envs // integrationTests diff --git a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix new file mode 100644 index 000000000000..05798cbaf1b8 --- /dev/null +++ b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/default.nix @@ -0,0 +1,25 @@ +{ interpreter, writeText, runCommandNoCC }: + +let + + python = let + packageOverrides = self: super: { + typeddep = super.callPackage ./typeddep {}; + }; + in interpreter.override {inherit packageOverrides; self = python;}; + + pythonEnv = python.withPackages(ps: [ + ps.typeddep + ps.mypy + ]); + + pythonScript = writeText "myscript.py" '' + from typeddep import util + s: str = util.echo("hello") + print(s) + ''; + +in runCommandNoCC "${interpreter.name}-site-prefix-mypy-test" {} '' + ${pythonEnv}/bin/mypy ${pythonScript} + touch $out +'' diff --git a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix new file mode 100644 index 000000000000..06219a69fcaf --- /dev/null +++ b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/default.nix @@ -0,0 +1,11 @@ +{ buildPythonPackage }: + + +buildPythonPackage { + + pname = "typeddep"; + version = "1.3.3.7"; + + src = ./.; + +} diff --git a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/setup.py b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/setup.py new file mode 100644 index 000000000000..25bac69ea09a --- /dev/null +++ b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/setup.py @@ -0,0 +1,18 @@ +from setuptools import setup + +setup(**{ + 'name': 'typeddep', + 'version': '1.3.3.7', + 'description': 'Minimal repro to test mypy and site prefixes with Nix', + 'long_description': None, + 'author': 'adisbladis', + 'author_email': 'adisbladis@gmail.com', + 'maintainer': None, + 'maintainer_email': None, + 'url': None, + 'packages': ['typeddep'], + 'package_data': {'': ['*']}, + 'install_requires': [], + 'entry_points': {}, + 'python_requires': '>=3.7,<4.0', +}) diff --git a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/typeddep/__init__.py b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/typeddep/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/typeddep/__init__.py diff --git a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/typeddep/py.typed b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/typeddep/py.typed new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/typeddep/py.typed diff --git a/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/typeddep/util.py b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/typeddep/util.py new file mode 100644 index 000000000000..c1c3ffe74777 --- /dev/null +++ b/nixpkgs/pkgs/development/interpreters/python/tests/test_nix_pythonprefix/typeddep/typeddep/util.py @@ -0,0 +1,2 @@ +def echo(s: str) -> str: + return s diff --git a/nixpkgs/pkgs/development/interpreters/python/tests/test_python.py b/nixpkgs/pkgs/development/interpreters/python/tests/test_python.py index f631a172ccc6..011978c62547 100644 --- a/nixpkgs/pkgs/development/interpreters/python/tests/test_python.py +++ b/nixpkgs/pkgs/development/interpreters/python/tests/test_python.py @@ -27,7 +27,7 @@ class TestCasePython(unittest.TestCase): def test_interpreter(self): self.assertEqual(sys.executable, INTERPRETER) - @unittest.skipIf(IS_NIXENV or IS_PYPY, "Prefix is incorrect and needs to be fixed.") + @unittest.skipIf(IS_PYPY, "Prefix is incorrect and needs to be fixed.") def test_prefix(self): self.assertEqual(sys.prefix, ENV) self.assertEqual(sys.prefix, sys.exec_prefix) @@ -35,9 +35,9 @@ class TestCasePython(unittest.TestCase): def test_site_prefix(self): self.assertTrue(sys.prefix in site.PREFIXES) - @unittest.skipIf(sys.version_info.major==2, "Python 2 does not have base_prefix") + @unittest.skipIf(IS_PYPY or sys.version_info.major==2, "Python 2 does not have base_prefix") def test_base_prefix(self): - if IS_VENV: + if IS_VENV or IS_NIXENV: self.assertNotEqual(sys.prefix, sys.base_prefix) else: self.assertEqual(sys.prefix, sys.base_prefix) diff --git a/nixpkgs/pkgs/development/interpreters/python/wrapper.nix b/nixpkgs/pkgs/development/interpreters/python/wrapper.nix index b437584024fe..dffad6b98f5e 100644 --- a/nixpkgs/pkgs/development/interpreters/python/wrapper.nix +++ b/nixpkgs/pkgs/development/interpreters/python/wrapper.nix @@ -37,7 +37,7 @@ let if [ -f "$prg" ]; then rm -f "$out/bin/$prg" if [ -x "$prg" ]; then - makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set NIX_PYTHONEXECUTABLE ${pythonExecutable} --set NIX_PYTHONPATH ${pythonPath} ${if permitUserSite then "" else ''--set PYTHONNOUSERSITE "true"''} ${stdenv.lib.concatStringsSep " " makeWrapperArgs} + makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set NIX_PYTHONPREFIX "$out" --set NIX_PYTHONEXECUTABLE ${pythonExecutable} --set NIX_PYTHONPATH ${pythonPath} ${if permitUserSite then "" else ''--set PYTHONNOUSERSITE "true"''} ${stdenv.lib.concatStringsSep " " makeWrapperArgs} fi fi done diff --git a/nixpkgs/pkgs/development/interpreters/qnial/default.nix b/nixpkgs/pkgs/development/interpreters/qnial/default.nix index d49886da8f54..1762edbbdb7d 100644 --- a/nixpkgs/pkgs/development/interpreters/qnial/default.nix +++ b/nixpkgs/pkgs/development/interpreters/qnial/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { meta = { description = "An array language from Nial Systems"; - homepage = https://github.com/vrthra/qnial; + homepage = "https://github.com/vrthra/qnial"; license = stdenv.lib.licenses.artistic1; maintainers = [ stdenv.lib.maintainers.vrthra ]; platforms = stdenv.lib.platforms.linux; diff --git a/nixpkgs/pkgs/development/interpreters/racket/default.nix b/nixpkgs/pkgs/development/interpreters/racket/default.nix index 8e66bf96e8ca..725b1d5106df 100644 --- a/nixpkgs/pkgs/development/interpreters/racket/default.nix +++ b/nixpkgs/pkgs/development/interpreters/racket/default.nix @@ -82,7 +82,10 @@ stdenv.mkDerivation rec { ''; shared = if stdenv.isDarwin then "dylib" else "shared"; - configureFlags = [ "--enable-${shared}" "--enable-lt=${libtool}/bin/libtool" ] + configureFlags = [ "--enable-${shared}" "--enable-lt=${libtool}/bin/libtool" + # The following flag is a temporary workaround for an upstream bug: + # https://github.com/racket/racket/issues/3046 + "--enable-useprefix" ] ++ stdenv.lib.optional disableDocs [ "--disable-docs" ] ++ stdenv.lib.optional stdenv.isDarwin [ "--enable-xonx" ]; @@ -102,7 +105,7 @@ stdenv.mkDerivation rec { libraries support applications from web servers and databases to GUIs and charts. ''; - homepage = https://racket-lang.org/; + homepage = "https://racket-lang.org/"; license = with licenses; [ asl20 /* or */ mit ]; maintainers = with maintainers; [ kkallio henrytill vrthra ]; platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux" ]; diff --git a/nixpkgs/pkgs/development/interpreters/rakudo/default.nix b/nixpkgs/pkgs/development/interpreters/rakudo/default.nix index 9d0f47d90d2a..37abbd97746a 100644 --- a/nixpkgs/pkgs/development/interpreters/rakudo/default.nix +++ b/nixpkgs/pkgs/development/interpreters/rakudo/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Raku implementation on top of Moar virtual machine"; - homepage = https://www.rakudo.org; + homepage = "https://www.rakudo.org"; license = licenses.artistic2; platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice vrthra sgo ]; diff --git a/nixpkgs/pkgs/development/interpreters/rascal/default.nix b/nixpkgs/pkgs/development/interpreters/rascal/default.nix index 22eee0f6ead8..8b802043fe3f 100644 --- a/nixpkgs/pkgs/development/interpreters/rascal/default.nix +++ b/nixpkgs/pkgs/development/interpreters/rascal/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = https://www.rascal-mpl.org/; + homepage = "https://www.rascal-mpl.org/"; description = "Command-line REPL for the Rascal metaprogramming language"; license = stdenv.lib.licenses.epl10; maintainers = [ stdenv.lib.maintainers.eelco ]; diff --git a/nixpkgs/pkgs/development/interpreters/rebol/default.nix b/nixpkgs/pkgs/development/interpreters/rebol/default.nix index 274b70b2c798..b26af7f0b1b7 100644 --- a/nixpkgs/pkgs/development/interpreters/rebol/default.nix +++ b/nixpkgs/pkgs/development/interpreters/rebol/default.nix @@ -38,6 +38,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ vrthra ]; platforms = [ "x86_64-linux" ]; license = licenses.asl20; - homepage = http://www.rebol.com/; + homepage = "http://www.rebol.com/"; }; } diff --git a/nixpkgs/pkgs/development/interpreters/red/default.nix b/nixpkgs/pkgs/development/interpreters/red/default.nix index 2121f54a3b11..e1460ec51a22 100644 --- a/nixpkgs/pkgs/development/interpreters/red/default.nix +++ b/nixpkgs/pkgs/development/interpreters/red/default.nix @@ -87,6 +87,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ uralbash ]; platforms = [ "i686-linux" "x86_64-linux" ]; license = licenses.bsd3; - homepage = https://www.red-lang.org/; + homepage = "https://www.red-lang.org/"; }; } diff --git a/nixpkgs/pkgs/development/interpreters/renpy/default.nix b/nixpkgs/pkgs/development/interpreters/renpy/default.nix index 759a44b5760f..d09d150bd79c 100644 --- a/nixpkgs/pkgs/development/interpreters/renpy/default.nix +++ b/nixpkgs/pkgs/development/interpreters/renpy/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Ren'Py Visual Novel Engine"; - homepage = https://renpy.org/; + homepage = "https://renpy.org/"; license = licenses.mit; platforms = platforms.linux; }; diff --git a/nixpkgs/pkgs/development/interpreters/ruby/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/default.nix index dbc45d8f80c6..867f6a15fa9d 100644 --- a/nixpkgs/pkgs/development/interpreters/ruby/default.nix +++ b/nixpkgs/pkgs/development/interpreters/ruby/default.nix @@ -206,7 +206,7 @@ let meta = with stdenv.lib; { description = "The Ruby language"; - homepage = http://www.ruby-lang.org/en/; + homepage = "http://www.ruby-lang.org/en/"; license = licenses.ruby; maintainers = with maintainers; [ vrthra manveru ]; platforms = platforms.all; @@ -284,26 +284,26 @@ in { }; ruby_2_5 = generic { - version = rubyVersion "2" "5" "7" ""; + version = rubyVersion "2" "5" "8" ""; sha256 = { - src = "1m6nmnj9shifp8g3yh7aimac01vl035bzcc19x2spdji6ig0sb8b"; - git = "0wppf82c9ccdbnvj30mppr5a3mc7sxm05diahjdw7hhk29n43knp"; + src = "16md4jspjwixjlbhx3pnd5iwpca07p23ghkxkqd82sbchw3xy2vc"; + git = "19gkk3q9l33cwkfsp5k8f8fipq7gkyqkqirm9farbvy425519rv2"; }; }; ruby_2_6 = generic { - version = rubyVersion "2" "6" "5" ""; + version = rubyVersion "2" "6" "6" ""; sha256 = { - src = "0zgdrgylq6avbblf78kpaf0k2xnkpc3jng3wkd7x67ycdrqnp5v6"; - git = "0pay6ic22ag3bnvxffhgwp7z6clkd0p93944a1l4lvc5hxc8v77j"; + src = "1492x795qzgp3zhpl580kd1sdp50n5hfsmpbfhdsq2rnxwyi8jrn"; + git = "1jr9v99a7awssqmw7531afbx4a8i9x5yfqyffha545g7r4s7kj50"; }; }; ruby_2_7 = generic { - version = rubyVersion "2" "7" "0" ""; + version = rubyVersion "2" "7" "1" ""; sha256 = { - src = "1glc3zpnih6h8mrgfcak0aa7cgmi4zyvxfyi6y2brwg2nn9sm6cc"; - git = "11iz64k95czs273mb10195d1j75mmbcgddfdx1vay5876ffw81dq"; + src = "0674x98f542y02r7n2yv2qhmh97blqhi2mvh2dn5f000vlxlh66l"; + git = "0qk729kr5wm67xmwpljpdprwhp5wvn5y4ikqy00p1zcgwlwdcs33"; }; }; } diff --git a/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix b/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix index 9661508684e0..4407cb6e5da4 100644 --- a/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix +++ b/nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix @@ -65,16 +65,19 @@ "${patchSet}/patches/ruby/2.4/head/railsexpress/02-improve-gc-stats.patch" "${patchSet}/patches/ruby/2.4/head/railsexpress/03-display-more-detailed-stack-trace.patch" ]; - "2.5.7" = ops useRailsExpress [ + "2.5.8" = ops useRailsExpress [ "${patchSet}/patches/ruby/2.5/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch" "${patchSet}/patches/ruby/2.5/head/railsexpress/02-improve-gc-stats.patch" "${patchSet}/patches/ruby/2.5/head/railsexpress/03-more-detailed-stacktrace.patch" ]; - "2.6.5" = ops useRailsExpress [ + "2.6.6" = ops useRailsExpress [ "${patchSet}/patches/ruby/2.6/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch" "${patchSet}/patches/ruby/2.6/head/railsexpress/02-improve-gc-stats.patch" "${patchSet}/patches/ruby/2.6/head/railsexpress/03-more-detailed-stacktrace.patch" ]; - "2.7.0" = ops useRailsExpress [ # no patches yet (2019-12-25) + "2.7.1" = ops useRailsExpress [ + "${patchSet}/patches/ruby/2.7/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch" + "${patchSet}/patches/ruby/2.7/head/railsexpress/02-improve-gc-stats.patch" + "${patchSet}/patches/ruby/2.7/head/railsexpress/03-more-detailed-stacktrace.patch" ]; } diff --git a/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix b/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix index 3caac2447e2e..0bbcadba3f51 100644 --- a/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix +++ b/nixpkgs/pkgs/development/interpreters/ruby/rubygems/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Package management framework for Ruby"; - homepage = https://rubygems.org/; + homepage = "https://rubygems.org/"; license = with licenses; [ mit /* or */ ruby ]; maintainers = with maintainers; [ qyliss zimbatm ]; }; diff --git a/nixpkgs/pkgs/development/interpreters/ruby/rvm-patchsets.nix b/nixpkgs/pkgs/development/interpreters/ruby/rvm-patchsets.nix index 883987683b0a..331dda5d0503 100644 --- a/nixpkgs/pkgs/development/interpreters/ruby/rvm-patchsets.nix +++ b/nixpkgs/pkgs/development/interpreters/ruby/rvm-patchsets.nix @@ -3,6 +3,6 @@ fetchFromGitHub { owner = "skaes"; repo = "rvm-patchsets"; - rev = "58f72dccc8bb4dc9b1035f6af903d21f2465367a"; - sha256 = "00gbrhvnf05g6zmfim472ld0l1lp100dy4pi3lixm6ry9iw9m4ag"; + rev = "6d8888d34a321198f7fd9253343b78c209efb046"; + sha256 = "0xczl0nng1649km3bcbjn6zrr591l6m2kkwgnknh1fnwmmrdaya7"; } diff --git a/nixpkgs/pkgs/development/interpreters/scheme48/default.nix b/nixpkgs/pkgs/development/interpreters/scheme48/default.nix index e01aef98303c..32dd28bcb205 100644 --- a/nixpkgs/pkgs/development/interpreters/scheme48/default.nix +++ b/nixpkgs/pkgs/development/interpreters/scheme48/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { name = "scheme48-1.9.2"; meta = { - homepage = http://s48.org/; + homepage = "http://s48.org/"; description = "Scheme 48"; maintainers = with stdenv.lib.maintainers; [ the-kenny ]; platforms = with stdenv.lib.platforms; unix; @@ -12,7 +12,7 @@ stdenv.mkDerivation { }; src = fetchurl { - url = http://s48.org/1.9.2/scheme48-1.9.2.tgz; + url = "http://s48.org/1.9.2/scheme48-1.9.2.tgz"; sha256 = "1x4xfm3lyz2piqcw1h01vbs1iq89zq7wrsfjgh3fxnlm1slj2jcw"; }; } diff --git a/nixpkgs/pkgs/development/interpreters/scsh/default.nix b/nixpkgs/pkgs/development/interpreters/scsh/default.nix index 85c9434f0813..bb4f418f502a 100644 --- a/nixpkgs/pkgs/development/interpreters/scsh/default.nix +++ b/nixpkgs/pkgs/development/interpreters/scsh/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "A Scheme shell"; - homepage = http://www.scsh.net/; + homepage = "http://www.scsh.net/"; license = licenses.bsd3; maintainers = with maintainers; [ joachifm ]; platforms = with platforms; unix; diff --git a/nixpkgs/pkgs/development/interpreters/self/default.nix b/nixpkgs/pkgs/development/interpreters/self/default.nix index 43f5758e4c49..ccf85f1d1c4d 100644 --- a/nixpkgs/pkgs/development/interpreters/self/default.nix +++ b/nixpkgs/pkgs/development/interpreters/self/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation { meta = { description = "A prototype-based dynamic object-oriented programming language, environment, and virtual machine"; - homepage = http://selflanguage.org/; + homepage = "http://selflanguage.org/"; license = stdenv.lib.licenses.bsd3; maintainers = [ stdenv.lib.maintainers.doublec ]; platforms = with stdenv.lib.platforms; linux; diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.5.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.5.nix index fe77a27d449a..37efeba3f9b6 100644 --- a/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.5.nix +++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.5.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Mozilla's JavaScript engine written in C/C++"; - homepage = https://developer.mozilla.org/en/SpiderMonkey; + homepage = "https://developer.mozilla.org/en/SpiderMonkey"; # TODO: MPL/GPL/LGPL tri-license. maintainers = [ maintainers.goibhniu ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/38.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/38.nix index 89bbd713a5c6..d2aabfe64d9a 100644 --- a/nixpkgs/pkgs/development/interpreters/spidermonkey/38.nix +++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/38.nix @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Mozilla's JavaScript engine written in C/C++"; - homepage = https://developer.mozilla.org/en/SpiderMonkey; + homepage = "https://developer.mozilla.org/en/SpiderMonkey"; # TODO: MPL/GPL/LGPL tri-license. maintainers = [ maintainers.abbradar ]; diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/60.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/60.nix index f6a4483edba7..42731421d81d 100644 --- a/nixpkgs/pkgs/development/interpreters/spidermonkey/60.nix +++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/60.nix @@ -75,7 +75,7 @@ in stdenv.mkDerivation { meta = with stdenv.lib; { description = "Mozilla's JavaScript engine written in C/C++"; - homepage = https://developer.mozilla.org/en/SpiderMonkey; + homepage = "https://developer.mozilla.org/en/SpiderMonkey"; license = licenses.gpl2; # TODO: MPL/GPL/LGPL tri-license. maintainers = [ maintainers.abbradar ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/development/interpreters/spidermonkey/68.nix b/nixpkgs/pkgs/development/interpreters/spidermonkey/68.nix new file mode 100644 index 000000000000..cad1aabf3747 --- /dev/null +++ b/nixpkgs/pkgs/development/interpreters/spidermonkey/68.nix @@ -0,0 +1,95 @@ +{ stdenv, fetchurl, fetchpatch, autoconf213, pkgconfig, perl, python2, python3, zip, buildPackages +, which, readline, zlib, icu, cargo, rustc, llvmPackages }: + +with stdenv.lib; + +let + python3Env = buildPackages.python3.withPackages (p: [p.six]); +in stdenv.mkDerivation rec { + pname = "spidermonkey"; + version = "68.4.2"; + + src = fetchurl { + url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz"; + sha256 = "1x1fglg1b85hb0srd6k7n5svl0nlgdm4njc8q13s2750v5ck4ljx"; + }; + + outputs = [ "out" "dev" ]; + setOutputFlags = false; # Configure script only understands --includedir + + nativeBuildInputs = [ + autoconf213 + pkgconfig + perl + which + python2 + zip + cargo + rustc + llvmPackages.llvm + ]; + + buildInputs = [ + readline + zlib + icu + ]; + + preConfigure = '' + export CXXFLAGS="-fpermissive" + export LIBXUL_DIST=$out + export PYTHON3="${python3Env.interpreter}" + + # We can't build in js/src/, so create a build dir + mkdir obj + cd obj/ + configureScript=../js/src/configure + ''; + + configureFlags = [ + # Reccommended by gjs upstream + "--disable-jemalloc" + "--enable-unaligned-private-values" + "--with-intl-api" + "--enable-posix-nspr-emulation" + "--with-system-zlib" + "--with-system-icu" + + "--with-libclang-path=${llvmPackages.libclang}/lib" + "--with-clang-path=${llvmPackages.clang}/bin/clang" + + "--enable-shared-js" + "--enable-readline" + # Fedora and Arch disable optimize, but it doesn't seme to be necessary + # It turns on -O3 which some gcc version had a problem with: + # https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd60f370ab4216e + "--enable-optimize" + "--enable-release" + ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # Spidermonkey seems to use different host/build terminology for cross + # compilation here. + "--host=${stdenv.buildPlatform.config}" + "--target=${stdenv.hostPlatform.config}" + ]; + + configurePlatforms = []; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + # Remove unnecessary static lib + preFixup = '' + moveToOutput bin/js60-config "$dev" + rm $out/lib/libjs_static.ajs + ln -s $out/bin/js60 $out/bin/js + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + 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 ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/interpreters/supercollider/default.nix b/nixpkgs/pkgs/development/interpreters/supercollider/default.nix index 67a7f8975f12..eed0bdc5807e 100644 --- a/nixpkgs/pkgs/development/interpreters/supercollider/default.nix +++ b/nixpkgs/pkgs/development/interpreters/supercollider/default.nix @@ -9,12 +9,12 @@ in mkDerivation rec { pname = "supercollider"; - version = "3.10.4"; + version = "3.11.0"; src = fetchurl { url = "https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source.tar.bz2"; - sha256 = "168r0c0axgajsdzc1caklydrnagy4flv7i7jcyqwpc9agsqy0nnf"; + sha256 = "0l5j7sqrjlm85ql91ybcrvdykfkkwfqd7w3m4llbymw720r2ln9p"; }; hardeningDisable = [ "stackprotector" ]; diff --git a/nixpkgs/pkgs/development/interpreters/tcl/generic.nix b/nixpkgs/pkgs/development/interpreters/tcl/generic.nix index fd84d93ba756..9aaf8223837d 100644 --- a/nixpkgs/pkgs/development/interpreters/tcl/generic.nix +++ b/nixpkgs/pkgs/development/interpreters/tcl/generic.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "The Tcl scripting language"; - homepage = https://www.tcl.tk/; + homepage = "https://www.tcl.tk/"; license = licenses.tcltk; platforms = platforms.all; maintainers = with maintainers; [ vrthra ]; diff --git a/nixpkgs/pkgs/development/interpreters/tinyscheme/default.nix b/nixpkgs/pkgs/development/interpreters/tinyscheme/default.nix index ca897ec692c1..b49a37a72856 100644 --- a/nixpkgs/pkgs/development/interpreters/tinyscheme/default.nix +++ b/nixpkgs/pkgs/development/interpreters/tinyscheme/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { TinyScheme is a lightweight Scheme interpreter that implements as large a subset of R5RS as was possible without getting very large and complicated. ''; - homepage = http://tinyscheme.sourceforge.net/; + homepage = "http://tinyscheme.sourceforge.net/"; license = licenses.bsdOriginal; maintainers = [ maintainers.ebzzry ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix b/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix index bb4a2d01499d..d908346f1962 100644 --- a/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix +++ b/nixpkgs/pkgs/development/interpreters/unicon-lang/default.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation { maintainers = with maintainers; [ vrthra ]; platforms = platforms.linux; license = licenses.gpl2; - homepage = http://unicon.org; + homepage = "http://unicon.org"; }; } diff --git a/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix index eaecd1eb89b9..79222749dc4b 100644 --- a/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix +++ b/nixpkgs/pkgs/development/interpreters/wasmtime/default.nix @@ -2,17 +2,17 @@ rustPlatform.buildRustPackage rec { pname = "wasmtime"; - version = "v0.12.0"; + version = "0.12.0"; src = fetchFromGitHub { owner = "bytecodealliance"; repo = "${pname}"; - rev = "${version}"; + rev = "v${version}"; sha256 = "08dhk5s8rv41mjqbwfqwqmp6p6p9y7qc5yc76ljjd9l7j1phl7mr"; fetchSubmodules = true; }; - cargoSha256 = "0wqd2yy6ih1rcz1fq7x3aiqq1ma2nmif1w8r8x0vpxjxk395zil9"; + cargoSha256 = "0vyxp74jlnrisk0kblsbj9d9a54wcgzbyjm7iqav1k4ns3syrnmh"; nativeBuildInputs = [ python cmake clang ]; buildInputs = [ llvmPackages.libclang ] ++ @@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Standalone JIT-style runtime for WebAssembly, using Cranelift"; - homepage = https://github.com/CraneStation/wasmtime; + homepage = "https://github.com/CraneStation/wasmtime"; license = licenses.asl20; maintainers = [ maintainers.matthewbauer ]; platforms = platforms.unix; |