diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-02-07 15:19:21 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-02-07 23:35:47 +0000 |
commit | e5013c05a2f845255debf94318ab38ecef1c186b (patch) | |
tree | bec11a0bd31d3432a16899e5539f1098f1c168a4 /nixpkgs/pkgs/development/compilers | |
parent | 4fc07c92ec07cafcf6d56143ea7334693143ef88 (diff) | |
parent | 2d2f10475138b7206572dc3ec288184df2be022e (diff) | |
download | nixlib-e5013c05a2f845255debf94318ab38ecef1c186b.tar nixlib-e5013c05a2f845255debf94318ab38ecef1c186b.tar.gz nixlib-e5013c05a2f845255debf94318ab38ecef1c186b.tar.bz2 nixlib-e5013c05a2f845255debf94318ab38ecef1c186b.tar.lz nixlib-e5013c05a2f845255debf94318ab38ecef1c186b.tar.xz nixlib-e5013c05a2f845255debf94318ab38ecef1c186b.tar.zst nixlib-e5013c05a2f845255debf94318ab38ecef1c186b.zip |
Merge commit '2d2f10475138b7206572dc3ec288184df2be022e'
Diffstat (limited to 'nixpkgs/pkgs/development/compilers')
140 files changed, 1679 insertions, 1128 deletions
diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py index 66e1abd05e90..40b690048eba 100755 --- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/generate-sources.py @@ -38,21 +38,15 @@ def generate_sources(release, assets): type_map = out.setdefault(asset["os"], {}) impl_map = type_map.setdefault(asset["binary_type"], {}) arch_map = impl_map.setdefault(asset["openjdk_impl"], { - "version": version, - "build": build, "packageType": asset["binary_type"], "vmType": asset["openjdk_impl"], }) - if arch_map["version"] != version or arch_map["build"] != build: - print("error: architectures have different latest versions ({}+{} vs {}+{})".format( - arch_map["version"], arch_map["build"], version, build - ), file=sys.stderr) - sys.exit(1) - arch_map[arch_to_nixos[asset["architecture"]]] = { "url": asset["binary_link"], "sha256": get_sha256(asset["checksum_link"]), + "version": version, + "build": build, } return out diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix index 958f36d39284..7b16d6ad9dbc 100644 --- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix @@ -5,13 +5,14 @@ sourcePerArch: , fetchurl }: -let result = stdenv.mkDerivation rec { +let cpuName = stdenv.hostPlatform.parsed.cpu.name; + result = stdenv.mkDerivation rec { name = if sourcePerArch.packageType == "jdk" - then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.version}" - else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.version}"; + then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}" + else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}"; src = fetchurl { - inherit (sourcePerArch.${stdenv.hostPlatform.parsed.cpu.name}) url sha256; + inherit (sourcePerArch.${cpuName}) url sha256; }; # See: https://github.com/NixOS/patchelf/issues/10 diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix index eb614b0784f9..6e3fe6c4ebf1 100644 --- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix @@ -42,15 +42,19 @@ let xorg.libXrender stdenv.cc.cc ]); + + cpuName = stdenv.hostPlatform.parsed.cpu.name; in let result = stdenv.mkDerivation rec { name = if sourcePerArch.packageType == "jdk" - then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.version}" - else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.version}"; + then "adoptopenjdk-${sourcePerArch.vmType}-bin-${version}" + else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${version}"; + + version = sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}"); src = fetchurl { - inherit (sourcePerArch.${stdenv.hostPlatform.parsed.cpu.name}) url sha256; + inherit (sourcePerArch.${cpuName}) url sha256; }; nativeBuildInputs = [ file ]; @@ -61,14 +65,6 @@ let result = stdenv.mkDerivation rec { installPhase = '' cd .. - # Set PaX markings - exes=$(file $sourceRoot/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//') - for file in $exes; do - paxmark m "$file" - # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well. - ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''} - done - mv $sourceRoot $out rm -rf $out/demo diff --git a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json index bacb468c0ece..391ea9abca92 100644 --- a/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json +++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-bin/sources.json @@ -4,52 +4,56 @@ "jdk": { "hotspot": { "aarch64": { + "build": "13", "sha256": "b66121b9a0c2e7176373e670a499b9d55344bcb326f67140ad6d0dc24d13d3e2", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.1_13.tar.gz" + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.1_13.tar.gz", + "version": "11.0.1" }, - "build": "13", "packageType": "jdk", - "version": "11.0.1", "vmType": "hotspot", "x86_64": { - "sha256": "22bd2f1a2e0cb6e4075967bfeda4a960b0325879305aa739a0ba2d6e5cd4c3e2", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_linux_hotspot_11.0.1_13.tar.gz" + "build": "7", + "sha256": "d89304a971e5186e80b6a48a9415e49583b7a5a9315ba5552d373be7782fc528", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B7/OpenJDK11U-jdk_x64_linux_hotspot_11.0.2_7.tar.gz", + "version": "11.0.2" } }, "openj9": { - "build": "13", "packageType": "jdk", - "version": "11.0.1", "vmType": "openj9", "x86_64": { + "build": "13", "sha256": "ef9bf07cba79082285a9d426ea4eb3e8df57561ce2afe07cc5f299a8fa203279", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_linux_openj9_jdk-11.0.1_13_openj9-0.11.0_11.0.1_13.tar.gz" + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_linux_openj9_jdk-11.0.1_13_openj9-0.11.0_11.0.1_13.tar.gz", + "version": "11.0.1" } } }, "jre": { "hotspot": { "aarch64": { + "build": "28", "sha256": "6fd756bda392e3fddb48382460daae263c6fb5708683a691c8d30af2eb870bb8", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_aarch64_linux_hotspot_11_28.tar.gz" + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_aarch64_linux_hotspot_11_28.tar.gz", + "version": "11" }, - "build": "28", "packageType": "jre", - "version": "11", "vmType": "hotspot", "x86_64": { - "sha256": "346448142d46c6e51d0fadcaadbcde31251d7678922ec3eb010fcb1b6e17804c", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_x64_linux_hotspot_11_28.tar.gz" + "build": "7", + "sha256": "59c34373eec16b53798aedac73776b19e43f396fdff8a2879e66dc4b0cfd73cc", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.2%2B7/OpenJDK11U-jre_x64_linux_hotspot_11.0.2_7.tar.gz", + "version": "11.0.2" } }, "openj9": { - "build": "28", "packageType": "jre", - "version": "11", "vmType": "openj9", "x86_64": { + "build": "28", "sha256": "83a7c95e6b2150a739bdd5e8a6fe0315904fd13d8867c95db67c0318304a2c42", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_x64_linux_openj9_11_28.tar.gz" + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_x64_linux_openj9_11_28.tar.gz", + "version": "11" } } } @@ -57,35 +61,35 @@ "mac": { "jdk": { "hotspot": { - "build": "13", "packageType": "jdk", - "version": "11.0.1", "vmType": "hotspot", "x86_64": { + "build": "13", "sha256": "e219e7e2d586ed09ae65f4ec390fca5d5f0c37a61b47677648610194daf1aaa7", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_mac_hotspot_11.0.1_13.tar.gz" + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_mac_hotspot_11.0.1_13.tar.gz", + "version": "11.0.1" } }, "openj9": { - "build": "13", "packageType": "jdk", - "version": "11.0.1", "vmType": "openj9", "x86_64": { - "sha256": "c9a816d6a3f8aac9dc5b3b41c5a9e4e5460af433a06e003ae25d5a06dea8375f", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_mac_openj9_macosXL-jdk-11.0.1_13_openj9-0.11.0_11.0.1_13.tar.gz" + "build": "13", + "sha256": "b8960753a66190fa81982682357a2449b4183f3e23c20a5e3b4cf01e2989846b", + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.1%2B13/OpenJDK11U-jdk_x64_mac_openj9_jdk-11.0.1_13_openj9-0.11.0_11.0.1_13.tar.gz", + "version": "11.0.1" } } }, "jre": { "hotspot": { - "build": "28", "packageType": "jre", - "version": "11", "vmType": "hotspot", "x86_64": { + "build": "28", "sha256": "ef4dbfe5aed6ab2278fcc14db6cc73abbaab56e95f6ebb023790a7ebc6d7f30c", - "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_x64_mac_hotspot_11_28.tar.gz" + "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11%2B28/OpenJDK11-jre_x64_mac_hotspot_11_28.tar.gz", + "version": "11" } } } diff --git a/nixpkgs/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch b/nixpkgs/pkgs/development/compilers/chicken/4/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch index ca72ba0119f0..ca72ba0119f0 100644 --- a/nixpkgs/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch +++ b/nixpkgs/pkgs/development/compilers/chicken/4/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch diff --git a/nixpkgs/pkgs/development/compilers/chicken/default.nix b/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix index ceeff56330b2..ceeff56330b2 100644 --- a/nixpkgs/pkgs/development/compilers/chicken/default.nix +++ b/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/default.nix b/nixpkgs/pkgs/development/compilers/chicken/4/default.nix new file mode 100644 index 000000000000..8d29c7c9a2b5 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/4/default.nix @@ -0,0 +1,21 @@ +{ newScope } : +let + callPackage = newScope self; + + self = { + pkgs = self; + + fetchegg = callPackage ./fetchegg { }; + + eggDerivation = callPackage ./eggDerivation.nix { }; + + chicken = callPackage ./chicken.nix { + bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; }; + }; + + chickenEggs = callPackage ./eggs.nix { }; + + egg2nix = callPackage ./egg2nix.nix { }; + }; + +in self diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix b/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix new file mode 100644 index 000000000000..d0f3b8a4e261 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/4/egg2nix.nix @@ -0,0 +1,27 @@ +{ stdenv, eggDerivation, fetchurl, chickenEggs }: + +# Note: This mostly reimplements the default.nix already contained in +# the tarball. Is there a nicer way than duplicating code? + +let + version = "0.5"; +in +eggDerivation { + src = fetchurl { + url = "https://github.com/the-kenny/egg2nix/archive/${version}.tar.gz"; + sha256 = "0adal428v4i7h9lzs7sfq75q2mxhsbf1qqwzrsjv8j41paars20y"; + }; + + name = "egg2nix-${version}"; + buildInputs = with chickenEggs; [ + matchable http-client + ]; + + meta = { + description = "Generate nix-expression from CHICKEN scheme eggs"; + homepage = https://github.com/the-kenny/egg2nix; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.the-kenny ]; + }; +} diff --git a/nixpkgs/pkgs/development/compilers/chicken/eggDerivation.nix b/nixpkgs/pkgs/development/compilers/chicken/4/eggDerivation.nix index 2a14a997e57d..4dc7ebe66717 100644 --- a/nixpkgs/pkgs/development/compilers/chicken/eggDerivation.nix +++ b/nixpkgs/pkgs/development/compilers/chicken/4/eggDerivation.nix @@ -17,9 +17,8 @@ let in stdenv.mkDerivation ({ name = "chicken-${name}"; - propagatedBuildInputs = buildInputs ++ [ chicken ]; - propagatedUserEnvPkgs = buildInputs ++ [ chicken ]; - buildInputs = [ makeWrapper ]; + propagatedBuildInputs = buildInputs; + buildInputs = [ makeWrapper chicken ]; CSC_OPTIONS = stdenv.lib.concatStringsSep " " cscOptions; diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/eggs.nix b/nixpkgs/pkgs/development/compilers/chicken/4/eggs.nix new file mode 100644 index 000000000000..1f786f127c91 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/4/eggs.nix @@ -0,0 +1,296 @@ +{ pkgs }: +rec { + inherit (pkgs) eggDerivation fetchegg; + + base64 = eggDerivation { + name = "base64-3.3.1"; + + src = fetchegg { + name = "base64"; + version = "3.3.1"; + sha256 = "0wmldiwwg1jpcn07wb906nc53si5j7sa83wgyq643xzqcx4v4x1d"; + }; + + buildInputs = [ + + ]; + }; + + blob-utils = eggDerivation { + name = "blob-utils-1.0.3"; + + src = fetchegg { + name = "blob-utils"; + version = "1.0.3"; + sha256 = "17vdn02fnxnjx5ixgqimln93lqvzyq4y9w02fw7xnbdcjzqm0xml"; + }; + + buildInputs = [ + setup-helper + string-utils + ]; + }; + + check-errors = eggDerivation { + name = "check-errors-1.13.0"; + + src = fetchegg { + name = "check-errors"; + version = "1.13.0"; + sha256 = "12a0sn82n98jybh72zb39fdddmr5k4785xglxb16750fhy8rmjwi"; + }; + + buildInputs = [ + setup-helper + ]; + }; + + defstruct = eggDerivation { + name = "defstruct-1.6"; + + src = fetchegg { + name = "defstruct"; + version = "1.6"; + sha256 = "0lsgl32nmb5hxqiii4r3292cx5vqh50kp6v062nfiyid9lhrj0li"; + }; + + buildInputs = [ + + ]; + }; + + http-client = eggDerivation { + name = "http-client-0.7.1"; + + src = fetchegg { + name = "http-client"; + version = "0.7.1"; + sha256 = "1s03zgmb7kb99ld0f2ylqgicrab9qgza53fkgsqvg7bh5njmzhxr"; + }; + + buildInputs = [ + intarweb + uri-common + message-digest + md5 + string-utils + sendfile + ]; + }; + + intarweb = eggDerivation { + name = "intarweb-1.3"; + + src = fetchegg { + name = "intarweb"; + version = "1.3"; + sha256 = "0izlby78c25py29bdcbc0vapb6h7xgchqrzi6i51d0rb3mnwy88h"; + }; + + buildInputs = [ + defstruct + uri-common + base64 + ]; + }; + + lookup-table = eggDerivation { + name = "lookup-table-1.13.5"; + + src = fetchegg { + name = "lookup-table"; + version = "1.13.5"; + sha256 = "1nzly6rhynawlvzlyilk8z8cxz57cf9n5iv20glkhh28pz2izmrb"; + }; + + buildInputs = [ + setup-helper + check-errors + miscmacros + record-variants + synch + ]; + }; + + matchable = eggDerivation { + name = "matchable-3.3"; + + src = fetchegg { + name = "matchable"; + version = "3.3"; + sha256 = "07y3lpzgm4djiwi9y2adc796f9kwkmdr28fkfkw65syahdax8990"; + }; + + buildInputs = [ + + ]; + }; + + md5 = eggDerivation { + name = "md5-3.1.0"; + + src = fetchegg { + name = "md5"; + version = "3.1.0"; + sha256 = "0bka43nx8x9b0b079qpvml2fl20km19ny0qjmhwzlh6rwmzazj2a"; + }; + + buildInputs = [ + message-digest + ]; + }; + + message-digest = eggDerivation { + name = "message-digest-3.1.0"; + + src = fetchegg { + name = "message-digest"; + version = "3.1.0"; + sha256 = "1w6bax19dwgih78vcimiws0rja7qsd8hmbm6qqg2hf9cw3vab21s"; + }; + + buildInputs = [ + setup-helper + miscmacros + check-errors + variable-item + blob-utils + string-utils + ]; + }; + + miscmacros = eggDerivation { + name = "miscmacros-2.96"; + + src = fetchegg { + name = "miscmacros"; + version = "2.96"; + sha256 = "1ajdgjrni10i2hmhcp4rawnxajjxry3kmq1krdmah4sf0kjrgajc"; + }; + + buildInputs = [ + + ]; + }; + + record-variants = eggDerivation { + name = "record-variants-0.5.1"; + + src = fetchegg { + name = "record-variants"; + version = "0.5.1"; + sha256 = "15wgysxkm8m4hx9nhhw9akchzipdnqc7yj3qd3zn0z7sxg4sld1h"; + }; + + buildInputs = [ + + ]; + }; + + sendfile = eggDerivation { + name = "sendfile-1.7.29"; + + src = fetchegg { + name = "sendfile"; + version = "1.7.29"; + sha256 = "1dc02cbkx5kixhbqjy26g6gs680vy7krc9qis1p1v4aa0b2lgj7k"; + }; + + buildInputs = [ + + ]; + }; + + setup-helper = eggDerivation { + name = "setup-helper-1.5.4"; + + src = fetchegg { + name = "setup-helper"; + version = "1.5.4"; + sha256 = "1k644y0md2isdcvazqfm4nyc8rh3dby6b0j3r4na4w8ryspqp6gj"; + }; + + buildInputs = [ + + ]; + }; + + string-utils = eggDerivation { + name = "string-utils-1.2.4"; + + src = fetchegg { + name = "string-utils"; + version = "1.2.4"; + sha256 = "07alvghg0dahilrm4jg44bndl0x69sv1zbna9l20cbdvi35i0jp1"; + }; + + buildInputs = [ + setup-helper + miscmacros + lookup-table + check-errors + ]; + }; + + synch = eggDerivation { + name = "synch-2.1.2"; + + src = fetchegg { + name = "synch"; + version = "2.1.2"; + sha256 = "1m9mnbq0m5jsxmd1a3rqpwpxj0l1b7vn1fknvxycc047pmlcyl00"; + }; + + buildInputs = [ + setup-helper + check-errors + ]; + }; + + uri-common = eggDerivation { + name = "uri-common-1.4"; + + src = fetchegg { + name = "uri-common"; + version = "1.4"; + sha256 = "01ds1gixcn4rz657x3hr4rhw2496hsjff42ninw0k39l8i1cbh7c"; + }; + + buildInputs = [ + uri-generic + defstruct + matchable + ]; + }; + + uri-generic = eggDerivation { + name = "uri-generic-2.41"; + + src = fetchegg { + name = "uri-generic"; + version = "2.41"; + sha256 = "1r5jbzjllbnmhm5n0m3fcx0g6dc2c2jzp1dcndkfmxz0cl99zxac"; + }; + + buildInputs = [ + matchable + defstruct + ]; + }; + + variable-item = eggDerivation { + name = "variable-item-1.3.1"; + + src = fetchegg { + name = "variable-item"; + version = "1.3.1"; + sha256 = "19b3mhb8kr892sz9yyzq79l0vv28dgilw9cf415kj6aq16yp4d5n"; + }; + + buildInputs = [ + setup-helper + check-errors + ]; + }; +} + diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/eggs.scm b/nixpkgs/pkgs/development/compilers/chicken/4/eggs.scm new file mode 100644 index 000000000000..d847ae9e29b9 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/4/eggs.scm @@ -0,0 +1,5 @@ +;; Eggs used by egg2nix +http-client +intarweb +matchable +uri-common diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/fetchegg/builder.sh b/nixpkgs/pkgs/development/compilers/chicken/4/fetchegg/builder.sh new file mode 100644 index 000000000000..204661063090 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/4/fetchegg/builder.sh @@ -0,0 +1,9 @@ +source $stdenv/setup + +header "exporting egg ${eggName} (version $version) into $out" + +mkdir -p $out +chicken-install -r "${eggName}:${version}" +cp -r ${eggName}/* $out/ + +stopNest diff --git a/nixpkgs/pkgs/development/compilers/chicken/4/fetchegg/default.nix b/nixpkgs/pkgs/development/compilers/chicken/4/fetchegg/default.nix new file mode 100644 index 000000000000..d4d33a5593c3 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/4/fetchegg/default.nix @@ -0,0 +1,25 @@ +# Fetches a chicken egg from henrietta using `chicken-install -r' +# See: http://wiki.call-cc.org/chicken-projects/egg-index-4.html + +{ stdenvNoCC, chicken }: +{ name, version, md5 ? "", sha256 ? "" }: + +if md5 != "" then + throw "fetchegg does not support md5 anymore, please use sha256" +else +stdenvNoCC.mkDerivation { + name = "chicken-${name}-export-${version}"; + builder = ./builder.sh; + nativeBuildInputs = [ chicken ]; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = sha256; + + inherit version; + + eggName = name; + + impureEnvVars = stdenvNoCC.lib.fetchers.proxyImpureEnvVars; +} + diff --git a/nixpkgs/pkgs/development/compilers/chicken/overrides.nix b/nixpkgs/pkgs/development/compilers/chicken/4/overrides.nix index 9fdda9b6d9fe..9fdda9b6d9fe 100644 --- a/nixpkgs/pkgs/development/compilers/chicken/overrides.nix +++ b/nixpkgs/pkgs/development/compilers/chicken/4/overrides.nix diff --git a/nixpkgs/pkgs/development/compilers/chicken/setup-hook.sh b/nixpkgs/pkgs/development/compilers/chicken/4/setup-hook.sh index b0d9b53b5378..b0d9b53b5378 100644 --- a/nixpkgs/pkgs/development/compilers/chicken/setup-hook.sh +++ b/nixpkgs/pkgs/development/compilers/chicken/4/setup-hook.sh diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix b/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix new file mode 100644 index 000000000000..ff0faf408394 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix @@ -0,0 +1,62 @@ +{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }: + +let + version = "5.0.0"; + platform = with stdenv; + if isDarwin then "macosx" + else if isCygwin then "cygwin" + else if (isFreeBSD || isOpenBSD) then "bsd" + else if isSunOS then "solaris" + else "linux"; # Should be a sane default + lib = stdenv.lib; +in +stdenv.mkDerivation { + name = "chicken-${version}"; + + binaryVersion = 9; + + src = fetchurl { + url = "https://code.call-cc.org/releases/${version}/chicken-${version}.tar.gz"; + sha256 = "15b5yrzfa8aimzba79x7v6y282f898rxqxfxrr446sjx9jwlpfd8"; + }; + + setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh; + + buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib"; + installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib"; + + buildInputs = [ + makeWrapper + ] ++ (lib.ifEnable (bootstrap-chicken != null) [ + bootstrap-chicken + ]); + + postInstall = '' + for f in $out/bin/* + do + wrapProgram $f \ + --prefix PATH : ${stdenv.cc}/bin + done + + mv $out/var/lib/chicken $out/lib + rmdir $out/var/lib + rmdir $out/var + ''; + + # TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion + + meta = { + homepage = http://www.call-cc.org/; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; + platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix + description = "A portable compiler for the Scheme programming language"; + longDescription = '' + CHICKEN is a compiler for the Scheme programming language. + CHICKEN produces portable and efficient C, supports almost all + of the R5RS Scheme language standard, and includes many + enhancements and extensions. CHICKEN runs on Linux, macOS, + Windows, and many Unix flavours. + ''; + }; +} diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/default.nix b/nixpkgs/pkgs/development/compilers/chicken/5/default.nix new file mode 100644 index 000000000000..8d29c7c9a2b5 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/default.nix @@ -0,0 +1,21 @@ +{ newScope } : +let + callPackage = newScope self; + + self = { + pkgs = self; + + fetchegg = callPackage ./fetchegg { }; + + eggDerivation = callPackage ./eggDerivation.nix { }; + + chicken = callPackage ./chicken.nix { + bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; }; + }; + + chickenEggs = callPackage ./eggs.nix { }; + + egg2nix = callPackage ./egg2nix.nix { }; + }; + +in self diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/egg2nix.nix b/nixpkgs/pkgs/development/compilers/chicken/5/egg2nix.nix new file mode 100644 index 000000000000..21e12849b3ad --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/egg2nix.nix @@ -0,0 +1,29 @@ +{ stdenv, eggDerivation, fetchFromGitHub, chickenEggs }: + +# Note: This mostly reimplements the default.nix already contained in +# the tarball. Is there a nicer way than duplicating code? + +let + version = "c5-git"; +in +eggDerivation { + src = fetchFromGitHub { + owner = "corngood"; + repo = "egg2nix"; + rev = "chicken-5"; + sha256 = "1vfnhbcnyakywgjafhs0k5kpsdnrinzvdjxpz3fkwas1jsvxq3d1"; + }; + + name = "egg2nix-${version}"; + buildInputs = with chickenEggs; [ + args matchable + ]; + + meta = { + description = "Generate nix-expression from CHICKEN scheme eggs"; + homepage = https://github.com/the-kenny/egg2nix; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.the-kenny ]; + }; +} diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/eggDerivation.nix b/nixpkgs/pkgs/development/compilers/chicken/5/eggDerivation.nix new file mode 100644 index 000000000000..3dc1c4afce98 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/eggDerivation.nix @@ -0,0 +1,41 @@ +{ stdenv, chicken, makeWrapper }: +{ name, src +, buildInputs ? [] +, chickenInstallFlags ? [] +, cscOptions ? [] +, ...} @ args: + +let + overrides = import ./overrides.nix; + baseName = (builtins.parseDrvName name).name; + override = if builtins.hasAttr baseName overrides + then + builtins.getAttr baseName overrides + else + {}; +in +stdenv.mkDerivation ({ + name = "chicken-${name}"; + propagatedBuildInputs = buildInputs; + buildInputs = [ makeWrapper chicken ]; + + CSC_OPTIONS = stdenv.lib.concatStringsSep " " cscOptions; + + installPhase = '' + runHook preInstall + + export CHICKEN_INSTALL_PREFIX=$out + export CHICKEN_INSTALL_REPOSITORY=$out/lib/chicken/${toString chicken.binaryVersion} + chicken-install ${stdenv.lib.concatStringsSep " " chickenInstallFlags} + + for f in $out/bin/* + do + wrapProgram $f \ + --prefix CHICKEN_REPOSITORY_PATH : "$out/lib/chicken/${toString chicken.binaryVersion}/:$CHICKEN_REPOSITORY_PATH" \ + --prefix CHICKEN_INCLUDE_PATH : "$CHICKEN_INCLUDE_PATH:$out/share/" \ + --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_PATH" + done + + runHook postInstall + ''; +} // (builtins.removeAttrs args ["name" "buildInputs"]) // override) diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/eggs.nix b/nixpkgs/pkgs/development/compilers/chicken/5/eggs.nix new file mode 100644 index 000000000000..04f7551f32d9 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/eggs.nix @@ -0,0 +1,91 @@ +{ pkgs, stdenv }: +rec { + inherit (pkgs) eggDerivation fetchegg; + + args = eggDerivation { + name = "args-1.6.0"; + + src = fetchegg { + name = "args"; + version = "1.6.0"; + sha256 = "1y9sznh4kxqxvhd8k44bjx0s7xspp52sx4bn8i8i0f8lwch6r2g4"; + }; + + buildInputs = [ + srfi-1 + srfi-13 + srfi-37 + ]; + }; + + matchable = eggDerivation { + name = "matchable-1.0"; + + src = fetchegg { + name = "matchable"; + version = "1.0"; + sha256 = "01vy2ppq3sq0wirvsvl3dh0bwa5jqs1i6rdjdd7pnwj4nncxd1ga"; + }; + + buildInputs = [ + + ]; + }; + + srfi-1 = eggDerivation { + name = "srfi-1-0.5"; + + src = fetchegg { + name = "srfi-1"; + version = "0.5"; + sha256 = "0gh1h406xbxwm5gvc5znc93nxp9xjbhyqf7zzga08k5y6igxrlvk"; + }; + + buildInputs = [ + + ]; + }; + + srfi-13 = eggDerivation { + name = "srfi-13-0.2"; + + src = fetchegg { + name = "srfi-13"; + version = "0.2"; + sha256 = "0jazbdnn9bjm7wwxqq7xzqxc9zfvaapq565rf1czj6ayl96yvk3n"; + }; + + buildInputs = [ + srfi-14 + ]; + }; + + srfi-14 = eggDerivation { + name = "srfi-14-0.2"; + + src = fetchegg { + name = "srfi-14"; + version = "0.2"; + sha256 = "13nm4nn1d52nkvhjizy26z3s6q41x1ml4zm847xzf86x1zwvymni"; + }; + + buildInputs = [ + + ]; + }; + + srfi-37 = eggDerivation { + name = "srfi-37-1.4"; + + src = fetchegg { + name = "srfi-37"; + version = "1.4"; + sha256 = "17f593497n70gldkj6iab6ilgryiqar051v6azn1szhnm1lk7dwd"; + }; + + buildInputs = [ + + ]; + }; +} + diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/eggs.scm b/nixpkgs/pkgs/development/compilers/chicken/5/eggs.scm new file mode 100644 index 000000000000..b743d6e3229d --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/eggs.scm @@ -0,0 +1,3 @@ +;; Eggs used by egg2nix +args +matchable diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/fetchegg/builder.sh b/nixpkgs/pkgs/development/compilers/chicken/5/fetchegg/builder.sh new file mode 100644 index 000000000000..d9adf510f22d --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/fetchegg/builder.sh @@ -0,0 +1,10 @@ +source $stdenv/setup + +header "exporting egg ${eggName} (version $version) into $out" + +mkdir -p $out +CHICKEN_EGG_CACHE=. chicken-install -r "${eggName}:${version}" +rm ${eggName}/{STATUS,TIMESTAMP} +cp -r ${eggName}/* $out/ + +stopNest diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/fetchegg/default.nix b/nixpkgs/pkgs/development/compilers/chicken/5/fetchegg/default.nix new file mode 100644 index 000000000000..24bfbd7a30f4 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/fetchegg/default.nix @@ -0,0 +1,25 @@ +# Fetches a chicken egg from henrietta using `chicken-install -r' +# See: http://wiki.call-cc.org/chicken-projects/egg-index-5.html + +{ stdenvNoCC, chicken }: +{ name, version, md5 ? "", sha256 ? "" }: + +if md5 != "" then + throw "fetchegg does not support md5 anymore, please use sha256" +else +stdenvNoCC.mkDerivation { + name = "chicken-${name}-export"; + builder = ./builder.sh; + nativeBuildInputs = [ chicken ]; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = sha256; + + inherit version; + + eggName = name; + + impureEnvVars = stdenvNoCC.lib.fetchers.proxyImpureEnvVars; +} + diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/overrides.nix b/nixpkgs/pkgs/development/compilers/chicken/5/overrides.nix new file mode 100644 index 000000000000..2c63c0851048 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/overrides.nix @@ -0,0 +1,2 @@ +{ +} diff --git a/nixpkgs/pkgs/development/compilers/chicken/5/setup-hook.sh b/nixpkgs/pkgs/development/compilers/chicken/5/setup-hook.sh new file mode 100644 index 000000000000..2447aeb0ceae --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/chicken/5/setup-hook.sh @@ -0,0 +1,6 @@ +addChickenRepositoryPath() { + addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_PATH "$1/lib/chicken/9/" + addToSearchPathWithCustomDelimiter : CHICKEN_INCLUDE_PATH "$1/share/" +} + +addEnvHooks "$targetOffset" addChickenRepositoryPath diff --git a/nixpkgs/pkgs/development/compilers/clasp/default.nix b/nixpkgs/pkgs/development/compilers/clasp/default.nix index 349482fbde97..a1e29951ddb5 100644 --- a/nixpkgs/pkgs/development/compilers/clasp/default.nix +++ b/nixpkgs/pkgs/development/compilers/clasp/default.nix @@ -1,54 +1,131 @@ -{ stdenv, fetchFromGitHub +{ stdenv, fetchFromGitHub, fetchFromGitLab , llvmPackages -, cmake, boehmgc, gmp, zlib, ncurses, boost +, cmake, boehmgc, gmp, zlib, ncurses, boost, libelf , python, git, sbcl , wafHook }: +let + sicl = fetchFromGitHub { + owner = "Bike"; + repo = "SICL"; + rev = "78052fb5f02a3814eb7295f3dcac09f21f98702b"; + sha256 = "0wnmp40310ls6q9gkr5ysfkj2qirq26ljjicnkqifc53mm0ghz4i"; + }; + cst = fetchFromGitHub { + owner = "robert-strandh"; + repo = "Concrete-Syntax-Tree"; + rev = "8d8c5abf8f1690cb2b765241d81c2eb86d60d77e"; + sha256 = "1rs8a5nbfffdyli126sccd0z1a8h5axp222b4pgwvgfxsb9w7g3s"; + }; + c2mop = fetchFromGitHub { + owner = "pcostanza"; + repo = "closer-mop"; + rev = "d4d1c7aa6aba9b4ac8b7bb78ff4902a52126633f"; + sha256 = "1amcv0f3vbsq0aqhai7ki5bi367giway1pbfxyc47r7q3hq5hw3c"; + }; + acclimation = fetchFromGitHub { + owner = "robert-strandh"; + repo = "Acclimation"; + rev = "dd15c86b0866fc5d8b474be0da15c58a3c04c45c"; + sha256 = "0ql224qs3zgflvdhfbca621v3byhhqfb71kzy70bslyczxv1bsh2"; + }; + eclector = fetchFromGitHub { + owner = "robert-strandh"; + repo = "Eclector"; + rev = "287ce817c0478668bd389051d2cc6b26ddc62ec9"; + sha256 = "0v7mgkq49ddyx5vvsradcp772y5l7cv9xrll3280hyginpm8w6q3"; + }; + alexandria = fetchFromGitHub { + owner = "clasp-developers"; + repo = "alexandria"; + rev = "e5c54bc30b0887c237bde2827036d17315f88737"; + sha256 = "14h7a9fwimiw9gqxjm2h47d95bfhrm7b81f6si7x8vy18d78fn4g"; + }; + mps = fetchFromGitHub { + owner = "Ravenbrook"; + repo = "mps"; + rev = "b8a05a3846430bc36c8200f24d248c8293801503"; + sha256 = "1q2xqdw832jrp0w9yhgr8xihria01j4z132ac16lr9ssqznkprv6"; + }; + asdf = fetchFromGitLab { + domain = "gitlab.common-lisp.net"; + owner = "asdf"; + repo = "asdf"; + rev = "3.3.1.2"; + sha256 = "0ljr2vc0cb2wrijcyjmp9hcaj2bdhh05ci3zf4f43hdq6i2fgg6g"; + }; +in stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "clasp"; - version = "0.4.99.20170801"; + version = "0.8.99.20181128"; src = fetchFromGitHub { owner = "drmeister"; repo = "clasp"; - rev = "525ce1cffff39311e3e7df6d0b71fa267779bdf5"; - sha256 = "1jqya04wybgxnski341p5sycy2gysxad0s5q8d59z0f6ckj3v8k1"; + rev = "2f2b52ccb750048460562b5987a7eaf7a1aa4445"; + sha256 = "0ra55vdnk59lygwzlxr5cg16vb9c45fmg59wahaxclwm461w7fwz"; fetchSubmodules = true; }; - nativeBuildInputs = [ cmake python git sbcl wafHook ]; + nativeBuildInputs = [ cmake python git sbcl wafHook ] ++ + (with llvmPackages; [ llvm clang ]); - buildInputs = with llvmPackages; ( - builtins.map (x: stdenv.lib.overrideDerivation x - (x: {NIX_CFLAGS_COMPILE= (x.NIX_CFLAGS_COMPILE or "") + " -frtti"; })) - [ llvm clang clang-unwrapped clang ]) ++ + buildInputs = with llvmPackages; + ( + builtins.map (x: stdenv.lib.overrideDerivation x + (x: {NIX_CFLAGS_COMPILE= (x.NIX_CFLAGS_COMPILE or "") + " -frtti"; })) + [ llvm clang clang-unwrapped clang ]) ++ [ gmp zlib ncurses - boost boehmgc + boost boehmgc libelf (boost.override {enableStatic = true; enableShared = false;}) (stdenv.lib.overrideDerivation boehmgc (x: {configureFlags = (x.configureFlags or []) ++ ["--enable-static"];})) ]; - NIX_CFLAGS_COMPILE = " -frtti "; + NIX_CXXSTDLIB_COMPILE = " -frtti "; postPatch = '' echo " - INSTALL_PATH_PREFIX = '$out' + PREFIX = '$out' " | sed -e 's/^ *//' > wscript.config + + mkdir -p src/lisp/kernel/contrib/sicl + mkdir -p src/lisp/kernel/contrib/Concrete-Syntax-Tree + mkdir -p src/lisp/kernel/contrib/closer-mop + mkdir -p src/lisp/kernel/contrib/Acclimation + mkdir -p src/lisp/kernel/contrib/Eclector + mkdir -p src/lisp/kernel/contrib/alexandria + mkdir -p src/mps + mkdir -p src/lisp/modules/asdf + + cp -rfT "${sicl}" src/lisp/kernel/contrib/sicl + cp -rfT "${cst}" src/lisp/kernel/contrib/Concrete-Syntax-Tree + cp -rfT "${c2mop}" src/lisp/kernel/contrib/closer-mop + cp -rfT "${acclimation}" src/lisp/kernel/contrib/Acclimation + cp -rfT "${eclector}" src/lisp/kernel/contrib/Eclector + cp -rfT "${alexandria}" src/lisp/kernel/contrib/alexandria + cp -rfT "${mps}" src/mps + cp -rfT "${asdf}" src/lisp/modules/asdf + + chmod -R u+rwX src + ( cd src/lisp/modules/asdf; make ) ''; buildTargets = "build_cboehm"; installTargets = "install_cboehm"; + CLASP_SRC_DONTTOUCH = "true"; + meta = { inherit version; description = ''A Common Lisp implementation based on LLVM with C++ integration''; license = stdenv.lib.licenses.lgpl21Plus ; maintainers = [stdenv.lib.maintainers.raskin]; platforms = stdenv.lib.platforms.linux; + # Large, long to build, a private build of clang is needed, a prerelease. + hydraPlatforms = []; homepage = "https://github.com/drmeister/clasp"; - broken = true; # 2018-09-08, no successful build since 2018-01-03 }; } diff --git a/nixpkgs/pkgs/development/compilers/closure/default.nix b/nixpkgs/pkgs/development/compilers/closure/default.nix index b3ef4853c853..5c4d276ab973 100644 --- a/nixpkgs/pkgs/development/compilers/closure/default.nix +++ b/nixpkgs/pkgs/development/compilers/closure/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "closure-compiler-${version}"; - version = "20181125"; + version = "20190121"; src = fetchurl { url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz"; - sha256 = "1vg7cyya0r2sjrbcwf4pshg7jzgvb9ynpa0b41zkl4x1y0a16bkc"; + sha256 = "1jxxj3a1pbf7bbqs0rkqk28ii1r3w2va4iis8fffx8zfvbgncwyc"; }; sourceRoot = "."; diff --git a/nixpkgs/pkgs/development/compilers/compcert/default.nix b/nixpkgs/pkgs/development/compilers/compcert/default.nix index a0058242bad8..4a9f585b2524 100644 --- a/nixpkgs/pkgs/development/compilers/compcert/default.nix +++ b/nixpkgs/pkgs/development/compilers/compcert/default.nix @@ -1,10 +1,15 @@ -{ stdenv, lib, fetchurl, fetchpatch +{ stdenv, lib, fetchurl, fetchpatch, makeWrapper , coq, ocamlPackages, coq2html , tools ? stdenv.cc }: assert lib.versionAtLeast ocamlPackages.ocaml.version "4.02"; +assert lib.versionAtLeast coq.coq-version "8.6.1"; +let + ocaml-pkgs = with ocamlPackages; [ ocaml findlib menhir ]; + ccomp-platform = if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux"; +in stdenv.mkDerivation rec { name = "compcert-${version}"; version = "3.4"; @@ -14,34 +19,53 @@ stdenv.mkDerivation rec { sha256 = "12gchwvkzhd2bhrnwzfb4a06wc4hgv98z987k06vj7ga31ii763h"; }; - buildInputs = [ coq coq2html ] - ++ (with ocamlPackages; [ ocaml findlib menhir ]); - + nativeBuildInputs = [ makeWrapper ]; + buildInputs = ocaml-pkgs ++ [ coq coq2html ]; enableParallelBuilding = true; + patchPhase = '' + substituteInPlace ./configure \ + --replace '{toolprefix}gcc' '{toolprefix}cc' + ''; + configurePhase = '' - substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc' - ./configure -clightgen -prefix $out -toolprefix ${tools}/bin/ '' + - (if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux"); + ./configure -clightgen \ + -prefix $out \ + -toolprefix ${tools}/bin/ \ + ${ccomp-platform} + ''; installTargets = "documentation install"; - postInstall = '' - mkdir -p $lib/share/doc/compcert - mv doc/html $lib/share/doc/compcert/ + # move man into place + mkdir -p $man/share + mv $out/share/man/ $man/share/ + + # move docs into place + mkdir -p $doc/share/doc/compcert + mv doc/html $doc/share/doc/compcert/ + + # install compcert lib files; remove copy from $out, too mkdir -p $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/ mv backend cfrontend common cparser driver flocq x86 x86_64 lib \ $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/ + rm -rf $out/lib/compcert/coq + + # wrap ccomp to undefine _FORTIFY_SOURCE; ccomp invokes cc1 which sets + # _FORTIFY_SOURCE=2 by default, but undefines __GNUC__ (as it should), + # which causes a warning in libc. this suppresses it. + for x in ccomp clightgen; do + wrapProgram $out/bin/$x --add-flags "-U_FORTIFY_SOURCE" + done ''; - outputs = [ "out" "lib" ]; + outputs = [ "out" "lib" "doc" "man" ]; meta = with stdenv.lib; { description = "Formally verified C compiler"; homepage = "http://compcert.inria.fr"; license = licenses.inria-compcert; - platforms = platforms.linux ++ - platforms.darwin; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ]; }; } diff --git a/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix b/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix index 6fdbde242f32..fb01740232fc 100644 --- a/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix +++ b/nixpkgs/pkgs/development/compilers/cudatoolkit/default.nix @@ -112,6 +112,10 @@ let # Set compiler for NVCC. wrapProgram $out/bin/nvcc \ --prefix PATH : ${gcc}/bin + + # nvprof do not find any program to profile if LD_LIBRARY_PATH is not set + wrapProgram $out/bin/nvprof \ + --prefix LD_LIBRARY_PATH : $out/lib '' + lib.optionalString (lib.versionOlder version "8.0") '' # Hack to fix building against recent Glibc/GCC. echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook diff --git a/nixpkgs/pkgs/development/compilers/dmd/default.nix b/nixpkgs/pkgs/development/compilers/dmd/default.nix index 90e5cfe74119..3ab25c3a830b 100644 --- a/nixpkgs/pkgs/development/compilers/dmd/default.nix +++ b/nixpkgs/pkgs/development/compilers/dmd/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchFromGitHub , makeWrapper, unzip, which -, curl, tzdata, gdb, darwin +, curl, tzdata, gdb, darwin, git , callPackage, targetPackages, ldc -, version ? "2.081.2" -, dmdSha256 ? "1wwk4shqldvgyczv1ihmljpfj3yidq7mxcj69i9kjl7jqx54hw62" -, druntimeSha256 ? "0dqfsy34q2q7mk2gsi4ix3vgqg7szg3m067fghgx53vnvrzlpsc0" -, phobosSha256 ? "1dan59lc4wggsrv5aax7jsxnzg7fz37xah84k1cbwjb3xxhhkd9n" +, version ? "2.084.0" +, dmdSha256 ? "1v61spdamncl8c1bzjc19b03p4jl0ih5zq9b7cqsy9ix7qaxmikf" +, druntimeSha256 ? "0vp414j6s11l9s54v81np49mv60ywmd7nnk41idkbwrq0nz4sfrq" +, phobosSha256 ? "1wp7z1x299b0w9ny1ah2wrfhrs05vc4bk51csgw9774l3dqcnv53" }: let @@ -42,47 +42,22 @@ let sourceRoot = "."; + # https://issues.dlang.org/show_bug.cgi?id=19553 + hardeningDisable = [ "fortify" ]; + postUnpack = '' patchShebangs . - - # Remove cppa test for now because it doesn't work. - rm dmd/test/runnable/cppa.d - rm dmd/test/runnable/extra-files/cppb.cpp - ''; - - # Compile with PIC to prevent colliding modules with binutils 2.28. - # https://issues.dlang.org/show_bug.cgi?id=17375 - usePIC = "-fPIC"; - ROOT_HOME_DIR = "$(echo ~root)"; - - phobosPatches = '' - # Ugly hack so the dlopen call has a chance to succeed. - # https://issues.dlang.org/show_bug.cgi?id=15391 - substituteInPlace phobos/std/net/curl.d \ - --replace libcurl.so ${curl.out}/lib/libcurl.so - - # phobos uses curl, so we need to patch the path to the lib. - substituteInPlace phobos/posix.mak \ - --replace "-soname=libcurl.so.4" "-soname=${curl.out}/lib/libcurl.so.4" - ''; postPatch = '' - substituteInPlace druntime/test/common.mak \ - --replace "DFLAGS:=" "DFLAGS:=${usePIC} " - - substituteInPlace dmd/src/posix.mak \ - --replace "DFLAGS :=" "DFLAGS += -link-defaultlib-shared=false" - '' + substituteInPlace dmd/test/compilable/extra-files/ddocYear.html \ + --replace "2018" "__YEAR__" - + phobosPatches - - + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace dmd/posix.mak \ - --replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_ + substituteInPlace dmd/test/runnable/test16096.sh \ + --replace "{EXT}" "{EXE}" ''; - nativeBuildInputs = [ ldc makeWrapper unzip which gdb ] + nativeBuildInputs = [ ldc makeWrapper unzip which gdb git ] ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ Foundation @@ -105,24 +80,24 @@ let cd ../druntime make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd} cd ../phobos - make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd} TZ_DATABASE_DIR=${tzdata}/share/zoneinfo/ + echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile + echo ${curl.out}/lib/libcurl.so > LibcurlPathFile + make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)" cd .. ''; # Disable tests on Darwin for now because of # https://github.com/NixOS/nixpkgs/issues/41099 - doCheck = !stdenv.hostPlatform.isDarwin; + doCheck = true; checkPhase = '' cd dmd - make -j$NIX_BUILD_CORES -C test -f Makefile PIC=1 DMD=${pathToDmd} BUILD=release SHARED=0 SHELL=$SHELL + make -j$NIX_BUILD_CORES -C test -f Makefile PIC=1 CC=$CXX DMD=${pathToDmd} BUILD=release SHARED=0 SHELL=$SHELL cd ../druntime make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=1 DMD=${pathToDmd} BUILD=release cd .. ''; - extension = if stdenv.hostPlatform.isDarwin then "a" else "{a,so}"; - dontStrip = true; installPhase = '' @@ -143,7 +118,7 @@ let cd ../phobos mkdir $out/lib - cp generated/${osname}/release/${bits}/libphobos2.${extension} $out/lib + cp generated/${osname}/release/${bits}/libphobos2.* $out/lib cp -r std $out/include/d2 cp -r etc $out/include/d2 @@ -190,14 +165,14 @@ let sourceRoot = "."; - postPatch = dmdBuild.phobosPatches; - nativeBuildInputs = dmdBuild.nativeBuildInputs; buildInputs = dmdBuild.buildInputs; buildPhase = '' cd phobos - make -j$NIX_BUILD_CORES -f posix.mak unittest BUILD=release ENABLE_RELEASE=1 PIC=1 DMD=${dmdBuild}/bin/dmd TZ_DATABASE_DIR=${tzdata}/share/zoneinfo/ + echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile + echo ${curl.out}/lib/libcurl.so > LibcurlPathFile + make -j$NIX_BUILD_CORES -f posix.mak unittest BUILD=release ENABLE_RELEASE=1 PIC=1 DMD=${dmdBuild}/bin/dmd DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)" ''; installPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/dotnet/sdk/default.nix b/nixpkgs/pkgs/development/compilers/dotnet/sdk/default.nix index 9970fd9b33d3..4e8ab34b1011 100644 --- a/nixpkgs/pkgs/development/compilers/dotnet/sdk/default.nix +++ b/nixpkgs/pkgs/development/compilers/dotnet/sdk/default.nix @@ -12,14 +12,14 @@ let rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ]; in stdenv.mkDerivation rec { - version = "2.1.403"; - netCoreVersion = "2.1.5"; + version = "2.2.103"; + netCoreVersion = "2.2.1"; name = "dotnet-sdk-${version}"; src = fetchurl { url = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/dotnet-sdk-${version}-linux-x64.tar.gz"; # use sha512 from the download page - sha512 = "903a8a633aea9211ba36232a2decb3b34a59bb62bc145a0e7a90ca46dd37bb6c2da02bcbe2c50c17e08cdff8e48605c0f990786faf1f06be1ea4a4d373beb8a9"; + sha512 = "777AC6DCD0200BA447392E451A1779F0FBFA548BD620A7BBA3EEBDF35892236C3F10B19FF81D4F64B5BC134923CB47F9CC45EE6B004140E1249582249944DB69"; }; unpackPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/dtc/default.nix b/nixpkgs/pkgs/development/compilers/dtc/default.nix index b342bd945858..9cc60003201c 100644 --- a/nixpkgs/pkgs/development/compilers/dtc/default.nix +++ b/nixpkgs/pkgs/development/compilers/dtc/default.nix @@ -1,24 +1,19 @@ { stdenv, fetchgit, fetchpatch, flex, bison, pkgconfig, python2, swig, which }: stdenv.mkDerivation rec { - name = "dtc-${version}"; - version = "1.4.5"; + pname = "dtc"; + version = "1.4.7"; src = fetchgit { url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git"; rev = "refs/tags/v${version}"; - sha256 = "10y5pbkcj5gkijcgnlvrh6q2prpnvsgihb9asz3zfp66mcjwzsy3"; + sha256 = "0l787g1wmd4d6izsp91m5r2qms2h2jg2hhzllfi9qkbnplyz21wn"; }; nativeBuildInputs = [ flex bison pkgconfig swig which ]; buildInputs = [ python2 ]; patches = [ - # Fix 32-bit build - (fetchpatch { - url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git/patch/?id=497432fd2131967f349e69dc5d259072151cc4b4"; - sha256 = "1hrvhvz0qkck53mhacrc4rxjrvp34d8dkw7xb5lr4gpg32grvkpq"; - }) # Fix setup.py (fetchpatch { url = "https://github.com/dezgeg/dtc/commit/d94a745148ba5c9198143ccc0f7d877fe498ab73.patch"; diff --git a/nixpkgs/pkgs/development/compilers/elm/README.md b/nixpkgs/pkgs/development/compilers/elm/README.md new file mode 100644 index 000000000000..f0254d0f9547 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/elm/README.md @@ -0,0 +1,24 @@ +# To update Elm: + +Modify revision in ./update.sh and run it + +# Notes about the build process: + +The elm binary embeds a piece of pre-compiled elm code, used by 'elm +reactor'. This means that the build process for 'elm' effectively +executes 'elm make'. that in turn expects to retrieve the elm +dependencies of that code (elm/core, etc.) from +package.elm-lang.org, as well as a cached bit of metadata +(versions.dat). + +The makeDotElm function lets us retrieve these dependencies in the +standard nix way. we have to copy them in (rather than symlink) and +make them writable because the elm compiler writes other .dat files +alongside the source code. versions.dat was produced during an +impure build of this same code; the build complains that it can't +update this cache, but continues past that warning. + +Finally, we set ELM_HOME to point to these pre-fetched artifacts so +that the default of ~/.elm isn't used. + +More: https://blog.hercules-ci.com/elm/2019/01/03/elm2nix-0.1/ diff --git a/nixpkgs/pkgs/development/compilers/elm/default.nix b/nixpkgs/pkgs/development/compilers/elm/default.nix index 47a0d459a93d..bfaf24cd9872 100644 --- a/nixpkgs/pkgs/development/compilers/elm/default.nix +++ b/nixpkgs/pkgs/development/compilers/elm/default.nix @@ -2,95 +2,46 @@ , haskell, nodejs , fetchurl, fetchpatch, makeWrapper, git }: -# To update: - -# 1) Modify ./update.sh and run it - -# 2) to generate versions.dat: -# 2.1) git clone https://github.com/elm/compiler.git -# 2.2) cd compiler -# 2.3) cabal2nix --shell . | sed 's/"default",/"ghc822",/' > shell.nix -# 2.4) nix-shell -# 2.5) mkdir .elm -# 2.6) export ELM_HOME=$(pwd)/.elm -# 2.7) cabal build -# 2.8) cp .elm/0.19.0/package/versions.dat ... - -# 3) generate a template for elm-elm.nix with: -# ( -# echo "{"; -# jq '.dependencies | .direct, .indirect | to_entries | .[] | { (.key) : { version : .value, sha256: "" } } ' \ -# < ui/browser/elm.json \ -# | sed 's/:/ =/' \ -# | sed 's/^[{}]//' \ -# | sed -E 's/(["}]),?$/\1;/' \ -# | sed -E 's/"(version|sha256)"/\1/' \ -# | grep -v '^$'; -# echo "}" -# ) -# -# ... then fill in the sha256s - -# Notes: - -# the elm binary embeds a piece of pre-compiled elm code, used by 'elm -# reactor'. this means that the build process for 'elm' effectively -# executes 'elm make'. that in turn expects to retrieve the elm -# dependencies of that code (elm/core, etc.) from -# package.elm-lang.org, as well as a cached bit of metadata -# (versions.dat). - -# the makeDotElm function lets us retrieve these dependencies in the -# standard nix way. we have to copy them in (rather than symlink) and -# make them writable because the elm compiler writes other .dat files -# alongside the source code. versions.dat was produced during an -# impure build of this same code; the build complains that it can't -# update this cache, but continues past that warning. - -# finally, we set ELM_HOME to point to these pre-fetched artifacts so -# that the default of ~/.elm isn't used. - let fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; }; - hsPkgs = haskell.packages.ghc822.override { + hsPkgs = haskell.packages.ghc863.override { overrides = self: super: with haskell.lib; let elmPkgs = { elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: { # sadly with parallelism most of the time breaks compilation enableParallelBuilding = false; - preConfigure = fetchElmDeps { - elmPackages = (import ./packages/elm-elm.nix); + preConfigure = self.fetchElmDeps { + elmPackages = (import ./packages/elm-srcs.nix); versionsDat = ./versions.dat; }; - buildTools = drv.buildTools or [] ++ [ makeWrapper ]; patches = [ (fetchpatch { - url = "https://github.com/elm/compiler/pull/1784/commits/78d2d8eab310552b1b877a3e90e1e57e7a09ddec.patch"; - sha256 = "0vdhk16xqm2hxw12s1b91a0bmi8w4wsxc086qlzglgnjxrl5b3w4"; + url = "https://github.com/elm/compiler/pull/1886/commits/39d86a735e28da514be185d4c3256142c37c2a8a.patch"; + sha256 = "0nni5qx1523rjz1ja42z6z9pijxvi3fgbw1dhq5qi11mh1nb9ay7"; }) ]; + buildTools = drv.buildTools or [] ++ [ makeWrapper ]; + jailbreak = true; postInstall = '' wrapProgram $out/bin/elm \ --prefix PATH ':' ${lib.makeBinPath [ nodejs ]} ''; }); - - /* The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo: `pacakge/nix/build.sh` */ - elm-format = self.callPackage ./packages/elm-format.nix {}; + elm-format = justStaticExecutables (doJailbreak (self.callPackage ./packages/elm-format.nix {})); + inherit fetchElmDeps; + elmVersion = elmPkgs.elm.version; }; in elmPkgs // { inherit elmPkgs; - elmVersion = elmPkgs.elm.version; # Needed for elm-format indents = self.callPackage ./packages/indents.nix {}; - tasty-quickcheck = self.callPackage ./packages/tasty-quickcheck.nix {}; }; }; in hsPkgs.elmPkgs diff --git a/nixpkgs/pkgs/development/compilers/elm/elm2nix.rb b/nixpkgs/pkgs/development/compilers/elm/elm2nix.rb deleted file mode 100755 index fab5551ca158..000000000000 --- a/nixpkgs/pkgs/development/compilers/elm/elm2nix.rb +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env ruby - -require 'json' - -system("elm-package install -y") -depsSrc = JSON.parse(File.read("elm-stuff/exact-dependencies.json")) -deps = Hash[ depsSrc.map { |pkg, ver| - url = "https://github.com/#{pkg}/archive/#{ver}.tar.gz" - sha256 = `nix-prefetch-url #{url}` - - [ pkg, { version: ver, - sha256: sha256.strip - } - ] -} ] - -File.open("package.nix", 'w') do |file| - file.puts "{" - for pkg, info in deps - file.puts " \"#{pkg}\" = {" - file.puts " version = \"#{info[:version]}\";" - file.puts " sha256 = \"#{info[:sha256]}\";" - file.puts " };" - end - file.puts "}" -end diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/elm-elm.nix b/nixpkgs/pkgs/development/compilers/elm/packages/elm-elm.nix deleted file mode 100644 index a38e21daa06d..000000000000 --- a/nixpkgs/pkgs/development/compilers/elm/packages/elm-elm.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - "elm/browser" = { - version = "1.0.0"; - sha256 = "1apmvyax93nvmagwj00y16zx10kfv640cxpi64xgqbgy7d2wphy4"; - }; - "elm/core" = { - version = "1.0.0"; - sha256 = "10kr86h4v5h4p0586q406a5wbl8xvr1jyrf6097zp2wb8sv21ylw"; - }; - "elm/html" = { - version = "1.0.0"; - sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k"; - }; - "elm/http" = { - version = "1.0.0"; - sha256 = "1igmm89ialzrjib1j8xagkxalq1x2gj4l0hfxcd66mpwmvg7psl8"; - }; - "elm/json" = { - version = "1.0.0"; - sha256 = "1g0hafkqf2q633r7ir9wxpb1lnlzskhpsyi0h5bkzj0gl072zfnb"; - }; - "elm/project-metadata-utils" = { - version = "1.0.0"; - sha256 = "1d4rd4grrnbdvj9gf00h7dr6hbkjzawgkzpizfrkp1z1pyr3mvq9"; - }; - "elm/svg" = { - version = "1.0.0"; - sha256 = "08x0v8p9wm699jjmsnbq69pxv3jh60j4f6fg7y6hyr7xxj85y390"; - }; - "elm-explorations/markdown" = { - version = "1.0.0"; - sha256 = "0k3110ixa4wwf3vkkdplagwah9ypr965qxr1y147rnsc1xsxmr6y"; - }; - "elm/parser" = { - version = "1.0.0"; - sha256 = "0k4zlq30lrvawqvzwbvsl0hrmwf9s832mb41z7fdspm4549dj7wc"; - }; - "elm/time" = { - version = "1.0.0"; - sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1"; - }; - "elm/url" = { - version = "1.0.0"; - sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4"; - }; - "elm/virtual-dom" = { - version = "1.0.0"; - sha256 = "0hm8g92h7z39km325dlnhk8n00nlyjkqp3r3jppr37k2k13md6aq"; - }; -} diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/elm-srcs.nix b/nixpkgs/pkgs/development/compilers/elm/packages/elm-srcs.nix new file mode 100644 index 000000000000..e1f941626dd7 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/elm/packages/elm-srcs.nix @@ -0,0 +1,62 @@ +{ + + "elm-explorations/markdown" = { + sha256 = "0k3110ixa4wwf3vkkdplagwah9ypr965qxr1y147rnsc1xsxmr6y"; + version = "1.0.0"; + }; + + "elm/json" = { + sha256 = "1g0hafkqf2q633r7ir9wxpb1lnlzskhpsyi0h5bkzj0gl072zfnb"; + version = "1.0.0"; + }; + + "elm/html" = { + sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k"; + version = "1.0.0"; + }; + + "elm/svg" = { + sha256 = "08x0v8p9wm699jjmsnbq69pxv3jh60j4f6fg7y6hyr7xxj85y390"; + version = "1.0.0"; + }; + + "elm/project-metadata-utils" = { + sha256 = "1d4rd4grrnbdvj9gf00h7dr6hbkjzawgkzpizfrkp1z1pyr3mvq9"; + version = "1.0.0"; + }; + + "elm/browser" = { + sha256 = "1apmvyax93nvmagwj00y16zx10kfv640cxpi64xgqbgy7d2wphy4"; + version = "1.0.0"; + }; + + "elm/core" = { + sha256 = "10kr86h4v5h4p0586q406a5wbl8xvr1jyrf6097zp2wb8sv21ylw"; + version = "1.0.0"; + }; + + "elm/http" = { + sha256 = "1igmm89ialzrjib1j8xagkxalq1x2gj4l0hfxcd66mpwmvg7psl8"; + version = "1.0.0"; + }; + + "elm/parser" = { + sha256 = "0k4zlq30lrvawqvzwbvsl0hrmwf9s832mb41z7fdspm4549dj7wc"; + version = "1.0.0"; + }; + + "elm/url" = { + sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4"; + version = "1.0.0"; + }; + + "elm/time" = { + sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1"; + version = "1.0.0"; + }; + + "elm/virtual-dom" = { + sha256 = "0hm8g92h7z39km325dlnhk8n00nlyjkqp3r3jppr37k2k13md6aq"; + version = "1.0.0"; + }; +} diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix b/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix index 41998f4c9b3d..67e63ea2b8e8 100644 --- a/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix +++ b/nixpkgs/pkgs/development/compilers/elm/packages/elm.nix @@ -13,6 +13,7 @@ mkDerivation { url = "https://github.com/elm/compiler"; sha256 = "13jks6c6i80z71mjjfg46ri570g5ini0k3xw3857v6z66zcl56x4"; rev = "d5cbc41aac23da463236bbc250933d037da4055a"; + fetchSubmodules = true; }; isLibrary = false; isExecutable = true; diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/tasty-quickcheck.nix b/nixpkgs/pkgs/development/compilers/elm/packages/tasty-quickcheck.nix deleted file mode 100644 index 54235489edfa..000000000000 --- a/nixpkgs/pkgs/development/compilers/elm/packages/tasty-quickcheck.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ mkDerivation, base, pcre-light, QuickCheck, random, stdenv -, tagged, tasty, tasty-hunit -}: -mkDerivation { - pname = "tasty-quickcheck"; - version = "0.9.2"; - sha256 = "c5920adeab6e283d5e3ab45f3c80a1b011bedfbe4a3246a52606da2e1da95873"; - libraryHaskellDepends = [ base QuickCheck random tagged tasty ]; - testHaskellDepends = [ base pcre-light tasty tasty-hunit ]; - doCheck = false; - homepage = "https://github.com/feuerbach/tasty"; - description = "QuickCheck support for the Tasty test framework"; - license = stdenv.lib.licenses.mit; -} diff --git a/nixpkgs/pkgs/development/compilers/elm/update.sh b/nixpkgs/pkgs/development/compilers/elm/update.sh index 2b5d85feeb28..920b95e5ad95 100755 --- a/nixpkgs/pkgs/development/compilers/elm/update.sh +++ b/nixpkgs/pkgs/development/compilers/elm/update.sh @@ -1 +1,8 @@ -cabal2nix https://github.com/elm/compiler --revision 32059a289d27e303fa1665e9ada0a52eb688f302 > packages/elm.nix +#!/usr/bin/env nix-shell +#!nix-shell -p cabal2nix elm2nix -i bash ../../.. + +cabal2nix https://github.com/elm/compiler --revision d5cbc41aac23da463236bbc250933d037da4055a > packages/elm.nix +elm2nix snapshot > versions.dat +pushd "$(nix-build -A elmPackages.elm.src --no-out-link ../../../..)/ui/browser" + elm2nix convert > $OLDPWD/packages/elm-srcs.nix +popd diff --git a/nixpkgs/pkgs/development/compilers/elm/versions.dat b/nixpkgs/pkgs/development/compilers/elm/versions.dat index 824ab383057f..9dcfd8a2808f 100644 --- a/nixpkgs/pkgs/development/compilers/elm/versions.dat +++ b/nixpkgs/pkgs/development/compilers/elm/versions.dat Binary files differdiff --git a/nixpkgs/pkgs/development/compilers/fasm/bin.nix b/nixpkgs/pkgs/development/compilers/fasm/bin.nix index 5205792561b8..9039553e3d1e 100644 --- a/nixpkgs/pkgs/development/compilers/fasm/bin.nix +++ b/nixpkgs/pkgs/development/compilers/fasm/bin.nix @@ -3,11 +3,11 @@ stdenvNoCC.mkDerivation rec { name = "fasm-bin-${version}"; - version = "1.73.04"; + version = "1.73.06"; src = fetchurl { url = "https://flatassembler.net/fasm-${version}.tgz"; - sha256 = "0y0xkf9fzcm5gklhdi61wjpd1p8islpbcnkv5k16aqci3qsd0ia1"; + sha256 = "02wqkqxpn3p0iwcagsm92qd9cdfcnbx8a09qg03b3pjppp30hmp6"; }; installPhase = '' diff --git a/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix b/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix index b8d93d944f11..8507fe4b222e 100644 --- a/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix +++ b/nixpkgs/pkgs/development/compilers/fpc/lazarus.nix @@ -2,7 +2,7 @@ stdenv, fetchurl , fpc , gtk2, glib, pango, atk, gdk_pixbuf -, libXi, inputproto, libX11, xproto, libXext, xextproto +, libXi, xorgproto, libX11, libXext , makeWrapper }: let @@ -15,8 +15,8 @@ let name = "lazarus-${version}"; }; buildInputs = [ - fpc gtk2 glib libXi inputproto - libX11 xproto libXext xextproto pango atk + fpc gtk2 glib libXi xorgproto + libX11 libXext pango atk stdenv.cc makeWrapper gdk_pixbuf ]; in diff --git a/nixpkgs/pkgs/development/compilers/futhark/default.nix b/nixpkgs/pkgs/development/compilers/futhark/default.nix deleted file mode 100644 index 890be3431c3a..000000000000 --- a/nixpkgs/pkgs/development/compilers/futhark/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -# Generated using `cabal2nix --hpack .`, then replace src -{ mkDerivation, alex, array, base, bifunctors, binary, blaze-html -, bytestring, containers, data-binary-ieee754, directory -, directory-tree, dlist, extra, file-embed, filepath, gitrev, happy -, haskeline, hpack, HUnit, json, language-c-quote, mainland-pretty -, markdown, mtl, neat-interpolation, parallel, parsec, process -, process-extras, QuickCheck, random, raw-strings-qq, regex-tdfa -, srcloc, stdenv, template-haskell, temporary, test-framework -, test-framework-hunit, test-framework-quickcheck2, text -, th-lift-instances, transformers, vector, vector-binary-instances -, zlib, fetchFromGitHub -}: -mkDerivation { - pname = "futhark"; - version = "0.6.2"; - src = fetchFromGitHub { - owner = "diku-dk"; - repo = "futhark"; - rev = "v0.6.2"; - sha256 = "0yj7n01swpvqblybdnks3mjf0mzf1gdg2b2cpxdpxnrjw5j0pnq2"; - }; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - array base bifunctors binary blaze-html bytestring containers - data-binary-ieee754 directory directory-tree dlist extra file-embed - filepath gitrev language-c-quote mainland-pretty markdown mtl - neat-interpolation parallel parsec process raw-strings-qq - regex-tdfa srcloc template-haskell text th-lift-instances - transformers vector vector-binary-instances zlib - ]; - libraryToolDepends = [ alex happy hpack ]; - executableHaskellDepends = [ - array base bifunctors binary blaze-html bytestring containers - data-binary-ieee754 directory directory-tree dlist extra file-embed - filepath gitrev haskeline json language-c-quote mainland-pretty - markdown mtl neat-interpolation parallel parsec process - process-extras random raw-strings-qq regex-tdfa srcloc - template-haskell temporary text th-lift-instances transformers - vector vector-binary-instances zlib - ]; - testHaskellDepends = [ - array base bifunctors binary blaze-html bytestring containers - data-binary-ieee754 directory directory-tree dlist extra file-embed - filepath gitrev HUnit language-c-quote mainland-pretty markdown mtl - neat-interpolation parallel parsec process QuickCheck - raw-strings-qq regex-tdfa srcloc template-haskell test-framework - test-framework-hunit test-framework-quickcheck2 text - th-lift-instances transformers vector vector-binary-instances zlib - ]; - preConfigure = "hpack"; - homepage = "https://futhark-lang.org"; - description = "An optimising compiler for a functional, array-oriented language"; - license = stdenv.lib.licenses.isc; -} diff --git a/nixpkgs/pkgs/development/compilers/gambit/bootstrap.nix b/nixpkgs/pkgs/development/compilers/gambit/bootstrap.nix index 8e9525e33842..aae7c61c6f9f 100644 --- a/nixpkgs/pkgs/development/compilers/gambit/bootstrap.nix +++ b/nixpkgs/pkgs/development/compilers/gambit/bootstrap.nix @@ -2,15 +2,15 @@ stdenv.mkDerivation rec { name = "gambit-bootstrap-${version}"; - version = "4.9.1"; - tarball_version = "v4_9_1"; + version = "4.9.2"; + tarball_version = "v4_9_2"; src = fetchurl { - url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/source/gambit-${tarball_version}-devel.tgz"; - sha256 = "10kzv568gimp9nzh5xw0h01vw50wi68z3awfp9ibqrpq2l0n7mw7"; + url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/source/gambit-${tarball_version}.tgz"; + sha256 = "1cpganh3jgjdw6qsapcbwxdbp1xwgx5gvdl4ymwf8p2c5k018dwy"; }; - buildInputs = [ autoconf git ]; + buildInputs = [ autoconf ]; configurePhase = '' ./configure --prefix=$out diff --git a/nixpkgs/pkgs/development/compilers/gambit/default.nix b/nixpkgs/pkgs/development/compilers/gambit/default.nix index 19297a6e68eb..275d4785a2ca 100644 --- a/nixpkgs/pkgs/development/compilers/gambit/default.nix +++ b/nixpkgs/pkgs/development/compilers/gambit/default.nix @@ -1,10 +1,10 @@ { stdenv, callPackage, fetchurl }: callPackage ./build.nix { - version = "4.9.1"; + version = "4.9.2"; src = fetchurl { - url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/source/gambit-v4_9_1-devel.tgz"; - sha256 = "10kzv568gimp9nzh5xw0h01vw50wi68z3awfp9ibqrpq2l0n7mw7"; + url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/source/gambit-v4_9_2-devel.tgz"; + sha256 = "1xpjm3m1pxwj3n0g36lbb3p6wx2nc1iry95xc22pnq3m2374gjxv"; }; inherit stdenv; } diff --git a/nixpkgs/pkgs/development/compilers/gambit/unstable.nix b/nixpkgs/pkgs/development/compilers/gambit/unstable.nix index 15db82fc9fb2..a907de017408 100644 --- a/nixpkgs/pkgs/development/compilers/gambit/unstable.nix +++ b/nixpkgs/pkgs/development/compilers/gambit/unstable.nix @@ -1,13 +1,13 @@ { stdenv, callPackage, fetchFromGitHub }: callPackage ./build.nix { - version = "unstable-2018-11-19"; -# git-version = "4.9.1-8-g61c6cb50"; + version = "unstable-2019-01-18"; +# git-version = "4.9.2"; src = fetchFromGitHub { owner = "feeley"; repo = "gambit"; - rev = "61c6cb500f4756be1e52095d5ab4501752525a70"; - sha256 = "1knpb40y1g09c6yqd2fsxm3bk56bl5xrrwfsd7nqa497x6ngm5pn"; + rev = "cf5688ecf35d85b9355c645f535c1e057b3064e7"; + sha256 = "1xr7j4iws6hlrdbvlii4n98apr78k4adbnmy4ggzyik65bynh1kl"; }; inherit stdenv; } diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix index 945649b29781..82edf0e33cfa 100644 --- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix +++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/6/default.nix @@ -22,6 +22,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out cp -r * $out + ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man ''; dontPatchELF = true; diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix index c22683dae03a..39fc3c517f81 100644 --- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix +++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/7/default.nix @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out cp -r * $out + ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man ''; dontPatchELF = true; diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix new file mode 100644 index 000000000000..a26131cb0536 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/8/default.nix @@ -0,0 +1,40 @@ +{ stdenv, lib, fetchurl, ncurses5, python27 }: + +with lib; + +stdenv.mkDerivation rec { + name = "gcc-arm-embedded-${version}"; + version = "8-2018-q4-major"; + subdir = "8-2018q4"; + + urlString = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2"; + + src = fetchurl { url=urlString; sha256="fb31fbdfe08406ece43eef5df623c0b2deb8b53e405e2c878300f7a1f303ee52"; }; + + phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + + installPhase = '' + mkdir -p $out + cp -r * $out + ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man + ''; + + dontPatchELF = true; + dontStrip = true; + + preFixup = '' + find $out -type f | while read f; do + patchelf $f > /dev/null 2>&1 || continue + patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true + patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true + done + ''; + + meta = { + description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)"; + homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm; + license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; + maintainers = with maintainers; [ prusnak ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix index 039b5a9ce362..350eed2fedd0 100644 --- a/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix +++ b/nixpkgs/pkgs/development/compilers/gcc-arm-embedded/default.nix @@ -30,6 +30,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -pv $out cp -r ./* $out + ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man for f in $(find $out); do if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then diff --git a/nixpkgs/pkgs/development/compilers/gcc/4.8/default.nix b/nixpkgs/pkgs/development/compilers/gcc/4.8/default.nix index 9cfe03d6655c..6467cfc801dc 100644 --- a/nixpkgs/pkgs/development/compilers/gcc/4.8/default.nix +++ b/nixpkgs/pkgs/development/compilers/gcc/4.8/default.nix @@ -16,8 +16,8 @@ , zip ? null, unzip ? null, pkgconfig ? null , gtk2 ? null, libart_lgpl ? null , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null -, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null -, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null +, libXrender ? null, xorgproto ? null +, libXrandr ? null, libXi ? null , x11Support ? langJava , enableMultilib ? false , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins @@ -89,7 +89,7 @@ let version = "4.8.5"; xlibs = [ libX11 libXt libSM libICE libXtst libXrender libXrandr libXi - xproto renderproto xextproto inputproto randrproto + xorgproto ]; javaAwtGtk = langJava && x11Support; diff --git a/nixpkgs/pkgs/development/compilers/gcc/4.9/default.nix b/nixpkgs/pkgs/development/compilers/gcc/4.9/default.nix index 9b23fe785999..1676668d9111 100644 --- a/nixpkgs/pkgs/development/compilers/gcc/4.9/default.nix +++ b/nixpkgs/pkgs/development/compilers/gcc/4.9/default.nix @@ -16,8 +16,8 @@ , zip ? null, unzip ? null, pkgconfig ? null , gtk2 ? null, libart_lgpl ? null , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null -, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null -, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null +, libXrender ? null, xorgproto ? null +, libXrandr ? null, libXi ? null , x11Support ? langJava , enableMultilib ? false , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins @@ -94,7 +94,7 @@ let version = "4.9.4"; xlibs = [ libX11 libXt libSM libICE libXtst libXrender libXrandr libXi - xproto renderproto xextproto inputproto randrproto + xorgproto ]; javaAwtGtk = langJava && x11Support; diff --git a/nixpkgs/pkgs/development/compilers/gcc/5/default.nix b/nixpkgs/pkgs/development/compilers/gcc/5/default.nix index 5db2ac3d4133..6049cdcb6e8a 100644 --- a/nixpkgs/pkgs/development/compilers/gcc/5/default.nix +++ b/nixpkgs/pkgs/development/compilers/gcc/5/default.nix @@ -16,8 +16,8 @@ , zip ? null, unzip ? null, pkgconfig ? null , gtk2 ? null, libart_lgpl ? null , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null -, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null -, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null +, libXrender ? null, xorgproto ? null +, libXrandr ? null, libXi ? null , x11Support ? langJava , enableMultilib ? false , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins @@ -81,7 +81,7 @@ let version = "5.5.0"; xlibs = [ libX11 libXt libSM libICE libXtst libXrender libXrandr libXi - xproto renderproto xextproto inputproto randrproto + xorgproto ]; javaAwtGtk = langJava && x11Support; diff --git a/nixpkgs/pkgs/development/compilers/gcc/6/default.nix b/nixpkgs/pkgs/development/compilers/gcc/6/default.nix index 99c79a99dce1..a467527c613e 100644 --- a/nixpkgs/pkgs/development/compilers/gcc/6/default.nix +++ b/nixpkgs/pkgs/development/compilers/gcc/6/default.nix @@ -16,8 +16,8 @@ , zip ? null, unzip ? null, pkgconfig ? null , gtk2 ? null, libart_lgpl ? null , libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null -, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null -, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null +, libXrender ? null, xorgproto ? null +, libXrandr ? null, libXi ? null , x11Support ? langJava , enableMultilib ? false , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins @@ -78,7 +78,7 @@ let version = "6.5.0"; xlibs = [ libX11 libXt libSM libICE libXtst libXrender libXrandr libXi - xproto renderproto xextproto inputproto randrproto + xorgproto ]; javaAwtGtk = langJava && x11Support; diff --git a/nixpkgs/pkgs/development/compilers/gcc/7/default.nix b/nixpkgs/pkgs/development/compilers/gcc/7/default.nix index d790246717d9..41af804e551f 100644 --- a/nixpkgs/pkgs/development/compilers/gcc/7/default.nix +++ b/nixpkgs/pkgs/development/compilers/gcc/7/default.nix @@ -37,7 +37,7 @@ assert langGo -> langCC; with stdenv.lib; with builtins; -let version = "7.3.0"; +let version = "7.4.0"; inherit (stdenv) buildPlatform hostPlatform targetPlatform; @@ -138,7 +138,7 @@ stdenv.mkDerivation ({ src = fetchurl { url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz"; - sha256 = "0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43"; + sha256 = "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd"; }; inherit patches; diff --git a/nixpkgs/pkgs/development/compilers/gcc/builder.sh b/nixpkgs/pkgs/development/compilers/gcc/builder.sh index 75e70006d749..07a003691d6b 100644 --- a/nixpkgs/pkgs/development/compilers/gcc/builder.sh +++ b/nixpkgs/pkgs/development/compilers/gcc/builder.sh @@ -282,11 +282,6 @@ postInstall() { fi done - # Disable RANDMMAP on grsec, which causes segfaults when using - # precompiled headers. - # See https://bugs.gentoo.org/show_bug.cgi?id=301299#c31 - paxmark r $out/libexec/gcc/*/*/{cc1,cc1plus} - # Two identical man pages are shipped (moving and compressing is done later) ln -sf gcc.1 "$out"/share/man/man1/g++.1 } diff --git a/nixpkgs/pkgs/development/compilers/gcc/libstdc++-hook.sh b/nixpkgs/pkgs/development/compilers/gcc/libstdc++-hook.sh index 8b1d5d2da678..19db70597ce5 100644 --- a/nixpkgs/pkgs/development/compilers/gcc/libstdc++-hook.sh +++ b/nixpkgs/pkgs/development/compilers/gcc/libstdc++-hook.sh @@ -2,4 +2,3 @@ getHostRole export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem $(echo -n @gcc@/include/c++/*) -isystem $(echo -n @gcc@/include/c++/*)/$(@gcc@/bin/gcc -dumpmachine)" -export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libstdc++" diff --git a/nixpkgs/pkgs/development/compilers/gcl/2.6.13-pre.nix b/nixpkgs/pkgs/development/compilers/gcl/2.6.13-pre.nix index 1e8bdbd4e68f..2ea95b332fee 100644 --- a/nixpkgs/pkgs/development/compilers/gcl/2.6.13-pre.nix +++ b/nixpkgs/pkgs/development/compilers/gcl/2.6.13-pre.nix @@ -1,6 +1,6 @@ { stdenv, fetchgit, mpfr, m4, binutils, emacs, zlib, which -, texinfo, libX11, xproto, inputproto, libXi, gmp, readline, strace -, libXext, xextproto, libXt, libXaw, libXmu } : +, texinfo, libX11, xorgproto, libXi, gmp, readline, strace +, libXext, libXt, libXaw, libXmu } : assert stdenv ? cc ; assert stdenv.cc.isGNU ; @@ -27,8 +27,8 @@ stdenv.mkDerivation rec { buildInputs = [ mpfr m4 binutils emacs gmp - libX11 xproto inputproto libXi - libXext xextproto libXt libXaw libXmu + libX11 xorgproto libXi + libXext libXt libXaw libXmu zlib which texinfo readline strace ]; diff --git a/nixpkgs/pkgs/development/compilers/gcl/default.nix b/nixpkgs/pkgs/development/compilers/gcl/default.nix index 233372caa800..643dd4b7dbd4 100644 --- a/nixpkgs/pkgs/development/compilers/gcl/default.nix +++ b/nixpkgs/pkgs/development/compilers/gcl/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, mpfr, m4, binutils, emacs, zlib, which -, texinfo, libX11, xproto, inputproto, libXi, gmp -, libXext, xextproto, libXt, libXaw, libXmu } : +, texinfo, libX11, xorgproto, libXi, gmp +, libXext, libXt, libXaw, libXmu } : assert stdenv ? cc ; assert stdenv.cc.isGNU ; @@ -23,8 +23,8 @@ stdenv.mkDerivation rec { buildInputs = [ mpfr m4 binutils emacs gmp - libX11 xproto inputproto libXi - libXext xextproto libXt libXaw libXmu + libX11 xorgproto libXi + libXext libXt libXaw libXmu zlib which texinfo ]; diff --git a/nixpkgs/pkgs/development/compilers/gerbil/build.nix b/nixpkgs/pkgs/development/compilers/gerbil/build.nix index 7ebd3f69cbf4..b20d6f9c47ef 100644 --- a/nixpkgs/pkgs/development/compilers/gerbil/build.nix +++ b/nixpkgs/pkgs/development/compilers/gerbil/build.nix @@ -24,9 +24,13 @@ stdenv.mkDerivation rec { patchShebangs . - find . -type f -executable -print0 | while IFS= read -r -d ''$'\0' f; do + grep -Fl '#!/usr/bin/env' `find . -type f -executable` | while read f ; do substituteInPlace "$f" --replace '#!/usr/bin/env' '#!${coreutils}/bin/env' done + grep -Fl '"gsc"' `find . -type f -name '*.s*'` | while read f ; do + substituteInPlace "$f" --replace '"gsc"' '"${gambit}/bin/gsc"' + done + substituteInPlace "etc/gerbil.el" --replace '"gxc"' "\"$out/bin/gxc\"" cat > etc/gerbil_static_libraries.sh <<EOF #OPENSSL_LIBCRYPTO=${makeStaticLibraries openssl}/lib/libcrypto.a # MISSING! diff --git a/nixpkgs/pkgs/development/compilers/gerbil/default.nix b/nixpkgs/pkgs/development/compilers/gerbil/default.nix index b3d479483644..d2740354e923 100644 --- a/nixpkgs/pkgs/development/compilers/gerbil/default.nix +++ b/nixpkgs/pkgs/development/compilers/gerbil/default.nix @@ -1,14 +1,14 @@ { stdenv, callPackage, fetchFromGitHub, gambit }: callPackage ./build.nix rec { - version = "0.14"; - git-version = "0.14"; + version = "0.15"; + git-version = "0.15"; inherit gambit; src = fetchFromGitHub { owner = "vyzo"; repo = "gerbil"; rev = "v${version}"; - sha256 = "0n078lkf8m391kr99ipb1v2dpi5vkikz9nj0p7kfjg43868my3v7"; + sha256 = "1ff1gpl0bl1pbs68bxax82ikw4bzbkrj4a6l775ziwyfndjggl66"; }; inherit stdenv; } diff --git a/nixpkgs/pkgs/development/compilers/gerbil/unstable.nix b/nixpkgs/pkgs/development/compilers/gerbil/unstable.nix index 96bd86b26166..b96ff53b56c2 100644 --- a/nixpkgs/pkgs/development/compilers/gerbil/unstable.nix +++ b/nixpkgs/pkgs/development/compilers/gerbil/unstable.nix @@ -1,14 +1,14 @@ { stdenv, callPackage, fetchFromGitHub, gambit-unstable }: callPackage ./build.nix { - version = "unstable-2018-11-19"; - git-version = "0.15-DEV-2-g7d09a4ce"; + version = "unstable-2019-01-25"; + git-version = "0.15"; gambit = gambit-unstable; src = fetchFromGitHub { owner = "vyzo"; repo = "gerbil"; - rev = "7d09a4cebe03d755a1791e77279e156a74e07685"; - sha256 = "1mqi9xcjk59sqbh1fx65a4fa4mqm35py4xqxq6086bcyhkm1nzwa"; + rev = "8c1aa2ca129a380de9cf668a7f3f6d56e56cbf94"; + sha256 = "1ff1gpl0bl1pbs68bxax82ikw4bzbkrj4a6l775ziwyfndjggl66"; }; inherit stdenv; } diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.2.2-binary.nix b/nixpkgs/pkgs/development/compilers/ghc/8.2.2-binary.nix index 039eea744f36..f52d8fd4a11f 100644 --- a/nixpkgs/pkgs/development/compilers/ghc/8.2.2-binary.nix +++ b/nixpkgs/pkgs/development/compilers/ghc/8.2.2-binary.nix @@ -105,8 +105,6 @@ stdenv.mkDerivation rec { --replace-needed libtinfo.so libtinfo.so.5 \ --interpreter ${glibcDynLinker} {} \; - paxmark m ./ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 - sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 ''; diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.2.2.nix b/nixpkgs/pkgs/development/compilers/ghc/8.2.2.nix index 3b9fecd55e10..3e355dc302d6 100644 --- a/nixpkgs/pkgs/development/compilers/ghc/8.2.2.nix +++ b/nixpkgs/pkgs/development/compilers/ghc/8.2.2.nix @@ -238,11 +238,6 @@ stdenv.mkDerivation (rec { hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; postInstall = '' - for bin in "$out"/lib/${name}/bin/*; do - isELF "$bin" || continue - paxmark m "$bin" - done - # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.4.4.nix b/nixpkgs/pkgs/development/compilers/ghc/8.4.4.nix index 4db5c07b4601..874580c87aab 100644 --- a/nixpkgs/pkgs/development/compilers/ghc/8.4.4.nix +++ b/nixpkgs/pkgs/development/compilers/ghc/8.4.4.nix @@ -112,7 +112,7 @@ stdenv.mkDerivation (rec { ++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch ++ stdenv.lib.optional (targetPlatform.isAarch32 || targetPlatform.isAarch64) (fetchpatch { url = "https://git.haskell.org/ghc.git/patch/d8495549ba9d194815c2d0eaee6797fc7c00756a"; - sha256 = "1czx12qcl088vjn7mqxvyja4b2ia2n09c28br8c777fd0xk069pm"; + sha256 = "1yjcma507c609bcim4rnxq0gaj2dg4d001jklmbpbqpzqzxkn5sz"; }); postPatch = "patchShebangs ."; @@ -214,11 +214,6 @@ stdenv.mkDerivation (rec { hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; postInstall = '' - for bin in "$out"/lib/${name}/bin/*; do - isELF "$bin" || continue - paxmark m "$bin" - done - # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.6.1.nix b/nixpkgs/pkgs/development/compilers/ghc/8.6.1.nix index 5710c60338a8..b54164ccc696 100644 --- a/nixpkgs/pkgs/development/compilers/ghc/8.6.1.nix +++ b/nixpkgs/pkgs/development/compilers/ghc/8.6.1.nix @@ -195,11 +195,6 @@ stdenv.mkDerivation (rec { hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; postInstall = '' - for bin in "$out"/lib/${name}/bin/*; do - isELF "$bin" || continue - paxmark m "$bin" - done - # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.6.2.nix b/nixpkgs/pkgs/development/compilers/ghc/8.6.2.nix index 914d6ae08fac..07d4420804dd 100644 --- a/nixpkgs/pkgs/development/compilers/ghc/8.6.2.nix +++ b/nixpkgs/pkgs/development/compilers/ghc/8.6.2.nix @@ -195,11 +195,6 @@ stdenv.mkDerivation (rec { hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; postInstall = '' - for bin in "$out"/lib/${name}/bin/*; do - isELF "$bin" || continue - paxmark m "$bin" - done - # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.6.3-binary.nix b/nixpkgs/pkgs/development/compilers/ghc/8.6.3-binary.nix new file mode 100644 index 000000000000..cde67183ef49 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/ghc/8.6.3-binary.nix @@ -0,0 +1,164 @@ +{ stdenv +, fetchurl, perl, gcc, llvm_39 +, ncurses5, gmp, glibc, libiconv +}: + +# Prebuilt only does native +assert stdenv.targetPlatform == stdenv.hostPlatform; + +let + libPath = stdenv.lib.makeLibraryPath ([ + ncurses5 gmp + ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv); + + libEnvVar = stdenv.lib.optionalString stdenv.hostPlatform.isDarwin "DY" + + "LD_LIBRARY_PATH"; + + glibcDynLinker = assert stdenv.isLinux; + if stdenv.hostPlatform.libc == "glibc" then + # Could be stdenv.cc.bintools.dynamicLinker, keeping as-is to avoid rebuild. + ''"$(cat $NIX_CC/nix-support/dynamic-linker)"'' + else + "${stdenv.lib.getLib glibc}/lib/ld-linux*"; + +in + +stdenv.mkDerivation rec { + version = "8.6.3"; + + name = "ghc-${version}-binary"; + + src = fetchurl ({ + "i686-linux" = { + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb8-linux.tar.xz"; + sha256 = "0bw8a7fxcbskf93rb4m542ff66vrmx5i5kj77qx37cbhijx70w5m"; + }; + "x86_64-linux" = { + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb8-linux.tar.xz"; + sha256 = "1m9gaga2pzi2cx5gvasg0rx1dlvr68gmi20l67652kag6xjsa719"; + }; + "x86_64-darwin" = { + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; + sha256 = "1hbzk57v45176kxcx848p5jn5p1xbp2129ramkbzsk6plyhnkl3r"; + }; + }.${stdenv.hostPlatform.system} + or (throw "cannot bootstrap GHC on this platform")); + + nativeBuildInputs = [ perl ]; + buildInputs = stdenv.lib.optionals (stdenv.targetPlatform.isAarch32 || stdenv.targetPlatform.isAarch64) [ llvm_39 ]; + + # Cannot patchelf beforehand due to relative RPATHs that anticipate + # the final install location/ + ${libEnvVar} = libPath; + + postUnpack = + # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib + # during linking + stdenv.lib.optionalString stdenv.isDarwin '' + export NIX_LDFLAGS+=" -no_dtrace_dof" + # not enough room in the object files for the full path to libiconv :( + for exe in $(find . -type f -executable); do + isScript $exe && continue + ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib + install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe + done + '' + + + # Some scripts used during the build need to have their shebangs patched + '' + patchShebangs ghc-${version}/utils/ + patchShebangs ghc-${version}/configure + '' + + + # Strip is harmful, see also below. It's important that this happens + # first. The GHC Cabal build system makes use of strip by default and + # has hardcoded paths to /usr/bin/strip in many places. We replace + # those below, making them point to our dummy script. + '' + mkdir "$TMP/bin" + for i in strip; do + echo '#! ${stdenv.shell}' > "$TMP/bin/$i" + chmod +x "$TMP/bin/$i" + done + PATH="$TMP/bin:$PATH" + '' + + # We have to patch the GMP paths for the integer-gmp package. + '' + find . -name integer-gmp.buildinfo \ + -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \; + '' + stdenv.lib.optionalString stdenv.isDarwin '' + find . -name base.buildinfo \ + -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \; + '' + + # Rename needed libraries and binaries, fix interpreter + stdenv.lib.optionalString stdenv.isLinux '' + find . -type f -perm -0100 -exec patchelf \ + --replace-needed libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5 libncurses.so \ + --replace-needed libtinfo.so libtinfo.so.5 \ + --interpreter ${glibcDynLinker} {} \; + + sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 + sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 + ''; + + configurePlatforms = [ ]; + configureFlags = [ + "--with-gmp-libraries=${stdenv.lib.getLib gmp}/lib" + "--with-gmp-includes=${stdenv.lib.getDev gmp}/include" + ] ++ stdenv.lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" + ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override"; + + # Stripping combined with patchelf breaks the executables (they die + # with a segfault or the kernel even refuses the execve). (NIXPKGS-85) + dontStrip = true; + + # No building is necessary, but calling make without flags ironically + # calls install-strip ... + dontBuild = true; + + # On Linux, use patchelf to modify the executables so that they can + # find editline/gmp. + preFixup = stdenv.lib.optionalString stdenv.isLinux '' + for p in $(find "$out" -type f -executable); do + if isELF "$p"; then + echo "Patchelfing $p" + patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p + fi + done + '' + stdenv.lib.optionalString stdenv.isDarwin '' + # not enough room in the object files for the full path to libiconv :( + for exe in $(find "$out" -type f -executable); do + isScript $exe && continue + ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib + install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe + done + + for file in $(find "$out" -name setup-config); do + substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" + done + ''; + + doInstallCheck = true; + installCheckPhase = '' + unset ${libEnvVar} + # Sanity check, can ghc create executables? + cd $TMP + mkdir test-ghc; cd test-ghc + cat > main.hs << EOF + {-# LANGUAGE TemplateHaskell #-} + module Main where + main = putStrLn \$([|"yes"|]) + EOF + $out/bin/ghc --make main.hs || exit 1 + echo compilation ok + [ $(./main) == "yes" ] + ''; + + passthru = { + targetPrefix = ""; + enableShared = true; + }; + + meta.license = stdenv.lib.licenses.bsd3; + meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"]; +} diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.6.3.nix b/nixpkgs/pkgs/development/compilers/ghc/8.6.3.nix index b29b7facd1f4..4e1f0dd9fc72 100644 --- a/nixpkgs/pkgs/development/compilers/ghc/8.6.3.nix +++ b/nixpkgs/pkgs/development/compilers/ghc/8.6.3.nix @@ -192,11 +192,6 @@ stdenv.mkDerivation (rec { hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; postInstall = '' - for bin in "$out"/lib/${name}/bin/*; do - isELF "$bin" || continue - paxmark m "$bin" - done - # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc diff --git a/nixpkgs/pkgs/development/compilers/ghc/head.nix b/nixpkgs/pkgs/development/compilers/ghc/head.nix index 42119682892d..7e670743f7fc 100644 --- a/nixpkgs/pkgs/development/compilers/ghc/head.nix +++ b/nixpkgs/pkgs/development/compilers/ghc/head.nix @@ -2,7 +2,7 @@ # build-tools , bootPkgs -, autoconf, automake, coreutils, fetchgit, perl, python3, m4, sphinx +, autoconf, automake, coreutils, fetchgit, fetchurl, fetchpatch, perl, python3, m4, sphinx , libiconv ? null, ncurses @@ -21,12 +21,12 @@ , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. - enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useAndroidPrebuilt + enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt , # Whetherto build terminfo. enableTerminfo ? !stdenv.targetPlatform.isWindows -, version ? "8.5.20180118" +, version ? "8.7.20190115" , # What flavour to build. An empty string indicates no # specific flavour and falls back to ghc default values. ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross" @@ -84,9 +84,9 @@ stdenv.mkDerivation (rec { name = "${targetPrefix}ghc-${version}"; src = fetchgit { - url = "git://git.haskell.org/ghc.git"; - rev = "e1d4140be4d2a1508015093b69e1ef53516e1eb6"; - sha256 = "1gdcr10dd968d40qgljdwx9vfkva3yrvjm9a4nis7whaaac3ag58"; + url = "https://gitlab.haskell.org/ghc/ghc.git/"; + rev = "c9756dbf1ee58b117ea5c4ded45dea88030efd65"; + sha256 = "0ja3ivyz4jrqkw6z1mdgsczxaqkjy5vw0nyyqlqr0bqxiw9p8834"; }; enableParallelBuilding = true; @@ -122,6 +122,24 @@ stdenv.mkDerivation (rec { export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" '' + stdenv.lib.optionalString stdenv.isDarwin '' export NIX_LDFLAGS+=" -no_dtrace_dof" + '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' + sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets + '' + stdenv.lib.optionalString targetPlatform.isMusl '' + echo "patching llvm-targets for musl targets..." + echo "Cloning these existing '*-linux-gnu*' targets:" + grep linux-gnu llvm-targets | sed 's/^/ /' + echo "(go go gadget sed)" + sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets + echo "llvm-targets now contains these '*-linux-musl*' targets:" + grep linux-musl llvm-targets | sed 's/^/ /' + + echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" + # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) + for x in configure aclocal.m4; do + substituteInPlace $x \ + --replace '*-android*|*-gnueabi*)' \ + '*-android*|*-gnueabi*|*-musleabi*)' + done ''; # TODO(@Ericson2314): Always pass "--target" and always prefix. @@ -131,8 +149,8 @@ stdenv.mkDerivation (rec { configureFlags = [ "--datadir=$doc/share/doc/ghc" "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" - ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [ - "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib" + ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ + "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ @@ -149,12 +167,9 @@ stdenv.mkDerivation (rec { # Make sure we never relax`$PATH` and hooks support for compatability. strictDeps = true; - # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself. - dontAddExtraLibs = true; - nativeBuildInputs = [ - perl autoconf automake m4 python3 - ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour + perl autoconf automake m4 python3 sphinx + bootPkgs.ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ]; # For building runtime libs @@ -177,11 +192,6 @@ stdenv.mkDerivation (rec { hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; postInstall = '' - for bin in "$out"/lib/${name}/bin/*; do - isELF "$bin" || continue - paxmark m "$bin" - done - # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc @@ -200,14 +210,14 @@ stdenv.mkDerivation (rec { inherit enableShared; # Our Cabal compiler name - haskellCompilerName = "ghc-8.5"; + haskellCompilerName = "ghc-8.7"; }; meta = { homepage = http://haskell.org/ghc; description = "The Glasgow Haskell Compiler"; maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; - inherit (ghc.meta) license platforms; + inherit (bootPkgs.ghc.meta) license platforms; }; } // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt { diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.2/git.json b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.2/git.json deleted file mode 100644 index efe7794a103e..000000000000 --- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.2/git.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "url": "https://github.com/ghcjs/ghcjs", - "rev": "0cff73c3ee13b464adba90f308b77751c75b9f26", - "sha256": "1shg34zi6ryaihar62qdkkalv8dsrsqbv58jzkhk9in38sdfkjxv", - "fetchSubmodules": true -} diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix index 2d0ed55c6cd1..efba0dc8634f 100644 --- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix +++ b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.4/dep-overrides.nix @@ -2,6 +2,8 @@ let inherit (haskellLib) dontCheck doJailbreak; in self: super: { - haddock-library-ghcjs = dontCheck super.haddock-library-ghcjs; + haddock-library-ghcjs = doJailbreak (dontCheck super.haddock-library-ghcjs); haddock-api-ghcjs = doJailbreak super.haddock-api-ghcjs; + + template-haskell-ghcjs = doJailbreak super.template-haskell-ghcjs; } diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix new file mode 100644 index 000000000000..8681aceacd7f --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.6/dep-overrides.nix @@ -0,0 +1,7 @@ +{ haskellLib }: + +let inherit (haskellLib) dontCheck doJailbreak dontHaddock; +in self: super: { + haddock-library-ghcjs = doJailbreak super.haddock-library-ghcjs; + haddock-api-ghcjs = doJailbreak (dontHaddock super.haddock-api-ghcjs); +} diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.6/git.json b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.6/git.json new file mode 100644 index 000000000000..37861b96e7aa --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.6/git.json @@ -0,0 +1,6 @@ +{ + "url": "https://github.com/ghcjs/ghcjs", + "rev": "75c61af32d73def4409d1fe7b64659c1d28cd075", + "sha256": "18pixn6xdz6qp941yhxfnmwi463jnpskmg473lv07vvgy4hpgjhj", + "fetchSubmodules": true +} diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.2/stage0.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix index 0680ff156e14..4e5d656cb064 100644 --- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.2/stage0.nix +++ b/nixpkgs/pkgs/development/compilers/ghcjs-ng/8.6/stage0.nix @@ -20,7 +20,7 @@ }: mkDerivation { pname = "ghcjs"; - version = "8.2.0.1"; + version = "8.6.0.1"; src = configuredSrc + /.; isLibrary = true; isExecutable = true; @@ -60,17 +60,17 @@ ghc-api-ghcjs = callPackage ({ mkDerivation, array, base, binary, bytestring, containers - , deepseq, directory, filepath, ghc-boot, ghc-boot-th, ghci-ghcjs - , hoopl, hpc, process, stdenv, template-haskell-ghcjs, terminfo - , time, transformers, unix + , deepseq, directory, filepath, ghc-boot, ghc-boot-th, ghc-heap + , ghci-ghcjs, hpc, process, stdenv, template-haskell-ghcjs + , terminfo, time, transformers, unix }: mkDerivation { pname = "ghc-api-ghcjs"; - version = "8.2.2"; + version = "8.6.2"; src = configuredSrc + /lib/ghc-api-ghcjs; libraryHaskellDepends = [ array base binary bytestring containers deepseq directory filepath - ghc-boot ghc-boot-th ghci-ghcjs hoopl hpc process + ghc-boot ghc-boot-th ghc-heap ghci-ghcjs hpc process template-haskell-ghcjs terminfo time transformers unix ]; homepage = "http://www.haskell.org/ghc/"; @@ -80,16 +80,16 @@ ghci-ghcjs = callPackage ({ mkDerivation, array, base, binary, bytestring, containers - , deepseq, filepath, ghc-boot, ghc-boot-th, stdenv + , deepseq, filepath, ghc-boot, ghc-boot-th, ghc-heap, stdenv , template-haskell-ghcjs, transformers, unix }: mkDerivation { pname = "ghci-ghcjs"; - version = "8.2.2"; + version = "8.6.1"; src = configuredSrc + /lib/ghci-ghcjs; libraryHaskellDepends = [ array base binary bytestring containers deepseq filepath ghc-boot - ghc-boot-th template-haskell-ghcjs transformers unix + ghc-boot-th ghc-heap template-haskell-ghcjs transformers unix ]; description = "The library supporting GHC's interactive interpreter (customized for GHCJS)"; license = stdenv.lib.licenses.bsd3; @@ -119,7 +119,7 @@ }: mkDerivation { pname = "haddock-api-ghcjs"; - version = "2.18.1"; + version = "2.20.0"; src = configuredSrc + /lib/haddock-api-ghcjs; enableSeparateDataOutput = true; libraryHaskellDepends = [ @@ -128,25 +128,33 @@ xhtml ]; testHaskellDepends = [ - base containers ghc-api-ghcjs hspec QuickCheck + array base bytestring Cabal containers deepseq directory filepath + ghc-api-ghcjs ghc-boot ghc-paths haddock-library-ghcjs hspec + QuickCheck transformers xhtml ]; testToolDepends = [ hspec-discover ]; homepage = "http://www.haskell.org/haddock/"; - description = "A documentation-generation tool for Haskell libraries (customized for GHCJS)"; + description = "A documentation-generation tool for Haskell libraries"; license = stdenv.lib.licenses.bsd3; }) {}; haddock-library-ghcjs = callPackage - ({ mkDerivation, base, base-compat, bytestring, deepseq, hspec - , hspec-discover, QuickCheck, stdenv, transformers + ({ mkDerivation, base, base-compat, bytestring, containers, deepseq + , directory, filepath, haddock-library, hspec, hspec-discover + , optparse-applicative, parsec, QuickCheck, stdenv, text + , transformers, tree-diff }: mkDerivation { pname = "haddock-library-ghcjs"; - version = "1.4.4"; + version = "1.6.0"; src = configuredSrc + /lib/haddock-library-ghcjs; - libraryHaskellDepends = [ base bytestring deepseq transformers ]; + libraryHaskellDepends = [ + base bytestring containers parsec text transformers + ]; testHaskellDepends = [ - base base-compat bytestring deepseq hspec QuickCheck transformers + base base-compat bytestring containers deepseq directory filepath + haddock-library hspec optparse-applicative parsec QuickCheck text + transformers tree-diff ]; testToolDepends = [ hspec-discover ]; homepage = "http://www.haskell.org/haddock/"; @@ -158,7 +166,7 @@ ({ mkDerivation, base, ghc-boot-th, pretty, stdenv }: mkDerivation { pname = "template-haskell-ghcjs"; - version = "2.12.0.0"; + version = "2.14.0.0"; src = configuredSrc + /lib/template-haskell-ghcjs; libraryHaskellDepends = [ base ghc-boot-th pretty ]; description = "Support library for Template Haskell (customized for GHCJS)"; diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix index df1394e4a24b..56b69ea267f9 100644 --- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix +++ b/nixpkgs/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix @@ -43,6 +43,8 @@ runCommand "configured-ghcjs-src" { # TODO: How to actually fix this? # Seems to work fine and produce the right files. touch ghc/includes/ghcautoconf.h + mkdir -p ghc/compiler/vectorise + mkdir -p ghc/utils/haddock/haddock-library/vendor patchShebangs . ./utils/makePackages.sh copy diff --git a/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix b/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix index 025d74bcda04..14a210783896 100644 --- a/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix +++ b/nixpkgs/pkgs/development/compilers/ghcjs-ng/default.nix @@ -104,4 +104,5 @@ in stdenv.mkDerivation { inherit passthru; meta.platforms = passthru.bootPkgs.ghc.meta.platforms; + meta.maintainers = [lib.maintainers.elvishjerricco]; } diff --git a/nixpkgs/pkgs/development/compilers/go/1.10.nix b/nixpkgs/pkgs/development/compilers/go/1.10.nix index 832c020c40de..867344e84da4 100644 --- a/nixpkgs/pkgs/development/compilers/go/1.10.nix +++ b/nixpkgs/pkgs/development/compilers/go/1.10.nix @@ -22,13 +22,13 @@ in stdenv.mkDerivation rec { name = "go-${version}"; - version = "1.10.3"; + version = "1.10.8"; src = fetchFromGitHub { owner = "golang"; repo = "go"; rev = "go${version}"; - sha256 = "0i89298dgnmpmam3ifkm0ax266vvbq1yz7wfw8wwrcma0szrbrnb"; + sha256 = "1yynv105wh8pwiq61v4yg5i50k13g3x634x60mhxhv4gj9cq06cx"; }; GOCACHE = "off"; diff --git a/nixpkgs/pkgs/development/compilers/go/1.11.nix b/nixpkgs/pkgs/development/compilers/go/1.11.nix index 5d4a8e84265f..1c9bc0a30091 100644 --- a/nixpkgs/pkgs/development/compilers/go/1.11.nix +++ b/nixpkgs/pkgs/development/compilers/go/1.11.nix @@ -1,5 +1,6 @@ { stdenv, fetchFromGitHub, tzdata, iana-etc, go_bootstrap, runCommand, writeScriptBin , perl, which, pkgconfig, patch, procps, pcre, cacert, llvm, Security, Foundation +, mailcap , buildPackages, targetPackages }: let @@ -28,13 +29,13 @@ in stdenv.mkDerivation rec { name = "go-${version}"; - version = "1.11.2"; + version = "1.11.5"; src = fetchFromGitHub { owner = "golang"; repo = "go"; rev = "go${version}"; - sha256 = "0pk7pxfm3ij2ksdrg49jz501fr1d103zr4mjjwv821if9g279jc9"; + sha256 = "0d45057rc0bngq0nja847cagxji42qmlywr68f0dkg51im8nyr9y"; }; # perl is used for testing go vet @@ -56,6 +57,10 @@ stdenv.mkDerivation rec { substituteInPlace misc/cgo/testcarchive/carchive_test.go \ --replace '#!/usr/bin/env bash' '#!${stdenv.shell}' + # Patch the mimetype database location which is missing on NixOS. + substituteInPlace src/mime/type_unix.go \ + --replace '/etc/mime.types' '${mailcap}/etc/mime.types' + # Disabling the 'os/http/net' tests (they want files not available in # chroot builds) rm src/net/{listen,parse}_test.go diff --git a/nixpkgs/pkgs/development/compilers/go/1.4.nix b/nixpkgs/pkgs/development/compilers/go/1.4.nix index 40fd3f15786b..95312f9e1ead 100644 --- a/nixpkgs/pkgs/development/compilers/go/1.4.nix +++ b/nixpkgs/pkgs/development/compilers/go/1.4.nix @@ -156,7 +156,7 @@ stdenv.mkDerivation rec { homepage = http://golang.org/; description = "The Go Programming language"; license = licenses.bsd3; - maintainers = with maintainers; [ cstrahan wkennington ]; + maintainers = with maintainers; [ cstrahan ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/nixpkgs/pkgs/development/compilers/go/1.9.nix b/nixpkgs/pkgs/development/compilers/go/1.9.nix deleted file mode 100644 index d6ae163813f3..000000000000 --- a/nixpkgs/pkgs/development/compilers/go/1.9.nix +++ /dev/null @@ -1,184 +0,0 @@ -{ stdenv, fetchFromGitHub, tzdata, iana-etc, go_bootstrap, runCommand, writeScriptBin -, perl, which, pkgconfig, patch, procps, pcre, cacert, llvm, Security, Foundation }: - -let - - inherit (stdenv.lib) optionals optionalString; - - clangHack = writeScriptBin "clang" '' - #!${stdenv.shell} - exec ${stdenv.cc}/bin/clang "$@" 2> >(sed '/ld: warning:.*ignoring unexpected dylib file/ d' 1>&2) - ''; - - goBootstrap = runCommand "go-bootstrap" {} '' - mkdir $out - cp -rf ${go_bootstrap}/* $out/ - chmod -R u+w $out - find $out -name "*.c" -delete - cp -rf $out/bin/* $out/share/go/bin/ - ''; - -in - -stdenv.mkDerivation rec { - name = "go-${version}"; - version = "1.9.5"; - - src = fetchFromGitHub { - owner = "golang"; - repo = "go"; - rev = "go${version}"; - sha256 = "15dx1b71xv7b265gqk9nv02pirggpw7d83apikhrza2qkj64ydd0"; - }; - - # perl is used for testing go vet - nativeBuildInputs = [ perl which pkgconfig patch procps ]; - buildInputs = [ cacert pcre ] - ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ] - ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; - propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ]; - - hardeningDisable = [ "all" ]; - - prePatch = '' - patchShebangs ./ # replace /bin/bash - - # This source produces shell script at run time, - # and thus it is not corrected by patchShebangs. - substituteInPlace misc/cgo/testcarchive/carchive_test.go \ - --replace '#!/usr/bin/env bash' '#!${stdenv.shell}' - - # Disabling the 'os/http/net' tests (they want files not available in - # chroot builds) - rm src/net/{listen,parse}_test.go - rm src/syscall/exec_linux_test.go - - # !!! substituteInPlace does not seems to be effective. - # The os test wants to read files in an existing path. Just don't let it be /usr/bin. - sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go - sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go - # Disable the unix socket test - sed -i '/TestShutdownUnix/areturn' src/net/net_test.go - # Disable the hostname test - sed -i '/TestHostname/areturn' src/os/os_test.go - # ParseInLocation fails the test - sed -i '/TestParseInSydney/areturn' src/time/format_test.go - # Remove the api check as it never worked - sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go - # Remove the coverage test as we have removed this utility - sed -i '/TestCoverageWithCgo/areturn' src/cmd/go/go_test.go - # Remove the timezone naming test - sed -i '/TestLoadFixed/areturn' src/time/time_test.go - # Remove disable setgid test - sed -i '/TestRespectSetgidDir/areturn' src/cmd/go/internal/work/build_test.go - # Remove cert tests that conflict with NixOS's cert resolution - sed -i '/TestEnvVars/areturn' src/crypto/x509/root_unix_test.go - # TestWritevError hangs sometimes - sed -i '/TestWritevError/areturn' src/net/writev_test.go - # TestVariousDeadlines fails sometimes - sed -i '/TestVariousDeadlines/areturn' src/net/timeout_test.go - - sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go - sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go - - # Disable cgo lookup tests not works, they depend on resolver - rm src/net/cgo_unix_test.go - - '' + optionalString stdenv.isLinux '' - sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go - '' + optionalString stdenv.isAarch32 '' - sed -i '/TestCurrent/areturn' src/os/user/user_test.go - echo '#!${stdenv.shell}' > misc/cgo/testplugin/test.bash - '' + optionalString stdenv.isDarwin '' - substituteInPlace src/race.bash --replace \ - "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true - sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go - sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go - sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go - - sed -i '/TestChdirAndGetwd/areturn' src/os/os_test.go - sed -i '/TestCredentialNoSetGroups/areturn' src/os/exec/exec_posix_test.go - sed -i '/TestCurrent/areturn' src/os/user/user_test.go - sed -i '/TestNohup/areturn' src/os/signal/signal_test.go - sed -i '/TestRead0/areturn' src/os/os_test.go - sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go - - sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/areturn' src/cmd/go/go_test.go - sed -i '/TestBuildDashIInstallsDependencies/areturn' src/cmd/go/go_test.go - - sed -i '/TestDisasmExtld/areturn' src/cmd/objdump/objdump_test.go - - sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go - - touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd - - sed -i '1 a\exit 0' misc/cgo/errors/test.bash - ''; - - patches = - [ ./remove-tools-1.9.patch - ./ssl-cert-file-1.9.patch - ./creds-test-1.9.patch - ./remove-test-pie-1.9.patch - ./go-1.9-skip-flaky-19608.patch - ./go-1.9-skip-flaky-20072.patch - ]; - - postPatch = optionalString stdenv.isDarwin '' - echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil" - substituteInPlace "src/cmd/link/internal/ld/lib.go" --replace dsymutil ${llvm}/bin/llvm-dsymutil - ''; - - GOOS = if stdenv.isDarwin then "darwin" else "linux"; - GOARCH = if stdenv.isDarwin then "amd64" - else if stdenv.hostPlatform.system == "i686-linux" then "386" - else if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" - else if stdenv.isAarch32 then "arm" - else if stdenv.isAarch64 then "arm64" - else throw "Unsupported system"; - GOARM = optionalString (stdenv.hostPlatform.system == "armv5tel-linux") "5"; - GO386 = 387; # from Arch: don't assume sse2 on i686 - CGO_ENABLED = 1; - GOROOT_BOOTSTRAP = "${goBootstrap}/share/go"; - # Hopefully avoids test timeouts on Hydra - GO_TEST_TIMEOUT_SCALE = 3; - - # The go build actually checks for CC=*/clang and does something different, so we don't - # just want the generic `cc` here. - CC = if stdenv.isDarwin then "clang" else "cc"; - - configurePhase = '' - mkdir -p $out/share/go/bin - export GOROOT=$out/share/go - export GOBIN=$GOROOT/bin - export PATH=$GOBIN:$PATH - ulimit -a - ''; - - postConfigure = optionalString stdenv.isDarwin '' - export PATH=${clangHack}/bin:$PATH - ''; - - installPhase = '' - cp -r . $GOROOT - ( cd $GOROOT/src && ./all.bash ) - ''; - - preFixup = '' - rm -r $out/share/go/pkg/bootstrap - ln -s $out/share/go/bin $out/bin - ''; - - setupHook = ./setup-hook.sh; - - disallowedReferences = [ go_bootstrap ]; - - meta = with stdenv.lib; { - branch = "1.9"; - homepage = http://golang.org/; - description = "The Go Programming language"; - license = licenses.bsd3; - maintainers = with maintainers; [ cstrahan orivej wkennington ]; - platforms = platforms.linux ++ platforms.darwin; - }; -} diff --git a/nixpkgs/pkgs/development/compilers/go/creds-test-1.9.patch b/nixpkgs/pkgs/development/compilers/go/creds-test-1.9.patch deleted file mode 100644 index 09f78959ff9c..000000000000 --- a/nixpkgs/pkgs/development/compilers/go/creds-test-1.9.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -ru -x '*~' ./result/src/syscall/creds_test.go go-go1.7.4-src/src/syscall/creds_test.go ---- ./result/src/syscall/creds_test.go 1970-01-01 01:00:01.000000000 +0100 -+++ go-go1.7.4-src/src/syscall/creds_test.go 2016-12-21 14:06:39.559932164 +0100 -@@ -62,8 +62,8 @@ - if sys, ok := err.(*os.SyscallError); ok { - err = sys.Err - } -- if err != syscall.EPERM { -- t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err) -+ if err != syscall.EPERM && err != syscall.EINVAL { -+ t.Fatalf("WriteMsgUnix failed with %v, want EPERM or EINVAL", err) - } - } - diff --git a/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.9.patch b/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.9.patch deleted file mode 100644 index 46f94f29df20..000000000000 --- a/nixpkgs/pkgs/development/compilers/go/remove-test-pie-1.9.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go -index 73432d31ea..3310f5298d 100644 ---- a/src/cmd/dist/test.go -+++ b/src/cmd/dist/test.go -@@ -510,21 +510,6 @@ func (t *tester) registerTests() { - }) - } - -- // Test internal linking of PIE binaries where it is supported. -- if t.goos == "linux" && t.goarch == "amd64" && !isAlpineLinux() { -- // Issue 18243: We don't have a way to set the default -- // dynamic linker used in internal linking mode. So -- // this test is skipped on Alpine. -- t.tests = append(t.tests, distTest{ -- name: "pie_internal", -- heading: "internal linking of -buildmode=pie", -- fn: func(dt *distTest) error { -- t.addCmd(dt, "src", "go", "test", "reflect", "-short", "-buildmode=pie", "-ldflags=-linkmode=internal", t.timeout(60), t.tags(), t.runFlag("")) -- return nil -- }, -- }) -- } -- - // sync tests - t.tests = append(t.tests, distTest{ - name: "sync_cpu", diff --git a/nixpkgs/pkgs/development/compilers/iasl/default.nix b/nixpkgs/pkgs/development/compilers/iasl/default.nix index 22f80ae559f7..7b0b1f2fb417 100644 --- a/nixpkgs/pkgs/development/compilers/iasl/default.nix +++ b/nixpkgs/pkgs/development/compilers/iasl/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "iasl-${version}"; - version = "20180313"; + version = "20181213"; src = fetchurl { url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz"; - sha256 = "05ab2xfv9wqwbzjaa9xqgrvvan87rxv29hw48h1gcckpc5smp2wm"; + sha256 = "1vgqlv9pvxc52faxixpgz7hi1awqmj88bw5vqn3bldf6fmkh147w"; }; NIX_CFLAGS_COMPILE = "-O3"; diff --git a/nixpkgs/pkgs/development/compilers/ispc/default.nix b/nixpkgs/pkgs/development/compilers/ispc/default.nix index a5d6247ffdc7..2657ee6633b7 100644 --- a/nixpkgs/pkgs/development/compilers/ispc/default.nix +++ b/nixpkgs/pkgs/development/compilers/ispc/default.nix @@ -3,7 +3,7 @@ testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is n }: stdenv.mkDerivation rec { - version = "1.9.2"; + version = "1.10.0"; rev = "v${version}"; inherit testedTargets; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { owner = "ispc"; repo = "ispc"; inherit rev; - sha256 = "0zaw7mwvly1csbdcbz9j8ry89n0r1fag1m1f579l4mgg1x6ksqry"; + sha256 = "1x07n2gaff3v32yvddrb659mx5gg12bnbsqbyfimp396wn04w60b"; }; # there are missing dependencies in the Makefile, causing sporadic build failures @@ -32,14 +32,7 @@ stdenv.mkDerivation rec { llvmPackages.clang-unwrapped # we need to link against libclang, so we need the unwrapped ]; - patches = [ - (fetchpatch { - url = https://github.com/ispc/ispc/commit/d504641f5af9d5992e7c8f0ed42c1063a39ede5b.patch; - sha256 = "192q3gyvam79469bmlwf0jpfi2y4f8hl2vgcvjngsqhvscwira0s"; - }) - ]; - - postPatch = "sed -i -e 's/\\/bin\\///g' -e 's/-lcurses/-lncurses/g' Makefile"; + postPatch = "sed -i -e 's,/bin/,,g' -e 's/-lcurses/-lncurses/g' Makefile"; # TODO: this correctly catches errors early, but also some things that are just weird and don't seem to be real # errors diff --git a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix index 39fab8b25d8f..876e474bed97 100644 --- a/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix +++ b/nixpkgs/pkgs/development/compilers/jetbrains-jdk/default.nix @@ -25,11 +25,6 @@ let drv = stdenv.mkDerivation rec { installPhase = '' cd .. - exes=$(file $sourceRoot/bin/* $sourceRoot/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//') - for file in $exes; do - paxmark m "$file" - done - mv $sourceRoot $out jrePath=$out/jre ''; diff --git a/nixpkgs/pkgs/development/compilers/julia/0.7.nix b/nixpkgs/pkgs/development/compilers/julia/0.7.nix index 99c6b245ba67..e0992d800033 100644 --- a/nixpkgs/pkgs/development/compilers/julia/0.7.nix +++ b/nixpkgs/pkgs/development/compilers/julia/0.7.nix @@ -3,4 +3,7 @@ import ./shared.nix { minorVersion = "7"; maintenanceVersion = "0"; src_sha256 = "1j57569qm2ii8ddzsp08hds2navpk7acdz83kh27dvk44axhwj6f"; + + libuvVersion = "ed3700c849289ed01fe04273a7bf865340b2bd7e"; + libuvSha256 = "137w666zsjw1p0ma3lf94d75hr1q45sgkfmbizkyji2qm57cnxjs"; } diff --git a/nixpkgs/pkgs/development/compilers/julia/0004-hardened.patch b/nixpkgs/pkgs/development/compilers/julia/0004-hardened.patch deleted file mode 100644 index 901f967c9d55..000000000000 --- a/nixpkgs/pkgs/development/compilers/julia/0004-hardened.patch +++ /dev/null @@ -1,25 +0,0 @@ -From eddb251a00ace6e63e32e7dcb9e1ec632cac14e0 Mon Sep 17 00:00:00 2001 -From: Will Dietz <w@wdtz.org> -Date: Wed, 1 Feb 2017 06:09:49 -0600 -Subject: [PATCH] Set pax flags on julia binaries to disable memory protection. - ---- - Makefile | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Makefile b/Makefile -index 0e28cc87b..aab8cfa8d 100644 ---- a/Makefile -+++ b/Makefile -@@ -91,6 +91,8 @@ julia-src-release julia-src-debug : julia-src-% : julia-deps julia_flisp.boot.in - - julia-ui-release julia-ui-debug : julia-ui-% : julia-src-% - @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT)/ui julia-$* -+ @echo "setting PaX flags on $(JULIA_EXECUTABLE_$*)" -+ @paxctl -czexm $(JULIA_EXECUTABLE_$*) - - julia-inference : julia-base julia-ui-$(JULIA_BUILD_MODE) $(build_prefix)/.examples - @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT) $(build_private_libdir)/inference.ji JULIA_BUILD_MODE=$(JULIA_BUILD_MODE) --- -2.11.0 - diff --git a/nixpkgs/pkgs/development/compilers/julia/1.0.nix b/nixpkgs/pkgs/development/compilers/julia/1.0.nix index 528a0d26d056..a679eda33066 100644 --- a/nixpkgs/pkgs/development/compilers/julia/1.0.nix +++ b/nixpkgs/pkgs/development/compilers/julia/1.0.nix @@ -1,6 +1,9 @@ import ./shared.nix { majorVersion = "1"; minorVersion = "0"; - maintenanceVersion = "1"; - src_sha256 = "0bqb5c63c7jnb753nplqj5v4k9pvh792k8y4b1n5pq8jiibr86i0"; + maintenanceVersion = "3"; + src_sha256 = "0666chsc19wx02k5m1yilf6wbc9bw27ay8p1d00jkh8m0jkrpf7l"; + + libuvVersion = "ed3700c849289ed01fe04273a7bf865340b2bd7e"; + libuvSha256 = "137w666zsjw1p0ma3lf94d75hr1q45sgkfmbizkyji2qm57cnxjs"; } diff --git a/nixpkgs/pkgs/development/compilers/julia/1.1.nix b/nixpkgs/pkgs/development/compilers/julia/1.1.nix new file mode 100644 index 000000000000..a868f949d27c --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/julia/1.1.nix @@ -0,0 +1,9 @@ +import ./shared.nix { + majorVersion = "1"; + minorVersion = "1"; + maintenanceVersion = "0"; + src_sha256 = "08fyck4qcdv9nnrdqh1wb7lb8pkkikh67xx5lc872sjl9w3p0sak"; + + libuvVersion = "2348256acf5759a544e5ca7935f638d2bc091d60"; + libuvSha256 = "1363f4vqayfcv5zqg07qmzjff56yhad74k16c22ian45lram8mv8"; +} diff --git a/nixpkgs/pkgs/development/compilers/julia/default.nix b/nixpkgs/pkgs/development/compilers/julia/default.nix index 086570f5ce20..4c0b1359bd8d 100644 --- a/nixpkgs/pkgs/development/compilers/julia/default.nix +++ b/nixpkgs/pkgs/development/compilers/julia/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchzip # build tools -, gfortran, m4, makeWrapper, patchelf, perl, which, python2, paxctl +, gfortran, m4, makeWrapper, patchelf, perl, which, python2 # libjulia dependencies , libunwind, readline, utf8proc, zlib , llvm @@ -75,7 +75,7 @@ stdenv.mkDerivation rec { patches = [ ./0001.1-use-system-utf8proc.patch ./0002-use-system-suitesparse.patch - ] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch; + ]; postPatch = '' patchShebangs . contrib @@ -96,8 +96,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] ; - nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ] - ++ stdenv.lib.optional stdenv.needsPax paxctl; + nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]; makeFlags = let diff --git a/nixpkgs/pkgs/development/compilers/julia/shared.nix b/nixpkgs/pkgs/development/compilers/julia/shared.nix index 70ff40cd7ec5..ee08703e4c7e 100644 --- a/nixpkgs/pkgs/development/compilers/julia/shared.nix +++ b/nixpkgs/pkgs/development/compilers/julia/shared.nix @@ -2,10 +2,13 @@ , minorVersion , maintenanceVersion , src_sha256 +# source deps +, libuvVersion +, libuvSha256 }: { stdenv, fetchurl, fetchzip # build tools -, gfortran, m4, makeWrapper, patchelf, perl, which, python2, paxctl +, gfortran, m4, makeWrapper, patchelf, perl, which, python2 , llvm, cmake # libjulia dependencies , libunwind, readline, utf8proc, zlib @@ -34,10 +37,9 @@ let sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42"; }; - libuvVersion = "ed3700c849289ed01fe04273a7bf865340b2bd7e"; libuv = fetchurl { url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}"; - sha256 = "137w666zsjw1p0ma3lf94d75hr1q45sgkfmbizkyji2qm57cnxjs"; + sha256 = libuvSha256; }; rmathVersion = "0.1"; @@ -95,7 +97,7 @@ stdenv.mkDerivation rec { patches = [ ./0001.1-use-system-utf8proc.patch - ] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch; + ]; postPatch = '' patchShebangs . contrib @@ -117,8 +119,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] ; - nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ] - ++ stdenv.lib.optional stdenv.needsPax paxctl; + nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]; makeFlags = let diff --git a/nixpkgs/pkgs/development/compilers/kotlin/default.nix b/nixpkgs/pkgs/development/compilers/kotlin/default.nix index f557f32a13a6..c2d834aa1272 100644 --- a/nixpkgs/pkgs/development/compilers/kotlin/default.nix +++ b/nixpkgs/pkgs/development/compilers/kotlin/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, makeWrapper, jre, unzip }: let - version = "1.3.11"; + version = "1.3.20"; in stdenv.mkDerivation rec { inherit version; name = "kotlin-${version}"; src = fetchurl { url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip"; - sha256 = "02d4x65z6kp20hmf5ri56zmq4rq45yc9br0awqrn9ls99cd0zph3"; + sha256 = "1w7k09sxlvyy53p4mxnl4qsnsyivpabhsmradbybfgf50nsmyl1d"; }; propagatedBuildInputs = [ jre ] ; diff --git a/nixpkgs/pkgs/development/compilers/ldc/default.nix b/nixpkgs/pkgs/development/compilers/ldc/default.nix index e39d6ae8e206..80ccb0dbbd30 100644 --- a/nixpkgs/pkgs/development/compilers/ldc/default.nix +++ b/nixpkgs/pkgs/development/compilers/ldc/default.nix @@ -2,19 +2,18 @@ , python, libconfig, lit, gdb, unzip, darwin, bash , callPackage, makeWrapper, targetPackages , bootstrapVersion ? false -, version ? "1.11.0" -, ldcSha256 ? "0w4z261gzji31hn1xdnmi9dfkbyydpy6rz8aj4456q5w8yp4yil5" +, version ? "1.12.0" +, ldcSha256 ? "1fdma1w8j37wkr0pqdar11slkk36qymamxnk6d9k8ybhjmxaaawm" }: let - bootstrapLdc = if !bootstrapVersion then # LDC 0.17.x is the last version which doesn't need a working D compiler to # build so we use that version to bootstrap the actual build. callPackage ./default.nix { bootstrapVersion = true; - version = "0.17.5"; - ldcSha256 = "0200r5y8hs5yv2cx24csgyh00dlg18877b9cfblixypr6nhl19bs"; + version = "0.17.6"; + ldcSha256 = "0qf5kbxddgmg3kqzi0kf4bgv8vdrnv16y07hcpm0cwv9mc3qr2w6"; } else ""; @@ -31,97 +30,52 @@ let postUnpack = '' patchShebangs . - - # Remove cppa test for now because it doesn't work. - rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/cppa.d - rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/extra-files/cppb.cpp '' - + stdenv.lib.optionalString (bootstrapVersion) '' - # ... runnable/variadic.d () - #Test failed. The logged output: - #/tmp/nix-build-ldcBuild-0.17.5.drv-0/ldc-0.17.5-src/build/bin/ldmd2 -conf= -m64 -Irunnable -od/tmp/nix-build-ldcBuild-0.17.5.drv-0/ldc-0.17.5-src/build/dmd-testsuite/runnable -of/tmp/nix-build-ldcBuild-0.17.5.drv-0/ldc-0.17.5-src/build/dmd-testsuite/runnable/variadic_0 runnable/variadic.d - #Error: integer constant expression expected instead of <cant> - #Error: integer constant expression expected instead of <cant> - #Error: integer constant expression expected instead of <cant> - #Error: integer constant expression expected instead of <cant> - #Error: integer constant expression expected instead of <cant> - #runnable/variadic.d(84): Error: template instance variadic.Foo3!(int, int, int) error instantiating - # - # - #============================== - #Test failed: expected rc == 0, exited with rc == 1 - rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/variadic.d + + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) '' + # http://forum.dlang.org/thread/xtbbqthxutdoyhnxjhxl@forum.dlang.org + rm -r ldc-${version}-src/tests/dynamiccompile + + # https://github.com/NixOS/nixpkgs/issues/34817 + rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall + + # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818 + rm -r ldc-${version}-src/tests/debuginfo/classtypes_gdb.d + rm -r ldc-${version}-src/tests/debuginfo/nested_gdb.d + + rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/test16096.sh + rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/ldc_output_filenames.sh + rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/crlf.sh + rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/issue15574.sh + rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/test6461.sh '' + stdenv.lib.optionalString (!bootstrapVersion) '' - # http://forum.dlang.org/thread/xtbbqthxutdoyhnxjhxl@forum.dlang.org - rm -r ldc-${version}-src/tests/dynamiccompile + echo ${tzdata}/share/zoneinfo/ > ldc-${version}-src/TZDatabaseDirFile - # https://github.com/NixOS/nixpkgs/issues/34817 - rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall + # Remove cppa test for now because it doesn't work. + rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/cppa.d + rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/extra-files/cppb.cpp ''; - ROOT_HOME_DIR = "$(echo ~root)"; - datetimePath = if bootstrapVersion then "phobos/std/datetime.d" else "phobos/std/datetime/timezone.d"; postPatch = '' - substituteInPlace runtime/${datetimePath} \ - --replace "import core.time;" "import core.time;import std.path;" - - substituteInPlace runtime/${datetimePath} \ - --replace "tzName == \"leapseconds\"" "baseName(tzName) == \"leapseconds\"" - + # https://issues.dlang.org/show_bug.cgi?id=15391 substituteInPlace runtime/phobos/std/net/curl.d \ --replace libcurl.so ${curl.out}/lib/libcurl.so - # Ugly hack to fix the hardcoded path to zoneinfo in the source file. - # https://issues.dlang.org/show_bug.cgi?id=15391 - substituteInPlace runtime/${datetimePath} \ - --replace /usr/share/zoneinfo/ ${tzdata}/share/zoneinfo/ - substituteInPlace tests/d2/dmd-testsuite/Makefile \ --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash" '' - + stdenv.lib.optionalString stdenv.hostPlatform.isLinux '' - # See https://github.com/NixOS/nixpkgs/issues/29443 - substituteInPlace runtime/phobos/std/path.d \ - --replace "\"/root" "\"${ROOT_HOME_DIR}" - - # Can be remove with front end version >= 2.078.0 - substituteInPlace runtime/druntime/src/core/memory.d \ - --replace "assert(z is null);" "//assert(z is null);" - '' - + stdenv.lib.optionalString (bootstrapVersion && stdenv.hostPlatform.isDarwin) '' - # https://github.com/ldc-developers/ldc/pull/2306 - # Can be removed on bootstrap version > 0.17.5 - substituteInPlace gen/programs.cpp \ - --replace "gcc" "clang" - # Was not able to compile on darwin due to "__inline_isnanl" # being undefined. substituteInPlace dmd2/root/port.c --replace __inline_isnanl __inline_isnan - '' - - + stdenv.lib.optionalString (!bootstrapVersion) '' - # TODO Can be removed with the next ldc version > 1.7.0 - # https://github.com/ldc-developers/ldc/issues/2493 - substituteInPlace tests/d2/dmd-testsuite/Makefile \ - --replace "# disable tests based on arch" "DISABLED_TESTS += test_cdvecfill" - '' - - + stdenv.lib.optionalString (bootstrapVersion) '' - substituteInPlace runtime/${datetimePath} \ - --replace "import std.traits;" "import std.traits;import std.path;" - - substituteInPlace runtime/${datetimePath} \ - --replace "tzName == \"+VERSION\"" "baseName(tzName) == \"leapseconds\" || tzName == \"+VERSION\"" ''; nativeBuildInputs = [ cmake makeWrapper llvm bootstrapLdc python lit gdb unzip ] @@ -137,17 +91,24 @@ let buildInputs = [ curl tzdata ]; - preConfigure = '' - cmakeFlagsArray=("-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc" - "-DCMAKE_BUILD_TYPE=Release" - "-DCMAKE_SKIP_RPATH=ON" - "-DBUILD_SHARED_LIBS=OFF" - "-DLDC_WITH_LLD=OFF" - # Xcode 9.0.1 fixes that bug according to ldc release notes - "-DRT_ARCHIVE_WITH_LDC=OFF" - ) + #"-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc" + # Xcode 9.0.1 fixes that bug according to ldc release notes + #"-DRT_ARCHIVE_WITH_LDC=OFF" + #"-DD_FLAGS=TZ_DATABASE_DIR=${tzdata}/share/zoneinfo/" + #"-DCMAKE_BUILD_TYPE=Release" + #"-DCMAKE_SKIP_RPATH=ON" + + #-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc + # + cmakeFlagsString = stdenv.lib.optionalString (!bootstrapVersion) '' + "-DD_FLAGS=-d-version=TZDatabaseDir;-J$PWD" ''; + preConfigure = stdenv.lib.optionalString (!bootstrapVersion) '' + cmakeFlagsArray=( + ${cmakeFlagsString} + ) + ''; postConfigure = '' export DMD=$PWD/bin/ldmd2 @@ -155,10 +116,7 @@ let makeFlags = [ "DMD=$DMD" ]; - # Disable tests on Darwin for now because of - # https://github.com/NixOS/nixpkgs/issues/41099 - # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818 - doCheck = !bootstrapVersion && !stdenv.hostPlatform.isDarwin; + doCheck = !bootstrapVersion; checkPhase = '' # Build and run LDC D unittests. @@ -216,15 +174,10 @@ let buildInputs = ldcBuild.buildInputs; preConfigure = '' - cmakeFlagsArray=( "-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc" - "-DCMAKE_BUILD_TYPE=Release" - "-DCMAKE_SKIP_RPATH=ON" - "-DBUILD_SHARED_LIBS=OFF" - "-DLDC_WITH_LLD=OFF" - # Xcode 9.0.1 fixes that bug according to ldc release notes - "-DRT_ARCHIVE_WITH_LDC=OFF" - "-DD_COMPILER=${ldcBuild.out}/bin/ldmd2" - ) + cmakeFlagsArray=( + ${ldcBuild.cmakeFlagsString} + "-DD_COMPILER=${ldcBuild.out}/bin/ldmd2" + ) ''; postConfigure = ldcBuild.postConfigure; diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.5/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/3.5/llvm.nix index 388da007d33d..2645469767ad 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/3.5/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/3.5/llvm.nix @@ -81,12 +81,6 @@ in stdenv.mkDerivation rec { postBuild = '' rm -fR $out - - paxmark m bin/{lli,llvm-rtdyld} - - paxmark m unittests/ExecutionEngine/JIT/JITTests - paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests - paxmark m unittests/Support/SupportTests ''; enableParallelBuilding = true; diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.7/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/3.7/llvm.nix index e540469c6278..a6fd18f94d68 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/3.7/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/3.7/llvm.nix @@ -89,8 +89,6 @@ in stdenv.mkDerivation rec { postBuild = '' rm -fR $out - - paxmark m bin/{lli,llvm-rtdyld} ''; enableParallelBuilding = true; diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.8/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/3.8/llvm.nix index d7324665240f..ca6723172d7a 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/3.8/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/3.8/llvm.nix @@ -97,8 +97,6 @@ in stdenv.mkDerivation rec { postBuild = '' rm -fR $out - - paxmark m bin/{lli,llvm-rtdyld} ''; postInstall = stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix index 9e7fbbe96c35..678ec759425d 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/3.9/llvm.nix @@ -141,8 +141,6 @@ in stdenv.mkDerivation rec { postBuild = '' rm -fR $out - - paxmark m bin/{lli,llvm-rtdyld} ''; postInstall = "" diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/4/lldb.nix index 325149fc19be..0be8a4d41865 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/4/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/4/lldb.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix index 1b186c730c06..aac9c4275ad4 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/4/llvm.nix @@ -53,7 +53,7 @@ in stdenv.mkDerivation (rec { --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' substituteInPlace cmake/modules/AddLLVM.cmake \ - --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir INSTALL_NAME_DIR "$lib/lib")" \ + --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' "" '' # Patch llvm-config to return correct library path based on --link-{shared,static}. @@ -121,12 +121,6 @@ in stdenv.mkDerivation (rec { postBuild = '' rm -fR $out - - paxmark m bin/{lli,llvm-rtdyld} - paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests - paxmark m unittests/ExecutionEngine/Orc/OrcJITTests - paxmark m unittests/Support/SupportTests - paxmark m bin/lli-child-target ''; preCheck = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix index 5e670d4de159..7be9a7e47b74 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/lldb.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix index ae4b27441593..9e181a1202ba 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/5/llvm.nix @@ -42,7 +42,7 @@ in stdenv.mkDerivation (rec { postPatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace cmake/modules/AddLLVM.cmake \ - --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir INSTALL_NAME_DIR "$lib/lib")" \ + --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' "" '' # Patch llvm-config to return correct library path based on --link-{shared,static}. @@ -98,12 +98,6 @@ in stdenv.mkDerivation (rec { postBuild = '' rm -fR $out - - paxmark m bin/{lli,llvm-rtdyld} - paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests - paxmark m unittests/ExecutionEngine/Orc/OrcJITTests - paxmark m unittests/Support/SupportTests - paxmark m bin/lli-child-target ''; preCheck = '' diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix index 9571e7ab5a63..d33de2488350 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/lldb.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix index 787a48416ab7..54617a075734 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/6/llvm.nix @@ -9,18 +9,28 @@ , version , release_version , zlib +, buildPackages +, fetchpatch , debugVersion ? false , enableManpages ? false +# Mesa requires AMDGPU target +, enableTargets ? [ stdenv.hostPlatform stdenv.targetPlatform "AMDGPU" ] , enableSharedLibraries ? true -, enableWasm ? true }: let + inherit (stdenv.lib) optional optionals optionalString; + src = fetch "llvm" "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn"; # Used when creating a version-suffixed symlink of libLLVM.dylib shortVersion = with stdenv.lib; concatStringsSep "." (take 2 (splitString "." release_version)); + + inherit + (import ../common.nix { inherit (stdenv) lib; }) + llvmBackendList; + in stdenv.mkDerivation (rec { name = "llvm-${version}"; @@ -31,22 +41,30 @@ in stdenv.mkDerivation (rec { ''; outputs = [ "out" "python" ] - ++ stdenv.lib.optional enableSharedLibraries "lib"; + ++ optional enableSharedLibraries "lib"; nativeBuildInputs = [ cmake python ] - ++ stdenv.lib.optional enableManpages python.pkgs.sphinx; + ++ optional enableManpages python.pkgs.sphinx; buildInputs = [ libxml2 libffi ]; propagatedBuildInputs = [ ncurses zlib ]; - postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + patches = [ + # fixes tests, included in llvm_7 + (fetchpatch { + url = "https://github.com/llvm-mirror/llvm/commit/737553be0c9c25c497b45a241689994f177d5a5d.patch"; + sha256 = "0hnaxnkx7zy5yg98f1ggv8a9l0r6g19n6ygqsv26masrnlcbccli"; + }) + ]; + + postPatch = optionalString stdenv.isDarwin '' substituteInPlace cmake/modules/AddLLVM.cmake \ - --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir INSTALL_NAME_DIR "$lib/lib")" \ + --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' "" '' # Patch llvm-config to return correct library path based on --link-{shared,static}. - + stdenv.lib.optionalString (enableSharedLibraries) '' + + optionalString (enableSharedLibraries) '' substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib patch -p1 < ./llvm-outputs.patch '' + '' @@ -54,7 +72,7 @@ in stdenv.mkDerivation (rec { substituteInPlace unittests/Support/CMakeLists.txt \ --replace "Path.cpp" "" rm unittests/Support/Path.cpp - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + optionalString stdenv.hostPlatform.isMusl '' patch -p1 -i ${../TLI-musl.patch} substituteInPlace unittests/Support/CMakeLists.txt \ --replace "add_subdirectory(DynamicLibrary)" "" @@ -73,40 +91,31 @@ in stdenv.mkDerivation (rec { "-DLLVM_BUILD_TESTS=ON" "-DLLVM_ENABLE_FFI=ON" "-DLLVM_ENABLE_RTTI=ON" - "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" - + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}" + "-DLLVM_TARGETS_TO_BUILD=${llvmBackendList enableTargets}" + "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" "-DLLVM_ENABLE_DUMP=ON" - ] - ++ stdenv.lib.optional enableSharedLibraries + ] ++ optionals enableSharedLibraries [ "-DLLVM_LINK_LLVM_DYLIB=ON" - ++ stdenv.lib.optionals enableManpages [ + ] ++ optionals enableManpages [ "-DLLVM_BUILD_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] - ++ stdenv.lib.optional (!isDarwin) + ] ++ optionals (!isDarwin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" - ++ stdenv.lib.optionals (isDarwin) [ + ] ++ optionals (isDarwin) [ "-DLLVM_ENABLE_LIBCXX=ON" "-DCAN_TARGET_i386=false" - ] - ++ stdenv.lib.optional enableWasm - "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" - ; + ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DCMAKE_CROSSCOMPILING=True" + "-DLLVM_TABLEGEN=${buildPackages.llvm_6}/bin/llvm-tblgen" + ]; postBuild = '' rm -fR $out - - paxmark m bin/{lli,llvm-rtdyld} - paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests - paxmark m unittests/ExecutionEngine/Orc/OrcJITTests - paxmark m unittests/Support/SupportTests - paxmark m bin/lli-child-target ''; preCheck = '' @@ -117,13 +126,13 @@ in stdenv.mkDerivation (rec { mkdir -p $python/share mv $out/share/opt-viewer $python/share/opt-viewer '' - + stdenv.lib.optionalString enableSharedLibraries '' + + optionalString enableSharedLibraries '' moveToOutput "lib/libLLVM-*" "$lib" moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-" '' - + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' + + optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix index e1f4eb303603..a307978f59a5 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/clang/default.nix @@ -9,7 +9,7 @@ let name = "clang-${version}"; unpackPhase = '' - unpackFile ${fetch "cfe" "0mdsbgj3p7mayhzm8hclzl3i46r2lwa8fr1cz399f9km3iqi40jm"} + unpackFile ${fetch "cfe" "067lwggnbg0w1dfrps790r5l6k8n5zwhlsw7zb6zvmfpwpfn4nx4"} mv cfe-${version}* clang sourceRoot=$PWD/clang unpackFile ${clang-tools-extra_src} diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix index ec739d22dd7a..25c38db470d9 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt.nix @@ -3,7 +3,7 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "compiler-rt-${version}"; inherit version; - src = fetch "compiler-rt" "1mkhqvs8cxbfmprkzwyq7lmnzr1sv45znzf0arbgb19crzipzv5x"; + src = fetch "compiler-rt" "065ybd8fsc4h2hikbdyricj6pyv4r7r7kpcikhb2y5zf370xybkq"; nativeBuildInputs = [ cmake python llvm ]; buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi; diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/default.nix index 5446f1b362a9..47c6e9e383f3 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/default.nix @@ -5,7 +5,7 @@ }: let - release_version = "7.0.0"; + release_version = "7.0.1"; version = release_version; # differentiating these is important for rc's fetch = name: sha256: fetchurl { @@ -13,7 +13,7 @@ let inherit sha256; }; - clang-tools-extra_src = fetch "clang-tools-extra" "1glxl7bnr4k3j16s8xy8r9cl0llyg524f50591g1ig23ij65lz4k"; + clang-tools-extra_src = fetch "clang-tools-extra" "1v9vc7id1761qm7mywlknsp810232iwyz8rd4y5km4h7pg9cg4sc"; tools = stdenv.lib.makeExtensible (tools: let callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; }); diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix index f3b2f4df6cc6..8a13f3eb5903 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/libc++/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "libc++-${version}"; - src = fetch "libcxx" "1w1l472p03csgz76p70pn9yk7h0nw5hj1av44ysnakigp8jjcd4v"; + src = fetch "libcxx" "1wdrxg365ig0kngx52pd0n820sncp24blb0zpalc579iidhh4002"; postUnpack = '' unpackFile ${libcxxabi.src} diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix index 04062b83f50e..b65b75b36886 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/libc++abi.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "libc++abi-${version}"; - src = fetch "libcxxabi" "0pr4xfx61r5mwmvhg4j9pb6df6vvha1gyf6rwkm14x9rzxcwficv"; + src = fetch "libcxxabi" "1n6yx0949l9bprh75dffchahn8wplkm79ffk4f2ap9vw2lx90s41"; nativeBuildInputs = [ cmake ]; buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix b/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix index f6ce768d6484..33085eb3c808 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/lld.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { name = "lld-${version}"; - src = fetch "lld" "173z50vx5mlsaiqmbz7asxy2297z4xivrfxrdfncvx23wp2lgkzv"; + src = fetch "lld" "0ca0qygrk87lhjk6cpv1wbmdfnficqqjsda3k7b013idvnralsc8"; nativeBuildInputs = [ cmake ]; buildInputs = [ llvm libxml2 ]; diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix b/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix index 6c3f0699978f..14cc0514fe6d 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/lldb.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { name = "lldb-${version}"; - src = fetch "lldb" "0cmah36ybyfws0z2ikq9fqn5k4kvjci7vgk97ddx4xwrwkzdixkz"; + src = fetch "lldb" "10k9lyk3i72j9hca523r9pz79qp7d8q7jqnjy0i3saj1bgknpd3n"; postPatch = '' # Fix up various paths that assume llvm and clang are installed in the same place @@ -31,7 +31,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake python which swig ]; buildInputs = [ ncurses zlib libedit libxml2 llvm ] - ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ]; + ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ]; CXXFLAGS = "-fno-rtti"; hardeningDisable = [ "format" ]; diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix b/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix index 67bde813feed..bff89812cae8 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/llvm.nix @@ -10,19 +10,27 @@ , version , release_version , zlib +, buildPackages , debugVersion ? false , enableManpages ? false , enableSharedLibraries ? true -, enableWasm ? true +# Mesa requires AMDGPU target +, enableTargets ? [ stdenv.hostPlatform stdenv.targetPlatform "AMDGPU" ] , enablePFM ? !stdenv.isDarwin }: let - src = fetch "llvm" "08p27wv1pr9ql2zc3f3qkkymci46q7myvh8r5ijippnbwr2gihcb"; + inherit (stdenv.lib) optional optionals optionalString; + + src = fetch "llvm" "16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3"; # Used when creating a version-suffixed symlink of libLLVM.dylib shortVersion = with stdenv.lib; concatStringsSep "." (take 1 (splitString "." release_version)); + + inherit + (import ../common.nix { inherit (stdenv) lib; }) + llvmBackendList; in stdenv.mkDerivation (rec { name = "llvm-${version}"; @@ -33,23 +41,23 @@ in stdenv.mkDerivation (rec { ''; outputs = [ "out" "python" ] - ++ stdenv.lib.optional enableSharedLibraries "lib"; + ++ optional enableSharedLibraries "lib"; nativeBuildInputs = [ cmake python ] - ++ stdenv.lib.optional enableManpages python.pkgs.sphinx; + ++ optional enableManpages python.pkgs.sphinx; buildInputs = [ libxml2 libffi ] - ++ stdenv.lib.optional enablePFM libpfm; # exegesis + ++ optional enablePFM libpfm; # exegesis propagatedBuildInputs = [ ncurses zlib ]; - postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + postPatch = optionalString stdenv.isDarwin '' substituteInPlace cmake/modules/AddLLVM.cmake \ - --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir INSTALL_NAME_DIR "$lib/lib")" \ + --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ --replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' "" '' # Patch llvm-config to return correct library path based on --link-{shared,static}. - + stdenv.lib.optionalString (enableSharedLibraries) '' + + optionalString (enableSharedLibraries) '' substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib patch -p1 < ./llvm-outputs.patch '' + '' @@ -57,7 +65,7 @@ in stdenv.mkDerivation (rec { substituteInPlace unittests/Support/CMakeLists.txt \ --replace "Path.cpp" "" rm unittests/Support/Path.cpp - '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + '' + optionalString stdenv.hostPlatform.isMusl '' patch -p1 -i ${../TLI-musl.patch} substituteInPlace unittests/Support/CMakeLists.txt \ --replace "add_subdirectory(DynamicLibrary)" "" @@ -78,40 +86,31 @@ in stdenv.mkDerivation (rec { "-DLLVM_BUILD_TESTS=ON" "-DLLVM_ENABLE_FFI=ON" "-DLLVM_ENABLE_RTTI=ON" - "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" - + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}" + "-DLLVM_TARGETS_TO_BUILD=${llvmBackendList enableTargets}" + "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" "-DLLVM_ENABLE_DUMP=ON" - ] - ++ stdenv.lib.optional enableSharedLibraries + ] ++ optionals enableSharedLibraries [ "-DLLVM_LINK_LLVM_DYLIB=ON" - ++ stdenv.lib.optionals enableManpages [ + ] ++ optionals enableManpages [ "-DLLVM_BUILD_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] - ++ stdenv.lib.optional (!isDarwin) + ] ++ optionals (!isDarwin) [ "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" - ++ stdenv.lib.optionals (isDarwin) [ + ] ++ optionals (isDarwin) [ "-DLLVM_ENABLE_LIBCXX=ON" "-DCAN_TARGET_i386=false" - ] - ++ stdenv.lib.optional enableWasm - "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" - ; + ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DCMAKE_CROSSCOMPILING=True" + "-DLLVM_TABLEGEN=${buildPackages.llvm_7}/bin/llvm-tblgen" + ]; postBuild = '' rm -fR $out - - paxmark m bin/{lli,llvm-rtdyld} - paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests - paxmark m unittests/ExecutionEngine/Orc/OrcJITTests - paxmark m unittests/Support/SupportTests - paxmark m bin/lli-child-target ''; preCheck = '' @@ -122,13 +121,13 @@ in stdenv.mkDerivation (rec { mkdir -p $python/share mv $out/share/opt-viewer $python/share/opt-viewer '' - + stdenv.lib.optionalString enableSharedLibraries '' + + optionalString enableSharedLibraries '' moveToOutput "lib/libLLVM-*" "$lib" moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-" '' - + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' + + optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib diff --git a/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix b/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix index 31059b7c4c04..fb856eaa51fd 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/7/openmp.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { name = "openmp-${version}"; - src = fetch "openmp" "1zrqlaxr954sp8lcr7g8m0z0pr8xyq4i6p11x6gcamjm5xijnrih"; + src = fetch "openmp" "030dkg5cypd7j9hq0mcqb5gs31lxwmzfq52j81l7v9ldcy5bf5mz"; nativeBuildInputs = [ cmake perl ]; buildInputs = [ llvm ]; diff --git a/nixpkgs/pkgs/development/compilers/llvm/common.nix b/nixpkgs/pkgs/development/compilers/llvm/common.nix new file mode 100644 index 000000000000..df0cd29ad5b7 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/llvm/common.nix @@ -0,0 +1,22 @@ +{ lib }: + +rec { + llvmBackend = platform: + if builtins.typeOf platform == "string" then + platform + else if platform.parsed.cpu.family == "x86" then + "X86" + else if platform.parsed.cpu.name == "aarch64" then + "AArch64" + else if platform.parsed.cpu.family == "arm" then + "ARM" + else if platform.parsed.cpu.family == "mips" then + "Mips" + else if platform.parsed.cpu.family == "power" then + "PowerPC" + else + throw "Unsupported system"; + + llvmBackendList = platforms: + lib.concatStringsSep ";" (map llvmBackend platforms); +} diff --git a/nixpkgs/pkgs/development/compilers/nasm/default.nix b/nixpkgs/pkgs/development/compilers/nasm/default.nix index 271d26eda1c0..8709c7186491 100644 --- a/nixpkgs/pkgs/development/compilers/nasm/default.nix +++ b/nixpkgs/pkgs/development/compilers/nasm/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "nasm-${version}"; - version = "2.14"; + version = "2.14.02"; src = fetchurl { url = "https://www.nasm.us/pub/nasm/releasebuilds/${version}/${name}.tar.bz2"; - sha256 = "0i678zbm1ljn5jwia7gj1n503izwvzlh55xzm4i0qgfmr8kzsg6l"; + sha256 = "1g409sr1kj7v1089s9kv0i4azvddkcwcypnbakfryyi71b3jdz9l"; }; nativeBuildInputs = [ perl ]; diff --git a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix index d6dd0601e624..156657d61d6b 100644 --- a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix +++ b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix @@ -1,29 +1,66 @@ -{ stdenv, fetchFromGitHub, cmake -, icestorm, python3, boost, qtbase +{ stdenv, fetchFromGitHub, cmake, makeWrapper +, boost, python3 +, icestorm, trellis + +# TODO(thoughtpolice) Currently the GUI build seems broken at runtime on my +# laptop (and over a remote X server on my server...), so mark it broken for +# now, with intent to fix later. +, enableGui ? false +, qtbase }: let boostPython = boost.override { python = python3; enablePython = true; }; + + # This is a massive hack. For now, Trellis doesn't really support + # installation through an already-built package; you have to build it once to + # get the tools, then reuse the build directory to build nextpnr -- the + # 'install' phase doesn't install everything it needs. This will be fixed in + # the future but for now we can do this horrific thing. + trellisRoot = trellis.overrideAttrs (_: { + installPhase = '' + mkdir -p $out + cp *.so .. + cd ../../.. && cp -R trellis database $out/ + ''; + }); in stdenv.mkDerivation rec { name = "nextpnr-${version}"; - version = "2018.10.17"; + version = "2019.01.08"; src = fetchFromGitHub { owner = "yosyshq"; repo = "nextpnr"; - rev = "529a595157a2eef24f8529b0de0c504a40ed503b"; - sha256 = "06yp89rpvb2s4zc1qkbcp76kqwkk9s8j2ckblqw547dy5ah2cl7h"; + rev = "c1d15c749c2aa105ee7b38ebe1b60a27e3743e8c"; + sha256 = "082ac03s6164s7dwz1l9phshl8m1lizn45jykabrhks5jcccchbh"; }; - nativeBuildInputs = [ cmake ]; - buildInputs = [ boostPython python3 qtbase ]; + nativeBuildInputs = [ cmake makeWrapper ]; + buildInputs + = [ boostPython python3 ] + ++ (stdenv.lib.optional enableGui qtbase); enableParallelBuilding = true; cmakeFlags = - [ "-DARCH=generic;ice40" + [ "-DARCH=generic;ice40;ecp5" "-DICEBOX_ROOT=${icestorm}/share/icebox" - ]; + "-DTRELLIS_ROOT=${trellisRoot}/trellis" + ] ++ (stdenv.lib.optional (!enableGui) "-DBUILD_GUI=OFF"); + + # Fix the version number. This is a bit stupid (and fragile) in practice + # but works ok. We should probably make this overrideable upstream. + patchPhase = with builtins; '' + substituteInPlace ./CMakeLists.txt \ + --replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}' + ''; + + postInstall = stdenv.lib.optionalString enableGui '' + for x in generic ice40 ecp5; do + wrapProgram $out/bin/nextpnr-$x \ + --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtbase.qtCompatVersion}/plugins + done + ''; meta = with stdenv.lib; { description = "Place and route tool for FPGAs"; @@ -31,5 +68,7 @@ stdenv.mkDerivation rec { license = licenses.isc; platforms = platforms.linux; maintainers = with maintainers; [ thoughtpolice ]; + + broken = enableGui; }; } diff --git a/nixpkgs/pkgs/development/compilers/ocaml/ber-metaocaml.nix b/nixpkgs/pkgs/development/compilers/ocaml/ber-metaocaml.nix index 999b2ebd6f67..a933151de12a 100644 --- a/nixpkgs/pkgs/development/compilers/ocaml/ber-metaocaml.nix +++ b/nixpkgs/pkgs/development/compilers/ocaml/ber-metaocaml.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl , ncurses -, libX11, xproto, buildEnv +, libX11, xorgproto, buildEnv }: let useX11 = stdenv.isi686 || stdenv.isx86_64; - x11deps = [ libX11 xproto ]; + x11deps = [ libX11 xorgproto ]; inherit (stdenv.lib) optionals; baseOcamlBranch = "4.07"; diff --git a/nixpkgs/pkgs/development/compilers/ocaml/generic.nix b/nixpkgs/pkgs/development/compilers/ocaml/generic.nix index d1ee43c9152e..7ada5b804e35 100644 --- a/nixpkgs/pkgs/development/compilers/ocaml/generic.nix +++ b/nixpkgs/pkgs/development/compilers/ocaml/generic.nix @@ -11,7 +11,7 @@ let in { stdenv, fetchurl, ncurses, buildEnv -, libX11, xproto, useX11 ? safeX11 stdenv +, libX11, xorgproto, useX11 ? safeX11 stdenv , flambdaSupport ? false }: @@ -25,7 +25,7 @@ let in let - x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; }; + x11env = buildEnv { name = "x11env"; paths = [libX11 xorgproto]; }; x11lib = x11env + "/lib"; x11inc = x11env + "/include"; in @@ -48,7 +48,7 @@ stdenv.mkDerivation (args // rec { buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt"; buildInputs = optional (!stdenv.lib.versionAtLeast version "4.07") ncurses - ++ optionals useX11 [ libX11 xproto ]; + ++ optionals useX11 [ libX11 xorgproto ]; installTargets = "install" + optionalString useNativeCompilers " installopt"; preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") '' CAT=$(type -tp cat) diff --git a/nixpkgs/pkgs/development/compilers/openjdk/11.nix b/nixpkgs/pkgs/development/compilers/openjdk/11.nix index 42208ecf8d95..a389f0f5ca1a 100644 --- a/nixpkgs/pkgs/development/compilers/openjdk/11.nix +++ b/nixpkgs/pkgs/development/compilers/openjdk/11.nix @@ -21,7 +21,6 @@ let update = ".0.1"; build = "13"; repover = "jdk-${major}${update}+${build}"; - paxflags = if stdenv.isi686 then "msp" else "m"; openjdk = stdenv.mkDerivation { name = "openjdk-${major}${update}-b${build}"; @@ -106,14 +105,6 @@ let rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so ''} - # Set PaX markings - exes=$(file $out/lib/openjdk/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//') - echo "to mark: *$exes*" - for file in $exes; do - echo "marking *$file*" - paxmark ${paxflags} "$file" - done - ln -s $out/lib/openjdk/bin $out/bin ''; diff --git a/nixpkgs/pkgs/development/compilers/openjdk/8.nix b/nixpkgs/pkgs/development/compilers/openjdk/8.nix index d26627ff5b9c..35575f1052e3 100644 --- a/nixpkgs/pkgs/development/compilers/openjdk/8.nix +++ b/nixpkgs/pkgs/development/compilers/openjdk/8.nix @@ -21,42 +21,41 @@ let else throw "openjdk requires i686-linux or x86_64 linux"; - update = "192"; - build = "26"; + update = "202"; + build = "ga"; baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u"; - repover = "jdk8u${update}-b${build}"; - paxflags = if stdenv.isi686 then "msp" else "m"; + repover = "jdk8u${update}-${build}"; jdk8 = fetchurl { url = "${baseurl}/archive/${repover}.tar.gz"; - sha256 = "1hx5sfsglc101aqs9n7cz7rh447d6rxfxkbw03crvzbvy9n6ag2d"; + sha256 = "0asx7qkhmrlfmhrljck5gb3yp4v0aa8k35y4xfcph41x0m0mvrdb"; }; langtools = fetchurl { url = "${baseurl}/langtools/archive/${repover}.tar.gz"; - sha256 = "0vq6nlzs85agjkilpr53v7kjrd99kq770zipqghjmlfzyiy9xk4q"; + sha256 = "07q6l3slmi5fgwjnsk6bd8miv8glmw15w5f6yyvp8nlp2d54l33n"; }; hotspot = fetchurl { url = "${baseurl}/hotspot/archive/${repover}.tar.gz"; - sha256 = "0q5z2glfiip0lsisp1zy1zcw91hi1kznphm7w3iagq8s7550wbvh"; + sha256 = "01k4pwhn3nmkzdhdj1v58dgir4iwsj9mm2ml1541z31s53g037cq"; }; corba = fetchurl { url = "${baseurl}/corba/archive/${repover}.tar.gz"; - sha256 = "1mgg82066c9wjsj9ciqv4lrn1av5cb86hq00lkpsffdqbwx3vrm3"; + sha256 = "0v39kl2iiyh74p3cp6bjhshkwxpgbffza9abzjgp7cpdfhcc73p0"; }; jdk = fetchurl { url = "${baseurl}/jdk/archive/${repover}.tar.gz"; - sha256 = "1s87a49hl4h21kf2yh1w67wgb179j0f5v62cxbrvvd5lk2h5jyvf"; + sha256 = "0z1cy6aq09j25jyryj47rms15h5175p2h23fg5pv035zapf8nb1b"; }; jaxws = fetchurl { url = "${baseurl}/jaxws/archive/${repover}.tar.gz"; - sha256 = "05alcixcxcdms373byh21d2brsky6kj14b3h80cs9bi1gfnbqilq"; + sha256 = "0y0mk4sra9d29kgx842m5y4bz9gczc9ypkajv6m5igjv7sizzsv7"; }; jaxp = fetchurl { url = "${baseurl}/jaxp/archive/${repover}.tar.gz"; - sha256 = "1r3fqnl5jqmxzsjqjrka35f8hwqqap9jg8zwqk2vv9qikrm7frhl"; + sha256 = "07ssrjhffkdncxxhsbid21hlg51y7js3x7sb4g474vmmi3qj6vmb"; }; nashorn = fetchurl { url = "${baseurl}/nashorn/archive/${repover}.tar.gz"; - sha256 = "0lzwi35lp4a477jkmfa53kxy3g9lzcmh56wprg805gbv4sjnkjk1"; + sha256 = "0r0b8ra0ibzbdpxz6nv6i2zrzh2j5sxgprpnl6gf4d9h0i29ickj"; }; openjdk8 = stdenv.mkDerivation { name = "openjdk-8u${update}b${build}"; @@ -176,14 +175,6 @@ let rm -rf $out/lib/openjdk/jre/lib/cmm ln -s {$jre,$out}/lib/openjdk/jre/lib/cmm - # Set PaX markings - exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//') - echo "to mark: *$exes*" - for file in $exes; do - echo "marking *$file*" - paxmark ${paxflags} "$file" - done - # Remove duplicate binaries. for i in $(cd $out/lib/openjdk/bin && echo *); do if [ "$i" = java ]; then continue; fi diff --git a/nixpkgs/pkgs/development/compilers/openjdk/bootstrap.nix b/nixpkgs/pkgs/development/compilers/openjdk/bootstrap.nix index 1b20ca6cc606..e58888cc9ed8 100644 --- a/nixpkgs/pkgs/development/compilers/openjdk/bootstrap.nix +++ b/nixpkgs/pkgs/development/compilers/openjdk/bootstrap.nix @@ -36,13 +36,5 @@ let patchelf --set-interpreter $(cat "${stdenv.cc}/nix-support/dynamic-linker") "$elf" || true patchelf --set-rpath "${stdenv.cc.libc}/lib:${stdenv.cc.cc.lib}/lib:${zlib}/lib:$LIBDIRS" "$elf" || true done - - # Temporarily, while NixOS's OpenJDK bootstrap tarball doesn't have PaX markings: - find "$out/bin" -type f -print0 | while IFS= read -r -d "" elf; do - isELF "$elf" || continue - paxmark m "$elf" - # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well. - ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$elf"''} - done ''; in bootstrap diff --git a/nixpkgs/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/nixpkgs/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix index 5d55e0554e55..4d88f3b97729 100644 --- a/nixpkgs/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix +++ b/nixpkgs/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix @@ -1,15 +1,15 @@ { productVersion , patchVersion -, downloadUrl +, buildVersion , sha256 , jceName -, jceDownloadUrl +, releaseToken , sha256JCE }: { swingSupport ? true , stdenv -, requireFile +, fetchurl , makeWrapper , unzip , file @@ -17,6 +17,7 @@ , installjdk ? true , pluginSupport ? true , installjce ? false +, licenseAccepted ? false , glib , libxml2 , libav_0_8 @@ -36,6 +37,13 @@ assert swingSupport -> xorg != null; +if !licenseAccepted then throw '' + You must accept the Oracle Binary Code License Agreement for Java SE at + https://www.oracle.com/technetwork/java/javase/terms/license/index.html + by setting nixpkgs config option 'oraclejdk.accept_license = true;' + '' +else assert licenseAccepted; + let /** @@ -50,10 +58,10 @@ let jce = if installjce then - requireFile { - name = jceName; - url = jceDownloadUrl; + fetchurl { + url = "http://download.oracle.com/otn-pub/java/jce/${productVersion}/${jceName}"; sha256 = sha256JCE; + curlOpts = "-b oraclelicense=a"; } else ""; @@ -67,19 +75,23 @@ let in +assert sha256 ? ${stdenv.hostPlatform.system}; + let result = stdenv.mkDerivation rec { name = if installjdk then "oraclejdk-${productVersion}u${patchVersion}" else "oraclejre-${productVersion}u${patchVersion}"; - src = requireFile { - name = { - i686-linux = "jdk-${productVersion}u${patchVersion}-linux-i586.tar.gz"; - x86_64-linux = "jdk-${productVersion}u${patchVersion}-linux-x64.tar.gz"; - armv7l-linux = "jdk-${productVersion}u${patchVersion}-linux-arm32-vfp-hflt.tar.gz"; - aarch64-linux = "jdk-${productVersion}u${patchVersion}-linux-arm64-vfp-hflt.tar.gz"; + src = let + platformName = { + i686-linux = "linux-i586"; + x86_64-linux = "linux-x64"; + armv7l-linux = "linux-arm32-vfp-hflt"; + aarch64-linux = "linux-arm64-vfp-hflt"; }.${stdenv.hostPlatform.system}; - url = downloadUrl; - sha256 = sha256.${stdenv.hostPlatform.system}; + in fetchurl { + url = "http://download.oracle.com/otn-pub/java/jdk/${productVersion}u${patchVersion}-b${buildVersion}/${releaseToken}/jdk-${productVersion}u${patchVersion}-${platformName}.tar.gz"; + curlOpts = "-b oraclelicense=a"; + sha256 = sha256.${stdenv.hostPlatform.system}; }; nativeBuildInputs = [ file ] @@ -93,14 +105,6 @@ let result = stdenv.mkDerivation rec { installPhase = '' cd .. - # Set PaX markings - exes=$(file $sourceRoot/bin/* $sourceRoot/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//') - for file in $exes; do - paxmark m "$file" || true - # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well. - ${stdenv.lib.optionalString stdenv.isi686 ''paxmark msp "$file"''} - done - if test -z "$installjdk"; then mv $sourceRoot/jre $out else @@ -195,4 +199,4 @@ let result = stdenv.mkDerivation rec { platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" "aarch64-linux" ]; # some inherit jre.meta.platforms }; -}; in result +}; in stdenv.lib.trivial.warn "Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial or production use without a commercial license. See https://java.com/en/download/release_notice.jsp for more information." result diff --git a/nixpkgs/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/nixpkgs/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix index 48304b6af264..81f4ef3c7dba 100644 --- a/nixpkgs/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix +++ b/nixpkgs/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix @@ -1,12 +1,14 @@ +# http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; +# jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "191"; - downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; - sha256.i686-linux = "1dmnv3x28l0rdi92gpmcp38gpy3lf4pl441bijvjhi7j97kk60v4"; - sha256.x86_64-linux = "0r8dvb0hahfybvf9wiv7904rn22n93bfc9x6pgypynj0w83rbhjk"; - sha256.armv7l-linux = "0wgdr9ainzc2yc5qp6ncflnsdygpgrmv2af522djkc83skp5g70v"; - sha256.aarch64-linux = "1rgwf0i9ikcjqbxkvr4x94y62m1kklfdhgqscxil479d5mg6akqz"; + patchVersion = "201"; + buildVersion = "09"; + sha256.i686-linux = "1f9n93zmkggchaxkchp4bqasvxznn96zjci34f52h7v392jkzqac"; + sha256.x86_64-linux = "0w730v2q0iaxf2lprabwmy7129byrs0hhdbwas575p1xmk00qw6b"; + sha256.armv7l-linux = "0y6bvq93lsf21v6ca536dpfhkk5ljsj7c6di0qzkban37bivj0si"; + sha256.aarch64-linux = "1bybysgg9llqzllsmdszmmb73v5az2l1shxn6lxwv3wwiazpf47q"; + releaseToken = "42970487e3af4f5aa5bca3f542482c60"; jceName = "jce_policy-8.zip"; - jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; } diff --git a/nixpkgs/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/nixpkgs/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix index 48304b6af264..0263bdde8d28 100644 --- a/nixpkgs/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix +++ b/nixpkgs/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix @@ -1,12 +1,14 @@ +# http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; +# jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; import ./jdk-linux-base.nix { productVersion = "8"; - patchVersion = "191"; - downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; - sha256.i686-linux = "1dmnv3x28l0rdi92gpmcp38gpy3lf4pl441bijvjhi7j97kk60v4"; - sha256.x86_64-linux = "0r8dvb0hahfybvf9wiv7904rn22n93bfc9x6pgypynj0w83rbhjk"; - sha256.armv7l-linux = "0wgdr9ainzc2yc5qp6ncflnsdygpgrmv2af522djkc83skp5g70v"; - sha256.aarch64-linux = "1rgwf0i9ikcjqbxkvr4x94y62m1kklfdhgqscxil479d5mg6akqz"; + patchVersion = "202"; + buildVersion = "09"; + sha256.i686-linux = "19np392dwdqdq39lmm10607w2h042lrm5953fnsfh1bb9jli1pgj"; + sha256.x86_64-linux = "1q4l8pymjvsvxfwaw0rdcnhryh1la2bvg5f4d4my41ka390k4p4s"; + sha256.armv7l-linux = "06aljl7dqmmhmp7xswgvkcgh9mam71wnqydg9yb3hkcc443cm581"; + sha256.aarch64-linux = "12v9ndv7a2c9zqq6ai2vsgwad0lzmf4c6jxy4p9miapmhjzx5vii"; + releaseToken = "42970487e3af4f5aa5bca3f542482c60"; jceName = "jce_policy-8.zip"; - jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; } diff --git a/nixpkgs/pkgs/development/compilers/osl/default.nix b/nixpkgs/pkgs/development/compilers/osl/default.nix index 7a4928d2662c..ddfd5d0a3fdf 100644 --- a/nixpkgs/pkgs/development/compilers/osl/default.nix +++ b/nixpkgs/pkgs/development/compilers/osl/default.nix @@ -8,13 +8,13 @@ in clangStdenv.mkDerivation rec { # In theory this could use GCC + Clang rather than just Clang, # but https://github.com/NixOS/nixpkgs/issues/29877 stops this name = "openshadinglanguage-${version}"; - version = "1.9.10"; + version = "1.10.2"; src = fetchFromGitHub { owner = "imageworks"; repo = "OpenShadingLanguage"; - rev = "Release-1.9.10"; - sha256 = "1iaw3pgh0h53gxk3bl148n1lfr54cx2yv0gnx2rjp2m5599acbz4"; + rev = "Release-1.10.2"; + sha256 = "1549hav5nd67a3cmhbalyaqhs39dh7w0nilf91pypnadrl1g03k7"; }; cmakeFlags = [ "-DUSE_BOOST_WAVE=ON" "-DENABLERTTI=ON" ]; diff --git a/nixpkgs/pkgs/development/compilers/ponyc/default.nix b/nixpkgs/pkgs/development/compilers/ponyc/default.nix index d90ddcaacfb0..fbb4db72bd45 100644 --- a/nixpkgs/pkgs/development/compilers/ponyc/default.nix +++ b/nixpkgs/pkgs/development/compilers/ponyc/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation ( rec { name = "ponyc-${version}"; - version = "0.25.0"; + version = "0.26.0"; src = fetchFromGitHub { owner = "ponylang"; repo = "ponyc"; rev = version; - sha256 = "0ghmjp03q7k58yzfkvnl05xc2i2gmgnzpj3hs6g7ls4ny8n3i6hv"; + sha256 = "1k1ysqk7j8kpysndps2ic9hprvp0z0d32d6jvqlapjrfccghy7dh"; }; buildInputs = [ llvm makeWrapper which ]; diff --git a/nixpkgs/pkgs/development/compilers/purescript/psc-package/default.nix b/nixpkgs/pkgs/development/compilers/purescript/psc-package/default.nix index 24043ce47740..68b676d5a3ef 100644 --- a/nixpkgs/pkgs/development/compilers/purescript/psc-package/default.nix +++ b/nixpkgs/pkgs/development/compilers/purescript/psc-package/default.nix @@ -4,13 +4,13 @@ with lib; mkDerivation rec { pname = "psc-package"; - version = "0.4.2"; + version = "0.5.1"; src = fetchFromGitHub { owner = "purescript"; repo = pname; rev = "v${version}"; - sha256 = "0xvnmpfj4c6h4gmc2c3d4gcs44527jrgfl11l2fs4ai1mc69w5zg"; + sha256 = "1zadbph1vha3b5hvmjvs138dcwbab49f3v63air1l6r4cvpb6831"; }; isLibrary = false; diff --git a/nixpkgs/pkgs/development/compilers/rust/binaryBuild.nix b/nixpkgs/pkgs/development/compilers/rust/binaryBuild.nix index 488d43a6fea4..77dba7f9e620 100644 --- a/nixpkgs/pkgs/development/compilers/rust/binaryBuild.nix +++ b/nixpkgs/pkgs/development/compilers/rust/binaryBuild.nix @@ -1,4 +1,4 @@ -{ stdenv, makeWrapper, bash, buildRustPackage, curl, darwin +{ stdenv, makeWrapper, bash, curl, darwin , version , src , platform @@ -18,8 +18,6 @@ let in rec { - inherit buildRustPackage; - rustc = stdenv.mkDerivation rec { name = "rustc-${versionType}-${version}"; diff --git a/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix b/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix index f0413f194135..9528d798618f 100644 --- a/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix +++ b/nixpkgs/pkgs/development/compilers/rust/bootstrap.nix @@ -37,6 +37,5 @@ let in callPackage ./binaryBuild.nix { inherit version src platform; - buildRustPackage = null; versionType = "bootstrap"; } diff --git a/nixpkgs/pkgs/development/compilers/rust/rustc.nix b/nixpkgs/pkgs/development/compilers/rust/rustc.nix index 3ec08a82d017..c6350e42bc23 100644 --- a/nixpkgs/pkgs/development/compilers/rust/rustc.nix +++ b/nixpkgs/pkgs/development/compilers/rust/rustc.nix @@ -166,10 +166,12 @@ stdenv.mkDerivation { # https://github.com/rust-lang/rust/issues/30181 # enableParallelBuilding = false; + requiredSystemFeatures = [ "big-parallel" ]; + meta = with stdenv.lib; { homepage = https://www.rust-lang.org/; description = "A safe, concurrent, practical language"; - maintainers = with maintainers; [ madjar cstrahan wizeman globin havvy wkennington ]; + maintainers = with maintainers; [ madjar cstrahan wizeman globin havvy ]; license = [ licenses.mit licenses.asl20 ]; platforms = platforms.linux ++ platforms.darwin; broken = broken; diff --git a/nixpkgs/pkgs/development/compilers/sbcl/default.nix b/nixpkgs/pkgs/development/compilers/sbcl/default.nix index 1ef6dd065705..80ca6ade8453 100644 --- a/nixpkgs/pkgs/development/compilers/sbcl/default.nix +++ b/nixpkgs/pkgs/development/compilers/sbcl/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { name = "sbcl-${version}"; - version = "1.4.13"; + version = "1.4.16"; src = fetchurl { url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; - sha256 = "120rnnz8367lk7ljqlf8xidm4b0d738xqsib4kq0q5ms5r7fzgvm"; + sha256 = "1myg4wkxnbfn5nz38xy62r1jhjy07x3h0b04vg858n41chdsv4wd"; }; buildInputs = [texinfo]; @@ -68,7 +68,8 @@ stdenv.mkDerivation rec { else # Fix software version retrieval '' - sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp + sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \ + src/code/run-program.lisp '' ); diff --git a/nixpkgs/pkgs/development/compilers/shaderc/default.nix b/nixpkgs/pkgs/development/compilers/shaderc/default.nix index 1176d348d9d3..7ce7f9cefe51 100644 --- a/nixpkgs/pkgs/development/compilers/shaderc/default.nix +++ b/nixpkgs/pkgs/development/compilers/shaderc/default.nix @@ -8,30 +8,32 @@ let glslang = fetchFromGitHub { owner = "KhronosGroup"; repo = "glslang"; - rev = "32d3ec319909fcad0b2b308fe1635198773e8316"; - sha256 = "1kmgjv5kbrjy6azpgwnjcn3cj8vg5i8hnyk3m969sc0gq2j1rbjj"; + rev = "712cd6618df2c77e126d68042ad7a81a69ee4a6f"; + sha256 = "0wncdj6q1hn40lc7cnz97mx5qjvb8p13mhxilnncgcmf0crsvblz"; }; spirv-tools = fetchFromGitHub { owner = "KhronosGroup"; repo = "SPIRV-Tools"; - rev = "fe2fbee294a8ad4434f828a8b4d99eafe9aac88c"; - sha256 = "03rq4ypwqnz34n8ip85n95a3b9rxb34j26azzm3b3invaqchv19x"; + rev = "df5bd2d05ac1fd3ec3024439f885ec21cc949b22"; + sha256 = "0l8ds4nn2qcfi8535ai8891i3547x35hscs2jxwwq6qjgw1sgkax"; }; spirv-headers = fetchFromGitHub { owner = "KhronosGroup"; repo = "SPIRV-Headers"; - rev = "3ce3e49d73b8abbf2ffe33f829f941fb2a40f552"; - sha256 = "0yk4bzqifdqpmdxkhvrxbdqhf5ngkga0ig1yyz7khr7rklqfz7wp"; + rev = "79b6681aadcb53c27d1052e5f8a0e82a981dbf2f"; + sha256 = "0flng2rdmc4ndq3j71h6wk1ibcjvhjrg2rzd6rv445vcsf0jh2pj"; }; in stdenv.mkDerivation rec { - name = "shaderc-git-${version}"; - version = "2018-06-01"; + name = "shaderc-${version}"; + version = "2018.0"; + + outputs = [ "out" "lib" "bin" "dev" "static" ]; src = fetchFromGitHub { owner = "google"; repo = "shaderc"; - rev = "be8e0879750303a1de09385465d6b20ecb8b380d"; - sha256 = "16p25ry2i4zrj00zihfpf210f8xd7g398ffbw25igvi9mbn4nbfd"; + rev = "v${version}"; + sha256 = "0qigmj0riw43pgjn5f6kpvk72fajssz1lc2aiqib5qvmj9rqq3hl"; }; patchPhase = '' @@ -40,7 +42,14 @@ in stdenv.mkDerivation rec { ln -s ${spirv-headers} third_party/spirv-tools/external/spirv-headers ''; - buildInputs = [ cmake python ]; + nativeBuildInputs = [ cmake python ]; + + postInstall = '' + moveToOutput "lib/*.a" $static + ''; + + preConfigure = ''cmakeFlags="$cmakeFlags -DCMAKE_INSTALL_BINDIR=$bin/bin"''; + enableParallelBuilding = true; cmakeFlags = [ "-DSHADERC_SKIP_TESTS=ON" ]; @@ -48,5 +57,6 @@ in stdenv.mkDerivation rec { meta = with stdenv.lib; { inherit (src.meta) homepage; description = "A collection of tools, libraries and tests for shader compilation."; + license = [ licenses.asl20 ]; }; } diff --git a/nixpkgs/pkgs/development/compilers/swift/default.nix b/nixpkgs/pkgs/development/compilers/swift/default.nix index bbfa1be8f921..468c04b5c96c 100644 --- a/nixpkgs/pkgs/development/compilers/swift/default.nix +++ b/nixpkgs/pkgs/development/compilers/swift/default.nix @@ -27,7 +27,6 @@ , git , libgit2 , fetchFromGitHub -, paxctl , findutils , makeWrapper , gnumake @@ -35,7 +34,7 @@ }: let - v_base = "4.2.1"; + v_base = "4.2.2"; version = "${v_base}-RELEASE"; version_friendly = "${v_base}"; @@ -85,7 +84,7 @@ let }; foundation = fetch { repo = "swift-corelibs-foundation"; - sha256 = "1bfnkj8s3v327cy0czkngz0ryzmz7amjzkkxbsg2zyrhf9a9f0f7"; + sha256 = "1ki9vc723r13zgm6bcmif43aypavb2hz299gbhp93qkndz8hqkx5"; }; libdispatch = fetch { repo = "swift-corelibs-libdispatch"; @@ -94,7 +93,7 @@ let }; swift = fetch { repo = "swift"; - sha256 = "0y277wi0m6zp1yph9s14mmc65m21q5fm6lgzkn2rkrbaz25fdzak"; + sha256 = "1hwi6hi9ss1kj1s65v5q8v8d872c0914qfy1018xijd029lwq694"; }; }; @@ -150,7 +149,7 @@ stdenv.mkDerivation rec { findutils makeWrapper gnumake - ] ++ stdenv.lib.optional stdenv.needsPax paxctl; + ]; # TODO: Revisit what's propagated and how propagatedBuildInputs = [ @@ -218,9 +217,6 @@ stdenv.mkDerivation rec { substituteInPlace swift/utils/build-script-impl \ --replace '/usr/include/c++' "${clang.cc.gcc}/include/c++" patch -p1 -d swift -i ${./patches/glibc-arch-headers.patch} - '' + stdenv.lib.optionalString stdenv.needsPax '' - patch -p1 -d swift -i ${./patches/build-script-pax.patch} - '' + '' patch -p1 -d swift -i ${./patches/0001-build-presets-linux-don-t-require-using-Ninja.patch} patch -p1 -d swift -i ${./patches/0002-build-presets-linux-allow-custom-install-prefix.patch} patch -p1 -d swift -i ${./patches/0004-build-presets-linux-plumb-extra-cmake-options.patch} @@ -266,9 +262,6 @@ stdenv.mkDerivation rec { tar xf $INSTALLABLE_PACKAGE -C $out --strip-components=3 $PREFIX find $out -type d -empty -delete - paxmark pmr $out/bin/swift - paxmark pmr $out/bin/* - # TODO: Use wrappers to get these on the PATH for swift tools, instead ln -s ${clang}/bin/* $out/bin/ ln -s ${targetPackages.stdenv.cc.bintools.bintools_bin}/bin/ar $out/bin/ar diff --git a/nixpkgs/pkgs/development/compilers/swift/patches/build-script-pax.patch b/nixpkgs/pkgs/development/compilers/swift/patches/build-script-pax.patch deleted file mode 100644 index 1f47bf8ee045..000000000000 --- a/nixpkgs/pkgs/development/compilers/swift/patches/build-script-pax.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- swift/utils/build-script-impl 2017-01-23 12:47:20.401326309 -0600 -+++ swift-pax/utils/build-script-impl 2017-01-23 13:24:10.339366996 -0600 -@@ -1837,6 +1837,17 @@ function set_lldb_xcodebuild_options() { - fi - } - -+## XXX: Taken from nixpkgs /pkgs/stdenv/generic/setup.sh -+isELF() { -+ local fn="$1" -+ local fd -+ local magic -+ exec {fd}< "$fn" -+ read -n 4 -u $fd magic -+ exec {fd}<&- -+ if [[ "$magic" =~ ELF ]]; then return 0; else return 1; fi -+} -+ - # - # Configure and build each product - # -@@ -2735,6 +2746,12 @@ for host in "${ALL_HOSTS[@]}"; do - fi - - call "${CMAKE_BUILD[@]}" "${build_dir}" $(cmake_config_opt ${product}) -- "${BUILD_ARGS[@]}" ${build_targets[@]} -+ -+ while IFS= read -r -d $'\0' i; do -+ if ! isELF "$i"; then continue; fi -+ echo "setting pax flags on $i" -+ paxctl -czexm "$i" || true -+ done < <(find "${build_dir}" -executable -type f -wholename "*/bin/*" -print0) - fi - done - done diff --git a/nixpkgs/pkgs/development/compilers/terra/default.nix b/nixpkgs/pkgs/development/compilers/terra/default.nix index 98795f96ffa5..80d04080aac3 100644 --- a/nixpkgs/pkgs/development/compilers/terra/default.nix +++ b/nixpkgs/pkgs/development/compilers/terra/default.nix @@ -51,10 +51,6 @@ stdenv.mkDerivation rec { '' ; - postFixup = '' - paxmark m $bin/bin/terra - ''; - buildInputs = with llvmPackages; [ lua llvm clang-unwrapped ncurses ]; meta = with stdenv.lib; { diff --git a/nixpkgs/pkgs/development/compilers/tinycc/default.nix b/nixpkgs/pkgs/development/compilers/tinycc/default.nix index da706d502e6f..a5c3db65857f 100644 --- a/nixpkgs/pkgs/development/compilers/tinycc/default.nix +++ b/nixpkgs/pkgs/development/compilers/tinycc/default.nix @@ -33,10 +33,6 @@ stdenv.mkDerivation rec { doCheck = true; checkTarget = "test"; - postFixup = '' - paxmark m $out/bin/tcc - ''; - meta = { description = "Small, fast, and embeddable C compiler and interpreter"; diff --git a/nixpkgs/pkgs/development/compilers/urn/default.nix b/nixpkgs/pkgs/development/compilers/urn/default.nix index 5add2ae4cc55..d5f0dcbec29f 100644 --- a/nixpkgs/pkgs/development/compilers/urn/default.nix +++ b/nixpkgs/pkgs/development/compilers/urn/default.nix @@ -4,7 +4,7 @@ }: let - version = "0.7.1"; + version = "0.7.2"; # Build a sort of "union package" with all the native dependencies we # have: Lua (or LuaJIT), readline, etc. Then, we can depend on this # and refer to ${urn-rt} instead of ${lua}, ${readline}, etc. @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { owner = "urn"; repo = "urn"; rev = "v${version}"; - sha256 = "1vw0sljrczbwl7fl5d3frbpklb0larzyp7s7mwwprkb07b027sd5"; + sha256 = "0nclr3d8ap0y5cg36i7g4ggdqci6m5q27y9f26b57km8p266kcpy"; }; buildInputs = [ makeWrapper ]; diff --git a/nixpkgs/pkgs/development/compilers/vala/default.nix b/nixpkgs/pkgs/development/compilers/vala/default.nix index daf0987be571..f945a6581096 100644 --- a/nixpkgs/pkgs/development/compilers/vala/default.nix +++ b/nixpkgs/pkgs/development/compilers/vala/default.nix @@ -47,8 +47,8 @@ let in rec { vala_0_36 = generic { major = "0.36"; - minor = "15"; - sha256 = "11lnwjbhiz2l7g6y1f0jb0s81ymgssinlil3alibzcwmzpk175ix"; + minor = "17"; + sha256 = "1f6qg40zd6jzhbwr3dy4fb66k4qs1xlk2whdyqh64zxxjw0k9pv7"; }; vala_0_38 = generic { @@ -60,14 +60,14 @@ in rec { vala_0_40 = generic { major = "0.40"; - minor = "11"; - sha256 = "0xhm61kjdws167pafcji43s7icfvpq58lkbq3irb1jv3icjr3i8z"; + minor = "12"; + sha256 = "1nhk45w5iwg97q3cfybn0i4qz5w9qvk423ndpg6mq6cnna076snx"; }; vala_0_42 = generic { major = "0.42"; - minor = "3"; - sha256 = "0zaq9009wqk5aah131m426a2ia0scwpjpl4npf8p7p43wv8kvisz"; + minor = "4"; + sha256 = "07jgkx812y7wq4cswwfsf1f4k3lq9hcjra45682bdi8a11nr0a5m"; }; vala = vala_0_42; diff --git a/nixpkgs/pkgs/development/compilers/yosys/default.nix b/nixpkgs/pkgs/development/compilers/yosys/default.nix index 275a25c84959..1afeae73f2f1 100644 --- a/nixpkgs/pkgs/development/compilers/yosys/default.nix +++ b/nixpkgs/pkgs/development/compilers/yosys/default.nix @@ -8,14 +8,14 @@ with builtins; stdenv.mkDerivation rec { name = "yosys-${version}"; - version = "2018.10.17"; + version = "2019.01.08"; srcs = [ (fetchFromGitHub { owner = "yosyshq"; repo = "yosys"; - rev = "yosys-0.8"; - sha256 = "1qwbp8gynlklawzvpa4gdn2x0hs8zln0s3kxjqkhfcjfxffdcpvv"; + rev = "2a2e0a4722ded7628b71f436b94a06aebd57bb62"; + sha256 = "19wzh7yssk90s58l2f89m0q5bjjrjpkhvikf5zc0563wccvl712c"; name = "yosys"; }) @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { (fetchFromGitHub { owner = "berkeley-abc"; repo = "abc"; - rev = "ae6716b064c842f45109a88e84dca71fe4cc311f"; - sha256 = "0g39k16dmrl6q73q39yr5yd9r4rcliz5zxzbnwzh29z9xwi6ipw8"; + rev = "2ddc57d8760d94e86699be39a628178cff8154f8"; + sha256 = "0da7nnnnl9cq2r7s301xgdc8nlr6hqmqpvd9zn4b58m125sp0scl"; name = "yosys-abc"; }) ]; |