Merge remote-tracking branch 'origin/master' into gcc-cross
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
{stdenv, fetchurl, ant, jre, jdk}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "abcl";
|
||||
version = "1.6.0";
|
||||
version = "1.7.1";
|
||||
# or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
|
||||
src = fetchurl {
|
||||
url = "https://common-lisp.net/project/armedbear/releases/${version}/${pname}-src-${version}.tar.gz";
|
||||
sha256 = "0hvbcsffr8n2xwdixc8wyw1bfl9fxn2gyy0c4nma7j9zbn0wwgw9";
|
||||
sha256 = "09wjcjvriagml740krg9nva5v6bsc3sav86dmb55pjvfpsr1846m";
|
||||
};
|
||||
configurePhase = ''
|
||||
mkdir nix-tools
|
||||
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.gpl3 ;
|
||||
maintainers = [stdenv.lib.maintainers.raskin];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
homepage = https://common-lisp.net/project/armedbear/;
|
||||
homepage = "https://common-lisp.net/project/armedbear/";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{ stdenv, fetchsvn }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "acme";
|
||||
version = "120";
|
||||
|
||||
src = fetchsvn {
|
||||
url = "svn://svn.code.sf.net/p/acme-crossass/code-0/trunk";
|
||||
rev = version;
|
||||
sha256 = "0w17b8f8bis22m6l5bg8qg8nniy20f8yg2xmzjipblmc39vpv6s2";
|
||||
};
|
||||
|
||||
sourceRoot = "code-0-r${src.rev}/src";
|
||||
|
||||
makeFlags = [ "BINDIR=$(out)/bin" ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "= gcc" "?= gcc"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A multi-platform cross assembler for 6502/6510/65816 CPUs.";
|
||||
homepage = "https://sourceforge.net/projects/acme-crossass/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
};
|
||||
}
|
||||
@@ -5,39 +5,45 @@
|
||||
"hotspot": {
|
||||
"aarch64": {
|
||||
"build": "10",
|
||||
"sha256": "04b77f6754aed68528f39750c5cfd6a439190206aff216aa081d62a0e1a794fa",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.6_10.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "3b8b8bba6a0472ec7de5271cbf67f11e6ab525de6dd5d4729300375f1d56b7a1",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
},
|
||||
"armv6l": {
|
||||
"build": "10",
|
||||
"sha256": "ab5b76203e54fe7a5221535f6f407efa43153de029a746f60af3cffb7cb5080b",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.6_10.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "45c235af67498f87e3dc99642771e57547cf226335eaee8a55d195173e66a2e9",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
},
|
||||
"armv7l": {
|
||||
"build": "10",
|
||||
"sha256": "ab5b76203e54fe7a5221535f6f407efa43153de029a746f60af3cffb7cb5080b",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.6_10.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "45c235af67498f87e3dc99642771e57547cf226335eaee8a55d195173e66a2e9",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
},
|
||||
"packageType": "jdk",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "10",
|
||||
"sha256": "330d19a2eaa07ed02757d7a785a77bab49f5ee710ea03b4ee2fa220ddd0feffc",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.6_10.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "ee60304d782c9d5654bf1a6b3f38c683921c1711045e1db94525a51b7024a2ca",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"aarch64": {
|
||||
"build": "10",
|
||||
"sha256": "0be01fdcae330e26c489d8d0d0c98c535a2af8cbd0cdcda211776ab9fcd05086",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10_openj9-0.20.0/OpenJDK11U-jdk_aarch64_linux_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
|
||||
"version": "11.0.7"
|
||||
},
|
||||
"packageType": "jdk",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "10",
|
||||
"sha256": "1530172ee98edd129954fcdca1bf725f7b30c8bfc3cdc381c88de96b7d19e690",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10_openj9-0.18.1/OpenJDK11U-jdk_x64_linux_openj9_11.0.6_10_openj9-0.18.1.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "526e89f3014fec473b24c10c2464c1343e23703114983fd171b68b1599bba561",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10_openj9-0.20.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
|
||||
"version": "11.0.7"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -45,27 +51,45 @@
|
||||
"hotspot": {
|
||||
"aarch64": {
|
||||
"build": "10",
|
||||
"sha256": "7ed04ed9ed7271528e7f03490f1fd7dfbbc2d391414bd6fe4dd80ec3bad76d30",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.6_10.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "cfe504e9e9621b831a5cfd800a2005dafe90a1d11aa14ee35d7b674d68685698",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
},
|
||||
"armv6l": {
|
||||
"build": "10",
|
||||
"sha256": "581bae8efcaa40e209a780baa6f96b7c8c9397965bc6d54533f4fd8599d5c742",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_arm_linux_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
},
|
||||
"armv7l": {
|
||||
"build": "10",
|
||||
"sha256": "581bae8efcaa40e209a780baa6f96b7c8c9397965bc6d54533f4fd8599d5c742",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_arm_linux_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
},
|
||||
"packageType": "jre",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "10",
|
||||
"sha256": "c5a4e69e2be0e3e5f5bb7c759960b20650967d0f571baad4a7f15b2c03bda352",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jre_x64_linux_hotspot_11.0.6_10.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "74b493dd8a884dcbee29682ead51b182d9d3e52b40c3d4cbb3167c2fd0063503",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_x64_linux_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"aarch64": {
|
||||
"build": "10",
|
||||
"sha256": "37ae26443abb02d2ab041eced9be948f0d20db03183aaf3c159ef682eeeabf9b",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10_openj9-0.20.0/OpenJDK11U-jre_aarch64_linux_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
|
||||
"version": "11.0.7"
|
||||
},
|
||||
"packageType": "jre",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "10",
|
||||
"sha256": "056e4b5f7166f5daa44f36b06c735913bda52831d2e77fa2ac371505c66d10c1",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10_openj9-0.18.1/OpenJDK11U-jre_x64_linux_openj9_11.0.6_10_openj9-0.18.1.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "08258a767a6953bde21d15ef3c08e776d83257afa4acc52b55c70e1ac02f0489",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10_openj9-0.20.0/OpenJDK11U-jre_x64_linux_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
|
||||
"version": "11.0.7"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -77,9 +101,9 @@
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "10",
|
||||
"sha256": "b87102274d983bf6bb0aa6c2c623301d0ff5eb7f61043ffd04abb00f962c2dcd",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.6_10.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "0ab1e15e8bd1916423960e91b932d2b17f4c15b02dbdf9fa30e9423280d9e5cc",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
@@ -87,9 +111,9 @@
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "10",
|
||||
"sha256": "9a5c5b3bb51a82e666c46b2d1bbafa8c2bbc3aae50194858c8f96c5d43a96f64",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10_openj9-0.18.1/OpenJDK11U-jdk_x64_mac_openj9_11.0.6_10_openj9-0.18.1.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "a0de749c37802cc233ac58ffde68191a4dc985c71b626e7c0ff53944f743427f",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10.2_openj9-0.20.0/OpenJDK11U-jdk_x64_mac_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
|
||||
"version": "11.0.7"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -99,9 +123,9 @@
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "10",
|
||||
"sha256": "ab3c2038a32c62843500109d2efb8f5dacdfa1de3cbb713c8226f26dc603cc33",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10/OpenJDK11U-jre_x64_mac_hotspot_11.0.6_10.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "931a81f4bed38c48b364db57d4ebdd6e4b4ea1466e9bd0eaf8e0f1e47c4569e9",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jre_x64_mac_hotspot_11.0.7_10.tar.gz",
|
||||
"version": "11.0.7"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
@@ -109,9 +133,9 @@
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "10",
|
||||
"sha256": "130850133d9701393352c2ce13ab541b4f900ff1f5ddf8257cda624968aada9f",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.6%2B10_openj9-0.18.1/OpenJDK11U-jre_x64_mac_openj9_11.0.6_10_openj9-0.18.1.tar.gz",
|
||||
"version": "11.0.6"
|
||||
"sha256": "0941d739e3230d1d83dc1ee54cff6d17d90331e4f275d00739cb78fba41c5b96",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10.2_openj9-0.20.0/OpenJDK11U-jre_x64_mac_openj9_11.0.7_10_openj9-0.20.0.tar.gz",
|
||||
"version": "11.0.7"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -122,68 +146,68 @@
|
||||
"jdk": {
|
||||
"hotspot": {
|
||||
"aarch64": {
|
||||
"build": "33",
|
||||
"sha256": "74f4110333ac4239564ed864b1d7d69b7af32af39efcfbde9816e1486cb5ae07",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_aarch64_linux_hotspot_13_33.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "0e6081cb51f8a6f3062bef4f4c45dbe1fccfd3f3b4b5d52522a3edb76581e3af",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_aarch64_linux_hotspot_13.0.2_8.tar.gz",
|
||||
"version": "13.0.2"
|
||||
},
|
||||
"armv6l": {
|
||||
"build": "33",
|
||||
"sha256": "477e1b8d26a220d6d570765e9e0a4a34dbb489fab63a420d0859d173efc59adb",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_arm_linux_hotspot_13_33.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "9beec080f2b2a7f6883b024272f4e8d5a0b027325e83647be318215781af1d1a",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_arm_linux_hotspot_13.0.2_8.tar.gz",
|
||||
"version": "13.0.2"
|
||||
},
|
||||
"armv7l": {
|
||||
"build": "33",
|
||||
"sha256": "477e1b8d26a220d6d570765e9e0a4a34dbb489fab63a420d0859d173efc59adb",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_arm_linux_hotspot_13_33.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "9beec080f2b2a7f6883b024272f4e8d5a0b027325e83647be318215781af1d1a",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_arm_linux_hotspot_13.0.2_8.tar.gz",
|
||||
"version": "13.0.2"
|
||||
},
|
||||
"packageType": "jdk",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "33",
|
||||
"sha256": "e562caeffa89c834a69a44242d802eae3523875e427f07c05b1902c152638368",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_x64_linux_hotspot_13_33.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "9ccc063569f19899fd08e41466f8c4cd4e05058abdb5178fa374cb365dcf5998",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_x64_linux_hotspot_13.0.2_8.tar.gz",
|
||||
"version": "13.0.2"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"packageType": "jdk",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "33",
|
||||
"sha256": "68ebab0021c719694be8fc868478725a69c5c515cdb62e2933eefe87ba6437df",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jdk_x64_linux_openj9_13_33_openj9-0.16.0.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "aeecf6d30d0c847db81d07793cf97e5dc44890c29366d7d9f8f9f397f6c52590",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8_openj9-0.18.0/OpenJDK13U-jdk_x64_linux_openj9_13.0.2_8_openj9-0.18.0.tar.gz",
|
||||
"version": "13.0.2"
|
||||
}
|
||||
}
|
||||
},
|
||||
"jre": {
|
||||
"hotspot": {
|
||||
"aarch64": {
|
||||
"build": "33",
|
||||
"sha256": "2365b7fbba8d9125fb091933aad9f38f8cc1fbb0217cdec9ec75d2000f6d451a",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_aarch64_linux_hotspot_13_33.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "6c4b69d1609f4c65c576c80d6aa101de80048f8ce5566f890e8fff5349228bae",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jre_aarch64_linux_hotspot_13.0.2_8.tar.gz",
|
||||
"version": "13.0.2"
|
||||
},
|
||||
"packageType": "jre",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "33",
|
||||
"sha256": "73800a0d7c4e81df408a8518d282aa2c001ce4ee15541574c639dfc3564f708f",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_x64_linux_hotspot_13_33.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "897f16fe8e056395209e35d2384013bd1ff250e717465769079e3f4793628c34",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jre_x64_linux_hotspot_13.0.2_8.tar.gz",
|
||||
"version": "13.0.2"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"packageType": "jre",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "33",
|
||||
"sha256": "2ee59be5062a81daa7be85be161cab6b245f9a2e2cbd4769ae9edefaac41e31d",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jre_x64_linux_openj9_13_33_openj9-0.16.0.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "a0ab38607811e282f64082edc68a2dea3fa6a5113391efb124a6d7d02883110a",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8_openj9-0.18.0/OpenJDK13U-jre_x64_linux_openj9_13.0.2_8_openj9-0.18.0.tar.gz",
|
||||
"version": "13.0.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -194,20 +218,20 @@
|
||||
"packageType": "jdk",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "33",
|
||||
"sha256": "f948be96daba250b6695e22cb51372d2ba3060e4d778dd09c89548889783099f",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jdk_x64_mac_hotspot_13_33.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "0ddb24efdf5aab541898d19b7667b149a1a64a8bd039b708fc58ee0284fa7e07",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jdk_x64_mac_hotspot_13.0.2_8.tar.gz",
|
||||
"version": "13.0.2"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"packageType": "jdk",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "33",
|
||||
"sha256": "583e0defd5c062550896ead7cac383be16f1a81d9b6492dfec26da9af5dcc1c0",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jdk_x64_mac_openj9_13_33_openj9-0.16.0.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "dd8d92eec98a3455ec5cd065a0a6672cc1aef280c6a68c507c372ccc1d98fbaa",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8_openj9-0.18.0/OpenJDK13U-jdk_x64_mac_openj9_13.0.2_8_openj9-0.18.0.tar.gz",
|
||||
"version": "13.0.2"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -216,20 +240,20 @@
|
||||
"packageType": "jre",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "33",
|
||||
"sha256": "1c23efba7908de9a611a98e755602f45381a8f7c957adb3fc4012ab1369a352c",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33/OpenJDK13U-jre_x64_mac_hotspot_13_33.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "3149b9ebf0db1eaf2dc152df9efae82003e7971efb1cf550060e6a4798fe8c5c",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8/OpenJDK13U-jre_x64_mac_hotspot_13.0.2_8.tar.gz",
|
||||
"version": "13.0.2"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"packageType": "jre",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "33",
|
||||
"sha256": "33a60b78138d50cb02325156c7d1fcf588697749a4401f6c11a3cbefa3033127",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13%2B33_openj9-0.16.0/OpenJDK13U-jre_x64_mac_openj9_13_33_openj9-0.16.0.tar.gz",
|
||||
"version": "13.0.0"
|
||||
"build": "8",
|
||||
"sha256": "6a8a636fca4c7e368241e232a37cd73c9867cdec8f0869fd158b1f58c6128cc2",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8_openj9-0.18.0/OpenJDK13U-jre_x64_mac_openj9_13.0.2_8_openj9-0.18.0.tar.gz",
|
||||
"version": "13.0.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -241,51 +265,39 @@
|
||||
"hotspot": {
|
||||
"aarch64": {
|
||||
"build": "9",
|
||||
"sha256": "35799a2fd4b467115aff1bc3a54853b5131ba9068e53e1ab0fbe5521a3f2ba83",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u232b09.tar.gz",
|
||||
"version": "8.0.232"
|
||||
"sha256": "536bf397d98174b376da9ed49d2f659d65c7310318d8211444f4b7ba7c15e453",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
},
|
||||
"armv6l": {
|
||||
"build": "9",
|
||||
"sha256": "fdd9f61f1b2df74242da54ee3b3231b0123782a917e9673351276da439c7cab1",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u232b09.tar.gz",
|
||||
"version": "8.0.232"
|
||||
"sha256": "5b401ad3c9b246281bd6df34b1abaf75e10e5cad9c6b26b55232b016e90e411a",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
},
|
||||
"armv7l": {
|
||||
"build": "9",
|
||||
"sha256": "fdd9f61f1b2df74242da54ee3b3231b0123782a917e9673351276da439c7cab1",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u232b09.tar.gz",
|
||||
"version": "8.0.232"
|
||||
},
|
||||
"armv6l": {
|
||||
"build": "10",
|
||||
"sha256": "7b3d6ade8c25adca01095ba66642132d8c87a1a8caf3883850e34778453afcec",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u222b10.tar.gz",
|
||||
"version": "8.0.222"
|
||||
},
|
||||
"armv7l": {
|
||||
"build": "10",
|
||||
"sha256": "7b3d6ade8c25adca01095ba66642132d8c87a1a8caf3883850e34778453afcec",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_arm_linux_hotspot_8u222b10.tar.gz",
|
||||
"version": "8.0.222"
|
||||
"sha256": "5b401ad3c9b246281bd6df34b1abaf75e10e5cad9c6b26b55232b016e90e411a",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_arm_linux_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
},
|
||||
"packageType": "jdk",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "8",
|
||||
"sha256": "f39b523c724d0e0047d238eb2bb17a9565a60574cf651206c867ee5fc000ab43",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u242b08.tar.gz",
|
||||
"version": "8.0.242"
|
||||
"build": "9",
|
||||
"sha256": "2b59b5282ff32bce7abba8ad6b9fde34c15a98f949ad8ae43e789bbd78fc8862",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"packageType": "jdk",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "8",
|
||||
"sha256": "ca785af638b24f9d4df896f5a9f557cc9f1e5fa5e2b1174d6b906e3fd5474c2e",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08_openj9-0.18.1/OpenJDK8U-jdk_x64_linux_openj9_8u242b08_openj9-0.18.1.tar.gz",
|
||||
"version": "8.0.242"
|
||||
"build": "9",
|
||||
"sha256": "910ae847109a6dd1b6cf69baa7615ea2cce8cff787e5a9349a5331ce7604f3a5",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09_openj9-0.20.0/OpenJDK8U-jdk_x64_linux_openj9_8u252b09_openj9-0.20.0.tar.gz",
|
||||
"version": "8.0.252"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -293,51 +305,39 @@
|
||||
"hotspot": {
|
||||
"aarch64": {
|
||||
"build": "9",
|
||||
"sha256": "4540db665260fdc84ae2f191e21beec9168a70a4227718bee5edd317707e2fda",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_aarch64_linux_hotspot_8u232b09.tar.gz",
|
||||
"version": "8.0.232"
|
||||
"sha256": "30bba4425497f5b4aabcba7b45db69d582d278fb17357d64c22c9dc6b2d29ca1",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jre_aarch64_linux_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
},
|
||||
"armv6l": {
|
||||
"build": "9",
|
||||
"sha256": "8ab786fc2fa0a282f5cf57f6040f1976c32c3c5e480e900ce5925de6543f6688",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_arm_linux_hotspot_8u232b09.tar.gz",
|
||||
"version": "8.0.232"
|
||||
"sha256": "107699a88f611e0c2d57816be25821ef9b17db860b14402c4e9e5bf0b9cf16fd",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jre_arm_linux_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
},
|
||||
"armv7l": {
|
||||
"build": "9",
|
||||
"sha256": "8ab786fc2fa0a282f5cf57f6040f1976c32c3c5e480e900ce5925de6543f6688",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_arm_linux_hotspot_8u232b09.tar.gz",
|
||||
"version": "8.0.232"
|
||||
},
|
||||
"armv6l": {
|
||||
"build": "10",
|
||||
"sha256": "19de77b74812b90851816bdb991d6473488a10d3ac293c6accf46ae9b1f714a0",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_arm_linux_hotspot_8u222b10.tar.gz",
|
||||
"version": "8.0.222"
|
||||
},
|
||||
"armv7l": {
|
||||
"build": "10",
|
||||
"sha256": "19de77b74812b90851816bdb991d6473488a10d3ac293c6accf46ae9b1f714a0",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_arm_linux_hotspot_8u222b10.tar.gz",
|
||||
"version": "8.0.222"
|
||||
"sha256": "107699a88f611e0c2d57816be25821ef9b17db860b14402c4e9e5bf0b9cf16fd",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jre_arm_linux_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
},
|
||||
"packageType": "jre",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "8",
|
||||
"sha256": "5edfaefdbb0469d8b24d61c8aef80c076611053b1738029c0232b9a632fe2708",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jre_x64_linux_hotspot_8u242b08.tar.gz",
|
||||
"version": "8.0.242"
|
||||
"build": "9",
|
||||
"sha256": "a93be303ed62398dba9acb0376fb3caf8f488fcde80dc62d0a8e46256b3adfb1",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jre_x64_linux_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"packageType": "jre",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "8",
|
||||
"sha256": "985d3134b64c6196d4c9ddbc87af0c62b0e643cef71b29f3d25a8c7811811745",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08_openj9-0.18.1/OpenJDK8U-jre_x64_linux_openj9_8u242b08_openj9-0.18.1.tar.gz",
|
||||
"version": "8.0.242"
|
||||
"build": "9",
|
||||
"sha256": "5c0ab4691ff5f8e69bb14462f2afb8d73d751b01048eacf4b426ed6d6646dc63",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09_openj9-0.20.0/OpenJDK8U-jre_x64_linux_openj9_8u252b09_openj9-0.20.0.tar.gz",
|
||||
"version": "8.0.252"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -348,20 +348,20 @@
|
||||
"packageType": "jdk",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "8",
|
||||
"sha256": "06675b7d65bce0313ee1f2e888dd44267e8afeced75e0b39b5ad1f5fdff54e0b",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u242b08.tar.gz",
|
||||
"version": "8.0.242"
|
||||
"build": "9",
|
||||
"sha256": "2caed3ec07d108bda613f9b4614b22a8bdd196ccf2a432a126161cd4077f07a5",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.1/OpenJDK8U-jdk_x64_mac_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"packageType": "jdk",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "8",
|
||||
"sha256": "665dc9c8239b7270b007ab9dd7522570e2686e327d89caf57a6aa6e5c6450078",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08_openj9-0.18.1/OpenJDK8U-jdk_x64_mac_openj9_8u242b08_openj9-0.18.1.tar.gz",
|
||||
"version": "8.0.242"
|
||||
"build": "9",
|
||||
"sha256": "f522061a23290bce3423e49025a95b6e78d6f30e2741817e83c8fdba4c0c4ae7",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.2_openj9-0.20.0/OpenJDK8U-jdk_x64_mac_openj9_8u252b09_openj9-0.20.0.tar.gz",
|
||||
"version": "8.0.252"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -370,23 +370,23 @@
|
||||
"packageType": "jre",
|
||||
"vmType": "hotspot",
|
||||
"x86_64": {
|
||||
"build": "8",
|
||||
"sha256": "fae3777e3441dc7384c339a9054aa7efc40cd2c501625a535c2d4648367ccca3",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jre_x64_mac_hotspot_8u242b08.tar.gz",
|
||||
"version": "8.0.242"
|
||||
"build": "9",
|
||||
"sha256": "f8206f0fef194c598de6b206a4773b2e517154913ea0e26c5726091562a034c8",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.1/OpenJDK8U-jre_x64_mac_hotspot_8u252b09.tar.gz",
|
||||
"version": "8.0.252"
|
||||
}
|
||||
},
|
||||
"openj9": {
|
||||
"packageType": "jre",
|
||||
"vmType": "openj9",
|
||||
"x86_64": {
|
||||
"build": "8",
|
||||
"sha256": "d4a924558ddda0aed671a67f71714b71c25871a7659fd4c505851cf5ee866de5",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08_openj9-0.18.1/OpenJDK8U-jre_x64_mac_openj9_8u242b08_openj9-0.18.1.tar.gz",
|
||||
"version": "8.0.242"
|
||||
"build": "9",
|
||||
"sha256": "55cce54a39c5748360e2e3fe8edf04469b75a0783514853a5745463979b43c80",
|
||||
"url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09.2_openj9-0.20.0/OpenJDK8U-jre_x64_mac_openj9_8u252b09_openj9-0.20.0.tar.gz",
|
||||
"version": "8.0.252"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,13 +3,13 @@
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "adoptopenjdk-icedtea-web";
|
||||
|
||||
version = "1.8.3";
|
||||
version = "1.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AdoptOpenJDK";
|
||||
repo = "IcedTea-Web";
|
||||
rev = "icedtea-web-${version}";
|
||||
sha256 = "0bm5k11i2vgb54ch1bawsmjbwnqnp04saadwm2f2mggmmdc6b1qq";
|
||||
sha256 = "0pxijw9v5k4j840jczglx9qyfd57df390g5jdaz3qafblfg0k10n";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig bc ];
|
||||
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
|
||||
programming language and an implementation of Java Web Start, originally
|
||||
based on the NetX project.
|
||||
'';
|
||||
homepage = https://github.com/adoptopenjdk/icedtea-web;
|
||||
homepage = "https://github.com/adoptopenjdk/icedtea-web";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
# Please become a maintainer to fix this package
|
||||
broken = true;
|
||||
homepage = http://www.aldor.org/;
|
||||
homepage = "http://www.aldor.org/";
|
||||
description = "Programming language with an expressive type system";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{stdenv, gcc, glibc, fetchurl, fetchgit, libtool, autoconf, automake, file, gnumake, which, zsh, m4, pkgconfig, perl, gnome2, pango, sqlite, libxml2, zlib, gmp, smlnj }:
|
||||
{stdenv, gcc, glibc, fetchurl, fetchgit, libtool, autoconf, automake, file, gnumake, which, zsh, m4, pkg-config, perl, gnome2, gtk2, pango, sqlite, libxml2, zlib, gmp, smlnj }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "aliceml-1.4-7d44dc8e";
|
||||
@@ -11,16 +11,16 @@ stdenv.mkDerivation {
|
||||
};
|
||||
|
||||
gecodeSrc = fetchurl {
|
||||
url = http://www.gecode.org/download/gecode-1.3.1.tar.gz;
|
||||
url = "http://www.gecode.org/download/gecode-1.3.1.tar.gz";
|
||||
sha256 = "0mgc6llbq166jmlq3alvagqsg3730670zvbwwkdgsqklw70v9355";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
stdenv gcc glibc
|
||||
libtool gnumake autoconf automake
|
||||
file which zsh m4 gnome2.gtk zlib gmp
|
||||
file which zsh m4 gtk2 zlib gmp
|
||||
gnome2.libgnomecanvas pango sqlite
|
||||
libxml2 pkgconfig perl smlnj
|
||||
libxml2 pkg-config perl smlnj
|
||||
];
|
||||
|
||||
makePatch = ./make.patch;
|
||||
@@ -49,7 +49,7 @@ stdenv.mkDerivation {
|
||||
extended with rich support for concurrent, distributed, and constraint
|
||||
programming.
|
||||
'';
|
||||
homepage = https://www.ps.uni-saarland.de/alice/;
|
||||
homepage = "https://www.ps.uni-saarland.de/alice/";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = [ stdenv.lib.maintainers.doublec ];
|
||||
broken = true;
|
||||
|
||||
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||
is a textual bitstream representation for assembly by
|
||||
the IceStorm [2] icepack command.
|
||||
'';
|
||||
homepage = https://github.com/cseed/arachne-pnr;
|
||||
homepage = "https://github.com/cseed/arachne-pnr";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ shell thoughtpolice ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
{ stdenv, fetchpatch, fetchurl, yacc }:
|
||||
|
||||
let
|
||||
|
||||
version = "2.3.1";
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
pname = "as31";
|
||||
inherit version;
|
||||
src = fetchurl {
|
||||
name = "as31-${version}.tar.gz"; # Nix doesn't like the colons in the URL
|
||||
url = "http://wiki.erazor-zone.de/_media/wiki:projects:linux:as31:as31-${version}.tar.gz";
|
||||
sha256 = "0mbk6z7z03xb0r0ccyzlgkjdjmdzknck4yxxmgr9k7v8f5c348fd";
|
||||
};
|
||||
|
||||
buildInputs = [ yacc ];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2012-0808.patch";
|
||||
url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=655496;filename=as31-mkstemps.patch;msg=5";
|
||||
sha256 = "0iia4wa8m141bwz4588yxb1dp2qwhapcii382sncm6jvwyngwh21";
|
||||
})
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
chmod +x ./configure
|
||||
'';
|
||||
|
||||
postConfigure = ''
|
||||
rm as31/parser.c
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://wiki.erazor-zone.de/wiki:projects:linux:as31;
|
||||
description = "An 8031/8051 assembler by Ken Stauffer and Theo Deraadt which produces a variety of object code output formats";
|
||||
maintainers = with maintainers; [ aneeshusa ];
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://lionet.info/asn1c/compiler.html;
|
||||
homepage = "http://lionet.info/asn1c/compiler.html";
|
||||
description = "Open Source ASN.1 Compiler";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.all;
|
||||
|
||||
@@ -1,19 +1,22 @@
|
||||
{stdenv, fetchurl, jre}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "aspectj-1.5.2";
|
||||
pname = "aspectj";
|
||||
version = "1.9.6";
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://archive.eclipse.org/tools/aspectj/${name}.jar";
|
||||
sha256 = "1b3mx248dc1xka1vgsl0jj4sm0nfjsqdcj9r9036mvixj1zj3nmh";
|
||||
src = let
|
||||
versionSnakeCase = builtins.replaceStrings ["."] ["_"] version;
|
||||
in fetchurl {
|
||||
url = "https://github.com/eclipse/org.aspectj/releases/download/V${versionSnakeCase}/aspectj-${version}.jar";
|
||||
sha256 = "02jh66l3vw57k9a4dxlga3qh3487r36gyi6k2z2mmqxbpqajslja";
|
||||
};
|
||||
|
||||
inherit jre;
|
||||
buildInputs = [jre];
|
||||
|
||||
meta = {
|
||||
homepage = http://www.eclipse.org/aspectj/;
|
||||
homepage = "http://www.eclipse.org/aspectj/";
|
||||
description = "A seamless aspect-oriented extension to the Java programming language";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
license = stdenv.lib.licenses.epl10;
|
||||
|
||||
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
to provide a useful subset of Java’s features, suitable for
|
||||
building self-contained applications.
|
||||
'';
|
||||
homepage = https://readytalk.github.io/avian/;
|
||||
homepage = "https://readytalk.github.io/avian/";
|
||||
license = stdenv.lib.licenses.isc;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = [ stdenv.lib.maintainers.earldouglas ];
|
||||
|
||||
@@ -21,9 +21,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Assembler for the Atmel AVR microcontroller family";
|
||||
homepage = http://avra.sourceforge.net/;
|
||||
homepage = "http://avra.sourceforge.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
description = "Efficient Scheme compiler";
|
||||
homepage = http://www-sop.inria.fr/indes/fp/Bigloo/;
|
||||
homepage = "http://www-sop.inria.fr/indes/fp/Bigloo/";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, cmake, python3, fetchFromGitHub, emscriptenRev ? null, substituteAll }:
|
||||
|
||||
let
|
||||
defaultVersion = "91";
|
||||
defaultVersion = "95";
|
||||
|
||||
# Map from git revs to SHA256 hashes
|
||||
sha256s = {
|
||||
version_91 = "1qsjqnzc5w9ny9v01bxkdvhh4kgbsia01x5vvac72m075v4mpgs4";
|
||||
version_95 = "1w4js9bm5qv5aws8bzz4f0n3ni2l7h4fidkq9v5bldf0zxncy8m3";
|
||||
"1.39.1" = "0ygm9m5322h4vfpf3j63q32qxk2l26yk62hh7dkb49j51zwl1y3y";
|
||||
};
|
||||
in
|
||||
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ cmake python3 ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/WebAssembly/binaryen;
|
||||
homepage = "https://github.com/WebAssembly/binaryen";
|
||||
description = "Compiler infrastructure and toolchain library for WebAssembly, in C++";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ asppsa ];
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
, fontconfig
|
||||
, gmp
|
||||
, gperf
|
||||
, haskell
|
||||
, libX11
|
||||
, libpoly
|
||||
, perl
|
||||
@@ -14,16 +13,14 @@
|
||||
, verilog
|
||||
, xorg
|
||||
, zlib
|
||||
, ghc
|
||||
}:
|
||||
|
||||
let
|
||||
# yices wants a libgmp.a and fails otherwise
|
||||
gmpStatic = gmp.override { withStatic = true; };
|
||||
|
||||
# Compiling PreludeBSV fails with more recent GHC versions
|
||||
# > imperative statement (not BVI context)
|
||||
# https://github.com/B-Lang-org/bsc/issues/20#issuecomment-583724030
|
||||
ghcWithPackages = haskell.packages.ghc844.ghc.withPackages (g: (with g; [old-time regex-compat syb]));
|
||||
ghcWithPackages = ghc.withPackages (g: (with g; [old-time regex-compat syb]));
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "bluespec";
|
||||
version = "unstable-2020.02.09";
|
||||
|
||||
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -rf jscomp lib ${bin_folder} vendor odoc_gen native bsb bsc bsrefmt $out
|
||||
mkdir $out/lib/ocaml
|
||||
mkdir -p $out/lib/ocaml
|
||||
cp jscomp/runtime/js.* jscomp/runtime/*.cm* $out/lib/ocaml
|
||||
cp jscomp/others/*.ml jscomp/others/*.mli jscomp/others/*.cm* $out/lib/ocaml
|
||||
cp jscomp/stdlib-406/*.ml jscomp/stdlib-406/*.mli jscomp/stdlib-406/*.cm* $out/lib/ocaml
|
||||
|
||||
@@ -4,20 +4,20 @@ let
|
||||
in
|
||||
(build-bs-platform rec {
|
||||
inherit stdenv runCommand fetchFromGitHub ninja nodejs python3;
|
||||
version = "7.2.0";
|
||||
version = "7.3.2";
|
||||
ocaml-version = "4.06.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BuckleScript";
|
||||
repo = "bucklescript";
|
||||
rev = version;
|
||||
sha256 = "1fsx7gvcp6rbqd0qf5fix02mbbmk9rgm09zbwjrx0lp5cjv3n2s4";
|
||||
sha256 = "1nvp7wiiv149r4qf9bgc84bm4w7s44sjq9i7j103v24wllzz218s";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
}).overrideAttrs (attrs: {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A JavaScript backend for OCaml focused on smooth integration and clean generated code.";
|
||||
homepage = https://bucklescript.github.io;
|
||||
homepage = "https://bucklescript.github.io";
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ turbomack gamb anmonteiro ];
|
||||
platforms = platforms.all;
|
||||
|
||||
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
parallelism is fixed at program startup time, typically with a single
|
||||
thread of execution per processor.
|
||||
'';
|
||||
homepage = https://upc.lbl.gov/;
|
||||
homepage = "https://upc.lbl.gov/";
|
||||
license = licenses.mit;
|
||||
platforms = with platforms; [ linux ];
|
||||
maintainers = with maintainers; [ zimbatm ];
|
||||
|
||||
@@ -38,7 +38,7 @@ haskellPackages.mkDerivation rec {
|
||||
'';
|
||||
|
||||
description = "A statically typed lisp, without a GC, for real-time applications";
|
||||
homepage = https://github.com/carp-lang/Carp;
|
||||
homepage = "https://github.com/carp-lang/Carp";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = with stdenv.lib.maintainers; [ jluttine ];
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }:
|
||||
{ stdenv, fetchurl, runCommand, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }:
|
||||
|
||||
let
|
||||
options = rec {
|
||||
/* TODO: there are also FreeBSD and Windows versions */
|
||||
x86_64-linux = {
|
||||
arch = "linuxx86";
|
||||
sha256 = "0hs1f3z7crgzvinpj990kv9gvbsipxvcvwbmk54n51nasvc5025q";
|
||||
sha256 = "0d5bsizgpw9hv0jfsf4bp5sf6kxh8f9hgzz9hsjzpfhs3npmmac4";
|
||||
runtime = "lx86cl64";
|
||||
kernel = "linuxx8664";
|
||||
};
|
||||
@@ -17,26 +17,44 @@ let
|
||||
};
|
||||
armv7l-linux = {
|
||||
arch = "linuxarm";
|
||||
sha256 = "0p0l1dzsygb6i1xxgbipjpxkn46xhq3jm41a34ga1qqp4x8lkr62";
|
||||
sha256 = throw "ccl all-in-one linuxarm archive missing upstream";
|
||||
runtime = "armcl";
|
||||
kernel = "linuxarm";
|
||||
};
|
||||
x86_64-darwin = {
|
||||
arch = "darwinx86";
|
||||
sha256 = "5adbea3d8b4a2e29af30d141f781c6613844f468c0ccfa11bae908c3e9641939";
|
||||
sha256 = "1l060719k8mjd70lfdnr0hkybk7v88zxvfrsp7ww50q808cjffqk";
|
||||
runtime = "dx86cl64";
|
||||
kernel = "darwinx8664";
|
||||
};
|
||||
armv6l-linux = armv7l-linux;
|
||||
};
|
||||
cfg = options.${stdenv.hostPlatform.system} or (throw "missing source url for platform ${stdenv.hostPlatform.system}");
|
||||
|
||||
# The 1.12 github release of CCL seems to be missing the usual
|
||||
# ccl-1.12-linuxarm.tar.gz tarball, so we build it ourselves here
|
||||
linuxarm-src = runCommand "ccl-1.12-linuxarm.tar.gz" {
|
||||
outer = fetchurl {
|
||||
url = "https://github.com/Clozure/ccl/archive/v1.12.tar.gz";
|
||||
sha256 = "0lmxhll6zgni0l41h4kcf3khbih9r0f8xni6zcfvbi3dzfs0cjkp";
|
||||
};
|
||||
inner = fetchurl {
|
||||
url = "https://github.com/Clozure/ccl/releases/download/v1.12/linuxarm.tar.gz";
|
||||
sha256 = "0x4bjx6cxsjvxyagijhlvmc7jkyxifdvz5q5zvz37028va65243c";
|
||||
};
|
||||
} ''
|
||||
tar xf $outer
|
||||
tar xf $inner -C ccl
|
||||
tar czf $out ccl
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ccl";
|
||||
version = "1.11.5";
|
||||
version = "1.12";
|
||||
|
||||
src = fetchurl {
|
||||
src = if cfg.arch == "linuxarm" then linuxarm-src else fetchurl {
|
||||
url = "https://github.com/Clozure/ccl/releases/download/v${version}/ccl-${version}-${cfg.arch}.tar.gz";
|
||||
sha256 = cfg.sha256;
|
||||
};
|
||||
@@ -85,9 +103,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Clozure Common Lisp";
|
||||
homepage = https://ccl.clozure.com/;
|
||||
homepage = "https://ccl.clozure.com/";
|
||||
maintainers = with maintainers; [ raskin muflax tohl ];
|
||||
platforms = attrNames options;
|
||||
license = licenses.lgpl21;
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
description = "A powerful and incredibly fast R6RS Scheme compiler";
|
||||
homepage = https://cisco.github.io/ChezScheme/;
|
||||
homepage = "https://cisco.github.io/ChezScheme/";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
|
||||
@@ -61,9 +61,9 @@ stdenv.mkDerivation {
|
||||
# TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion
|
||||
|
||||
meta = {
|
||||
homepage = http://www.call-cc.org/;
|
||||
homepage = "http://www.call-cc.org/";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
|
||||
maintainers = with stdenv.lib.maintainers; [ corngood ];
|
||||
platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
|
||||
description = "A portable compiler for the Scheme programming language";
|
||||
longDescription = ''
|
||||
|
||||
@@ -19,9 +19,9 @@ eggDerivation {
|
||||
|
||||
meta = {
|
||||
description = "Generate nix-expression from CHICKEN scheme eggs";
|
||||
homepage = https://github.com/the-kenny/egg2nix;
|
||||
homepage = "https://github.com/the-kenny/egg2nix";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
|
||||
maintainers = with stdenv.lib.maintainers; [ corngood ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -43,9 +43,9 @@ stdenv.mkDerivation {
|
||||
# TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion
|
||||
|
||||
meta = {
|
||||
homepage = http://www.call-cc.org/;
|
||||
homepage = "http://www.call-cc.org/";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
|
||||
maintainers = with stdenv.lib.maintainers; [ corngood ];
|
||||
platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
|
||||
description = "A portable compiler for the Scheme programming language";
|
||||
longDescription = ''
|
||||
|
||||
@@ -21,9 +21,9 @@ eggDerivation {
|
||||
|
||||
meta = {
|
||||
description = "Generate nix-expression from CHICKEN scheme eggs";
|
||||
homepage = https://github.com/the-kenny/egg2nix;
|
||||
homepage = "https://github.com/the-kenny/egg2nix";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
|
||||
maintainers = with stdenv.lib.maintainers; [ corngood ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ciao";
|
||||
version = "1.19.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ciao-lang";
|
||||
repo = "ciao";
|
||||
rev = "v${version}";
|
||||
sha256 = "03qzcb4ivgkiwdpw7a94dn74xqyxjwz5ilrr53rcblsh5ng299jp";
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
./ciao-boot.sh configure --instype=global --prefix=$prefix
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
./ciao-boot.sh build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
./ciao-boot.sh install
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://ciao-lang.org/";
|
||||
description = "A general purpose, multi-paradigm programming language in the Prolog family";
|
||||
license = licenses.lgpl21;
|
||||
maintainers = with maintainers; [ suhr ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
|
||||
and generic functions.
|
||||
'';
|
||||
|
||||
homepage = http://wiki.clean.cs.ru.nl/Clean;
|
||||
homepage = "http://wiki.clean.cs.ru.nl/Clean";
|
||||
license = stdenv.lib.licenses.lgpl21;
|
||||
maintainers = [ stdenv.lib.maintainers.kkallio ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "closure-compiler";
|
||||
version = "20200224";
|
||||
version = "20200614";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
|
||||
sha256 = "0qlnpnd64rrlyz7ybdnp7zk5ns2s0071zs1fcrcq9ba2lnhfbmmb";
|
||||
sha256 = "0a54y2d9nfg60knfv34kf6sdsh065dzam86l3wprf8gvqffxxcli";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
|
||||
inference with Variational inference (ADVI) and penalized maximum
|
||||
likelihood estimation with Optimization (L-BFGS).
|
||||
'';
|
||||
homepage = https://mc-stan.org/interfaces/cmdstan.html;
|
||||
homepage = "https://mc-stan.org/interfaces/cmdstan.html";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
|
||||
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
|
||||
ANSI Common Lisp standard.
|
||||
'';
|
||||
license = stdenv.lib.licenses.free; # public domain
|
||||
homepage = http://www.cons.org/cmucl/;
|
||||
homepage = "http://www.cons.org/cmucl/";
|
||||
maintainers = [stdenv.lib.maintainers.tohl];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
|
||||
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A programming language for the analysis and transformation of computer languages";
|
||||
homepage = http://www.colm.net/open-source/colm;
|
||||
homepage = "http://www.colm.net/open-source/colm";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
|
||||
@@ -12,13 +12,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "compcert";
|
||||
version = "3.6";
|
||||
version = "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AbsInt";
|
||||
repo = "CompCert";
|
||||
rev = "v${version}";
|
||||
sha256 = "1k9xhj7fgllhf7bn7rp3w6zfvs4clglnc4w39zp4678hrwvdcpha";
|
||||
sha256 = "1h4zhk9rrqki193nxs9vjvya7nl9yxjcf07hfqb6g77riy1vd2jr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "computecpp";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://computecpp.codeplay.com/downloads/computecpp-ce/${version}/ubuntu-16.04-64bit.tar.gz";
|
||||
sha256 = "191kwvzxfg1sbaq6aw6f84chi7bhsibb2a63zsyz3gz8m0c0syr5";
|
||||
sha256 = "1q6gqjpzz4a260gsd6mm1iv4z8ar3vxaypmgdwl8pb4i7kg6ykaz";
|
||||
stripRoot = true;
|
||||
};
|
||||
|
||||
@@ -37,14 +37,12 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
isClang = true;
|
||||
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
|
||||
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description =
|
||||
"Accelerate Complex C++ Applications on Heterogeneous Compute Systems using Open Standards";
|
||||
homepage = https://www.codeplay.com/products/computesuite/computecpp;
|
||||
homepage = "https://www.codeplay.com/products/computesuite/computecpp";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ davidtwco ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, libffi
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "copper";
|
||||
version = "4.4";
|
||||
src = fetchurl {
|
||||
url = "https://tibleiz.net/download/copper-${version}-src.tar.gz";
|
||||
sha256 = "1nf0bw143rjhd019yms3k6k531rahl8anidwh6bif0gm7cngfwfw";
|
||||
};
|
||||
buildInputs = [
|
||||
libffi
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile --replace "-s scripts/" "scripts/"
|
||||
patchShebangs .
|
||||
'';
|
||||
buildPhase = ''
|
||||
make BACKEND=elf64 boot-elf64
|
||||
make BACKEND=elf64 COPPER=stage3/copper-elf64 copper-elf64
|
||||
'';
|
||||
installPhase = ''
|
||||
make BACKEND=elf64 install prefix=$out
|
||||
'';
|
||||
meta = with stdenv.lib; {
|
||||
description = "Simple imperative language, statically typed with type inference and genericity.";
|
||||
homepage = "https://tibleiz.net/copper/";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.x86_64;
|
||||
};
|
||||
}
|
||||
@@ -3,7 +3,6 @@
|
||||
, fetchpatch
|
||||
, which
|
||||
, cmake
|
||||
, clang
|
||||
, llvmPackages
|
||||
, libunwind
|
||||
, gettext
|
||||
@@ -31,12 +30,12 @@ stdenv.mkDerivation rec {
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# glibc 2.26
|
||||
url = https://github.com/dotnet/coreclr/commit/a8f83b615708c529b112898e7d2fbc3f618b26ee.patch;
|
||||
url = "https://github.com/dotnet/coreclr/commit/a8f83b615708c529b112898e7d2fbc3f618b26ee.patch";
|
||||
sha256 = "047ph5gip4z2h7liwdxsmpnlaq0sd3hliaw4nyqjp647m80g3ffq";
|
||||
})
|
||||
(fetchpatch {
|
||||
# clang 5
|
||||
url = https://github.com/dotnet/coreclr/commit/9b22e1a767dee38f351001c5601f56d78766a43e.patch;
|
||||
url = "https://github.com/dotnet/coreclr/commit/9b22e1a767dee38f351001c5601f56d78766a43e.patch";
|
||||
sha256 = "1w1lxw5ryvhq8m5m0kv880c4bh6y9xdgypkr76sqbh3v568yghzg";
|
||||
})
|
||||
];
|
||||
@@ -44,7 +43,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
which
|
||||
cmake
|
||||
clang
|
||||
llvmPackages.clang
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -92,7 +91,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/dotnet/core/;
|
||||
homepage = "https://github.com/dotnet/core/";
|
||||
description = ".NET is a general purpose development platform";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ kuznero ];
|
||||
|
||||
@@ -1,53 +1,109 @@
|
||||
{ stdenv, lib, crystal, linkFarm, fetchFromGitHub }:
|
||||
{ # Generate shards.nix with `nix-shell -p crystal2nix --run crystal2nix` in the projects root
|
||||
shardsFile ? null
|
||||
{ stdenv, lib, crystal, shards, git, pkgconfig, which, linkFarm, fetchFromGitHub, installShellFiles }:
|
||||
|
||||
{ # Some projects do not include a lock file, so you can pass one
|
||||
lockFile ? null
|
||||
# Generate shards.nix with `nix-shell -p crystal2nix --run crystal2nix` in the projects root
|
||||
, shardsFile ? null
|
||||
# We support different builders. To make things more straight forward, make it
|
||||
# user selectable instead of trying to autodetect
|
||||
, format ? "make"
|
||||
, installManPages ? true
|
||||
# Specify binaries to build in the form { foo.src = "src/foo.cr"; }
|
||||
# The default `crystal build` options can be overridden with { foo.options = [ "--no-debug" ]; }
|
||||
, crystalBinaries ? {}
|
||||
, ...
|
||||
}@args:
|
||||
, crystalBinaries ? { }, ... }@args:
|
||||
|
||||
assert (builtins.elem format [ "make" "crystal" "shards" ]);
|
||||
|
||||
let
|
||||
mkDerivationArgs = builtins.removeAttrs args [ "shardsFile" "crystalBinaries" ];
|
||||
mkDerivationArgs = builtins.removeAttrs args [
|
||||
"format"
|
||||
"installManPages"
|
||||
"lockFile"
|
||||
"shardsFile"
|
||||
"crystalBinaries"
|
||||
];
|
||||
|
||||
crystalLib = linkFarm "crystal-lib" (lib.mapAttrsToList (name: value: {
|
||||
inherit name;
|
||||
path = fetchFromGitHub value;
|
||||
}) (import shardsFile));
|
||||
|
||||
defaultOptions = [ "--release" "--progress" "--no-debug" "--verbose" ];
|
||||
# we previously had --no-debug here but that is not recommended by upstream
|
||||
defaultOptions = [ "--release" "--progress" "--verbose" ];
|
||||
|
||||
buildDirectly = shardsFile == null || crystalBinaries != { };
|
||||
in stdenv.mkDerivation (mkDerivationArgs // {
|
||||
|
||||
configurePhase = args.configurePhase or ''
|
||||
runHook preConfigure
|
||||
${lib.optionalString (shardsFile != null) "ln -s ${crystalLib} lib"}
|
||||
runHook postConfigure
|
||||
configurePhase = args.configurePhase or lib.concatStringsSep "\n" ([
|
||||
"runHook preConfigure"
|
||||
] ++ lib.optional (lockFile != null) "ln -s ${lockFile} ./shard.lock"
|
||||
++ lib.optional (shardsFile != null) "ln -s ${crystalLib} lib"
|
||||
++ [ "runHook postConfigure "]);
|
||||
|
||||
CRFLAGS = lib.concatStringsSep " " defaultOptions;
|
||||
|
||||
PREFIX = placeholder "out";
|
||||
|
||||
buildInputs = args.buildInputs or [ ] ++ [ crystal ]
|
||||
++ lib.optional (format != "crystal") shards;
|
||||
|
||||
nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [ git installShellFiles pkgconfig which ];
|
||||
|
||||
buildPhase = args.buildPhase or (lib.concatStringsSep "\n" ([
|
||||
"runHook preBuild"
|
||||
] ++ lib.optional (format == "make")
|
||||
''make ''${buildTargets:-build} $makeFlags''
|
||||
++ lib.optionals (format == "crystal") (lib.mapAttrsToList (bin: attrs: ''
|
||||
crystal ${lib.escapeShellArgs (["build" "-o" bin
|
||||
(attrs.src or (throw "No source file for crystal binary ${bin} provided"))
|
||||
] ++ (attrs.options or defaultOptions))}
|
||||
'') crystalBinaries)
|
||||
++ lib.optional (format == "shards")
|
||||
"shards build --local --production ${lib.concatStringsSep " " defaultOptions}"
|
||||
++ [ "runHook postBuild" ]));
|
||||
|
||||
installPhase = args.installPhase or (lib.concatStringsSep "\n" ([
|
||||
"runHook preInstall"
|
||||
] ++ lib.optional (format == "make")
|
||||
''make ''${installTargets:-install} $installFlags''
|
||||
++ lib.optionals (format == "crystal") (map (bin: ''
|
||||
install -Dm555 ${lib.escapeShellArgs [ bin "${placeholder "out"}/bin/${bin}" ]}
|
||||
'') (lib.attrNames crystalBinaries))
|
||||
++ lib.optional (format == "shards")
|
||||
''install -Dm555 bin/* -t $out/bin''
|
||||
++ [
|
||||
''
|
||||
for f in README* *.md LICENSE; do
|
||||
test -f $f && install -Dm444 $f -t $out/share/doc/${args.pname}
|
||||
done
|
||||
''
|
||||
] ++ (lib.optional installManPages ''
|
||||
if [ -d man ]; then
|
||||
installManPage man/*.?
|
||||
fi
|
||||
'') ++ [
|
||||
"runHook postInstall"
|
||||
]));
|
||||
|
||||
doCheck = args.doCheck or true;
|
||||
|
||||
checkPhase = args.checkPhase or (lib.concatStringsSep "\n" ([
|
||||
"runHook preCheck"
|
||||
] ++ lib.optional (format == "make")
|
||||
''make ''${checkTarget:-test} $checkFlags''
|
||||
++ lib.optional (format != "make")
|
||||
''crystal ''${checkTarget:-spec} $checkFlags''
|
||||
++ [ "runHook postCheck" ]));
|
||||
|
||||
doInstallCheck = args.doInstallCheck or true;
|
||||
|
||||
installCheckPhase = args.installCheckPhase or ''
|
||||
for f in $out/bin/*; do
|
||||
$f --help
|
||||
done
|
||||
'';
|
||||
|
||||
buildInputs = args.buildInputs or [] ++ [ crystal ];
|
||||
|
||||
buildPhase = args.buildPhase or ''
|
||||
runHook preBuild
|
||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList (bin: attrs: ''
|
||||
crystal ${lib.escapeShellArgs ([
|
||||
"build"
|
||||
"-o" bin
|
||||
(attrs.src or (throw "No source file for crystal binary ${bin} provided"))
|
||||
] ++ attrs.options or defaultOptions)}
|
||||
'') crystalBinaries)}
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = args.installPhase or ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/bin"
|
||||
${lib.concatMapStringsSep "\n" (bin: ''
|
||||
mv ${lib.escapeShellArgs [ bin "${placeholder "out"}/bin/${bin}" ]}
|
||||
'') (lib.attrNames crystalBinaries)}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = args.meta or {} // {
|
||||
meta = args.meta or { } // {
|
||||
platforms = args.meta.platforms or crystal.meta.platforms;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{ lib, crystal, nix-prefetch-git }:
|
||||
|
||||
crystal.buildCrystalPackage {
|
||||
pname = "crystal2nix";
|
||||
version = "unstable-2018-07-31";
|
||||
@@ -6,11 +7,16 @@ crystal.buildCrystalPackage {
|
||||
nixPrefetchGit = "${lib.getBin nix-prefetch-git}/bin/nix-prefetch-git";
|
||||
unpackPhase = "substituteAll ${./crystal2nix.cr} crystal2nix.cr";
|
||||
|
||||
format = "crystal";
|
||||
|
||||
crystalBinaries.crystal2nix.src = "crystal2nix.cr";
|
||||
|
||||
# it will blow up without a shard.yml file
|
||||
doInstallCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Utility to convert Crystal's shard.lock files to a Nix file";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.manveru ];
|
||||
maintainers = with maintainers; [ manveru ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper
|
||||
, coreutils, git, gmp, nettools, openssl, readline, tzdata, libxml2, libyaml
|
||||
, coreutils, git, gmp, hostname, openssl, readline, tzdata, libxml2, libyaml
|
||||
, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib, pkgconfig
|
||||
, callPackage }:
|
||||
|
||||
@@ -62,9 +62,12 @@ let
|
||||
substituteInPlace src/crystal/system/unix/time.cr \
|
||||
--replace /usr/share/zoneinfo ${tzdata}/share/zoneinfo
|
||||
|
||||
ln -s spec/compiler spec/std
|
||||
ln -sf spec/compiler spec/std
|
||||
|
||||
# Dirty fix for when no sandboxing is enabled
|
||||
rm -rf /tmp/crystal
|
||||
mkdir -p /tmp/crystal
|
||||
|
||||
mkdir /tmp/crystal
|
||||
substituteInPlace spec/std/file_spec.cr \
|
||||
--replace '/bin/ls' '${coreutils}/bin/ls' \
|
||||
--replace '/usr/share' '/tmp/crystal' \
|
||||
@@ -81,7 +84,7 @@ let
|
||||
--replace '{% if flag?(:gnu) %}"listen: "{% else %}"bind: "{% end %}' '"bind: "'
|
||||
|
||||
substituteInPlace spec/std/system_spec.cr \
|
||||
--replace '`hostname`' '`${nettools}/bin/hostname`'
|
||||
--replace '`hostname`' '`${hostname}/bin/hostname`'
|
||||
|
||||
# See https://github.com/crystal-lang/crystal/pull/8640
|
||||
substituteInPlace spec/std/http/cookie_spec.cr \
|
||||
@@ -108,6 +111,8 @@ let
|
||||
"all" "docs"
|
||||
];
|
||||
|
||||
LLVM_CONFIG = "${llvm}/bin/llvm-config";
|
||||
|
||||
FLAGS = [
|
||||
"--release"
|
||||
"--single-module" # needed for deterministic builds
|
||||
@@ -170,7 +175,7 @@ let
|
||||
|
||||
meta = with lib; {
|
||||
description = "A compiled language with Ruby like syntax and type inference";
|
||||
homepage = https://crystal-lang.org/;
|
||||
homepage = "https://crystal-lang.org/";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ manveru david50407 peterhoeg ];
|
||||
platforms = builtins.attrNames archs;
|
||||
@@ -178,33 +183,6 @@ let
|
||||
}));
|
||||
|
||||
in rec {
|
||||
binaryCrystal_0_27 = genericBinary {
|
||||
version = "0.27.2";
|
||||
sha256s = {
|
||||
x86_64-linux = "05l5x7kx2acgnv42fj3rr17z73ix06zvi05h7d7vf3kw0izxrasm";
|
||||
i686-linux = "1iwizkvn6pglc0azkyfhlmk9ap793krdgcnbihd1kvrvs4cz0mm9";
|
||||
x86_64-darwin = "14c69ac2dmfwmb5q56ps3xyxxb0mrbc91ahk9h07c8fiqfii3k9g";
|
||||
};
|
||||
};
|
||||
|
||||
binaryCrystal_0_29 = genericBinary {
|
||||
version = "0.29.0";
|
||||
sha256s = {
|
||||
x86_64-linux = "1wrk29sfx35akg7hxwpdiikvl18wd40gq1kwirw7x522hnq7vlna";
|
||||
i686-linux = "1nx0piis2k3nn7kqiijqazzbvlaavhgvsln0l3dxmpfa4i4dz5h2";
|
||||
x86_64-darwin = "1fd0fbyf05abivnp3igjlrm2axf65n2wdmg4aq6nqj60ipc01rvd";
|
||||
};
|
||||
};
|
||||
|
||||
binaryCrystal_0_30 = genericBinary {
|
||||
version = "0.30.1";
|
||||
sha256s = {
|
||||
x86_64-linux = "1k2mb74jh3ns3m7y73j4wpf571sayn73zbn6d7q81d09r280zrma";
|
||||
i686-linux = "0vsq1ayf922spydp2g2mmimc797jmm7nl5nljhfppcclrwygdyk2";
|
||||
x86_64-darwin = "1p3s4lwdgykb7h7aysjhrs7vm0zhinzw5d7rfv6jsyin4j8yxhzz";
|
||||
};
|
||||
};
|
||||
|
||||
binaryCrystal_0_31 = genericBinary {
|
||||
version = "0.31.1";
|
||||
sha256s = {
|
||||
@@ -214,32 +192,11 @@ in rec {
|
||||
};
|
||||
};
|
||||
|
||||
crystal_0_27 = generic {
|
||||
version = "0.27.2";
|
||||
sha256 = "0vxqnpqi85yh0167nrkbksxsni476iwbh6y3znbvbjbbfhsi3nsj";
|
||||
doCheck = false; # about 20 tests out of more than 15000 are failing
|
||||
binary = binaryCrystal_0_27;
|
||||
};
|
||||
|
||||
crystal_0_29 = generic {
|
||||
version = "0.29.0";
|
||||
sha256 = "0v9l253b2x8yw6a43vvalywpwciwr094l3g5wakmndfrzak2s3zr";
|
||||
doCheck = false; # 6 checks are failing now
|
||||
binary = binaryCrystal_0_29;
|
||||
};
|
||||
|
||||
crystal_0_30 = generic {
|
||||
version = "0.30.1";
|
||||
sha256 = "0fbk784zjflsl3hys5a1xmn8mda8kb2z7ql58wpyfavivswxanbs";
|
||||
doCheck = false; # 6 checks are failing now
|
||||
binary = binaryCrystal_0_29;
|
||||
};
|
||||
|
||||
crystal_0_31 = generic {
|
||||
version = "0.31.1";
|
||||
sha256 = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
|
||||
doCheck = false; # 5 checks are failing now
|
||||
binary = binaryCrystal_0_30;
|
||||
binary = binaryCrystal_0_31;
|
||||
};
|
||||
|
||||
crystal_0_32 = generic {
|
||||
@@ -248,7 +205,21 @@ in rec {
|
||||
binary = binaryCrystal_0_31;
|
||||
};
|
||||
|
||||
crystal = crystal_0_32;
|
||||
crystal_0_33 = generic {
|
||||
version = "0.33.0";
|
||||
sha256 = "1zg0qixcws81s083wrh54hp83ng2pa8iyyafaha55mzrh8293jbi";
|
||||
binary = binaryCrystal_0_31;
|
||||
doCheck = false; # 4 checks are failing now
|
||||
};
|
||||
|
||||
crystal_0_34 = generic {
|
||||
version = "0.34.0";
|
||||
sha256 = "110lfpxk9jnqyznbfnilys65ixj5sdmy8pvvnlhqhc3ccvrlnmq4";
|
||||
binary = crystal_0_33;
|
||||
doCheck = false; # 4 checks are failing now
|
||||
};
|
||||
|
||||
crystal = crystal_0_34;
|
||||
|
||||
crystal2nix = callPackage ./crystal2nix.nix {};
|
||||
}
|
||||
|
||||
@@ -95,12 +95,33 @@ stdenv.mkDerivation rec {
|
||||
cd ..
|
||||
done
|
||||
''}
|
||||
${lib.optionalString (lib.versionAtLeast version "10.1") ''
|
||||
${lib.optionalString (lib.versionAtLeast version "10.1" && lib.versionOlder version "11") ''
|
||||
cd pkg/builds/cuda-toolkit
|
||||
mv * $out/
|
||||
''}
|
||||
${lib.optionalString (lib.versionAtLeast version "11") ''
|
||||
mkdir -p $out/bin $out/lib64 $out/include $out/doc
|
||||
for dir in pkg/builds/* pkg/builds/cuda_nvcc/nvvm pkg/builds/cuda_cupti/extras/CUPTI; do
|
||||
if [ -d $dir/bin ]; then
|
||||
mv $dir/bin/* $out/bin
|
||||
fi
|
||||
if [ -d $dir/doc ]; then
|
||||
(cd $dir/doc && find . -type d -exec mkdir -p $out/doc/\{} \;)
|
||||
(cd $dir/doc && find . \( -type f -o -type l \) -exec mv \{} $out/doc/\{} \;)
|
||||
fi
|
||||
if [ -L $dir/include ] || [ -d $dir/include ]; then
|
||||
(cd $dir/include && find . -type d -exec mkdir -p $out/include/\{} \;)
|
||||
(cd $dir/include && find . \( -type f -o -type l \) -exec mv \{} $out/include/\{} \;)
|
||||
fi
|
||||
if [ -L $dir/lib64 ] || [ -d $dir/lib64 ]; then
|
||||
(cd $dir/lib64 && find . -type d -exec mkdir -p $out/lib64/\{} \;)
|
||||
(cd $dir/lib64 && find . \( -type f -o -type l \) -exec mv \{} $out/lib64/\{} \;)
|
||||
fi
|
||||
done
|
||||
mv pkg/builds/cuda_nvcc/nvvm $out/nvvm
|
||||
''}
|
||||
|
||||
rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
|
||||
rm -f $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
|
||||
|
||||
${lib.optionalString (lib.versionOlder version "10.1") ''
|
||||
# let's remove the 32-bit libraries, they confuse the lib64->lib mover
|
||||
@@ -152,7 +173,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
for b in nvvp nsight; do
|
||||
for b in nvvp ${lib.optionalString (lib.versionOlder version "11") "nsight"}; do
|
||||
wrapProgram "$out/bin/$b" \
|
||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
|
||||
done
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
, gcc48
|
||||
, gcc6
|
||||
, gcc7
|
||||
, gcc9
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -136,4 +137,14 @@ in rec {
|
||||
};
|
||||
|
||||
cudatoolkit_10 = cudatoolkit_10_2;
|
||||
|
||||
cudatoolkit_11_0 = common {
|
||||
version = "11.0.3";
|
||||
url = "https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run";
|
||||
sha256 = "1h4c69nfrgm09jzv8xjnjcvpq8n4gnlii17v3wzqry5d13jc8ydh";
|
||||
|
||||
gcc = gcc9;
|
||||
};
|
||||
|
||||
cudatoolkit_11 = cudatoolkit_11_0;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ in stdenv.mkDerivation {
|
||||
Dale is a system (no GC) programming language that uses
|
||||
S-expressions for syntax and supports syntactic macros.
|
||||
'';
|
||||
homepage = https://github.com/tomhrr/dale;
|
||||
homepage = "https://github.com/tomhrr/dale";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ amiloradovsky ];
|
||||
platforms = with platforms; [ "i686-linux" "x86_64-linux" ];
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dasm";
|
||||
version = "2.20.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dasm-assembler";
|
||||
repo = "dasm";
|
||||
rev = version;
|
||||
sha256 = "1nr4kvw42vyc6i4p1c06jlih11rhbjjxc27dc7cx5qj635xf4jcf";
|
||||
};
|
||||
|
||||
configurePhase = false;
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install bin/* $out/bin
|
||||
'';
|
||||
|
||||
preCheck = ''
|
||||
patchShebangs ./test/
|
||||
'';
|
||||
|
||||
checkTarget = "test";
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Assembler for 6502 and other 8-bit microprocessors";
|
||||
homepage = "https://dasm-assembler.github.io";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.jwatt ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
description = "Linux 8086 development environment";
|
||||
homepage = http://v3.sk/~lkundrak/dev86/;
|
||||
homepage = "http://v3.sk/~lkundrak/dev86/";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
{ stdenv, fetchurl, curl, tzdata, autoPatchelfHook, fixDarwinDylibNames, glibc
|
||||
, version, hashes }:
|
||||
with stdenv;
|
||||
let
|
||||
OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name;
|
||||
MODEL = toString hostPlatform.parsed.cpu.bits;
|
||||
in mkDerivation {
|
||||
pname = "dmd-bootstrap";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl rec {
|
||||
name = "dmd.${version}.${OS}.tar.xz";
|
||||
url = "http://downloads.dlang.org/releases/2.x/${version}/${name}";
|
||||
sha256 = hashes.${OS} or (throw "missing bootstrap sha256 for OS ${OS}");
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ fixDarwinDylibNames autoPatchelfHook ];
|
||||
propagatedBuildInputs = [ curl tzdata ] ++ lib.optional hostPlatform.isLinux glibc;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
|
||||
# try to copy model-specific binaries into bin first
|
||||
mv ${OS}/bin${MODEL} $out/bin || true
|
||||
|
||||
mv src license.txt ${OS}/* $out/
|
||||
|
||||
# move man into place
|
||||
mkdir -p $out/share
|
||||
mv man $out/share/
|
||||
|
||||
# move docs into place
|
||||
mkdir -p $out/share/doc
|
||||
mv html/d $out/share/doc/
|
||||
|
||||
# fix paths in dmd.conf (one level less)
|
||||
substituteInPlace $out/bin/dmd.conf --replace "/../../" "/../"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
inherit version;
|
||||
description = "Digital Mars D Compiler Package";
|
||||
# As of 2.075 all sources and binaries use the boost license
|
||||
license = licenses.boost;
|
||||
maintainers = [ maintainers.lionello ];
|
||||
homepage = "https://dlang.org/";
|
||||
platforms = [ "x86_64-darwin" "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{ callPackage }:
|
||||
callPackage ./binary.nix {
|
||||
version = "2.090.1";
|
||||
hashes = {
|
||||
# Get these from `nix-prefetch-url http://downloads.dlang.org/releases/2.x/2.090.1/dmd.2.090.1.linux.tar.xz` etc..
|
||||
osx = "0rbn7j4dr3q0y09fblpj999bi063pi4230rqd5xgd3gwxxa0cz7l";
|
||||
linux = "1vk6lsvd6y7ccvffd23yial4ig90azaxf2rxc6yvidqd1qhan807";
|
||||
};
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
{ stdenv, lib, fetchFromGitHub
|
||||
, makeWrapper, unzip, which, writeTextFile
|
||||
, curl, tzdata, gdb, darwin, git
|
||||
, targetPackages, ldc
|
||||
, version ? "2.085.1"
|
||||
, dmdSha256 ? "0ccidfcawrcwdpfjwjiln5xwr4ffp8i2hwx52p8zn3xmc5yxm660"
|
||||
, druntimeSha256 ? "109f2glsqrlshk06761xlw4r5v22mivp873cq9g5gcax3g00k617"
|
||||
, phobosSha256 ? "0giispqqx8j8xg6c0hm7nx77bcahiwic8rvf12sws3sv5pizv8pr"
|
||||
, curl, tzdata, gdb, darwin, git, callPackage
|
||||
, targetPackages, fetchpatch, bash
|
||||
, dmdBootstrap ? callPackage ./bootstrap.nix { }
|
||||
, HOST_DMD ? "${dmdBootstrap}/bin/dmd"
|
||||
, version ? "2.091.1"
|
||||
, dmdSha256 ? "0brz0n84jdkhr4sq4k91w48p739psbhbb1jk2pi9q60psmx353yr"
|
||||
, druntimeSha256 ? "0smgpmfriffh110ksski1s5j921kmxbc2zjy0dyj9ksyrxbzklbl"
|
||||
, phobosSha256 ? "1n00anajgibrfs1xzvrmag28hvbvkc0w1fwlimqbznvhf28rhrxs"
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -51,7 +53,17 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
];
|
||||
|
||||
patchFlags = [ "--directory=dmd" "-p1" ];
|
||||
patchFlags = [ "--directory=dmd" "-p1" "-F3" ];
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/dlang/dmd/commit/4157298cf04f7aae9f701432afd1de7b7e05c30f.patch";
|
||||
sha256 = "0v4xgqmrx5r8vbx5a4v88s0xnm23mam9nm99yfga7s2sxr0hi5p2";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/dlang/dmd/commit/1b8a4c90b040bf2f0b68a2739de4991315580b13.patch";
|
||||
sha256 = "1iih6aalv4fsw9mbrlrybhngkkchzzrzg7q8zl047w36c0x397cs";
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
@@ -62,15 +74,17 @@ stdenv.mkDerivation rec {
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
postPatch = ''
|
||||
substituteInPlace dmd/test/dshell/test6952.d --replace "/usr/bin/env bash" "${bash}/bin/bash"
|
||||
''
|
||||
+ stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
substituteInPlace phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
|
||||
''
|
||||
|
||||
+ stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ ldc makeWrapper unzip which gdb git ]
|
||||
nativeBuildInputs = [ makeWrapper unzip which gdb git ]
|
||||
|
||||
++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||
Foundation
|
||||
@@ -89,7 +103,7 @@ stdenv.mkDerivation rec {
|
||||
# Buid and install are based on http://wiki.dlang.org/Building_DMD
|
||||
buildPhase = ''
|
||||
cd dmd
|
||||
make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out BUILD=release ENABLE_RELEASE=1 PIC=1 HOST_DMD=ldmd2
|
||||
make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out BUILD=release ENABLE_RELEASE=1 PIC=1 HOST_DMD=${HOST_DMD}
|
||||
cd ../druntime
|
||||
make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd}
|
||||
cd ../phobos
|
||||
@@ -143,12 +157,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Official reference compiler for the D language";
|
||||
homepage = http://dlang.org/;
|
||||
homepage = "http://dlang.org/";
|
||||
# Everything is now Boost licensed, even the backend.
|
||||
# https://github.com/dlang/dmd/pull/6680
|
||||
license = licenses.boost;
|
||||
maintainers = with maintainers; [ ThomasMader ];
|
||||
maintainers = with maintainers; [ ThomasMader lionello ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
{ type
|
||||
, version
|
||||
, sha512
|
||||
}:
|
||||
|
||||
assert builtins.elem type [ "aspnetcore" "netcore" "sdk"];
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, libunwind
|
||||
, openssl
|
||||
, icu
|
||||
, libuuid
|
||||
, zlib
|
||||
, curl
|
||||
}:
|
||||
|
||||
let
|
||||
pname = if type == "aspnetcore" then
|
||||
"aspnetcore-runtime"
|
||||
else if type == "netcore" then
|
||||
"dotnet-runtime"
|
||||
else
|
||||
"dotnet-sdk";
|
||||
platform = if stdenv.isDarwin then "osx" else "linux";
|
||||
suffix = {
|
||||
x86_64-linux = "x64";
|
||||
aarch64-linux = "arm64";
|
||||
x86_64-darwin = "x64";
|
||||
}."${stdenv.hostPlatform.system}" or (throw
|
||||
"Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
urls = {
|
||||
aspnetcore = "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
|
||||
netcore = "https://dotnetcli.azureedge.net/dotnet/Runtime/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
|
||||
sdk = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-${platform}-${suffix}.tar.gz";
|
||||
};
|
||||
descriptions = {
|
||||
aspnetcore = "ASP .NET Core runtime ${version}";
|
||||
netcore = ".NET Core runtime ${version}";
|
||||
sdk = ".NET SDK ${version}";
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname version;
|
||||
|
||||
rpath = stdenv.lib.makeLibraryPath [
|
||||
curl
|
||||
icu
|
||||
libunwind
|
||||
libuuid
|
||||
openssl
|
||||
stdenv.cc.cc
|
||||
zlib
|
||||
];
|
||||
|
||||
src = fetchurl {
|
||||
url = builtins.getAttr type urls;
|
||||
sha512 = sha512."${stdenv.hostPlatform.system}" or (throw
|
||||
"Missing hash for host system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
dontPatchELF = true;
|
||||
noDumpEnvVars = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp -r ./ $out
|
||||
ln -s $out/dotnet $out/bin/dotnet
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = stdenv.lib.optionalString stdenv.isLinux ''
|
||||
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/dotnet
|
||||
patchelf --set-rpath "${rpath}" $out/dotnet
|
||||
find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
|
||||
find $out -type f -name "apphost" -exec patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" --set-rpath '$ORIGIN:${rpath}' {} \;
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/dotnet --info
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://dotnet.github.io/";
|
||||
description = builtins.getAttr type descriptions;
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
|
||||
maintainers = with maintainers; [ kuznero ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
{ type
|
||||
, version
|
||||
, sha512
|
||||
}:
|
||||
assert builtins.elem type [ "aspnetcore" "netcore" "sdk"];
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, libunwind
|
||||
, openssl
|
||||
, icu
|
||||
, libuuid
|
||||
, zlib
|
||||
, curl
|
||||
}:
|
||||
let pname = if type == "aspnetcore" then "aspnetcore-runtime" else if type == "netcore" then "dotnet-runtime" else "dotnet-sdk";
|
||||
urls = {
|
||||
aspnetcore = "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/${version}/${pname}-${version}-linux-x64.tar.gz";
|
||||
netcore = "https://dotnetcli.azureedge.net/dotnet/Runtime/${version}/${pname}-${version}-linux-x64.tar.gz";
|
||||
sdk = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-linux-x64.tar.gz";
|
||||
};
|
||||
descriptions = {
|
||||
aspnetcore = "ASP .NET Core runtime ${version}";
|
||||
netcore = ".NET Core runtime ${version}";
|
||||
sdk = ".NET SDK ${version}";
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname version;
|
||||
|
||||
rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
|
||||
|
||||
src = fetchurl {
|
||||
url = builtins.getAttr type urls;
|
||||
inherit sha512;
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
dontPatchELF = true;
|
||||
noDumpEnvVars = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp -r ./ $out
|
||||
ln -s $out/dotnet $out/bin/dotnet
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/dotnet
|
||||
patchelf --set-rpath "${rpath}" $out/dotnet
|
||||
find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
|
||||
find $out -type f -name "apphost" -exec patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" --set-rpath '$ORIGIN:${rpath}' {} \;
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/dotnet --info
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://dotnet.github.io/;
|
||||
description = builtins.getAttr type descriptions;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ kuznero ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
@@ -4,28 +4,41 @@ dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_3_1 sdk_2_2 sdk_
|
||||
*/
|
||||
{ callPackage }:
|
||||
let
|
||||
buildDotnet = attrs: callPackage (import ./buildDotnet.nix attrs) {};
|
||||
buildAspNetCore = attrs: buildDotnet (attrs // { type = "aspnetcore"; } );
|
||||
buildNetCore = attrs: buildDotnet (attrs // { type = "netcore"; } );
|
||||
buildNetCoreSdk = attrs: buildDotnet (attrs // { type = "sdk"; } );
|
||||
in rec {
|
||||
combinePackages = attrs: callPackage (import ./combinePackages.nix attrs) {};
|
||||
buildDotnet = attrs: callPackage (import ./build-dotnet.nix attrs) {};
|
||||
buildAspNetCore = attrs: buildDotnet (attrs // { type = "aspnetcore"; });
|
||||
buildNetCore = attrs: buildDotnet (attrs // { type = "netcore"; });
|
||||
buildNetCoreSdk = attrs: buildDotnet (attrs // { type = "sdk"; });
|
||||
in
|
||||
rec {
|
||||
combinePackages = attrs: callPackage (import ./combine-packages.nix attrs) {};
|
||||
|
||||
# v2.1.15 (LTS)
|
||||
|
||||
aspnetcore_2_1 = buildAspNetCore {
|
||||
version = "2.1.16";
|
||||
sha512 = "0awdzi8dysbg8xcy4l8wx2sb8gaaklphmwv61qxh7dj6ih4nla34l02xdax1l8nw41znnnqzsa77avglnrz36pckm9mc52m7wc7877h";
|
||||
sha512 = {
|
||||
x86_64-linux = "0awdzi8dysbg8xcy4l8wx2sb8gaaklphmwv61qxh7dj6ih4nla34l02xdax1l8nw41znnnqzsa77avglnrz36pckm9mc52m7wc7877h";
|
||||
aarch64-linux = null; # no aarch64 version of this package is available
|
||||
x86_64-darwin = "1psqqpin4hipr2hzfp79712d6cag892jx4fx5001nlsynwrdq3vi4liakz4yz41rvk0jyd7f07z90wj97xlxyrqiqcc1fdbgn2q0px9";
|
||||
};
|
||||
};
|
||||
|
||||
netcore_2_1 = buildNetCore {
|
||||
version = "2.1.16";
|
||||
sha512 = "07vvmza32hsblpw4zpcksm2gicy4agh0d1fwradqj16y6xbh3frdp87mqgbj5m54mmyfp5bc8c46v1w6dfm1w3y80v2y46aynild45l";
|
||||
sha512 = {
|
||||
x86_64-linux = "07vvmza32hsblpw4zpcksm2gicy4agh0d1fwradqj16y6xbh3frdp87mqgbj5m54mmyfp5bc8c46v1w6dfm1w3y80v2y46aynild45l";
|
||||
aarch64-linux = "27ab982vz9rn2vzpq68dqfzhryfixq3s0apx7vi0cwiray3scgfmf45fm7qj63k9mvaqnk5g69i339109yasw3q5vpvpyjc1ykbi710";
|
||||
x86_64-darwin = "2pxqpcw3djr18m0y124fbd6pz4lb5brlgvpvd9pdirkpsar8dmipsrhxcsk0d902zyxzgj1ac1ygzxsz49xvrkmh6s1m3w5fk8fws2f";
|
||||
};
|
||||
};
|
||||
|
||||
sdk_2_1 = buildNetCoreSdk {
|
||||
version = "2.1.804";
|
||||
sha512 = "1kbzxcdgyvs94kkm6ikr1j0p0k3zq30d10sl69ig0rgbqbqm4rpqi6dq94jjbw7q3jlwz83vgq3549q38d2s9kalmzv9lmddn2kkc42";
|
||||
sha512 = {
|
||||
x86_64-linux = "1kbzxcdgyvs94kkm6ikr1j0p0k3zq30d10sl69ig0rgbqbqm4rpqi6dq94jjbw7q3jlwz83vgq3549q38d2s9kalmzv9lmddn2kkc42";
|
||||
aarch64-linux = "2d97xvhxnkdgghqlichkwdxxh641dzkd9hq5xgffgvbqv1qsh31k9yib2q1nsarpnbx0d758bdn2jm2wvsj7nx0gpxlb3nab0b3hc2g";
|
||||
x86_64-darwin = "0fjn18vizgfdbziklhgppnvka5iw2hb4pfi6047i46il8ydb6z1m40cflq436sdf07sivi0mnldg9247qvqrl6f078w3fwnh3bwlac8";
|
||||
};
|
||||
};
|
||||
|
||||
# v2.2
|
||||
@@ -36,33 +49,57 @@ in rec {
|
||||
|
||||
aspnetcore_3_0 = buildAspNetCore {
|
||||
version = "3.0.3";
|
||||
sha512 = "342v6kxxbxky09d1c392vvr9rm30lf75wccka1bk2h4advlcga5nlgv93g7vrq48bsyxfi5gc36r3b0dlwl1g409g5mlk1042n6d0yq";
|
||||
sha512 = {
|
||||
x86_64-linux = "342v6kxxbxky09d1c392vvr9rm30lf75wccka1bk2h4advlcga5nlgv93g7vrq48bsyxfi5gc36r3b0dlwl1g409g5mlk1042n6d0yq";
|
||||
aarch64-linux = "2xkg4q88q5jw6jdz6cxj8vsjr475nd0fcvifkv1shdm2j9dsjy233hwpxbr140m5n5ggyh6z99238z9j4kp2az977y8y8irz8m8ppvf";
|
||||
x86_64-darwin = "2p04j6p4j93pan71ih13hv57zxalcirh0n3vfjq0cfb80pbhf1f5cgxl24pw6kifh6hhh38rj62c4mr69lxzlqc8sfcfaws8dyz2avm";
|
||||
};
|
||||
};
|
||||
|
||||
netcore_3_0 = buildNetCore {
|
||||
version = "3.0.3";
|
||||
sha512 = "32ykpcw2xx708r2lxcwcbxnmy4sk159rlfjfvkw990qh7n79pm3lm2qwa3zhqcslznmpg18kwxz8qb5fgsa0h49g843xx4kyai0n7rx";
|
||||
sha512 = {
|
||||
x86_64-linux = "32ykpcw2xx708r2lxcwcbxnmy4sk159rlfjfvkw990qh7n79pm3lm2qwa3zhqcslznmpg18kwxz8qb5fgsa0h49g843xx4kyai0n7rx";
|
||||
aarch64-linux = "1lp8din7d5jv5fkyq1a7m01i1xg9jwpiljvam1kcyzsnwzvi0cb4ji336cfx4lqrn95gvc75gkzi6q8b4fz0h21gvk6z6kmlcr63nyg";
|
||||
x86_64-darwin = "0s20k7xawwd09xhy4xdcxp1rw6jd418ibrvhb509dnj480g48xryda2203g4mpswd24v2kx0n9qzxgbrbq9lvasfglkxi84bbqayp83";
|
||||
};
|
||||
};
|
||||
|
||||
sdk_3_0 = buildNetCoreSdk {
|
||||
version = "3.0.103";
|
||||
sha512 = "2diiplgxs92fkb6ym68b02d79z4qn63x5qlky5lvr757c1zkh0vfpk3khawdg94kdn4qkn6dmyqr0msxqgmiqyhp63cadzqq4vx7b12";
|
||||
sha512 = {
|
||||
x86_64-linux = "2diiplgxs92fkb6ym68b02d79z4qn63x5qlky5lvr757c1zkh0vfpk3khawdg94kdn4qkn6dmyqr0msxqgmiqyhp63cadzqq4vx7b12";
|
||||
aarch64-linux = "32843q2lj7dgciq62g9v1q31vwfjyv5vaxrz712d942mcg5lyzjygwri106bv4naq3a22131ldzwnsifbdn2vq1iz60raqdb7ss9vnf";
|
||||
x86_64-darwin = "3apswk2bhalgi0hm7h2j9p152jvp39h4xilxxzix5j1n36b442l1pwk7lj7019lxafjqkz5y850xkfcp14ks5wcvs33xs2c0aqwxvcn";
|
||||
};
|
||||
};
|
||||
|
||||
# v3.1.1 (LTS)
|
||||
|
||||
aspnetcore_3_1 = buildAspNetCore {
|
||||
version = "3.1.2";
|
||||
sha512 = "27708bk5liz8r39p4dzs41clgq298d49g8ipzdj56pz613vkfyv7bp91666ydz36aazm265j2g9ji3sk1f9kbgv6024zwrly5w9vqrm";
|
||||
version = "3.1.5";
|
||||
sha512 = {
|
||||
x86_64-linux = "3ziyvm6llvhnjg8ayr4cfcabwkc46fqscgj12faavib34r5zx4mnv3qccqm3gg2r8jps60h42lvrwj3fliqmr0qqnhsw04819kqwai6";
|
||||
aarch64-linux = "2nbhvh8dpg7dghcs6ysdg7mcc60hbk5d3zab0nnbqkib93fdhbzhzcra9qhh80h8x03zw0jsn3gzqx0d1z2vz5z3lsa14vmb86pzj4a";
|
||||
x86_64-darwin = "1sfnp849vmsv8775fjsf9nzx28cmkvfgk8fa81h2l849z31ssaw9fn89kk0n83l0wrhr24ivmprfr11sp42gnjbncqfsnz4883lfchw";
|
||||
};
|
||||
};
|
||||
|
||||
netcore_3_1 = buildNetCore {
|
||||
version = "3.1.2";
|
||||
sha512 = "3zwg1anrcni9kagmjxn485bpjvb146hkm7irmikq3v879gjhd2fgpscg226ds83l4pxll3r7lwris6ij952xmy8lsqraapd9111ba14";
|
||||
version = "3.1.5";
|
||||
sha512 = {
|
||||
x86_64-linux = "03g6aghbpsxj9csaq9lkc8cad1nk8kvlivkarq6bfqvx992fxw6zryp7kcm5h6a5gkgpimb1nr17vndj1r629hdhpincqj8yw6i33mq";
|
||||
aarch64-linux = "25gwicmpzhzs96w3azypbl32bx967f14xkfdgvl7knw234rcmfv7zr0a7lb3vci68dbx4xywpnwlrvgi54mimzp8nagrgwva8zrrxzb";
|
||||
x86_64-darwin = "2g28jmv1n7pgxfq4wk9x58y5dp835c7rckz6c88ylk7g9w6z75l94pblfl1rc7mr6g3wddiy5cl87a607j9g283hv28a4vcpvll8s7g";
|
||||
};
|
||||
};
|
||||
|
||||
sdk_3_1 = buildNetCoreSdk {
|
||||
version = "3.1.102";
|
||||
sha512 = "0lmz8ac5j0i4zcq4904kr6qibvyjcm2ckfg27kqyqfii00qmm80xb5sk3i7f06xqkbgkrqkbg9rsldk75akw6m5dxg932j602bxrb4w";
|
||||
sha512 = {
|
||||
x86_64-linux = "0lmz8ac5j0i4zcq4904kr6qibvyjcm2ckfg27kqyqfii00qmm80xb5sk3i7f06xqkbgkrqkbg9rsldk75akw6m5dxg932j602bxrb4w";
|
||||
aarch64-linux = "34k6cm69gxm7vcd9m6bp47sdx96j32z6lfhb2vjcdznc6xgs2wy8zcang3b1mjm5919dq7v6iysm6ffcpgjhhphy7prlnaqa69q5mks";
|
||||
x86_64-darwin = "00xs87zj94v6yr6xs294bficp6lxpghyfswhnwqfkx62jy80qr5fa2y7s10ich3cbm2daa8dby56iizdvi7rnlvp23gfkq12gq4w1g8";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dtc";
|
||||
version = "1.5.1";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "1jhhfrg22h53lvm2lqhd66pyk20pil08ry03wcwyx1c3ln27k73z";
|
||||
sha256 = "0li992wwd7kgy71bikanqky49y4hq3p3vx35p2hvyxy1k0wfy7i8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ flex bison pkgconfig which ] ++ lib.optionals pythonSupport [ python swig ];
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "Device Tree Compiler";
|
||||
homepage = https://git.kernel.org/cgit/utils/dtc/dtc.git;
|
||||
homepage = "https://git.kernel.org/cgit/utils/dtc/dtc.git";
|
||||
license = licenses.gpl2; # dtc itself is GPLv2, libfdt is dual GPL/BSD
|
||||
maintainers = [ maintainers.dezgeg ];
|
||||
platforms = platforms.unix;
|
||||
|
||||
@@ -62,7 +62,7 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
inherit (s) version;
|
||||
description = "Lisp implementation aiming to be small, fast and easy to embed";
|
||||
homepage = https://common-lisp.net/project/ecl/;
|
||||
homepage = "https://common-lisp.net/project/ecl/";
|
||||
license = stdenv.lib.licenses.mit ;
|
||||
maintainers = [stdenv.lib.maintainers.raskin];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
|
||||
@@ -1,4 +1,17 @@
|
||||
{ stdenv, fetchgit, fetchpatch, libuuid, python3, iasl, bc }:
|
||||
{
|
||||
stdenv,
|
||||
clangStdenv,
|
||||
fetchgit,
|
||||
fetchpatch,
|
||||
libuuid,
|
||||
python3,
|
||||
iasl,
|
||||
bc,
|
||||
clang_9,
|
||||
llvmPackages_9,
|
||||
overrideCC,
|
||||
lib,
|
||||
}:
|
||||
|
||||
let
|
||||
pythonEnv = python3.withPackages (ps: [ps.tkinter]);
|
||||
@@ -12,7 +25,17 @@ else if stdenv.isAarch64 then
|
||||
else
|
||||
throw "Unsupported architecture";
|
||||
|
||||
edk2 = stdenv.mkDerivation {
|
||||
buildStdenv = if stdenv.isDarwin then
|
||||
overrideCC clangStdenv [ clang_9 llvmPackages_9.llvm llvmPackages_9.lld ]
|
||||
else
|
||||
stdenv;
|
||||
|
||||
buildType = if stdenv.isDarwin then
|
||||
"CLANGPDB"
|
||||
else
|
||||
"GCC5";
|
||||
|
||||
edk2 = buildStdenv.mkDerivation {
|
||||
pname = "edk2";
|
||||
version = "201911";
|
||||
|
||||
@@ -25,8 +48,10 @@ edk2 = stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ libuuid pythonEnv ];
|
||||
|
||||
makeFlags = [ "-C BaseTools" ];
|
||||
NIX_CFLAGS_COMPILE = "-Wno-return-type -Wno-error=stringop-truncation";
|
||||
makeFlags = [ "-C BaseTools" ]
|
||||
++ lib.optional (stdenv.cc.isClang) [ "BUILD_CC=clang BUILD_CXX=clang++ BUILD_AS=clang" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-return-type" + lib.optionalString (stdenv.cc.isGNU) " -Wno-error=stringop-truncation";
|
||||
|
||||
hardeningDisable = [ "format" "fortify" ];
|
||||
|
||||
@@ -38,15 +63,15 @@ edk2 = stdenv.mkDerivation {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = with lib; {
|
||||
description = "Intel EFI development kit";
|
||||
homepage = https://sourceforge.net/projects/edk2/;
|
||||
homepage = "https://sourceforge.net/projects/edk2/";
|
||||
license = licenses.bsd2;
|
||||
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
|
||||
passthru = {
|
||||
mkDerivation = projectDscPath: attrs: stdenv.mkDerivation ({
|
||||
mkDerivation = projectDscPath: attrs: buildStdenv.mkDerivation ({
|
||||
inherit (edk2) src;
|
||||
|
||||
buildInputs = [ bc pythonEnv ] ++ attrs.buildInputs or [];
|
||||
@@ -65,7 +90,7 @@ edk2 = stdenv.mkDerivation {
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
build -a ${targetArch} -b RELEASE -t GCC5 -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags
|
||||
build -a ${targetArch} -b RELEASE -t ${buildType} -p ${projectDscPath} -n $NIX_BUILD_CORES $buildFlags
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
|
||||
construction with extensive libraries implementing common tasks, yet handling
|
||||
arbitrary special cases. Output is the C subset of C++.
|
||||
'';
|
||||
homepage = http://eli-project.sourceforge.net/;
|
||||
homepage = "http://eli-project.sourceforge.net/";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = with stdenv.lib.maintainers; [ timokau ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
{ lib, stdenv, pkgs
|
||||
, haskell, nodejs
|
||||
, fetchurl, fetchpatch, makeWrapper, writeScriptBin }:
|
||||
, fetchurl, fetchpatch, makeWrapper, writeScriptBin
|
||||
# Rust dependecies
|
||||
, rustPlatform, openssl, pkg-config }:
|
||||
let
|
||||
fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; };
|
||||
|
||||
hsPkgs = haskell.packages.ghc881.override {
|
||||
hsPkgs = haskell.packages.ghc883.override {
|
||||
overrides = self: super: with haskell.lib;
|
||||
let elmPkgs = rec {
|
||||
elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: {
|
||||
@@ -28,7 +30,7 @@ let
|
||||
`package/nix/build.sh`
|
||||
*/
|
||||
elm-format = justStaticExecutables (overrideCabal (self.callPackage ./packages/elm-format.nix {}) (drv: {
|
||||
# GHC 8.8.1 support
|
||||
# GHC 8.8.3 support
|
||||
# https://github.com/avh4/elm-format/pull/640
|
||||
patches = [(
|
||||
fetchpatch {
|
||||
@@ -52,14 +54,6 @@ let
|
||||
}));
|
||||
|
||||
elm-instrument = justStaticExecutables (overrideCabal (self.callPackage ./packages/elm-instrument.nix {}) (drv: {
|
||||
patches = [(
|
||||
# GHC 8.8.1 and Cabal >= 1.25.0 support
|
||||
# https://github.com/zwilias/elm-instrument/pull/3
|
||||
fetchpatch {
|
||||
url = "https://github.com/turboMaCk/elm-instrument/commit/4272db2aea742c8b54509e536fa4f35d04f95da5.patch";
|
||||
sha256 = "1d1lc43lp3x5jfhlyb1b7na7nj1g1i1vc1np26pcisg9c2s7gjz6";
|
||||
}
|
||||
)];
|
||||
prePatch = ''
|
||||
sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place
|
||||
'';
|
||||
@@ -79,48 +73,63 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
Node/NPM based dependecies can be upgraded using script
|
||||
`packages/generate-node-packages.sh`.
|
||||
Packages which rely on `bin-wrap` will fail by default
|
||||
and can be patched using `patchBinwrap` function defined in `packages/patch-binwrap.nix`.
|
||||
/* Node/NPM based dependecies can be upgraded using script `packages/generate-node-packages.sh`.
|
||||
|
||||
* Packages which rely on `bin-wrap` will fail by default
|
||||
and can be patched using `patchBinwrap` function defined in `packages/lib.nix`.
|
||||
|
||||
* Packages which depend on npm installation of elm can be patched using
|
||||
`patchNpmElm` function also defined in `packages/lib.nix`.
|
||||
*/
|
||||
elmNodePackages =
|
||||
elmLib = import ./packages/lib.nix {
|
||||
inherit lib writeScriptBin stdenv;
|
||||
inherit (hsPkgs.elmPkgs) elm;
|
||||
};
|
||||
|
||||
elmNodePackages = with elmLib;
|
||||
let
|
||||
nodePkgs = import ./packages/node-composition.nix {
|
||||
inherit nodejs pkgs;
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
};
|
||||
in with hsPkgs.elmPkgs; {
|
||||
elm-test = patchBinwrap [elmi-to-json] nodePkgs.elm-test;
|
||||
elm-verify-examples = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples;
|
||||
|
||||
elm-test = patchBinwrap [elmi-to-json]
|
||||
nodePkgs.elm-test;
|
||||
|
||||
elm-verify-examples = patchBinwrap [elmi-to-json]
|
||||
nodePkgs.elm-verify-examples;
|
||||
|
||||
elm-coverage =
|
||||
let patched = patchBinwrap [elmi-to-json] nodePkgs.elm-coverage;
|
||||
in patched.override {
|
||||
preRebuild = ''
|
||||
let patched = patchNpmElm (patchBinwrap [elmi-to-json] nodePkgs.elm-coverage);
|
||||
in patched.override (old: {
|
||||
# Symlink Elm instrument binary
|
||||
preRebuild = (old.preRebuild or "") + ''
|
||||
# Noop custom installation script
|
||||
sed 's/\"install\".*/\"install\":\"echo no-op\"/g' --in-place package.json
|
||||
|
||||
# This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done
|
||||
# in case of just this package
|
||||
# TODO: investigate
|
||||
sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json
|
||||
|
||||
rm node_modules/elm/install.js
|
||||
echo "console.log('no-op');" > node_modules/elm/install.js
|
||||
'';
|
||||
|
||||
# Link Elm instrument binary
|
||||
postInstall = patched.postInstall + ''
|
||||
postInstall = (old.postInstall or "") + ''
|
||||
mkdir -p unpacked_bin
|
||||
ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument
|
||||
'';
|
||||
};
|
||||
});
|
||||
|
||||
create-elm-app = patchNpmElm (patchBinwrap [elmi-to-json]
|
||||
nodePkgs.create-elm-app);
|
||||
|
||||
elm-language-server = nodePkgs."@elm-tooling/elm-language-server";
|
||||
|
||||
inherit (nodePkgs) elm-doc-preview elm-live elm-upgrade elm-xref elm-analyse;
|
||||
};
|
||||
|
||||
patchBinwrap = import ./packages/patch-binwrap.nix { inherit lib writeScriptBin stdenv; };
|
||||
|
||||
in hsPkgs.elmPkgs // elmNodePackages // {
|
||||
lib = { inherit patchBinwrap; };
|
||||
elm-json = import ./packages/elm-json.nix {
|
||||
inherit rustPlatform fetchurl openssl stdenv pkg-config;
|
||||
};
|
||||
lib = elmLib;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,14 @@ ver: deps:
|
||||
inherit (info) sha256;
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
true
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
true
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r * $out
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
, fetchgit, filepath, free, HUnit, indents, json, mtl
|
||||
, optparse-applicative, parsec, process, QuickCheck, quickcheck-io
|
||||
, split, stdenv, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
|
||||
, text, elm
|
||||
, text
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "elm-instrument";
|
||||
version = "0.0.7";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/zwilias/elm-instrument.git";
|
||||
sha256 = "14yfzwsyvgc6rzn19sdmwk2mc1vma9hcljnmjnmlig8mp0271v56";
|
||||
rev = "31b527e405a6afdb25bb87ad7bd14f979e65cff7";
|
||||
url = "https://github.com/zwilias/elm-instrument";
|
||||
sha256 = "167d7l2547zxdj7i60r6vazznd9ichwc0bqckh3vrh46glkz06jv";
|
||||
rev = "63e15bb5ec5f812e248e61b6944189fa4a0aee4e";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = true;
|
||||
@@ -28,7 +28,7 @@ mkDerivation {
|
||||
quickcheck-io split tasty tasty-golden tasty-hunit tasty-quickcheck
|
||||
text
|
||||
];
|
||||
homepage = "http://elm-lang.org";
|
||||
homepage = "https://elm-lang.org";
|
||||
description = "Instrumentation library for Elm";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{ rustPlatform, fetchurl, openssl, stdenv, pkg-config }:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "elm-json";
|
||||
version = "0.2.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/zwilias/elm-json/archive/v${version}.tar.gz";
|
||||
sha256 = "sha256:1b9bhl7rb01ylqjbfd1ccm26lhk4hzwd383rbg89aj2jwjv0w4hs";
|
||||
};
|
||||
|
||||
cargoPatches = [ ./elm-json.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
cargoSha256 = "0ylniriq073kpiykamkn9mxdaa6kyiza4pvf7gnfq2h1dvbqa6z7";
|
||||
|
||||
# Tests perform networking and therefore can't work in sandbox
|
||||
doCheck = false;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Install, upgrade and uninstall Elm dependencies";
|
||||
homepage = "https://github.com/zwilias/elm-json";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.turbomack ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index f4d95f5..6830b3d 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -625,14 +625,6 @@ name = "openssl-probe"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
-[[package]]
|
||||
-name = "openssl-src"
|
||||
-version = "111.9.0+1.1.1g"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-dependencies = [
|
||||
- "cc 1.0.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
-]
|
||||
-
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.56"
|
||||
@@ -641,7 +633,6 @@ dependencies = [
|
||||
"autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"cc 1.0.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"libc 0.2.70 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
- "openssl-src 111.9.0+1.1.1g (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
@@ -1162,7 +1153,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
"checksum object 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2"
|
||||
"checksum once_cell 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d"
|
||||
"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
|
||||
-"checksum openssl-src 111.9.0+1.1.1g (registry+https://github.com/rust-lang/crates.io-index)" = "a2dbe10ddd1eb335aba3780eb2eaa13e1b7b441d2562fd962398740927f39ec4"
|
||||
"checksum openssl-sys 0.9.56 (registry+https://github.com/rust-lang/crates.io-index)" = "f02309a7f127000ed50594f0b50ecc69e7c654e16d41b4e8156d1b3df8e0b52e"
|
||||
"checksum petgraph 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "29c127eea4a29ec6c85d153c59dc1213f33ec74cead30fe4730aecc88cc1fd92"
|
||||
"checksum pin-project 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)" = "edc93aeee735e60ecb40cf740eb319ff23eab1c5748abfdb5c180e4ce49f7791"
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
index adfab25..37ae0c2 100644
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -21,7 +21,7 @@ colored = "1.9"
|
||||
dialoguer = "0.6"
|
||||
dirs = "2.0"
|
||||
fs2 = "0.4"
|
||||
-isahc = { version = "0.9", features = ["static-ssl"] }
|
||||
+isahc = "0.9"
|
||||
|
||||
[dev-dependencies]
|
||||
assert_cmd = "0.11"
|
||||
@@ -6,7 +6,7 @@ set -eu -o pipefail
|
||||
|
||||
rm -f node-env.nix
|
||||
$(nix-build $ROOT -A nodePackages.node2nix --no-out-link)/bin/node2nix \
|
||||
--nodejs-10 \
|
||||
--nodejs-12 \
|
||||
-i node-packages.json \
|
||||
-o node-packages.nix \
|
||||
-c node-composition.nix \
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
{ writeScriptBin, stdenv, lib, elm }:
|
||||
let
|
||||
patchBinwrap =
|
||||
let
|
||||
# Patching binwrap by NoOp script
|
||||
binwrap = writeScriptBin "binwrap" ''
|
||||
#! ${stdenv.shell}
|
||||
echo "binwrap called: Returning 0"
|
||||
return 0
|
||||
'';
|
||||
binwrap-install = writeScriptBin "binwrap-install" ''
|
||||
#! ${stdenv.shell}
|
||||
echo "binwrap-install called: Doing nothing"
|
||||
'';
|
||||
in targets: pkg:
|
||||
pkg.override (old: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ binwrap binwrap-install ];
|
||||
|
||||
# Manually install targets
|
||||
# by symlinking binaries into `node_modules`
|
||||
postInstall = let
|
||||
binFile = module: lib.strings.removeSuffix ("-" + module.version) module.name;
|
||||
in (old.postInstall or "") + ''
|
||||
${lib.concatStrings (map (module: ''
|
||||
echo "linking ${binFile module}"
|
||||
ln -sf ${module}/bin/${binFile module} \
|
||||
node_modules/${binFile module}/bin/${binFile module}
|
||||
'') targets)}
|
||||
'';
|
||||
});
|
||||
|
||||
patchNpmElm = pkg:
|
||||
pkg.override (old: {
|
||||
preRebuild = (old.preRebuild or "") + ''
|
||||
rm node_modules/elm/install.js
|
||||
echo "console.log('Nixpkgs\' version of Elm will be used');" > node_modules/elm/install.js
|
||||
'';
|
||||
postInstall = (old.postInstall or "") + ''
|
||||
ln -sf ${elm}/bin/elm node_modules/elm/bin/elm
|
||||
'';
|
||||
});
|
||||
in
|
||||
{ inherit patchBinwrap patchNpmElm; }
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
{pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
|
||||
|
||||
let
|
||||
nodeEnv = import ../../../node-packages/node-env.nix {
|
||||
|
||||
@@ -7,5 +7,6 @@
|
||||
"elm-test",
|
||||
"elm-upgrade",
|
||||
"elm-verify-examples",
|
||||
"elm-xref"
|
||||
"elm-xref",
|
||||
"create-elm-app"
|
||||
]
|
||||
|
||||
+8645
-828
File diff suppressed because it is too large
Load Diff
@@ -1,30 +0,0 @@
|
||||
{ writeScriptBin, stdenv, lib }:
|
||||
let
|
||||
# Patching binwrap by NoOp script
|
||||
binwrap = writeScriptBin "binwrap" ''
|
||||
#! ${stdenv.shell}
|
||||
echo "binwrap called: Returning 0"
|
||||
return 0
|
||||
'';
|
||||
binwrap-install = writeScriptBin "binwrap-install" ''
|
||||
#! ${stdenv.shell}
|
||||
echo "binwrap-install called: Doing nothing"
|
||||
'';
|
||||
in
|
||||
targets:
|
||||
pkg:
|
||||
pkg.override {
|
||||
nativeBuildInputs = pkg.nativeBuildInputs ++ [ binwrap binwrap-install ];
|
||||
|
||||
# Manually install targets
|
||||
# by symlinking binaries into `node_modules`
|
||||
postInstall = let
|
||||
binFile = module: lib.strings.removeSuffix ("-" + module.version) module.name;
|
||||
in ''
|
||||
${lib.concatStrings (map (module: ''
|
||||
echo "linking ${binFile module}"
|
||||
ln -sf ${module}/bin/${binFile module} \
|
||||
node_modules/${binFile module}/bin/${binFile module}
|
||||
'') targets)}
|
||||
'';
|
||||
}
|
||||
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/emscripten-core/emscripten;
|
||||
homepage = "https://github.com/emscripten-core/emscripten";
|
||||
description = "An LLVM-to-JavaScript Compiler";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ qknight matthewbauer ];
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
{ emscriptenVersion, stdenv, fetchFromGitHub, cmake, python, gtest, ... }:
|
||||
{ emscriptenVersion, stdenv, fetchFromGitHub, cmake, python, gtest, gccForLibs, ... }:
|
||||
|
||||
let
|
||||
rev = emscriptenVersion;
|
||||
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "emscripten-fastcomp-${rev}";
|
||||
@@ -36,17 +35,16 @@ stdenv.mkDerivation rec {
|
||||
"-DCLANG_INCLUDE_TESTS=ON"
|
||||
] ++ (stdenv.lib.optional stdenv.isLinux
|
||||
# necessary for clang to find crtend.o
|
||||
"-DGCC_INSTALL_PREFIX=${gcc}"
|
||||
"-DGCC_INSTALL_PREFIX=${gccForLibs}"
|
||||
);
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
isClang = true;
|
||||
inherit gcc;
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/emscripten-core/emscripten-fastcomp;
|
||||
homepage = "https://github.com/emscripten-core/emscripten-fastcomp";
|
||||
description = "Emscripten LLVM";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ qknight matthewbauer ];
|
||||
|
||||
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
rev = "7999e72aecc3c5bc4019d43dc4697f49678cc3b4";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://downloads.factorcode.org/releases/0.98/factor-src-0.98.zip;
|
||||
url = "https://downloads.factorcode.org/releases/0.98/factor-src-0.98.zip";
|
||||
sha256 = "01ip9mbnar4sv60d2wcwfz62qaamdvbykxw3gbhzqa25z36vi3ri";
|
||||
};
|
||||
|
||||
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://factorcode.org;
|
||||
homepage = "https://factorcode.org";
|
||||
license = licenses.bsd2;
|
||||
description = "A concatenative, stack-based programming language";
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "fasm-bin";
|
||||
|
||||
version = "1.73.22";
|
||||
version = "1.73.25";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://flatassembler.net/fasm-${version}.tgz";
|
||||
sha256 = "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5";
|
||||
sha256 = "0k3h61mfwslyb34kf4dnapfwl8jxlmrp4dv666wc057hkj047knn";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
@@ -16,7 +16,7 @@ stdenvNoCC.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "x86(-64) macro assembler to binary, MZ, PE, COFF, and ELF";
|
||||
homepage = https://flatassembler.net/download.php;
|
||||
homepage = "https://flatassembler.net/download.php";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
{ callPackage }:
|
||||
|
||||
let
|
||||
mkFlutter = opts: callPackage (import ./flutter.nix opts) { };
|
||||
getPatches = dir:
|
||||
let files = builtins.attrNames (builtins.readDir dir);
|
||||
in map (f: dir + ("/" + f)) files;
|
||||
in {
|
||||
stable = mkFlutter rec {
|
||||
pname = "flutter";
|
||||
channel = "stable";
|
||||
version = "1.17.5";
|
||||
filename = "flutter_linux_${version}-${channel}.tar.xz";
|
||||
sha256Hash = "0kapja3nh7dfhjbn2np02wghijrjnpzsv4hz10fj54hs8hdx19di";
|
||||
patches = getPatches ./patches/stable;
|
||||
};
|
||||
beta = mkFlutter rec {
|
||||
pname = "flutter-beta";
|
||||
channel = "beta";
|
||||
version = "1.20.0-7.2.pre";
|
||||
filename = "flutter_linux_${version}-${channel}.tar.xz";
|
||||
sha256Hash = "0w89ig5vi4spa95mf08r4vvwni7bzzdlyhvr9sy1a35qmf7j9s6f";
|
||||
patches = getPatches ./patches/beta;
|
||||
};
|
||||
dev = mkFlutter rec {
|
||||
pname = "flutter-dev";
|
||||
channel = "dev";
|
||||
version = "1.21.0-1.0.pre";
|
||||
filename = "flutter_linux_${version}-${channel}.tar.xz";
|
||||
sha256Hash = "14rx89jp6ivk3ai7iwbznkr5q445ndh8fppzbxg520kq10s2208r";
|
||||
patches = getPatches ./patches/beta;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
{ channel, pname, version, sha256Hash, patches
|
||||
, filename ? "flutter_linux_v${version}-${channel}.tar.xz" }:
|
||||
|
||||
{ bash, buildFHSUserEnv, cacert, coreutils, git, makeWrapper, runCommand, stdenv
|
||||
, fetchurl, alsaLib, dbus, expat, libpulseaudio, libuuid, libX11, libxcb
|
||||
, libXcomposite, libXcursor, libXdamage, libXfixes, libGL, nspr, nss, systemd }:
|
||||
|
||||
let
|
||||
drvName = "flutter-${channel}-${version}";
|
||||
flutter = stdenv.mkDerivation {
|
||||
name = "${drvName}-unwrapped";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/${filename}";
|
||||
sha256 = sha256Hash;
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper git ];
|
||||
|
||||
inherit patches;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --build ./bin/
|
||||
find ./bin/ -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \;
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
FLUTTER_ROOT=$(pwd)
|
||||
FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools"
|
||||
SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot"
|
||||
STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp"
|
||||
SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart"
|
||||
DART_SDK_PATH="$FLUTTER_ROOT/bin/cache/dart-sdk"
|
||||
|
||||
DART="$DART_SDK_PATH/bin/dart"
|
||||
PUB="$DART_SDK_PATH/bin/pub"
|
||||
|
||||
HOME=../.. # required for pub upgrade --offline, ~/.pub-cache
|
||||
# path is relative otherwise it's replaced by /build/flutter
|
||||
|
||||
(cd "$FLUTTER_TOOLS_DIR" && "$PUB" upgrade --offline)
|
||||
|
||||
local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)"
|
||||
"$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
|
||||
echo "$revision" > "$STAMP_PATH"
|
||||
echo -n "${version}" > version
|
||||
|
||||
rm -rf bin/cache/{artifacts,downloads}
|
||||
rm -f bin/cache/*.stamp
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r . $out
|
||||
'';
|
||||
};
|
||||
|
||||
# Wrap flutter inside an fhs user env to allow execution of binary,
|
||||
# like adb from $ANDROID_HOME or java from android-studio.
|
||||
fhsEnv = buildFHSUserEnv {
|
||||
name = "${drvName}-fhs-env";
|
||||
multiPkgs = pkgs: [
|
||||
# Flutter only use these certificates
|
||||
(runCommand "fedoracert" { } ''
|
||||
mkdir -p $out/etc/pki/tls/
|
||||
ln -s ${cacert}/etc/ssl/certs $out/etc/pki/tls/certs
|
||||
'')
|
||||
pkgs.zlib
|
||||
];
|
||||
targetPkgs = pkgs:
|
||||
with pkgs; [
|
||||
bash
|
||||
curl
|
||||
git
|
||||
unzip
|
||||
which
|
||||
xz
|
||||
|
||||
# flutter test requires this lib
|
||||
libGLU
|
||||
|
||||
# for android emulator
|
||||
alsaLib
|
||||
dbus
|
||||
expat
|
||||
libpulseaudio
|
||||
libuuid
|
||||
libX11
|
||||
libxcb
|
||||
libXcomposite
|
||||
libXcursor
|
||||
libXdamage
|
||||
libXfixes
|
||||
libGL
|
||||
nspr
|
||||
nss
|
||||
systemd
|
||||
];
|
||||
};
|
||||
|
||||
in runCommand drvName {
|
||||
startScript = ''
|
||||
#!${bash}/bin/bash
|
||||
export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"}
|
||||
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
|
||||
${fhsEnv}/bin/${drvName}-fhs-env ${flutter}/bin/flutter --no-version-check "$@"
|
||||
'';
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
passthru = { unwrapped = flutter; };
|
||||
meta = with stdenv.lib; {
|
||||
description =
|
||||
"Flutter is Google's SDK for building mobile, web and desktop with Dart.";
|
||||
longDescription = ''
|
||||
Flutter is Google’s UI toolkit for building beautiful,
|
||||
natively compiled applications for mobile, web, and desktop from a single codebase.
|
||||
'';
|
||||
homepage = "https://flutter.dev";
|
||||
license = licenses.bsd3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ babariviere ];
|
||||
};
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
|
||||
echo -n "$startScript" > $out/bin/${pname}
|
||||
chmod +x $out/bin/${pname}
|
||||
''
|
||||
@@ -0,0 +1,31 @@
|
||||
diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh
|
||||
index 702bd9ed5..4d4dc94c6 100755
|
||||
--- a/bin/internal/shared.sh
|
||||
+++ b/bin/internal/shared.sh
|
||||
@@ -204,8 +204,6 @@ function shared::execute() {
|
||||
# FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS"
|
||||
# FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432"
|
||||
|
||||
- upgrade_flutter 7< "$PROG_NAME"
|
||||
-
|
||||
BIN_NAME="$(basename "$PROG_NAME")"
|
||||
case "$BIN_NAME" in
|
||||
flutter*)
|
||||
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
|
||||
index 21be933e1..2ea73c4c0 100644
|
||||
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
|
||||
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
|
||||
@@ -294,13 +294,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
|
||||
globals.flutterUsage.suppressAnalytics = true;
|
||||
}
|
||||
|
||||
- try {
|
||||
- await globals.flutterVersion.ensureVersionFile();
|
||||
- } on FileSystemException catch (e) {
|
||||
- globals.printError('Failed to write the version file to the artifact cache: "$e".');
|
||||
- globals.printError('Please ensure you have permissions in the artifact cache directory.');
|
||||
- throwToolExit('Failed to write the version file');
|
||||
- }
|
||||
final bool machineFlag = topLevelResults['machine'] as bool;
|
||||
if (topLevelResults.command?.name != 'upgrade' && topLevelResults['version-check'] as bool && !machineFlag) {
|
||||
await globals.flutterVersion.checkFlutterVersionFreshness();
|
||||
@@ -0,0 +1,64 @@
|
||||
diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart
|
||||
index 8e511eefd..fef3cca8b 100644
|
||||
--- a/dev/devicelab/lib/framework/runner.dart
|
||||
+++ b/dev/devicelab/lib/framework/runner.dart
|
||||
@@ -126,7 +126,7 @@ Future<void> cleanupSystem() async {
|
||||
print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)');
|
||||
final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew';
|
||||
final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.');
|
||||
- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir);
|
||||
+ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir);
|
||||
copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper')));
|
||||
if (!Platform.isWindows) {
|
||||
await exec(
|
||||
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
|
||||
index c680de599..480abfb77 100644
|
||||
--- a/packages/flutter_tools/lib/src/asset.dart
|
||||
+++ b/packages/flutter_tools/lib/src/asset.dart
|
||||
@@ -8,6 +8,7 @@ import 'package:meta/meta.dart';
|
||||
import 'package:package_config/package_config.dart';
|
||||
import 'package:yaml/yaml.dart';
|
||||
|
||||
+import 'base/common.dart';
|
||||
import 'base/context.dart';
|
||||
import 'base/file_system.dart';
|
||||
import 'base/utils.dart';
|
||||
@@ -392,7 +393,7 @@ List<_Asset> _getMaterialAssets(String fontSet) {
|
||||
for (final Map<dynamic, dynamic> font in (family['fonts'] as List<dynamic>).cast<Map<dynamic, dynamic>>()) {
|
||||
final Uri entryUri = globals.fs.path.toUri(font['asset'] as String);
|
||||
result.add(_Asset(
|
||||
- baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'),
|
||||
+ baseDir: globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'),
|
||||
relativeUri: Uri(path: entryUri.pathSegments.last),
|
||||
entryUri: entryUri,
|
||||
package: null,
|
||||
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
|
||||
index c0946782c..bdbc35cb8 100644
|
||||
--- a/packages/flutter_tools/lib/src/cache.dart
|
||||
+++ b/packages/flutter_tools/lib/src/cache.dart
|
||||
@@ -202,8 +202,15 @@ class Cache {
|
||||
return;
|
||||
}
|
||||
assert(_lock == null);
|
||||
+
|
||||
+ final Directory dir = globals.fs.directory(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter'));
|
||||
+ if (!dir.existsSync()) {
|
||||
+ dir.createSync(recursive: true);
|
||||
+ globals.os.chmod(dir, '755');
|
||||
+ }
|
||||
+
|
||||
final File lockFile =
|
||||
- globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile'));
|
||||
+ globals.fs.file(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'lockfile'));
|
||||
try {
|
||||
_lock = lockFile.openSync(mode: FileMode.write);
|
||||
} on FileSystemException catch (e) {
|
||||
@@ -306,7 +313,7 @@ class Cache {
|
||||
if (_rootOverride != null) {
|
||||
return _fileSystem.directory(_fileSystem.path.join(_rootOverride.path, 'bin', 'cache'));
|
||||
} else {
|
||||
- return _fileSystem.directory(_fileSystem.path.join(flutterRoot, 'bin', 'cache'));
|
||||
+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
diff --git a/bin/flutter b/bin/flutter
|
||||
index cdf974233..1f7de1c1b 100755
|
||||
--- a/bin/flutter
|
||||
+++ b/bin/flutter
|
||||
@@ -185,8 +185,6 @@ fi
|
||||
# FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS"
|
||||
# FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432"
|
||||
|
||||
-(upgrade_flutter) 3< "$PROG_NAME"
|
||||
-
|
||||
# FLUTTER_TOOL_ARGS isn't quoted below, because it is meant to be considered as
|
||||
# separate space-separated args.
|
||||
"$DART" --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@"
|
||||
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
|
||||
index b3e69714f..a9eb76234 100644
|
||||
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
|
||||
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
|
||||
@@ -301,13 +301,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
|
||||
}
|
||||
|
||||
_checkFlutterCopy();
|
||||
- try {
|
||||
- await globals.flutterVersion.ensureVersionFile();
|
||||
- } on FileSystemException catch (e) {
|
||||
- globals.printError('Failed to write the version file to the artifact cache: "$e".');
|
||||
- globals.printError('Please ensure you have permissions in the artifact cache directory.');
|
||||
- throwToolExit('Failed to write the version file');
|
||||
- }
|
||||
final bool machineFlag = topLevelResults['machine'] as bool;
|
||||
if (topLevelResults.command?.name != 'upgrade' && topLevelResults['version-check'] as bool && !machineFlag) {
|
||||
await globals.flutterVersion.checkFlutterVersionFreshness();
|
||||
@@ -0,0 +1,64 @@
|
||||
diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart
|
||||
index 8e511eefd..fef3cca8b 100644
|
||||
--- a/dev/devicelab/lib/framework/runner.dart
|
||||
+++ b/dev/devicelab/lib/framework/runner.dart
|
||||
@@ -126,7 +126,7 @@ Future<void> cleanupSystem() async {
|
||||
print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)');
|
||||
final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew';
|
||||
final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.');
|
||||
- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir);
|
||||
+ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir);
|
||||
copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper')));
|
||||
if (!Platform.isWindows) {
|
||||
await exec(
|
||||
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
|
||||
index c680de599..480abfb77 100644
|
||||
--- a/packages/flutter_tools/lib/src/asset.dart
|
||||
+++ b/packages/flutter_tools/lib/src/asset.dart
|
||||
@@ -8,6 +8,7 @@ import 'package:meta/meta.dart';
|
||||
import 'package:package_config/package_config.dart';
|
||||
import 'package:yaml/yaml.dart';
|
||||
|
||||
+import 'base/common.dart';
|
||||
import 'base/context.dart';
|
||||
import 'base/file_system.dart';
|
||||
import 'base/utils.dart';
|
||||
@@ -392,7 +393,7 @@ List<_Asset> _getMaterialAssets(String fontSet) {
|
||||
for (final Map<dynamic, dynamic> font in (family['fonts'] as List<dynamic>).cast<Map<dynamic, dynamic>>()) {
|
||||
final Uri entryUri = globals.fs.path.toUri(font['asset'] as String);
|
||||
result.add(_Asset(
|
||||
- baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'),
|
||||
+ baseDir: globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'),
|
||||
relativeUri: Uri(path: entryUri.pathSegments.last),
|
||||
entryUri: entryUri,
|
||||
package: null,
|
||||
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
|
||||
index c0946782c..bdbc35cb8 100644
|
||||
--- a/packages/flutter_tools/lib/src/cache.dart
|
||||
+++ b/packages/flutter_tools/lib/src/cache.dart
|
||||
@@ -202,8 +202,15 @@ class Cache {
|
||||
return;
|
||||
}
|
||||
assert(_lock == null);
|
||||
+
|
||||
+ final Directory dir = globals.fs.directory(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter'));
|
||||
+ if (!dir.existsSync()) {
|
||||
+ dir.createSync(recursive: true);
|
||||
+ globals.os.chmod(dir, '755');
|
||||
+ }
|
||||
+
|
||||
final File lockFile =
|
||||
- globals.fs.file(globals.fs.path.join(flutterRoot, 'bin', 'cache', 'lockfile'));
|
||||
+ globals.fs.file(globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'lockfile'));
|
||||
try {
|
||||
_lock = lockFile.openSync(mode: FileMode.write);
|
||||
} on FileSystemException catch (e) {
|
||||
@@ -306,7 +313,7 @@ class Cache {
|
||||
if (_rootOverride != null) {
|
||||
return _fileSystem.directory(_fileSystem.path.join(_rootOverride.path, 'bin', 'cache'));
|
||||
} else {
|
||||
- return _fileSystem.directory(_fileSystem.path.join(flutterRoot, 'bin', 'cache'));
|
||||
+ return _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "fpc-2.6.0-binary";
|
||||
name = "fpc-3.0.0-binary";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "i686-linux" then
|
||||
fetchurl {
|
||||
url = "mirror://sourceforge/project/freepascal/Linux/2.6.0/fpc-2.6.0.i386-linux.tar";
|
||||
sha256 = "08yklvrfxvk59bxsd4rh1i6s3cjn0q06dzjs94h9fbq3n1qd5zdf";
|
||||
url = "mirror://sourceforge/project/freepascal/Linux/3.0.0/fpc-3.0.0.i386-linux.tar";
|
||||
sha256 = "0h3f1dgs1zsx7vvk9kg67anjvgw5sslfbmjblif7ishbcp3k3g5k";
|
||||
}
|
||||
else if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "mirror://sourceforge/project/freepascal/Linux/2.6.0/fpc-2.6.0.x86_64-linux.tar";
|
||||
sha256 = "0k9vi75k39y735fng4jc2vppdywp82j4qhzn7x4r6qjkad64d8lx";
|
||||
url = "mirror://sourceforge/project/freepascal/Linux/3.0.0/fpc-3.0.0.x86_64-linux.tar";
|
||||
sha256 = "1m2xx3nda45cb3zidbjgdr8kddd19zk0khvp7xxdlclszkqscln9";
|
||||
}
|
||||
else throw "Not supported on ${stdenv.hostPlatform.system}.";
|
||||
|
||||
|
||||
@@ -3,20 +3,22 @@
|
||||
let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.0.0";
|
||||
version = "3.0.4";
|
||||
pname = "fpc";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/freepascal/fpcbuild-${version}.tar.gz";
|
||||
sha256 = "1v40bjp0kvsi8y0mndqvvhnsqjfssl2w6wpfww51j4rxblfkp4fm";
|
||||
sha256 = "0xjyhlhz846jbnp12y68c7nq4xmp4i65akfbrjyf3r62ybk18rgn";
|
||||
};
|
||||
|
||||
buildInputs = [ startFPC gawk ];
|
||||
glibc = stdenv.cc.libc.out;
|
||||
|
||||
preConfigure =
|
||||
if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then ''
|
||||
sed -e "s@'/lib/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas
|
||||
sed -e "s@'/lib64/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas
|
||||
sed -e "s@/lib64[^']*@${glibc}/lib@" -i fpcsrc/compiler/systems/t_linux.pas
|
||||
'' else "";
|
||||
|
||||
makeFlags = [ "NOGDB=1" "FPC=${startFPC}/bin/fpc" ];
|
||||
@@ -37,7 +39,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Free Pascal Compiler from a source distribution";
|
||||
homepage = https://www.freepascal.org;
|
||||
homepage = "https://www.freepascal.org";
|
||||
maintainers = [ maintainers.raskin ];
|
||||
license = with licenses; [ gpl2 lgpl2 ];
|
||||
platforms = platforms.linux;
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
{ stdenv, fetchurl, makeWrapper
|
||||
, fpc, gtk2, glib, pango, atk, gdk-pixbuf
|
||||
, libXi, xorgproto, libX11, libXext
|
||||
, gdb, gnumake, binutils
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lazarus";
|
||||
version = "1.8.4";
|
||||
version = "2.0.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}.tar.gz";
|
||||
sha256 = "1s8hdip973fc1lynklddl0mvg2jd2lzkfk8hzb8jlchs6jn0362s";
|
||||
sha256 = "1iciqydb0miqdrh89aj59gy7kfcwikkycqssq9djcqsw1ql3gc4h";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@@ -34,13 +35,17 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/startlazarus --prefix NIX_LDFLAGS ' ' "'$NIX_LDFLAGS'" \
|
||||
--prefix LCL_PLATFORM ' ' "'$LCL_PLATFORM'"
|
||||
wrapProgram $out/bin/startlazarus --prefix NIX_LDFLAGS ' ' \
|
||||
"$(echo "$NIX_LDFLAGS" | sed -re 's/-rpath [^ ]+//g')" \
|
||||
--prefix NIX_LDFLAGS_${binutils.suffixSalt} ' ' \
|
||||
"$(echo "$NIX_LDFLAGS" | sed -re 's/-rpath [^ ]+//g')" \
|
||||
--prefix LCL_PLATFORM ' ' "$LCL_PLATFORM" \
|
||||
--prefix PATH ':' "${fpc}/bin:${gdb}/bin:${gnumake}/bin:${binutils}/bin"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Lazarus graphical IDE for FreePascal language";
|
||||
homepage = http://www.lazarus.freepascal.org;
|
||||
homepage = "http://www.lazarus.freepascal.org";
|
||||
license = licenses.gpl2Plus ;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.raskin ];
|
||||
|
||||
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
description = "A functional CLI language";
|
||||
homepage = https://fsharp.org/;
|
||||
homepage = "https://fsharp.org/";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ];
|
||||
platforms = with stdenv.lib.platforms; unix;
|
||||
|
||||
@@ -117,7 +117,7 @@ EOF
|
||||
|
||||
meta = {
|
||||
description = "A functional CLI language";
|
||||
homepage = https://fsharp.org/;
|
||||
homepage = "https://fsharp.org/";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ];
|
||||
platforms = with stdenv.lib.platforms; unix;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, z3, ocamlPackages, makeWrapper }:
|
||||
{ stdenv, fetchFromGitHub, z3, ocamlPackages, makeWrapper, installShellFiles }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fstar";
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0wix7l229afkn6c6sk4nwkfq0nznsiqdkds4ixi2yyf72immwmmb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
buildInputs = with ocamlPackages; [
|
||||
z3 ocaml findlib batteries menhir stdint
|
||||
@@ -33,11 +33,14 @@ stdenv.mkDerivation rec {
|
||||
installFlags = [ "-C" "src/ocaml-output" ];
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/fstar.exe --prefix PATH ":" "${z3}/bin"
|
||||
installShellCompletion --bash .completion/bash/fstar.exe.bash
|
||||
installShellCompletion --fish .completion/fish/fstar.exe.fish
|
||||
installShellCompletion --zsh --name _fstar.exe .completion/zsh/__fstar.exe
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "ML-like functional programming language aimed at program verification";
|
||||
homepage = https://www.fstar-lang.org;
|
||||
homepage = "https://www.fstar-lang.org";
|
||||
license = licenses.asl20;
|
||||
platforms = with platforms; darwin ++ linux;
|
||||
maintainers = with maintainers; [ gebner ];
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
{ stdenv, fetchurl, autoconf, gcc, coreutils, ... }:
|
||||
# This derivation is a reduced-functionality variant of Gambit stable,
|
||||
# used to compile the full version of Gambit stable *and* unstable.
|
||||
|
||||
stdenv.mkDerivation {
|
||||
{ gccStdenv, lib, fetchurl, autoconf, gcc, coreutils, gambit-support, ... }:
|
||||
# As explained in build.nix, GCC compiles Gambit 10x faster than Clang, for code 3x better
|
||||
|
||||
gccStdenv.mkDerivation {
|
||||
pname = "gambit-bootstrap";
|
||||
version = "4.9.3";
|
||||
|
||||
@@ -16,29 +20,25 @@ stdenv.mkDerivation {
|
||||
CPP=${gcc}/bin/cpp CXXCPP=${gcc}/bin/cpp LD=${gcc}/bin/ld \
|
||||
XMKMF=${coreutils}/bin/false
|
||||
unset CFLAGS LDFLAGS LIBS CPPFLAGS CXXFLAGS
|
||||
./configure --prefix=$out
|
||||
./configure --prefix=$out/gambit
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
# Copy the (configured) sources now, not later, so we don't have to filter out
|
||||
# all the intermediate build products.
|
||||
mkdir -p $out ; cp -rp . $out/
|
||||
mkdir -p $out/gambit ; cp -rp . $out/gambit/
|
||||
|
||||
# build the gsc-boot* compiler
|
||||
make bootstrap
|
||||
make -j$NIX_BUILD_CORES bootstrap
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -fa ./ $out/
|
||||
cp -fa ./ $out/gambit/
|
||||
'';
|
||||
|
||||
forceShare = [ "info" ];
|
||||
|
||||
meta = {
|
||||
meta = gambit-support.meta // {
|
||||
description = "Optimizing Scheme to C compiler, bootstrap step";
|
||||
homepage = "http://gambitscheme.org";
|
||||
license = stdenv.lib.licenses.lgpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin fare ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
{ stdenv, git, openssl, autoconf, pkgs, makeStaticLibraries, version, gcc, src, coreutils }:
|
||||
{ gccStdenv, lib, git, openssl, autoconf, pkgs, makeStaticLibraries, gcc, coreutils, gnused, gnugrep,
|
||||
src, version, git-version,
|
||||
gambit-support, optimizationSetting ? "-O1", gambit-params ? pkgs.gambit-support.stable-params }:
|
||||
|
||||
# Note that according to a benchmark run by Marc Feeley on May 2018,
|
||||
# clang is 10x (with default settings) to 15% (with -O2) slower than GCC at compiling
|
||||
# Gambit output, producing code that is 3x slower. IIRC the benchmarks from Gambit@30,
|
||||
# the numbers were still heavily in favor of GCC in October 2019.
|
||||
# Thus we use GCC over clang, even on macOS.
|
||||
|
||||
#
|
||||
# Also note that I (fare) just ran benchmarks from https://github.com/ecraven/r7rs-benchmarks
|
||||
# with Gambit 4.9.3 with -O1 vs -O2 vs -Os on Feb 2020. Which wins depends on the benchmark.
|
||||
# The fight is unclear between -O1 and -O2, where -O1 wins more often, by up to 17%,
|
||||
@@ -13,29 +15,33 @@
|
||||
# However, -Os seems more consistent in winning slightly against both -O1 and -O2,
|
||||
# and is overall 15% faster than -O2. As for compile times, -O1 is fastest,
|
||||
# -Os is about 29%-33% slower than -O1, while -O2 is about 40%-50% slower than -O1.
|
||||
# Overall, -Os seems like the best choice, and that's what we now use.
|
||||
#
|
||||
# Overall, -Os seems like the best choice, but I care more about compile-time,
|
||||
# so I stick with -O1 (in the defaults above), which is also the default for Gambit.
|
||||
|
||||
gccStdenv.mkDerivation rec {
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gambit";
|
||||
inherit version;
|
||||
inherit src;
|
||||
|
||||
bootstrap = import ./bootstrap.nix ( pkgs );
|
||||
inherit src version git-version;
|
||||
bootstrap = gambit-support.gambit-bootstrap;
|
||||
|
||||
# TODO: if/when we can get all the library packages we depend on to have static versions,
|
||||
# we could use something like (makeStaticLibraries openssl) to enable creation
|
||||
# of statically linked binaries by gsc.
|
||||
buildInputs = [ git autoconf bootstrap openssl ];
|
||||
|
||||
# TODO: patch gambit's source so it has the full path to sed, grep, fgrep? Is there more?
|
||||
# Or wrap relevant programs to add a suitable PATH ?
|
||||
#runtimeDeps = [ gnused gnugrep ];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-single-host"
|
||||
"--enable-c-opt=-Os"
|
||||
"--enable-c-opt=${optimizationSetting}"
|
||||
"--enable-gcc-opts"
|
||||
"--enable-shared"
|
||||
"--enable-absolute-shared-libs" # Yes, NixOS will want an absolute path, and fix it.
|
||||
"--enable-poll"
|
||||
"--enable-openssl"
|
||||
"--enable-default-runtime-options=f8,-8,t8" # Default to UTF-8 for source and all I/O
|
||||
"--enable-default-runtime-options=${gambit-params.defaultRuntimeOptions}"
|
||||
# "--enable-debug" # Nope: enables plenty of good stuff, but also the costly console.log
|
||||
# "--enable-multiple-versions" # Nope, NixOS already does version multiplexing
|
||||
# "--enable-guide"
|
||||
@@ -50,14 +56,22 @@ stdenv.mkDerivation rec {
|
||||
# "--enable-coverage"
|
||||
# "--enable-inline-jumps"
|
||||
# "--enable-char-size=1" # default is 4
|
||||
];
|
||||
] ++
|
||||
# due not enable poll on darwin due to https://github.com/gambit/gambit/issues/498
|
||||
lib.optional (!gccStdenv.isDarwin) "--enable-poll";
|
||||
|
||||
configurePhase = ''
|
||||
export CC=${gcc}/bin/gcc CXX=${gcc}/bin/g++ \
|
||||
CPP=${gcc}/bin/cpp CXXCPP=${gcc}/bin/cpp LD=${gcc}/bin/ld \
|
||||
export CC=${gcc}/bin/gcc \
|
||||
CXX=${gcc}/bin/g++ \
|
||||
CPP=${gcc}/bin/cpp \
|
||||
CXXCPP=${gcc}/bin/cpp \
|
||||
LD=${gcc}/bin/ld \
|
||||
XMKMF=${coreutils}/bin/false
|
||||
unset CFLAGS LDFLAGS LIBS CPPFLAGS CXXFLAGS
|
||||
./configure --prefix=$out ${builtins.concatStringsSep " " configureFlags}
|
||||
|
||||
${gambit-params.fix-stamp git-version}
|
||||
|
||||
./configure --prefix=$out/gambit ${builtins.concatStringsSep " " configureFlags}
|
||||
|
||||
# OS-specific paths are hardcoded in ./configure
|
||||
substituteInPlace config.status \
|
||||
@@ -69,28 +83,26 @@ stdenv.mkDerivation rec {
|
||||
buildPhase = ''
|
||||
# Make bootstrap compiler, from release bootstrap
|
||||
mkdir -p boot &&
|
||||
cp -rp ${bootstrap}/. boot/. &&
|
||||
cp -rp ${bootstrap}/gambit/. boot/. &&
|
||||
chmod -R u+w boot &&
|
||||
cd boot &&
|
||||
cp ../gsc/makefile.in ../gsc/*.scm gsc && # */
|
||||
cp ../gsc/makefile.in ../gsc/*.scm gsc/ && # */
|
||||
./configure &&
|
||||
for i in lib gsi gsc ; do (cd $i ; make ) ; done &&
|
||||
for i in lib gsi gsc ; do (cd $i ; make -j$NIX_BUILD_CORES) ; done &&
|
||||
cd .. &&
|
||||
cp boot/gsc/gsc gsc-boot &&
|
||||
|
||||
# Now use the bootstrap compiler to build the real thing!
|
||||
make -j2 from-scratch
|
||||
make -j$NIX_BUILD_CORES from-scratch
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir $out/bin
|
||||
cd $out/bin
|
||||
ln -s ../gambit/bin/* .
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Optimizing Scheme to C compiler";
|
||||
homepage = "http://gambitscheme.org";
|
||||
license = stdenv.lib.licenses.lgpl2;
|
||||
# NB regarding platforms: only actually tested on Linux, *should* work everywhere,
|
||||
# but *might* need adaptation e.g. on macOS.
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin fare ];
|
||||
};
|
||||
meta = gambit-support.meta;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{ stdenv, callPackage, fetchurl }:
|
||||
{ callPackage, fetchurl }:
|
||||
|
||||
callPackage ./build.nix {
|
||||
callPackage ./build.nix rec {
|
||||
version = "4.9.3";
|
||||
git-version = version;
|
||||
src = fetchurl {
|
||||
url = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.9/source/gambit-v4_9_3.tgz";
|
||||
sha256 = "1p6172vhcrlpjgia6hsks1w4fl8rdyjf9xjh14wxfkv7dnx8a5hk";
|
||||
};
|
||||
inherit stdenv;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
{ pkgs, lib }:
|
||||
|
||||
rec {
|
||||
stable-params = {
|
||||
defaultRuntimeOptions = "f8,-8,t8";
|
||||
buildRuntimeOptions = "f8,-8,t8";
|
||||
fix-stamp = git-version : "";
|
||||
};
|
||||
|
||||
unstable-params = {
|
||||
defaultRuntimeOptions = "iL,fL,-L,tL";
|
||||
buildRuntimeOptions = "i8,f8,-8,t8";
|
||||
fix-stamp = git-version : ''
|
||||
substituteInPlace configure \
|
||||
--replace "$(grep '^PACKAGE_VERSION=.*$' configure)" 'PACKAGE_VERSION="v${git-version}"' \
|
||||
--replace "$(grep '^PACKAGE_STRING=.*$' configure)" 'PACKAGE_STRING="Gambit v${git-version}"' ;
|
||||
'';
|
||||
};
|
||||
|
||||
export-gambopt = params : "export GAMBOPT=${params.buildRuntimeOptions} ;";
|
||||
|
||||
gambit-bootstrap = import ./bootstrap.nix ( pkgs );
|
||||
|
||||
meta = {
|
||||
description = "Optimizing Scheme to C compiler";
|
||||
homepage = "http://gambitscheme.org";
|
||||
license = lib.licenses.lgpl21; # dual, also asl20
|
||||
# NB regarding platforms: continuously tested on Linux,
|
||||
# tested on macOS once in a while, *should* work everywhere.
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ thoughtpolice raskin fare ];
|
||||
};
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
{ stdenv, callPackage, fetchFromGitHub }:
|
||||
{ callPackage, fetchFromGitHub, gambit-support }:
|
||||
|
||||
callPackage ./build.nix {
|
||||
version = "unstable-2020-02-24";
|
||||
# git-version = "4.9.3-979-gc69e9f70";
|
||||
version = "unstable-2020-07-29";
|
||||
git-version = "4.9.3-1232-gbba388b8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "feeley";
|
||||
repo = "gambit";
|
||||
rev = "c69e9f70dfdc6545353b135a5d5e2f9234f1e1cc";
|
||||
sha256 = "1f69n7yzzdv3wpnjlrbck38xpa8115vbady43mc544l39ckklr0k";
|
||||
rev = "bba388b80ca62a77883a8936d64b03316808696a";
|
||||
sha256 = "0iqlp1mvxz8g32kqrqm0phnnp1i5c4jrapqh2wqwa8fh1vgnizg1";
|
||||
};
|
||||
inherit stdenv;
|
||||
gambit-params = gambit-support.unstable-params;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.avr-asm-tutorial.net/gavrasm;
|
||||
homepage = "http://www.avr-asm-tutorial.net/gavrasm";
|
||||
description = "AVR Assembler for ATMEL AVR-Processors";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ mafo ];
|
||||
|
||||
@@ -0,0 +1,287 @@
|
||||
{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
|
||||
, langC ? true, langCC ? true, langFortran ? false
|
||||
, langAda ? false
|
||||
, langObjC ? stdenv.targetPlatform.isDarwin
|
||||
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
||||
, langGo ? false
|
||||
, profiledCompiler ? false
|
||||
, langJit ? false
|
||||
, staticCompiler ? false
|
||||
, enableShared ? true
|
||||
, enableLTO ? true
|
||||
, texinfo ? null
|
||||
, perl ? null # optional, for texi2pod (then pod2man)
|
||||
, gmp, mpfr, libmpc, gettext, which
|
||||
, libelf # optional, for link-time optimizations (LTO)
|
||||
, isl ? null # optional, for the Graphite optimization framework.
|
||||
, zlib ? null
|
||||
, gnatboot ? null
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
, name ? "gcc"
|
||||
, libcCross ? null
|
||||
, threadsCross ? null # for MinGW
|
||||
, crossStageStatic ? false
|
||||
, # Strip kills static libs of other archs (hence no cross)
|
||||
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
|
||||
&& stdenv.targetPlatform == stdenv.hostPlatform
|
||||
, gnused ? null
|
||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
||||
, buildPackages
|
||||
}:
|
||||
|
||||
# LTO needs libelf and zlib.
|
||||
assert libelf != null -> zlib != null;
|
||||
|
||||
# Make sure we get GNU sed.
|
||||
assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||
|
||||
# The go frontend is written in c++
|
||||
assert langGo -> langCC;
|
||||
assert langAda -> gnatboot != null;
|
||||
|
||||
# threadsCross is just for MinGW
|
||||
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||
|
||||
with stdenv.lib;
|
||||
with builtins;
|
||||
|
||||
let majorVersion = "10";
|
||||
version = "${majorVersion}.1.0";
|
||||
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
patches =
|
||||
optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||
++ optional noSysDirs ../no-sys-dirs.patch
|
||||
/* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
|
||||
url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
|
||||
sha256 = ""; # TODO: uncomment and check hash when available.
|
||||
}) */
|
||||
++ optional langAda ../gnat-cflags.patch
|
||||
++ optional langFortran ../gfortran-driving.patch
|
||||
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
|
||||
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
|
||||
sha256 = "1in5kvcknlpi9z1vvjw6jfmwy8k12zvbqlqfnq84qpm99r0rh00a";
|
||||
});
|
||||
|
||||
/* Cross-gcc settings (build == host != target) */
|
||||
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
|
||||
inherit version;
|
||||
|
||||
builder = ../builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
|
||||
sha256 = "b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
|
||||
outputs = [ "out" "man" "info" ] ++ stdenv.lib.optional (!langJit) "lib";
|
||||
setOutputFlags = false;
|
||||
NIX_NO_SELF_RPATH = true;
|
||||
|
||||
libc_dev = stdenv.cc.libc_dev;
|
||||
|
||||
hardeningDisable = [ "format" "pie" ];
|
||||
|
||||
# This should kill all the stdinc frameworks that gcc and friends like to
|
||||
# insert into default search paths.
|
||||
prePatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
|
||||
substituteInPlace gcc/config/darwin-c.c \
|
||||
--replace 'if (stdinc)' 'if (0)'
|
||||
|
||||
substituteInPlace libgcc/config/t-slibgcc-darwin \
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name ''${!outputLib}/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
|
||||
substituteInPlace libgfortran/configure \
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname"
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
configureScripts=$(find . -name configure)
|
||||
for configureScript in $configureScripts; do
|
||||
patchShebangs $configureScript
|
||||
done
|
||||
'' + (
|
||||
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
|
||||
# On NixOS, use the right path to the dynamic linker instead of
|
||||
# `/lib/ld*.so'.
|
||||
let
|
||||
libc = if libcCross != null then libcCross else stdenv.cc.libc;
|
||||
in
|
||||
(
|
||||
'' echo "fixing the \`GLIBC_DYNAMIC_LINKER', \`UCLIBC_DYNAMIC_LINKER', and \`MUSL_DYNAMIC_LINKER' macros..."
|
||||
for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
|
||||
do
|
||||
grep -q _DYNAMIC_LINKER "$header" || continue
|
||||
echo " fixing \`$header'..."
|
||||
sed -i "$header" \
|
||||
-e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' \
|
||||
-e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g'
|
||||
done
|
||||
''
|
||||
+ stdenv.lib.optionalString (targetPlatform.libc == "musl")
|
||||
''
|
||||
sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR'
|
||||
''
|
||||
)
|
||||
else "")
|
||||
+ stdenv.lib.optionalString targetPlatform.isAvr ''
|
||||
makeFlagsArray+=(
|
||||
'LIMITS_H_TEST=false'
|
||||
)
|
||||
'';
|
||||
|
||||
inherit noSysDirs staticCompiler crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
nativeBuildInputs = [ texinfo which gettext ]
|
||||
++ (optional (perl != null) perl);
|
||||
|
||||
# For building runtime libs
|
||||
depsBuildTarget =
|
||||
if hostPlatform == buildPlatform then [
|
||||
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
|
||||
] else assert targetPlatform == hostPlatform; [ # build != host == target
|
||||
stdenv.cc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gmp mpfr libmpc libelf
|
||||
targetPackages.stdenv.cc.bintools # For linking code at run-time
|
||||
] ++ (optional (isl != null) isl)
|
||||
++ (optional (zlib != null) zlib)
|
||||
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
||||
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
||||
++ (optional hostPlatform.isDarwin gnused)
|
||||
++ (optional langAda gnatboot)
|
||||
;
|
||||
|
||||
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||
|
||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit (stdenv) lib;
|
||||
inherit version hostPlatform gnatboot langAda langGo;
|
||||
};
|
||||
|
||||
dontDisableStatic = true;
|
||||
|
||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||
configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
|
||||
|
||||
configureFlags = import ../common/configure-flags.nix {
|
||||
inherit
|
||||
stdenv
|
||||
targetPackages
|
||||
crossStageStatic libcCross
|
||||
version
|
||||
|
||||
gmp mpfr libmpc libelf isl
|
||||
|
||||
enableLTO
|
||||
enableMultilib
|
||||
enablePlugin
|
||||
enableShared
|
||||
|
||||
langC
|
||||
langCC
|
||||
langFortran
|
||||
langAda
|
||||
langGo
|
||||
langObjC
|
||||
langObjCpp
|
||||
langJit
|
||||
;
|
||||
};
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
|
||||
buildFlags = optional
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
dontStrip = !stripped;
|
||||
|
||||
installTargets = optional stripped "install-strip";
|
||||
|
||||
# https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
|
||||
${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
|
||||
|
||||
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
|
||||
# library headers and binaries, regarless of the language being compiled.
|
||||
#
|
||||
# Likewise, the LTO code doesn't find zlib.
|
||||
#
|
||||
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
|
||||
# compiler (after the specs for the cross-gcc are created). Having
|
||||
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
|
||||
|
||||
CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
|
||||
++ optional (zlib != null) zlib
|
||||
));
|
||||
|
||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
||||
passthru = {
|
||||
inherit langC langCC langObjC langObjCpp langAda langFortran langGo version;
|
||||
isGNU = true;
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
inherit enableMultilib;
|
||||
|
||||
inherit (stdenv) is64bit;
|
||||
|
||||
meta = {
|
||||
homepage = "https://gcc.gnu.org/";
|
||||
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
|
||||
description = "GNU Compiler Collection, version ${version}"
|
||||
+ (if stripped then "" else " (with debugging info)");
|
||||
|
||||
longDescription = ''
|
||||
The GNU Compiler Collection includes compiler front ends for C, C++,
|
||||
Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as
|
||||
libraries for these languages (libstdc++, libgomp,...).
|
||||
|
||||
GCC development is a part of the GNU Project, aiming to improve the
|
||||
compiler used in the GNU system including the GNU/Linux variant.
|
||||
'';
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ synthetica ];
|
||||
|
||||
platforms =
|
||||
stdenv.lib.platforms.linux ++
|
||||
stdenv.lib.platforms.freebsd ++
|
||||
stdenv.lib.platforms.illumos ++
|
||||
stdenv.lib.platforms.darwin;
|
||||
};
|
||||
}
|
||||
|
||||
// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
|
||||
makeFlags = [ "all-gcc" "all-target-libgcc" ];
|
||||
installTargets = "install-gcc install-target-libgcc";
|
||||
}
|
||||
|
||||
// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
|
||||
)
|
||||
@@ -5,6 +5,7 @@
|
||||
, langJava ? false
|
||||
, langGo ? false
|
||||
, profiledCompiler ? false
|
||||
, langJit ? false
|
||||
, staticCompiler ? false
|
||||
, enableShared ? true
|
||||
, enableLTO ? true
|
||||
@@ -89,7 +90,7 @@ let majorVersion = "4";
|
||||
# Antlr (optional) allows the Java `gjdoc' tool to be built. We want a
|
||||
# binary distribution here to allow the whole chain to be bootstrapped.
|
||||
javaAntlr = fetchurl {
|
||||
url = https://www.antlr.org/download/antlr-4.4-complete.jar;
|
||||
url = "https://www.antlr.org/download/antlr-4.4-complete.jar";
|
||||
sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
|
||||
};
|
||||
|
||||
@@ -215,6 +216,7 @@ stdenv.mkDerivation ({
|
||||
langGo
|
||||
langObjC
|
||||
langObjCpp
|
||||
langJit
|
||||
;
|
||||
};
|
||||
|
||||
@@ -265,8 +267,8 @@ stdenv.mkDerivation ({
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
EXTRA_TARGET_FLAGS
|
||||
EXTRA_TARGET_LDFLAGS
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
||||
passthru = {
|
||||
@@ -281,7 +283,7 @@ stdenv.mkDerivation ({
|
||||
inherit (stdenv) is64bit;
|
||||
|
||||
meta = {
|
||||
homepage = https://gcc.gnu.org/;
|
||||
homepage = "https://gcc.gnu.org/";
|
||||
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
|
||||
description = "GNU Compiler Collection, version ${version}"
|
||||
+ (if stripped then "" else " (with debugging info)");
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
, langJava ? false
|
||||
, langGo ? false
|
||||
, profiledCompiler ? false
|
||||
, langJit ? false
|
||||
, staticCompiler ? false
|
||||
, enableShared ? true
|
||||
, enableLTO ? true
|
||||
@@ -62,6 +63,7 @@ let majorVersion = "4";
|
||||
|
||||
patches =
|
||||
[ ../use-source-date-epoch.patch ../parallel-bconfig.patch ./parallel-strsignal.patch
|
||||
./libsanitizer.patch
|
||||
(fetchpatch {
|
||||
name = "avoid-ustat-glibc-2.28.patch";
|
||||
url = "https://gitweb.gentoo.org/proj/gcc-patches.git/plain/4.9.4/gentoo/100_all_avoid-ustat-glibc-2.28.patch?id=55fcb515620a8f7d3bb77eba938aa0fcf0d67c96";
|
||||
@@ -100,7 +102,7 @@ let majorVersion = "4";
|
||||
# Antlr (optional) allows the Java `gjdoc' tool to be built. We want a
|
||||
# binary distribution here to allow the whole chain to be bootstrapped.
|
||||
javaAntlr = fetchurl {
|
||||
url = https://www.antlr.org/download/antlr-4.4-complete.jar;
|
||||
url = "https://www.antlr.org/download/antlr-4.4-complete.jar";
|
||||
sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
|
||||
};
|
||||
|
||||
@@ -227,6 +229,7 @@ stdenv.mkDerivation ({
|
||||
langGo
|
||||
langObjC
|
||||
langObjCpp
|
||||
langJit
|
||||
;
|
||||
};
|
||||
|
||||
@@ -277,8 +280,8 @@ stdenv.mkDerivation ({
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
EXTRA_TARGET_FLAGS
|
||||
EXTRA_TARGET_LDFLAGS
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
||||
passthru = {
|
||||
@@ -292,7 +295,7 @@ stdenv.mkDerivation ({
|
||||
inherit (stdenv) is64bit;
|
||||
|
||||
meta = {
|
||||
homepage = https://gcc.gnu.org/;
|
||||
homepage = "https://gcc.gnu.org/";
|
||||
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
|
||||
description = "GNU Compiler Collection, version ${version}"
|
||||
+ (if stripped then "" else " (with debugging info)");
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
index aec950454..5bda9b3a3 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
@@ -156,18 +156,13 @@ namespace __sanitizer {
|
||||
#elif defined(__sparc__)
|
||||
# if defined(__arch64__)
|
||||
unsigned mode;
|
||||
- unsigned short __pad1;
|
||||
-# else
|
||||
- unsigned short __pad1;
|
||||
- unsigned short mode;
|
||||
unsigned short __pad2;
|
||||
# endif
|
||||
unsigned short __seq;
|
||||
unsigned long long __unused1;
|
||||
unsigned long long __unused2;
|
||||
#else
|
||||
- unsigned short mode;
|
||||
- unsigned short __pad1;
|
||||
+ unsigned int mode;
|
||||
unsigned short __seq;
|
||||
unsigned short __pad2;
|
||||
#if defined(__x86_64__) && !defined(_LP64)
|
||||
@@ -0,0 +1,62 @@
|
||||
From 8b55f1047cf3491429c1af607e5dac08a81db6e1 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Bosch <maximilian@mbosch.me>
|
||||
Date: Thu, 20 Feb 2020 15:08:36 +0100
|
||||
Subject: [PATCH] Fix build for glibc 2.31
|
||||
|
||||
---
|
||||
.../sanitizer_platform_limits_posix.cc | 5 +++--
|
||||
.../sanitizer_platform_limits_posix.h | 15 +--------------
|
||||
2 files changed, 4 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
index 069d8d557..c49c28c6e 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
@@ -1130,8 +1130,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
|
||||
#ifndef __GLIBC_PREREQ
|
||||
#define __GLIBC_PREREQ(x, y) 0
|
||||
#endif
|
||||
-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
|
||||
-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
|
||||
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
|
||||
+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
|
||||
+ on many architectures. */
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
|
||||
#endif
|
||||
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
index 304d04e39..568081a79 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
@@ -200,27 +200,14 @@ namespace __sanitizer {
|
||||
unsigned __seq;
|
||||
u64 __unused1;
|
||||
u64 __unused2;
|
||||
-#elif defined(__mips__) || defined(__aarch64__)
|
||||
- unsigned int mode;
|
||||
- unsigned short __seq;
|
||||
- unsigned short __pad1;
|
||||
- unsigned long __unused1;
|
||||
- unsigned long __unused2;
|
||||
#elif defined(__sparc__)
|
||||
-# if defined(__arch64__)
|
||||
unsigned mode;
|
||||
- unsigned short __pad1;
|
||||
-# else
|
||||
- unsigned short __pad1;
|
||||
- unsigned short mode;
|
||||
unsigned short __pad2;
|
||||
-# endif
|
||||
unsigned short __seq;
|
||||
unsigned long long __unused1;
|
||||
unsigned long long __unused2;
|
||||
#else
|
||||
- unsigned short mode;
|
||||
- unsigned short __pad1;
|
||||
+ unsigned int mode;
|
||||
unsigned short __seq;
|
||||
unsigned short __pad2;
|
||||
#if defined(__x86_64__) && !defined(_LP64)
|
||||
--
|
||||
2.25.0
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
{ stdenv, targetPackages, fetchurl, fetchpatch, fetchFromGitHub, noSysDirs
|
||||
, langC ? true, langCC ? true, langFortran ? false
|
||||
, langAda ? false
|
||||
, langObjC ? stdenv.targetPlatform.isDarwin
|
||||
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
||||
, langJava ? false
|
||||
, langGo ? false
|
||||
, profiledCompiler ? false
|
||||
, langJit ? false
|
||||
, staticCompiler ? false
|
||||
, enableShared ? true
|
||||
, enableLTO ? true
|
||||
@@ -15,6 +17,7 @@
|
||||
, libelf # optional, for link-time optimizations (LTO)
|
||||
, isl ? null # optional, for the Graphite optimization framework.
|
||||
, zlib ? null, boehmgc ? null
|
||||
, gnatboot ? null
|
||||
, zip ? null, unzip ? null, pkgconfig ? null
|
||||
, gtk2 ? null, libart_lgpl ? null
|
||||
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
|
||||
@@ -48,6 +51,8 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||
# The go frontend is written in c++
|
||||
assert langGo -> langCC;
|
||||
|
||||
assert langAda -> gnatboot != null;
|
||||
|
||||
# threadsCross is just for MinGW
|
||||
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||
|
||||
@@ -59,10 +64,11 @@ let majorVersion = "6";
|
||||
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
patches =
|
||||
[ ../use-source-date-epoch.patch ]
|
||||
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||
patches = optionals (!stdenv.targetPlatform.isRedox) [
|
||||
../use-source-date-epoch.patch ./0001-Fix-build-for-glibc-2.31.patch
|
||||
] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||
++ optional noSysDirs ../no-sys-dirs.patch
|
||||
++ optional langAda ../gnat-cflags.patch
|
||||
++ optional langFortran ../gfortran-driving.patch
|
||||
++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
|
||||
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
|
||||
@@ -82,7 +88,7 @@ let majorVersion = "6";
|
||||
# Antlr (optional) allows the Java `gjdoc' tool to be built. We want a
|
||||
# binary distribution here to allow the whole chain to be bootstrapped.
|
||||
javaAntlr = fetchurl {
|
||||
url = https://www.antlr.org/download/antlr-4.4-complete.jar;
|
||||
url = "https://www.antlr.org/download/antlr-4.4-complete.jar";
|
||||
sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
|
||||
};
|
||||
|
||||
@@ -114,6 +120,11 @@ stdenv.mkDerivation ({
|
||||
repo = "gcc-vc4";
|
||||
rev = "e90ff43f9671c760cf0d1dd62f569a0fb9bf8918";
|
||||
sha256 = "0gxf66hwqk26h8f853sybphqa5ca0cva2kmrw5jsiv6139g0qnp8";
|
||||
} else if stdenv.targetPlatform.isRedox then fetchFromGitHub {
|
||||
owner = "redox-os";
|
||||
repo = "gcc";
|
||||
rev = "f360ac095028d286fc6dde4d02daed48f59813fa"; # `redox` branch
|
||||
sha256 = "1an96h8l58pppyh3qqv90g8hgcfd9hj7igvh2gigmkxbrx94khfl";
|
||||
} else fetchurl {
|
||||
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz";
|
||||
sha256 = "0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby";
|
||||
@@ -121,7 +132,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
inherit patches;
|
||||
|
||||
outputs = if langJava || langGo then ["out" "man" "info"]
|
||||
outputs = if langJava || langGo || langJit then ["out" "man" "info"]
|
||||
else [ "out" "lib" "man" "info" ];
|
||||
setOutputFlags = false;
|
||||
NIX_NO_SELF_RPATH = true;
|
||||
@@ -131,21 +142,17 @@ stdenv.mkDerivation ({
|
||||
hardeningDisable = [ "format" "pie" ];
|
||||
|
||||
prePatch =
|
||||
(stdenv.lib.optionalString (langJava || langGo) ''
|
||||
export lib=$out
|
||||
'')
|
||||
|
||||
# This should kill all the stdinc frameworks that gcc and friends like to
|
||||
# insert into default search paths.
|
||||
+ stdenv.lib.optionalString hostPlatform.isDarwin ''
|
||||
stdenv.lib.optionalString hostPlatform.isDarwin ''
|
||||
substituteInPlace gcc/config/darwin-c.c \
|
||||
--replace 'if (stdinc)' 'if (0)'
|
||||
|
||||
substituteInPlace libgcc/config/t-slibgcc-darwin \
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name ''${!outputLib}/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
|
||||
substituteInPlace libgfortran/configure \
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname"
|
||||
'';
|
||||
|
||||
postPatch =
|
||||
@@ -180,7 +187,7 @@ stdenv.mkDerivation ({
|
||||
nativeBuildInputs = [ texinfo which gettext ]
|
||||
++ (optional (perl != null) perl)
|
||||
++ (optional javaAwtGtk pkgconfig)
|
||||
++ (optional (stdenv.targetPlatform.isVc4) flex);
|
||||
++ (optional (with stdenv.targetPlatform; isVc4 || isRedox) flex);
|
||||
|
||||
# For building runtime libs
|
||||
depsBuildTarget =
|
||||
@@ -203,6 +210,7 @@ stdenv.mkDerivation ({
|
||||
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
||||
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
||||
++ (optional hostPlatform.isDarwin gnused)
|
||||
++ (optional langAda gnatboot)
|
||||
;
|
||||
|
||||
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||
@@ -211,7 +219,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit (stdenv) lib;
|
||||
inherit version hostPlatform langJava langGo;
|
||||
inherit version hostPlatform gnatboot langJava langAda langGo;
|
||||
};
|
||||
|
||||
dontDisableStatic = true;
|
||||
@@ -237,9 +245,11 @@ stdenv.mkDerivation ({
|
||||
langCC
|
||||
langFortran
|
||||
langJava javaAwtGtk javaAntlr javaEcj
|
||||
langAda
|
||||
langGo
|
||||
langObjC
|
||||
langObjCpp
|
||||
langJit
|
||||
;
|
||||
};
|
||||
|
||||
@@ -290,12 +300,12 @@ stdenv.mkDerivation ({
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
EXTRA_TARGET_FLAGS
|
||||
EXTRA_TARGET_LDFLAGS
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
||||
passthru = {
|
||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||
inherit langC langCC langObjC langObjCpp langFortran langAda langGo version;
|
||||
isGNU = true;
|
||||
};
|
||||
|
||||
@@ -305,7 +315,7 @@ stdenv.mkDerivation ({
|
||||
inherit (stdenv) is64bit;
|
||||
|
||||
meta = {
|
||||
homepage = https://gcc.gnu.org/;
|
||||
homepage = "https://gcc.gnu.org/";
|
||||
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
|
||||
description = "GNU Compiler Collection, version ${version}"
|
||||
+ (if stripped then "" else " (with debugging info)");
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
From 2d03b6eaf823fc2db6a32b4a95e18f8a7474b47f Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Bosch <maximilian@mbosch.me>
|
||||
Date: Thu, 20 Feb 2020 01:56:42 +0100
|
||||
Subject: [PATCH] Fix build for glibc 2.31
|
||||
|
||||
---
|
||||
.../sanitizer_platform_limits_posix.cc | 5 +++--
|
||||
.../sanitizer_platform_limits_posix.h | 15 +--------------
|
||||
2 files changed, 4 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
index 97eae3fc7..4089d4695 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
@@ -1145,8 +1145,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
|
||||
-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
|
||||
-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
|
||||
+#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
|
||||
+/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
|
||||
+ on many architectures. */
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
|
||||
#endif
|
||||
|
||||
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
index c13932283..3456fb2db 100644
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
||||
@@ -204,27 +204,14 @@ namespace __sanitizer {
|
||||
unsigned __seq;
|
||||
u64 __unused1;
|
||||
u64 __unused2;
|
||||
-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__)
|
||||
- unsigned int mode;
|
||||
- unsigned short __seq;
|
||||
- unsigned short __pad1;
|
||||
- unsigned long __unused1;
|
||||
- unsigned long __unused2;
|
||||
#elif defined(__sparc__)
|
||||
-# if defined(__arch64__)
|
||||
unsigned mode;
|
||||
- unsigned short __pad1;
|
||||
-# else
|
||||
- unsigned short __pad1;
|
||||
- unsigned short mode;
|
||||
unsigned short __pad2;
|
||||
-# endif
|
||||
unsigned short __seq;
|
||||
unsigned long long __unused1;
|
||||
unsigned long long __unused2;
|
||||
#else
|
||||
- unsigned short mode;
|
||||
- unsigned short __pad1;
|
||||
+ unsigned int mode;
|
||||
unsigned short __seq;
|
||||
unsigned short __pad2;
|
||||
#if defined(__x86_64__) && !defined(_LP64)
|
||||
--
|
||||
2.25.0
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
||||
, langGo ? false
|
||||
, profiledCompiler ? false
|
||||
, langJit ? false
|
||||
, staticCompiler ? false
|
||||
, enableShared ? true
|
||||
, enableLTO ? true
|
||||
@@ -52,6 +53,8 @@ let majorVersion = "7";
|
||||
./riscv-pthread-reentrant.patch
|
||||
# https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00297.html
|
||||
./riscv-no-relax.patch
|
||||
|
||||
./0001-Fix-build-for-glibc-2.31.patch
|
||||
]
|
||||
++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
|
||||
++ optionals targetPlatform.isNetBSD [
|
||||
@@ -90,7 +93,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
inherit patches;
|
||||
|
||||
outputs = [ "out" "lib" "man" "info" ];
|
||||
outputs = [ "out" "man" "info" ] ++ stdenv.lib.optional (!langJit) "lib";
|
||||
setOutputFlags = false;
|
||||
NIX_NO_SELF_RPATH = true;
|
||||
|
||||
@@ -105,10 +108,10 @@ stdenv.mkDerivation ({
|
||||
--replace 'if (stdinc)' 'if (0)'
|
||||
|
||||
substituteInPlace libgcc/config/t-slibgcc-darwin \
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name ''${!outputLib}/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
|
||||
substituteInPlace libgfortran/configure \
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname"
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
@@ -209,6 +212,7 @@ stdenv.mkDerivation ({
|
||||
langGo
|
||||
langObjC
|
||||
langObjCpp
|
||||
langJit
|
||||
;
|
||||
} ++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
|
||||
++ optional targetPlatform.isNetBSD "--disable-libcilkrts"
|
||||
@@ -248,8 +252,8 @@ stdenv.mkDerivation ({
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
EXTRA_TARGET_FLAGS
|
||||
EXTRA_TARGET_LDFLAGS
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
||||
passthru = {
|
||||
@@ -263,7 +267,7 @@ stdenv.mkDerivation ({
|
||||
inherit (stdenv) is64bit;
|
||||
|
||||
meta = {
|
||||
homepage = https://gcc.gnu.org/;
|
||||
homepage = "https://gcc.gnu.org/";
|
||||
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
|
||||
description = "GNU Compiler Collection, version ${version}"
|
||||
+ (if stripped then "" else " (with debugging info)");
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
||||
, langGo ? false
|
||||
, profiledCompiler ? false
|
||||
, langJit ? false
|
||||
, staticCompiler ? false
|
||||
, enableShared ? true
|
||||
, enableLTO ? true
|
||||
@@ -82,7 +83,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
inherit patches;
|
||||
|
||||
outputs = [ "out" "lib" "man" "info" ];
|
||||
outputs = [ "out" "man" "info" ] ++ stdenv.lib.optional (!langJit) "lib";
|
||||
setOutputFlags = false;
|
||||
NIX_NO_SELF_RPATH = true;
|
||||
|
||||
@@ -97,10 +98,10 @@ stdenv.mkDerivation ({
|
||||
--replace 'if (stdinc)' 'if (0)'
|
||||
|
||||
substituteInPlace libgcc/config/t-slibgcc-darwin \
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name ''${!outputLib}/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
|
||||
substituteInPlace libgfortran/configure \
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname"
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
@@ -200,6 +201,7 @@ stdenv.mkDerivation ({
|
||||
langGo
|
||||
langObjC
|
||||
langObjCpp
|
||||
langJit
|
||||
;
|
||||
};
|
||||
|
||||
@@ -235,8 +237,8 @@ stdenv.mkDerivation ({
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
EXTRA_TARGET_FLAGS
|
||||
EXTRA_TARGET_LDFLAGS
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
||||
passthru = {
|
||||
@@ -250,7 +252,7 @@ stdenv.mkDerivation ({
|
||||
inherit (stdenv) is64bit;
|
||||
|
||||
meta = {
|
||||
homepage = https://gcc.gnu.org/;
|
||||
homepage = "https://gcc.gnu.org/";
|
||||
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
|
||||
description = "GNU Compiler Collection, version ${version}"
|
||||
+ (if stripped then "" else " (with debugging info)");
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
|
||||
, langC ? true, langCC ? true, langFortran ? false
|
||||
, langAda ? false
|
||||
, langObjC ? stdenv.targetPlatform.isDarwin
|
||||
, langObjCpp ? stdenv.targetPlatform.isDarwin
|
||||
, langD ? false
|
||||
, langGo ? false
|
||||
, profiledCompiler ? false
|
||||
, langJit ? false
|
||||
, staticCompiler ? false
|
||||
, enableShared ? true
|
||||
, enableLTO ? true
|
||||
@@ -13,6 +16,7 @@
|
||||
, libelf # optional, for link-time optimizations (LTO)
|
||||
, isl ? null # optional, for the Graphite optimization framework.
|
||||
, zlib ? null
|
||||
, gnatboot ? null
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
, name ? "gcc"
|
||||
@@ -27,6 +31,11 @@
|
||||
, buildPackages
|
||||
}:
|
||||
|
||||
# Note: this package is used for bootstrapping fetchurl, and thus
|
||||
# cannot use fetchpatch! All mutable patches (generated by GitHub or
|
||||
# cgit) that are needed here should be included directly in Nixpkgs as
|
||||
# files.
|
||||
|
||||
# LTO needs libelf and zlib.
|
||||
assert libelf != null -> zlib != null;
|
||||
|
||||
@@ -35,6 +44,7 @@ assert stdenv.hostPlatform.isDarwin -> gnused != null;
|
||||
|
||||
# The go frontend is written in c++
|
||||
assert langGo -> langCC;
|
||||
assert langAda -> gnatboot != null;
|
||||
|
||||
# threadsCross is just for MinGW
|
||||
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
|
||||
@@ -43,7 +53,7 @@ with stdenv.lib;
|
||||
with builtins;
|
||||
|
||||
let majorVersion = "9";
|
||||
version = "${majorVersion}.2.0";
|
||||
version = "${majorVersion}.3.0";
|
||||
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
@@ -54,6 +64,8 @@ let majorVersion = "9";
|
||||
url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
|
||||
sha256 = ""; # TODO: uncomment and check hash when available.
|
||||
}) */
|
||||
++ optional langAda ../gnat-cflags.patch
|
||||
++ optional langD ../libphobos.patch
|
||||
++ optional langFortran ../gfortran-driving.patch
|
||||
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
|
||||
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
|
||||
@@ -76,12 +88,12 @@ stdenv.mkDerivation ({
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
|
||||
sha256 = "01mj3yk7z49i49168hg2cg7qs4bsccrrnv7pjmbdlf8j2a7z0vpa";
|
||||
sha256 = "1la2yy27ziasyf0jvzk58y1i5b5bq2h176qil550bxhifs39gqbi";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
|
||||
outputs = [ "out" "lib" "man" "info" ];
|
||||
outputs = [ "out" "man" "info" ] ++ stdenv.lib.optional (!langJit) "lib";
|
||||
setOutputFlags = false;
|
||||
NIX_NO_SELF_RPATH = true;
|
||||
|
||||
@@ -96,10 +108,10 @@ stdenv.mkDerivation ({
|
||||
--replace 'if (stdinc)' 'if (0)'
|
||||
|
||||
substituteInPlace libgcc/config/t-slibgcc-darwin \
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name ''${!outputLib}/lib/\$(SHLIB_INSTALL_NAME)"
|
||||
|
||||
substituteInPlace libgfortran/configure \
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
|
||||
--replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname"
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
@@ -132,10 +144,10 @@ stdenv.mkDerivation ({
|
||||
)
|
||||
else "")
|
||||
+ stdenv.lib.optionalString targetPlatform.isAvr ''
|
||||
makeFlagsArray+=(
|
||||
'LIMITS_H_TEST=false'
|
||||
)
|
||||
'';
|
||||
makeFlagsArray+=(
|
||||
'LIMITS_H_TEST=false'
|
||||
)
|
||||
'';
|
||||
|
||||
inherit noSysDirs staticCompiler crossStageStatic
|
||||
libcCross crossMingw;
|
||||
@@ -163,6 +175,7 @@ stdenv.mkDerivation ({
|
||||
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
||||
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
||||
++ (optional hostPlatform.isDarwin gnused)
|
||||
++ (optional langAda gnatboot)
|
||||
;
|
||||
|
||||
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
|
||||
@@ -171,7 +184,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit (stdenv) lib;
|
||||
inherit version hostPlatform langGo;
|
||||
inherit version hostPlatform gnatboot langAda langGo;
|
||||
};
|
||||
|
||||
dontDisableStatic = true;
|
||||
@@ -194,11 +207,14 @@ stdenv.mkDerivation ({
|
||||
enableShared
|
||||
|
||||
langC
|
||||
langD
|
||||
langCC
|
||||
langFortran
|
||||
langAda
|
||||
langGo
|
||||
langObjC
|
||||
langObjCpp
|
||||
langJit
|
||||
;
|
||||
};
|
||||
|
||||
@@ -232,14 +248,14 @@ stdenv.mkDerivation ({
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit stdenv crossStageStatic libcCross threadsCross;
|
||||
inherit stdenv crossStageStatic langD libcCross threadsCross;
|
||||
})
|
||||
EXTRA_TARGET_FLAGS
|
||||
EXTRA_TARGET_LDFLAGS
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
||||
passthru = {
|
||||
inherit langC langCC langObjC langObjCpp langFortran langGo version;
|
||||
inherit langC langCC langObjC langObjCpp langAda langFortran langGo langD version;
|
||||
isGNU = true;
|
||||
};
|
||||
|
||||
@@ -248,14 +264,8 @@ stdenv.mkDerivation ({
|
||||
|
||||
inherit (stdenv) is64bit;
|
||||
|
||||
# In this particular combination it stopped creating lib output at all.
|
||||
# TODO: perhaps find a better fix? (ideally understand what's going on)
|
||||
postFixup = if crossStageStatic && targetPlatform.isMusl && targetPlatform.is32bit
|
||||
then ''mkdir "$lib"''
|
||||
else null;
|
||||
|
||||
meta = {
|
||||
homepage = https://gcc.gnu.org/;
|
||||
homepage = "https://gcc.gnu.org/";
|
||||
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
|
||||
description = "GNU Compiler Collection, version ${version}"
|
||||
+ (if stripped then "" else " (with debugging info)");
|
||||
|
||||
@@ -25,12 +25,12 @@ echo "\$LIBRARY_PATH is \`${LIBRARY_PATH-}'"
|
||||
if test "$noSysDirs" = "1"; then
|
||||
|
||||
declare \
|
||||
EXTRA_BUILD_FLAGS EXTRA_FLAGS EXTRA_TARGET_FLAGS \
|
||||
EXTRA_BUILD_LDFLAGS EXTRA_TARGET_LDFLAGS
|
||||
EXTRA_FLAGS_FOR_BUILD EXTRA_FLAGS EXTRA_FLAGS_FOR_TARGET \
|
||||
EXTRA_LDFLAGS_FOR_BUILD EXTRA_LDFLAGS_FOR_TARGET
|
||||
|
||||
# Extract flags from Bintools Wrappers
|
||||
for pre in 'BUILD_' ''; do
|
||||
curBintools="NIX_${pre}BINTOOLS"
|
||||
for post in '_FOR_BUILD' ''; do
|
||||
curBintools="NIX_BINTOOLS${post}"
|
||||
|
||||
declare -a extraLDFlags=()
|
||||
if [[ -e "${!curBintools}/nix-support/orig-libc" ]]; then
|
||||
@@ -48,20 +48,20 @@ if test "$noSysDirs" = "1"; then
|
||||
extraLDFlags=("-L$libc_libdir" "-rpath" "$libc_libdir"
|
||||
"${extraLDFlags[@]}")
|
||||
for i in "${extraLDFlags[@]}"; do
|
||||
declare EXTRA_${pre}LDFLAGS+=" -Wl,$i"
|
||||
declare EXTRA_LDFLAGS${post}+=" -Wl,$i"
|
||||
done
|
||||
done
|
||||
|
||||
# Extract flags from CC Wrappers
|
||||
for pre in 'BUILD_' ''; do
|
||||
curCC="NIX_${pre}CC"
|
||||
curFIXINC="NIX_${pre}FIXINC_DUMMY"
|
||||
for post in '_FOR_BUILD' ''; do
|
||||
curCC="NIX_CC${post}"
|
||||
curFIXINC="NIX_FIXINC_DUMMY${post}"
|
||||
|
||||
declare -a extraFlags=()
|
||||
if [[ -e "${!curCC}/nix-support/orig-libc" ]]; then
|
||||
# Figure out what extra compiling flags to pass to the gcc compilers
|
||||
# being generated to make sure that they use our libc.
|
||||
extraFlags=($(< "${!curCC}/nix-support/libc-cflags"))
|
||||
extraFlags=($(< "${!curCC}/nix-support/libc-crt1-cflags") $(< "${!curCC}/nix-support/libc-cflags"))
|
||||
|
||||
# The path to the Libc headers
|
||||
libc_devdir="$(< "${!curCC}/nix-support/orig-libc-dev")"
|
||||
@@ -69,11 +69,11 @@ if test "$noSysDirs" = "1"; then
|
||||
# Use *real* header files, otherwise a limits.h is generated that
|
||||
# does not include Libc's limits.h (notably missing SSIZE_MAX,
|
||||
# which breaks the build).
|
||||
declare NIX_${pre}FIXINC_DUMMY="$libc_devdir/include"
|
||||
declare NIX_FIXINC_DUMMY${post}="$libc_devdir/include"
|
||||
else
|
||||
# Hack: support impure environments.
|
||||
extraFlags=("-isystem" "/usr/include")
|
||||
declare NIX_${pre}FIXINC_DUMMY=/usr/include
|
||||
declare NIX_FIXINC_DUMMY${post}=/usr/include
|
||||
fi
|
||||
|
||||
extraFlags=("-I${!curFIXINC}" "${extraFlags[@]}")
|
||||
@@ -89,13 +89,13 @@ if test "$noSysDirs" = "1"; then
|
||||
extraFlags=("-O2" "${extraFlags[@]}")
|
||||
fi
|
||||
|
||||
declare EXTRA_${pre}FLAGS="${extraFlags[*]}"
|
||||
declare EXTRA_FLAGS${post}="${extraFlags[*]}"
|
||||
done
|
||||
|
||||
if test -z "${targetConfig-}"; then
|
||||
# host = target, so the flags are the same
|
||||
EXTRA_TARGET_FLAGS="$EXTRA_FLAGS"
|
||||
EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS"
|
||||
EXTRA_FLAGS_FOR_TARGET="$EXTRA_FLAGS"
|
||||
EXTRA_LDFLAGS_FOR_TARGET="$EXTRA_LDFLAGS"
|
||||
fi
|
||||
|
||||
# CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find
|
||||
@@ -103,31 +103,31 @@ if test "$noSysDirs" = "1"; then
|
||||
# FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx
|
||||
# for the startfiles.
|
||||
makeFlagsArray+=(
|
||||
"BUILD_SYSTEM_HEADER_DIR=$NIX_BUILD_FIXINC_DUMMY"
|
||||
"SYSTEM_HEADER_DIR=$NIX_BUILD_FIXINC_DUMMY"
|
||||
"BUILD_SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY_FOR_BUILD"
|
||||
"SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY_FOR_BUILD"
|
||||
"NATIVE_SYSTEM_HEADER_DIR=$NIX_FIXINC_DUMMY"
|
||||
|
||||
"LDFLAGS_FOR_BUILD=$EXTRA_BUILD_LDFLAGS"
|
||||
"LDFLAGS_FOR_BUILD=$EXTRA_LDFLAGS_FOR_BUILD"
|
||||
#"LDFLAGS=$EXTRA_LDFLAGS"
|
||||
"LDFLAGS_FOR_TARGET=$EXTRA_TARGET_LDFLAGS"
|
||||
"LDFLAGS_FOR_TARGET=$EXTRA_LDFLAGS_FOR_TARGET"
|
||||
|
||||
"CFLAGS_FOR_BUILD=$EXTRA_BUILD_FLAGS $EXTRA_BUILD_LDFLAGS"
|
||||
"CXXFLAGS_FOR_BUILD=$EXTRA_BUILD_FLAGS $EXTRA_BUILD_LDFLAGS"
|
||||
"FLAGS_FOR_BUILD=$EXTRA_BUILD_FLAGS $EXTRA_BUILD_LDFLAGS"
|
||||
"CFLAGS_FOR_BUILD=$EXTRA_FLAGS_FOR_BUILD $EXTRA_LDFLAGS_FOR_BUILD"
|
||||
"CXXFLAGS_FOR_BUILD=$EXTRA_FLAGS_FOR_BUILD $EXTRA_LDFLAGS_FOR_BUILD"
|
||||
"FLAGS_FOR_BUILD=$EXTRA_FLAGS_FOR_BUILD $EXTRA_LDFLAGS_FOR_BUILD"
|
||||
|
||||
# It seems there is a bug in GCC 5
|
||||
#"CFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS"
|
||||
#"CXXFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS"
|
||||
|
||||
"CFLAGS_FOR_TARGET=$EXTRA_TARGET_FLAGS $EXTRA_TARGET_LDFLAGS"
|
||||
"CXXFLAGS_FOR_TARGET=$EXTRA_TARGET_FLAGS $EXTRA_TARGET_LDFLAGS"
|
||||
"FLAGS_FOR_TARGET=$EXTRA_TARGET_FLAGS $EXTRA_TARGET_LDFLAGS"
|
||||
"CFLAGS_FOR_TARGET=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET"
|
||||
"CXXFLAGS_FOR_TARGET=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET"
|
||||
"FLAGS_FOR_TARGET=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET"
|
||||
)
|
||||
|
||||
if test -z "${targetConfig-}"; then
|
||||
makeFlagsArray+=(
|
||||
"BOOT_CFLAGS=$EXTRA_FLAGS $EXTRA_LDFLAGS"
|
||||
"BOOT_LDFLAGS=$EXTRA_TARGET_FLAGS $EXTRA_TARGET_LDFLAGS"
|
||||
"BOOT_LDFLAGS=$EXTRA_FLAGS_FOR_TARGET $EXTRA_LDFLAGS_FOR_TARGET"
|
||||
)
|
||||
fi
|
||||
|
||||
@@ -201,34 +201,35 @@ postConfigure() {
|
||||
|
||||
|
||||
preInstall() {
|
||||
mkdir -p "$out/${targetConfig}/lib"
|
||||
mkdir -p "${!outputLib}/${targetConfig}/lib"
|
||||
# Make ‘lib64’ symlinks to ‘lib’.
|
||||
if [ -n "$is64bit" -a -z "$enableMultilib" ]; then
|
||||
mkdir -p "$out/${targetConfig}/lib"
|
||||
ln -s lib "$out/${targetConfig}/lib64"
|
||||
mkdir -p "$lib/${targetConfig}/lib"
|
||||
ln -s lib "$lib/${targetConfig}/lib64"
|
||||
ln -s lib "${!outputLib}/${targetConfig}/lib64"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
postInstall() {
|
||||
# Move runtime libraries to $lib.
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.so*" "$lib"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.la" "$lib"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dylib" "$lib"
|
||||
moveToOutput "share/gcc-*/python" "$lib"
|
||||
# Move runtime libraries to lib output.
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.so*" "${!outputLib}"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.la" "${!outputLib}"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dylib" "${!outputLib}"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dll.a" "${!outputLib}"
|
||||
moveToOutput "share/gcc-*/python" "${!outputLib}"
|
||||
|
||||
for i in "$lib/${targetConfig}"/lib/*.{la,py}; do
|
||||
substituteInPlace "$i" --replace "$out" "$lib"
|
||||
for i in "${!outputLib}/${targetConfig}"/lib/*.{la,py}; do
|
||||
substituteInPlace "$i" --replace "$out" "${!outputLib}"
|
||||
done
|
||||
|
||||
if [ -n "$enableMultilib" ]; then
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib64/lib*.so*" "$lib"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib64/lib*.la" "$lib"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib64/lib*.dylib" "$lib"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib64/lib*.so*" "${!outputLib}"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib64/lib*.la" "${!outputLib}"
|
||||
moveToOutput "${targetConfig+$targetConfig/}lib64/lib*.dylib" "${!outputLib}"
|
||||
|
||||
for i in "$lib/${targetConfig}"/lib64/*.{la,py}; do
|
||||
substituteInPlace "$i" --replace "$out" "$lib"
|
||||
for i in "${!outputLib}/${targetConfig}"/lib64/*.{la,py}; do
|
||||
substituteInPlace "$i" --replace "$out" "${!outputLib}"
|
||||
done
|
||||
fi
|
||||
|
||||
@@ -260,10 +261,10 @@ postInstall() {
|
||||
fi
|
||||
|
||||
if type "install_name_tool"; then
|
||||
for i in "$lib"/lib/*.*.dylib; do
|
||||
for i in "${!outputLib}"/lib/*.*.dylib; do
|
||||
install_name_tool -id "$i" "$i" || true
|
||||
for old_path in $(otool -L "$i" | grep "$out" | awk '{print $1}'); do
|
||||
new_path=`echo "$old_path" | sed "s,$out,$lib,"`
|
||||
new_path=`echo "$old_path" | sed "s,$out,${!outputLib},"`
|
||||
install_name_tool -change "$old_path" "$new_path" "$i" || true
|
||||
done
|
||||
done
|
||||
|
||||
@@ -14,16 +14,29 @@
|
||||
|
||||
, langC
|
||||
, langCC
|
||||
, langD ? false
|
||||
, langFortran
|
||||
, langJava ? false, javaAwtGtk ? false, javaAntlr ? null, javaEcj ? null
|
||||
, langAda ? false
|
||||
, langGo
|
||||
, langObjC
|
||||
, langObjCpp
|
||||
, langJit
|
||||
}:
|
||||
|
||||
assert cloog != null -> stdenv.lib.versionOlder version "5";
|
||||
assert langJava -> stdenv.lib.versionOlder version "7";
|
||||
|
||||
# Note [Windows Exception Handling]
|
||||
# sjlj (short jump long jump) exception handling makes no sense on x86_64,
|
||||
# it's forcably slowing programs down as it produces a constant overhead.
|
||||
# On x86_64 we have SEH (Structured Exception Handling) and we should use
|
||||
# that. On i686, we do not have SEH, and have to use sjlj with dwarf2.
|
||||
# Hence it's now conditional on x86_32 (i686 is 32bit).
|
||||
#
|
||||
# ref: https://stackoverflow.com/questions/15670169/what-is-difference-between-sjlj-vs-dwarf-vs-seh
|
||||
|
||||
|
||||
let
|
||||
inherit (stdenv)
|
||||
buildPlatform hostPlatform targetPlatform
|
||||
@@ -55,8 +68,16 @@ let
|
||||
"--with-gnu-as"
|
||||
"--with-gnu-ld"
|
||||
"--disable-debug"
|
||||
"--enable-sjlj-exceptions"
|
||||
"--disable-win32-registry"
|
||||
"--enable-hash-synchronization"
|
||||
"--enable-libssp"
|
||||
"--disable-nls"
|
||||
# To keep ABI compatibility with upstream mingw-w64
|
||||
"--enable-fully-dynamic-string"
|
||||
] ++ lib.optionals (crossMingw && targetPlatform.isx86_32) [
|
||||
# See Note [Windows Exception Handling]
|
||||
"--enable-sjlj-exceptions"
|
||||
"--with-dwarf2"
|
||||
] else [
|
||||
(if crossDarwin then "--with-sysroot=${lib.getLib libcCross}/share/sysroot"
|
||||
else "--with-headers=${lib.getDev libcCross}${libcCross.incdir or "/include"}")
|
||||
@@ -77,14 +98,6 @@ let
|
||||
] ++ lib.optionals (targetPlatform.libc == "musl") [
|
||||
# musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
|
||||
"--disable-libmpx"
|
||||
] ++ lib.optionals crossMingw [
|
||||
"--enable-sjlj-exceptions"
|
||||
"--enable-hash-synchronization"
|
||||
"--enable-libssp"
|
||||
"--disable-nls"
|
||||
"--with-dwarf2"
|
||||
# To keep ABI compatibility with upstream mingw-w64
|
||||
"--enable-fully-dynamic-string"
|
||||
] ++ lib.optional (targetPlatform.libc == "newlib") "--with-newlib"
|
||||
++ lib.optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
|
||||
);
|
||||
@@ -113,12 +126,15 @@ let
|
||||
lib.concatStrings (lib.intersperse ","
|
||||
( lib.optional langC "c"
|
||||
++ lib.optional langCC "c++"
|
||||
++ lib.optional langD "d"
|
||||
++ lib.optional langFortran "fortran"
|
||||
++ lib.optional langJava "java"
|
||||
++ lib.optional langAda "ada"
|
||||
++ lib.optional langGo "go"
|
||||
++ lib.optional langObjC "objc"
|
||||
++ lib.optional langObjCpp "obj-c++"
|
||||
++ lib.optionals crossDarwin [ "objc" "obj-c++" ]
|
||||
++ lib.optional langJit "jit"
|
||||
)
|
||||
)
|
||||
}"
|
||||
@@ -140,6 +156,9 @@ let
|
||||
"--enable-cloog-backend=isl"
|
||||
]
|
||||
|
||||
# Ada options
|
||||
++ lib.optional langAda "--enable-libada"
|
||||
|
||||
# Java options
|
||||
++ lib.optionals langJava [
|
||||
"--with-ecj-jar=${javaEcj}"
|
||||
@@ -168,6 +187,12 @@ let
|
||||
"--disable-symvers"
|
||||
"libat_cv_have_ifunc=no"
|
||||
"--disable-gnu-indirect-function"
|
||||
]
|
||||
++ lib.optionals langJit [
|
||||
"--enable-host-shared"
|
||||
]
|
||||
++ lib.optionals (langD) [
|
||||
"--with-target-system-zlib=yes"
|
||||
]
|
||||
;
|
||||
|
||||
|
||||
@@ -1,21 +1,24 @@
|
||||
{ stdenv, crossStageStatic, libcCross, threadsCross }:
|
||||
{ stdenv, crossStageStatic, langD ? false, libcCross, threadsCross }:
|
||||
|
||||
let
|
||||
inherit (stdenv) lib hostPlatform targetPlatform;
|
||||
in
|
||||
|
||||
{
|
||||
EXTRA_TARGET_FLAGS = let
|
||||
mkFlags = dep: lib.optionals (targetPlatform != hostPlatform && dep != null) ([
|
||||
"-idirafter ${lib.getDev dep}${dep.incdir or "/include"}"
|
||||
# For non-cross builds these flags are currently assigned in builder.sh.
|
||||
# It would be good to consolidate the generation of makeFlags
|
||||
# ({C,CXX,LD}FLAGS_FOR_{BUILD,TARGET}, etc...) at some point.
|
||||
EXTRA_FLAGS_FOR_TARGET = let
|
||||
mkFlags = dep: langD: lib.optionals (targetPlatform != hostPlatform && dep != null && !langD) ([
|
||||
"-O2 -idirafter ${lib.getDev dep}${dep.incdir or "/include"}"
|
||||
] ++ stdenv.lib.optionals (! crossStageStatic) [
|
||||
"-B${lib.getLib dep}${dep.libdir or "/lib"}"
|
||||
]);
|
||||
in mkFlags libcCross
|
||||
++ lib.optionals (!crossStageStatic) (mkFlags threadsCross)
|
||||
in mkFlags libcCross langD
|
||||
++ lib.optionals (!crossStageStatic) (mkFlags threadsCross langD)
|
||||
;
|
||||
|
||||
EXTRA_TARGET_LDFLAGS = let
|
||||
EXTRA_LDFLAGS_FOR_TARGET = let
|
||||
mkFlags = dep: lib.optionals (targetPlatform != hostPlatform && dep != null) ([
|
||||
"-Wl,-L${lib.getLib dep}${dep.libdir or "/lib"}"
|
||||
] ++ (if crossStageStatic then [
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user