diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2019-12-31 16:35:53 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2019-12-31 16:35:53 +0100 |
commit | 555037a6670ba487ec23c3e819a6a2f24dc0a05f (patch) | |
tree | 55a7fca979cb68a309aab68b202477bb4a783682 /pkgs/development | |
parent | 0c2adc0fb1b0b551bef119477f37b86190cd9cc5 (diff) | |
parent | e4d0e33f36491a0e08a3b1a15db13366d7d0785f (diff) | |
download | nixpkgs-555037a6670ba487ec23c3e819a6a2f24dc0a05f.tar nixpkgs-555037a6670ba487ec23c3e819a6a2f24dc0a05f.tar.gz nixpkgs-555037a6670ba487ec23c3e819a6a2f24dc0a05f.tar.bz2 nixpkgs-555037a6670ba487ec23c3e819a6a2f24dc0a05f.tar.lz nixpkgs-555037a6670ba487ec23c3e819a6a2f24dc0a05f.tar.xz nixpkgs-555037a6670ba487ec23c3e819a6a2f24dc0a05f.tar.zst nixpkgs-555037a6670ba487ec23c3e819a6a2f24dc0a05f.zip |
Merge master into staging-next
Diffstat (limited to 'pkgs/development')
10 files changed, 194 insertions, 117 deletions
diff --git a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix index 940dec0338c..f635fce972f 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix @@ -1,22 +1,26 @@ -{ stdenv, fetchurl, ncurses5, python27 }: +{ stdenv +, fetchurl +, ncurses5 +, python27 +}: stdenv.mkDerivation rec { pname = "gcc-arm-embedded"; version = "6-2017-q2-update"; subdir = "6-2017q2"; - src = - if stdenv.isLinux then - fetchurl { - url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2"; - sha256="1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6"; - } - else if stdenv.isDarwin then - fetchurl { - url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2"; - sha256="0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x"; - } - else throw "unsupported platform"; + suffix = { + x86_64-darwin = "mac"; + x86_64-linux = "linux"; + }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + src = fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2"; + sha256 = { + x86_64-darwin = "0019ylpq4inq7p5gydpmc9m8ni72fz2csrjlqmgx1698998q0c3x"; + x86_64-linux = "1hvwi02mx34al525sngnl0cm7dkmzxfkb1brq9kvbv28wcplp3p6"; + }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + }; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; @@ -37,11 +41,11 @@ stdenv.mkDerivation rec { done ''; - meta = { - description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)"; - homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm; - license = with stdenv.lib.licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; - maintainers = with stdenv.lib.maintainers; [ vinymeuh ]; - platforms = with stdenv.lib.platforms; linux ++ darwin; + meta = with stdenv.lib; { + description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; + homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; + license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; + maintainers = with maintainers; [ prusnak ]; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix index 90f9d5957bb..4944038fde4 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix @@ -1,24 +1,26 @@ -{ stdenv, lib, fetchurl, ncurses5, python27 }: - -with lib; +{ stdenv +, fetchurl +, ncurses5 +, python27 +}: stdenv.mkDerivation rec { pname = "gcc-arm-embedded"; version = "7-2018-q2-update"; subdir = "7-2018q2"; - src = - if stdenv.isLinux then - fetchurl { - url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2"; - sha256="0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv"; - } - else if stdenv.isDarwin then - fetchurl { - url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2"; - sha256="0nc7m0mpa39qyhfyydxkkyqm7spfc27xf6ygi2vd2aym4r9azi61"; - } - else throw "unsupported platform"; + suffix = { + x86_64-darwin = "mac"; + x86_64-linux = "linux"; + }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + src = fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2"; + sha256 = { + x86_64-darwin = "0nc7m0mpa39qyhfyydxkkyqm7spfc27xf6ygi2vd2aym4r9azi61"; + x86_64-linux = "0sgysp3hfpgrkcbfiwkp0a7ymqs02khfbrjabm52b5z61sgi05xv"; + }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + }; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; @@ -39,11 +41,11 @@ stdenv.mkDerivation rec { done ''; - meta = { - description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)"; - homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm; + meta = with stdenv.lib; { + description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; + homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; maintainers = with maintainers; [ prusnak ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix index b2815cc7184..510889dad62 100644 --- a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix +++ b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix @@ -1,24 +1,26 @@ -{ stdenv, lib, fetchurl, ncurses5, python27 }: - -with lib; +{ stdenv +, fetchurl +, ncurses5 +, python27 +}: stdenv.mkDerivation rec { pname = "gcc-arm-embedded"; version = "8-2019-q3-update"; subdir = "8-2019q3/RC1.1"; - src = - if stdenv.isLinux then - fetchurl { - url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-linux.tar.bz2"; - sha256="b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92"; - } - else if stdenv.isDarwin then - fetchurl { - url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-mac.tar.bz2"; - sha256="fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085"; - } - else throw "unsupported platform"; + suffix = { + x86_64-darwin = "mac"; + x86_64-linux = "linux"; + }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + src = fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2"; + sha256 = { + x86_64-darwin = "fc235ce853bf3bceba46eff4b95764c5935ca07fc4998762ef5e5b7d05f37085"; + x86_64-linux = "b50b02b0a16e5aad8620e9d7c31110ef285c1dde28980b1a9448b764d77d8f92"; + }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + }; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; @@ -39,11 +41,11 @@ stdenv.mkDerivation rec { done ''; - meta = { - description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4/M7, Cortex-R4/R5/R7/R8)"; - homepage = https://developer.arm.com/open-source/gnu-toolchain/gnu-rm; + meta = with stdenv.lib; { + description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; + homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; maintainers = with maintainers; [ prusnak ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/development/compilers/gcc-arm-embedded/9/default.nix b/pkgs/development/compilers/gcc-arm-embedded/9/default.nix new file mode 100644 index 00000000000..8ded47d6e37 --- /dev/null +++ b/pkgs/development/compilers/gcc-arm-embedded/9/default.nix @@ -0,0 +1,53 @@ +{ stdenv +, fetchurl +, ncurses5 +, python27 +}: + +stdenv.mkDerivation rec { + pname = "gcc-arm-embedded"; + version = "9-2019-q4-major"; + subdir = "9-2019q4/RC2.1"; + + suffix = { + aarch64-linux = "aarch64-linux"; + x86_64-darwin = "mac"; + x86_64-linux = "x86_64-linux"; + }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + src = fetchurl { + url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2"; + sha256 = { + aarch64-linux = "1f5b9309006737950b2218250e6bb392e2d68d4f1a764fe66be96e2a78888d83"; + x86_64-darwin = "1249f860d4155d9c3ba8f30c19e7a88c5047923cea17e0d08e633f12408f01f0"; + x86_64-linux = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"; + }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + }; + + phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + + installPhase = '' + mkdir -p $out + cp -r * $out + ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man + ''; + + dontPatchELF = true; + dontStrip = true; + + preFixup = '' + find $out -type f | while read f; do + patchelf $f > /dev/null 2>&1 || continue + patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true + patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true + done + ''; + + meta = with stdenv.lib; { + description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; + homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; + license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; + maintainers = with maintainers; [ prusnak ]; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + }; +} diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix deleted file mode 100644 index b86b35525a6..00000000000 --- a/pkgs/development/compilers/gcc-arm-embedded/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses -, dirName ? null, subdirName ? null }: -with stdenv.lib; -let - versionParts = splitString "-" version; # 4.7 2013q3 20130916 - majorVersion = elemAt versionParts 0; # 4.7 - yearQuarter = elemAt versionParts 1; # 2013q3 - underscoreVersion = replaceChars ["."] ["_"] version; # 4_7-2013q3-20130916 - yearQuarterParts = splitString "q" yearQuarter; # 2013 3 - year = elemAt yearQuarterParts 0; # 2013 - quarter = elemAt yearQuarterParts 1; # 3 - dirName_ = if dirName != null then dirName else majorVersion; - subdirName_ = if subdirName != null then subdirName - else "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update -in -stdenv.mkDerivation { - pname = "gcc-arm-embedded"; - inherit version; - - src = fetchurl { - url = "https://launchpad.net/gcc-arm-embedded/${dirName_}/${subdirName_}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2"; - sha256 = sha256; - }; - - nativeBuildInputs = [ bzip2 patchelf ]; - - dontPatchELF = true; - - phases = "unpackPhase patchPhase installPhase"; - - installPhase = '' - mkdir -pv $out - cp -r ./* $out - ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man - - for f in $(find $out); do - if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then - patchelf --set-interpreter ${getLib glibc}/lib/ld-linux.so.2 \ - --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" gcc ncurses ]} \ - "$f" || true - fi - done - ''; - - meta = with stdenv.lib; { - description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4, Cortex-R4/R5/R7)"; - homepage = https://launchpad.net/gcc-arm-embedded; - license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; - maintainers = [ maintainers.rasendubi ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/development/compilers/ghcjs-ng/default.nix b/pkgs/development/compilers/ghcjs-ng/default.nix index 747ea5cf77f..7b6fbc460a9 100644 --- a/pkgs/development/compilers/ghcjs-ng/default.nix +++ b/pkgs/development/compilers/ghcjs-ng/default.nix @@ -1,4 +1,5 @@ { stdenv +, pkgsHostHost , callPackage , fetchgit , ghcjsSrcJson ? null @@ -14,7 +15,6 @@ , pkgconfig , gcc , lib -, nodePackages , ghcjsDepOverrides ? (_:_:{}) , haskell }: @@ -46,7 +46,7 @@ let enableShared = true; - socket-io = nodePackages."socket.io"; + socket-io = pkgsHostHost.nodePackages."socket.io"; # Relics of the old GHCJS build system stage1Packages = []; diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index bf16e534f3e..2ae33138696 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -40,7 +40,7 @@ in # They must be propagated to the environment of any executable linking with the library , libraryFrameworkDepends ? [], executableFrameworkDepends ? [] , homepage ? "https://hackage.haskell.org/package/${pname}" -, platforms ? with stdenv.lib.platforms; unix ++ windows # GHC can cross-compile +, platforms ? with stdenv.lib.platforms; all # GHC can cross-compile , hydraPlatforms ? null , hyperlinkSource ? true , isExecutable ? false, isLibrary ? !isExecutable @@ -131,9 +131,13 @@ let ''; crossCabalFlags = [ - "--with-ghc=${ghc.targetPrefix}ghc" + "--with-ghc=${ghcCommand}" "--with-ghc-pkg=${ghc.targetPrefix}ghc-pkg" - "--with-gcc=${stdenv.cc.targetPrefix}cc" + # Pass the "wrong" C compiler rather than none at all so packages that just + # use the C preproccessor still work, see + # https://github.com/haskell/cabal/issues/6466 for details. + "--with-gcc=${(if stdenv.hasCC then stdenv else buildPackages.stdenv).cc.targetPrefix}cc" + ] ++ optionals stdenv.hasCC [ "--with-ld=${stdenv.cc.bintools.targetPrefix}ld" "--with-ar=${stdenv.cc.bintools.targetPrefix}ar" # use the one that comes with the cross compiler. @@ -156,7 +160,9 @@ let "--libsubdir=\\$abi/\\$libname" (optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}") (optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}") + ] ++ optionals stdenv.hasCC [ "--with-gcc=$CC" # Clang won't work without that extra information. + ] ++ [ "--package-db=$packageConfDir" (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}") (optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names") diff --git a/pkgs/development/haskell-modules/hoogle.nix b/pkgs/development/haskell-modules/hoogle.nix index 0bb930a8bb3..0f620d46ccc 100644 --- a/pkgs/development/haskell-modules/hoogle.nix +++ b/pkgs/development/haskell-modules/hoogle.nix @@ -23,7 +23,8 @@ # This will build mmorph and monadControl, and have the hoogle installation # refer to their documentation via symlink so they are not garbage collected. -{ lib, stdenv, hoogle, writeText, ghc +{ lib, stdenv, buildPackages +, hoogle, writeText, ghc , packages }: @@ -53,7 +54,7 @@ let (map (lib.getOutput "doc") packages); in -stdenv.mkDerivation { +buildPackages.stdenv.mkDerivation { name = "hoogle-local-0.1"; buildInputs = [ghc hoogle]; diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 49a5c38846a..3231c17e8d9 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -146,7 +146,7 @@ let substituteInPlace "$out"/lib/perl5/*/*/Config_heavy.pl \ --replace "${libcInc}" /no-such-path \ --replace "${ - if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path" + if stdenv.hasCC then stdenv.cc.cc else "/no-such-path" }" /no-such-path \ --replace "${stdenv.cc}" /no-such-path \ --replace "$man" /no-such-path diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix new file mode 100644 index 00000000000..e5770800199 --- /dev/null +++ b/pkgs/development/tools/analysis/codeql/default.nix @@ -0,0 +1,61 @@ +{ stdenv +, fetchzip +, zlib +, xorg +, freetype +, alsaLib +, jdk11 +, curl +, lttng-ust +, autoPatchelfHook +}: + +stdenv.mkDerivation rec { + pname = "codeql"; + version = "2.0.0"; + + dontConfigure = true; + dontBuild = true; + dontStrip = true; + + src = fetchzip { + url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip"; + sha256 = "1v6wzjdhfws77fr5r15s03f1ipzc1gh7sl8gvw1fb4pplpa2d08s"; + }; + + nativeBuildInputs = [ + zlib + xorg.libX11 + xorg.libXext + xorg.libXi + xorg.libXtst + xorg.libXrender + freetype + alsaLib + jdk11 + stdenv.cc.cc.lib + curl + lttng-ust + autoPatchelfHook + ]; + + installPhase = '' + # codeql directory should not be top-level, otherwise, + # it'll include /nix/store to resolve extractors. + mkdir -p $out/{codeql,bin} + cp -R * $out/codeql/ + + ln -sf $out/codeql/tools/linux64/lib64trace.so $out/codeql/tools/linux64/libtrace.so + + sed -i 's;"$CODEQL_DIST/tools/$CODEQL_PLATFORM/java/bin/java";"${jdk11}/bin/java";' $out/codeql/codeql + + ln -s $out/codeql/codeql $out/bin/ + ''; + + meta = with stdenv.lib; { + description = "Semantic code analysis engine"; + homepage = "https://semmle.com/codeql"; + maintainers = [ maintainers.dump_stack ]; + license = licenses.unfree; + }; +} |