diff --git a/doc/meta.xml b/doc/meta.xml index ad16e7683f58..ab6befd4381c 100644 --- a/doc/meta.xml +++ b/doc/meta.xml @@ -8,16 +8,16 @@ and so on. For instance, the GNU Hello package has a meta declaration like this: -meta = { +meta = with stdenv.lib; { description = "A program that produces a familiar, friendly greeting"; longDescription = '' GNU Hello is a program that prints "Hello, world!" when you run it. It is fully customizable. ''; homepage = http://www.gnu.org/software/hello/manual/; - license = stdenv.lib.licenses.gpl3Plus; - maintainers = [ stdenv.lib.maintainers.eelco ]; - platforms = stdenv.lib.platforms.all; + license = licenses.gpl3Plus; + maintainers = [ maintainers.eelco ]; + platforms = platforms.all; }; diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 0c3175823b07..f001ba6be8df 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -140,6 +140,11 @@ github = "roosemberth"; name = "Roosembert (Roosemberth) Palacios"; }; + Scriptkiddi = { + email = "nixos@scriptkiddi.de"; + github = "scriptkiddi"; + name = "Fritz Otlinghaus"; + }; SShrike = { email = "severen@shrike.me"; github = "severen"; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index cc7d86849824..bb97c707bf65 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -1,6 +1,14 @@ # This module defines the global list of uids and gids. We keep a # central list to prevent id collisions. +# IMPORTANT! +# We only add static uids and gids for services where it is not feasible +# to change uids/gids on service start, in example a service with a lot of +# files. Please also check if the service is applicable for systemd's +# DynamicUser option and does not need a uid/gid allocation at all. +# Systemd can also change ownership of service directories using the +# RuntimeDirectory/StateDirectory options. + { config, pkgs, lib, ... }: { diff --git a/nixos/modules/services/audio/slimserver.nix b/nixos/modules/services/audio/slimserver.nix index 7d661dd60408..640403d2c97d 100644 --- a/nixos/modules/services/audio/slimserver.nix +++ b/nixos/modules/services/audio/slimserver.nix @@ -51,7 +51,8 @@ in { serviceConfig = { User = "slimserver"; PermissionsStartOnly = true; - ExecStart = "${cfg.package}/slimserver.pl --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache"; + # Issue 40589: Disable broken image/video support (audio still works!) + ExecStart = "${cfg.package}/slimserver.pl --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache --noimage --novideo"; }; }; diff --git a/nixos/modules/services/desktops/flatpak.nix b/nixos/modules/services/desktops/flatpak.nix index 024dc65629a8..cfca1893bd82 100644 --- a/nixos/modules/services/desktops/flatpak.nix +++ b/nixos/modules/services/desktops/flatpak.nix @@ -40,12 +40,12 @@ in { systemd.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals; - environment.variables = { - PATH = [ - "$HOME/.local/share/flatpak/exports/bin" - "/var/lib/flatpak/exports/bin" - ]; + environment.profiles = [ + "$HOME/.local/share/flatpak/exports" + "/var/lib/flatpak/exports" + ]; + environment.variables = { XDG_DESKTOP_PORTAL_PATH = map (p: "${p}/share/xdg-desktop-portal/portals") cfg.extraPortals; }; }; diff --git a/nixos/modules/tasks/scsi-link-power-management.nix b/nixos/modules/tasks/scsi-link-power-management.nix index 484c0a0186d7..69599bda6d32 100644 --- a/nixos/modules/tasks/scsi-link-power-management.nix +++ b/nixos/modules/tasks/scsi-link-power-management.nix @@ -2,7 +2,20 @@ with lib; -let cfg = config.powerManagement.scsiLinkPolicy; in +let + + cfg = config.powerManagement.scsiLinkPolicy; + + kernel = config.boot.kernelPackages.kernel; + + allowedValues = [ + "min_power" + "max_performance" + "medium_power" + "med_power_with_dipm" + ]; + +in { ###### interface @@ -11,10 +24,13 @@ let cfg = config.powerManagement.scsiLinkPolicy; in powerManagement.scsiLinkPolicy = mkOption { default = null; - type = types.nullOr (types.enum [ "min_power" "max_performance" "medium_power" ]); + type = types.nullOr (types.enum allowedValues); description = '' SCSI link power management policy. The kernel default is "max_performance". + + "med_power_with_dipm" is supported by kernel versions + 4.15 and newer. ''; }; @@ -24,6 +40,12 @@ let cfg = config.powerManagement.scsiLinkPolicy; in ###### implementation config = mkIf (cfg != null) { + + assertions = singleton { + assertion = (cfg == "med_power_with_dipm") -> versionAtLeast kernel.version "4.15"; + message = "med_power_with_dipm is not supported for kernels older than 4.15"; + }; + services.udev.extraRules = '' SUBSYSTEM=="scsi_host", ACTION=="add", KERNEL=="host*", ATTR{link_power_management_policy}="${cfg}" ''; diff --git a/pkgs/applications/audio/qsynth/default.nix b/pkgs/applications/audio/qsynth/default.nix index 71f41f87009e..f98547ed46f2 100644 --- a/pkgs/applications/audio/qsynth/default.nix +++ b/pkgs/applications/audio/qsynth/default.nix @@ -2,15 +2,15 @@ stdenv.mkDerivation rec { name = "qsynth-${version}"; - version = "0.5.0"; + version = "0.5.1"; src = fetchurl { url = "mirror://sourceforge/qsynth/${name}.tar.gz"; - sha256 = "1sr6vrz8z9r99j9xcix86lgcqldragb2ajmq1bnhr58d99sda584"; + sha256 = "0kpk1rnhbifbvm4xvw8i0d4ksk78pf505qvg08k89kqkg32494ap"; }; # cmake is looking for qsynth.desktop.in and fails if it doesn't find it - # seems like a bug and can presumable go in the next version after 0.5.0 + # seems like a bug and can presumable go in the next version after 0.5.1 postPatch = '' mv src/qsynth.desktop src/qsynth.desktop.in ''; diff --git a/pkgs/applications/audio/vimpc/default.nix b/pkgs/applications/audio/vimpc/default.nix index 37ccbb1425ff..96a6081c4d8f 100644 --- a/pkgs/applications/audio/vimpc/default.nix +++ b/pkgs/applications/audio/vimpc/default.nix @@ -8,9 +8,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "boysetsfrog"; repo = "vimpc"; - # Using commit-hash as there is not tag available - # https://github.com/boysetsfrog/vimpc/issues/70 - rev = "63556da6b94ab27d7e3f542399f5e0975a5812ba"; + rev = "v${version}"; sha256 = "1495a702df4nja8mlxq98mkbic2zv88sjiinimf9qddrfb38jxk6"; }; diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix index b0b6111b334a..60391eee6927 100644 --- a/pkgs/applications/misc/1password/default.nix +++ b/pkgs/applications/misc/1password/default.nix @@ -2,33 +2,46 @@ stdenv.mkDerivation rec { name = "1password-${version}"; - version = "0.4"; - src = if stdenv.system == "i686-linux" then fetchzip { - url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip"; - sha256 = "0mhlqvd3az50gnfil0xlq10855v3bg7yb05j6ndg4h2c551jrq41"; - stripRoot = false; - } else fetchzip { - url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip"; - sha256 = "15cv8xi4slid9jicdmc5xx2r9ag63wcx1mn7hcgzxbxbhyrvwhyf"; - stripRoot = false; - }; + version = "0.4.1"; + src = + if stdenv.system == "i686-linux" then + fetchzip { + url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_386_v${version}.zip"; + sha256 = "0mv2m6rm6bdpca8vhyx213bg4kh06jl2sx8q7mnrp22c3f0yzh7f"; + stripRoot = false; + } + else if stdenv.system == "x86_64-linux" then + fetchzip { + url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_amd64_v${version}.zip"; + sha256 = "016h5jcy6jic8j3mvlnpcig9jxs22vj71gh6rrap2q950bzi6fi1"; + stripRoot = false; + } + else if stdenv.system == "x86_64-darwin" then + fetchzip { + url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_darwin_amd64_v${version}.zip"; + sha256 = "1l0bi0f6gd4q19wn3v409gj64wp51mr0xpb09da1fl33rl5fpszb"; + stripRoot = false; + } + else throw "Architecture not supported"; nativeBuildInputs = [ makeWrapper ]; installPhase = '' - mkdir -p $out/bin - install -D op $out/share/1password/op - - # https://github.com/NixOS/patchelf/issues/66#issuecomment-267743051 - makeWrapper $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/op \ - --argv0 op \ - --add-flags $out/share/1password/op + install -D op $out/bin/op + ''; + postFixup = stdenv.lib.optionalString stdenv.isLinux '' + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + $out/bin/op ''; meta = with stdenv.lib; { description = "1Password command-line tool"; - homepage = "https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/"; + homepage = [ + "https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/" + "https://app-updates.agilebits.com/product_history/CLI" + ]; maintainers = with maintainers; [ joelburget ]; license = licenses.unfree; - platforms = [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix index 8a31c591b29b..c94f78317f4e 100644 --- a/pkgs/applications/misc/hello/default.nix +++ b/pkgs/applications/misc/hello/default.nix @@ -10,15 +10,15 @@ stdenv.mkDerivation rec { doCheck = true; - meta = { + meta = with stdenv.lib; { description = "A program that produces a familiar, friendly greeting"; longDescription = '' GNU Hello is a program that prints "Hello, world!" when you run it. It is fully customizable. ''; homepage = http://www.gnu.org/software/hello/manual/; - license = stdenv.lib.licenses.gpl3Plus; - maintainers = [ stdenv.lib.maintainers.eelco ]; - platforms = stdenv.lib.platforms.all; + license = licenses.gpl3Plus; + maintainers = [ maintainers.eelco ]; + platforms = platforms.all; }; } diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix index dc31da671e95..dcc8300550f4 100644 --- a/pkgs/applications/misc/redshift/default.nix +++ b/pkgs/applications/misc/redshift/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { name = "redshift-${version}"; - version = "1.11"; + version = "1.12"; src = fetchFromGitHub { owner = "jonls"; repo = "redshift"; rev = "v${version}"; - sha256 = "0jfi4wqklqw2rm0r2xwalyzir88zkdvqj0z5id0l5v20vsrfiiyj"; + sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6"; }; patches = [ diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix index ea79e29ff020..f3dc92605f37 100644 --- a/pkgs/applications/misc/udiskie/default.nix +++ b/pkgs/applications/misc/udiskie/default.nix @@ -5,18 +5,17 @@ , docopt , pygobject3 , pyyaml -, ... }: buildPythonApplication rec { name = "udiskie-${version}"; - version = "1.7.3"; + version = "1.7.4"; src = fetchFromGitHub { owner = "coldfix"; repo = "udiskie"; rev = version; - sha256 = "1yv1faq81n3vspf3jprcs5v21l2fchy3m3pc7lk8jb0xqlnh60x4"; + sha256 = "0r3m8y6ppkl8p1lhr89sfk9v2la1zn0rbmr6hy860j7b22yvnkrn"; }; buildInputs = [ diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix new file mode 100644 index 000000000000..b1dcfb809b5d --- /dev/null +++ b/pkgs/applications/networking/cluster/helmfile/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoPackage, fetchFromGitHub, ... }: + +let version = "0.16.0"; in + +buildGoPackage { + name = "helmfile-${version}"; + + src = fetchFromGitHub { + owner = "roboll"; + repo = "helmfile"; + rev = "v${version}"; + sha256 = "12gxlan89h0r83aaacshh58nd1pi26gx5gkna0ksll9wsfvraj4d"; + }; + + goPackagePath = "github.com/roboll/helmfile"; + + meta = { + description = "Deploy Kubernetes Helm charts"; + homepage = https://github.com/roboll/helmfile; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pneumaticat ]; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index 5879c0e83974..38b7e485259a 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -104,8 +104,8 @@ in rec { terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues; terraform_0_11 = pluggable (generic { - version = "0.11.6"; - sha256 = "17kd3ln1i40qb8fll5918rvgackzf1ibmr7li1p9vky4ki3iwr0l"; + version = "0.11.7"; + sha256 = "0q5gl8yn1f8fas1v68lz081k88gbmlk7f2xqlwqmh01qpqjxd42q"; patches = [ ./provider-path.patch ]; passthru = { inherit plugins; }; }); diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 6801edb9767c..09ead9b3de65 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { }; meta = with stdenv.lib; { - description = "All-in-one voice and text chat for gamers that’s free, secure, and works on both your desktop and phone"; + description = "All-in-one cross-platform voice and text chat for gamers"; homepage = https://discordapp.com/; downloadPage = "https://github.com/crmarsh/discord-linux-bugs"; license = licenses.unfree; diff --git a/pkgs/applications/science/math/form/default.nix b/pkgs/applications/science/math/form/default.nix new file mode 100644 index 000000000000..88f2367e3340 --- /dev/null +++ b/pkgs/applications/science/math/form/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, gmp, zlib }: + +stdenv.mkDerivation rec { + version = "4.2.0"; + name = "form-${version}"; + + # This tarball is released by author, it is not downloaded from tag, so can't use fetchFromGitHub + src = fetchurl { + url = "https://github.com/vermaseren/form/releases/download/v4.2.0/form-4.2.0.tar.gz"; + sha256 = "19528aphn4hvm151lyyhd7wz0bp2s3rla8jv6s7d8jwfp5ljzysm"; + }; + + buildInputs = [ gmp zlib ]; + + meta = with stdenv.lib; { + description = "The FORM project for symbolic manipulation of very big expressions"; + homepage = https://www.nikhef.nl/~form/; + license = licenses.gpl3; + maintainers = [ maintainers.veprbl ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index d1f6f8b6ad1b..b456d8ee9a66 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "simplescreenrecorder-${version}"; - version = "0.3.10"; + version = "0.3.11"; src = fetchurl { url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz"; - sha256 = "02rl9yyx3hlz9fqvgzv7ipmvx2qahj7ws5wx2m7zs3lssq3qag3g"; + sha256 = "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal"; }; cmakeFlags = [ "-DWITH_QT5=TRUE" ]; diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix index 6522b12b1310..b391b6eb8455 100644 --- a/pkgs/development/compilers/dmd/default.nix +++ b/pkgs/development/compilers/dmd/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchFromGitHub, overrideCC, gcc5 , makeWrapper, unzip, which , curl, tzdata, gdb, darwin -, callPackage +, callPackage, targetPackages , bootstrapVersion ? false -, version ? "2.079.0" -, dmdSha256 ? "1k6cky71pqnss6h6391p1ich2mjs598f5fda018aygnxg87qgh4y" -, druntimeSha256 ? "183pqygj5w4105czs5kswyjn9mrcybx3wmkynz3in0m3ylzzjmvl" -, phobosSha256 ? "0y9i86ggmf41ww2xk2bsrlsv9b1blj5dbyan6q6r6xp8dmgrd79w" +, version ? "2.079.1" +, dmdSha256 ? "0mlk095aw94d940qkymfp85daggiz3f0xv598nlc7acgp6408kyj" +, druntimeSha256 ? "18r8gwvb54ar80j5155wx0qbqq4w56hqmbf6wap20xwijg2rw90g" +, phobosSha256 ? "1x5v1ln51nr8x2vyki864160bakdyq0acmvbfv7jcipaj2w3m9bb" }: let @@ -143,6 +143,9 @@ let + stdenv.lib.optionalString (stdenv.hostPlatform.isLinux && bootstrapVersion) '' substituteInPlace ${dmdPath}/root/port.c \ --replace "#include " "#include " + + substituteInPlace ${dmdPath}/root/port.c \ + --replace "#include " "#include " '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' @@ -198,6 +201,8 @@ let extension = if stdenv.hostPlatform.isDarwin then "a" else "{a,so}"; + dontStrip = true; + installPhase = '' cd dmd mkdir $out @@ -222,13 +227,13 @@ let cp -r etc $out/include/d2 wrapProgram $out/bin/dmd \ - --prefix PATH ":" "${stdenv.cc}/bin" \ - --set-default CC "$CC" + --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \ + --set-default CC "${targetPackages.stdenv.cc}/bin/cc" cd $out/bin tee dmd.conf << EOF [Environment] - DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!stdenv.cc.isClang) "-L--export-dynamic"} -fPIC + DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"} -fPIC EOF ''; diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix index 6b1c909cf484..4c227f561155 100644 --- a/pkgs/development/compilers/ghc/7.10.3.nix +++ b/pkgs/development/compilers/ghc/7.10.3.nix @@ -24,10 +24,6 @@ , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. enableShared ? true - -, # What flavour to build. An empty string indicates no - # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" }: assert !enableIntegerSimple -> gmp != null; @@ -46,14 +42,11 @@ let }; buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' @@ -75,6 +68,7 @@ let targetCC = builtins.head toolsForTarget; in + stdenv.mkDerivation rec { version = "7.10.3"; name = "${targetPrefix}ghc-${version}"; @@ -93,8 +87,6 @@ stdenv.mkDerivation rec { ./relocation.patch ]; - postPatch = "patchShebangs ."; - # GHC is a bit confused on its cross terminology. preConfigure = '' for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do @@ -111,7 +103,6 @@ stdenv.mkDerivation rec { export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" - echo -n "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' @@ -142,8 +133,7 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ - perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 - ghc hscolour + ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ]; # For building runtime libs diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix index 4e9e5a30b0d5..40ce44ac48b0 100644 --- a/pkgs/development/compilers/ghc/8.0.2.nix +++ b/pkgs/development/compilers/ghc/8.0.2.nix @@ -23,10 +23,6 @@ , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. enableShared ? true - -, # What flavour to build. An empty string indicates no - # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" }: assert !enableIntegerSimple -> gmp != null; @@ -40,14 +36,11 @@ let "${targetPlatform.config}-"; buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' @@ -94,8 +87,6 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch ++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch; - postPatch = "patchShebangs ."; - # GHC is a bit confused on its cross terminology. preConfigure = '' for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do @@ -112,7 +103,6 @@ stdenv.mkDerivation rec { export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib" export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf" export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" - echo -n "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' @@ -142,10 +132,7 @@ stdenv.mkDerivation rec { # Make sure we never relax`$PATH` and hooks support for compatability. strictDeps = true; - nativeBuildInputs = [ - perl sphinx - ghc hscolour - ]; + nativeBuildInputs = [ ghc perl hscolour sphinx ]; # For building runtime libs depsBuildTarget = toolsForTarget; @@ -165,7 +152,7 @@ stdenv.mkDerivation rec { # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't # treat that as a unary `{x,y,z,..}` repetition. postInstall = '' - paxmark m $out/lib/${name}/bin/* + paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"} # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix index 0d4e5d8ee670..b1bf249149da 100644 --- a/pkgs/development/compilers/ghc/8.2.2.nix +++ b/pkgs/development/compilers/ghc/8.2.2.nix @@ -23,11 +23,10 @@ , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. - enableShared ? true - -, # What flavour to build. An empty string indicates no - # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" + enableShared ? + !(targetPlatform.isDarwin + # On iOS, dynamic linking is not supported + && (targetPlatform.isAarch64 || targetPlatform.isAarch32)) , # Whether to backport https://phabricator.haskell.org/D4388 for # deterministic profiling symbol names, at the cost of a slightly # non-standard GHC API @@ -45,14 +44,11 @@ let "${targetPlatform.config}-"; buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO @@ -155,10 +151,7 @@ stdenv.mkDerivation rec { # Make sure we never relax`$PATH` and hooks support for compatability. strictDeps = true; - nativeBuildInputs = [ - autoconf autoreconfHook automake perl python3 sphinx - ghc alex happy hscolour - ]; + nativeBuildInputs = [ alex autoconf autoreconfHook automake ghc happy hscolour perl python3 sphinx ]; # For building runtime libs depsBuildTarget = toolsForTarget; @@ -181,7 +174,7 @@ stdenv.mkDerivation rec { # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't # treat that as a unary `{x,y,z,..}` repetition. postInstall = '' - paxmark m $out/lib/${name}/bin/* + paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"} # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc diff --git a/pkgs/development/compilers/ghc/8.4.2.nix b/pkgs/development/compilers/ghc/8.4.2.nix index 1733c9b56683..145b1a659092 100644 --- a/pkgs/development/compilers/ghc/8.4.2.nix +++ b/pkgs/development/compilers/ghc/8.4.2.nix @@ -3,7 +3,7 @@ # build-tools , bootPkgs, alex, happy -, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4 +, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3 , libffi, libiconv ? null, ncurses @@ -15,21 +15,16 @@ , # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. - enableIntegerSimple ? false, gmp ? null + enableIntegerSimple ? false, gmp ? null, m4 , # If enabled, use -fPIC when compiling static libs. enableRelocatedStaticLibs ? targetPlatform != hostPlatform , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. - enableShared ? !targetPlatform.isWindows && !targetPlatform.useAndroidPrebuilt + enableShared ? !targetPlatform.useAndroidPrebuilt -, # Whetherto build terminfo. - enableTerminfo ? !targetPlatform.isWindows - -, # What flavour to build. An empty string indicates no - # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" +, version ? "8.4.2" }: assert !enableIntegerSimple -> gmp != null; @@ -43,14 +38,11 @@ let "${targetPlatform.config}-"; buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO @@ -63,9 +55,9 @@ let ''; # Splicer will pull out correct variations - libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ] + libDeps = platform: [ ncurses ] ++ stdenv.lib.optional (!enableIntegerSimple) gmp - ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; + ++ stdenv.lib.optional (platform.libc != "glibc") libiconv; toolsForTarget = if hostPlatform == buildPlatform then @@ -77,7 +69,7 @@ let in stdenv.mkDerivation rec { - version = "8.4.2"; + inherit version; name = "${targetPrefix}ghc-${version}"; src = fetchurl { @@ -134,7 +126,7 @@ stdenv.mkDerivation rec { "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [ "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib" - ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ + ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ "--enable-bootstrap-with-devel-snapshot" @@ -150,10 +142,7 @@ stdenv.mkDerivation rec { # Make sure we never relax`$PATH` and hooks support for compatability. strictDeps = true; - nativeBuildInputs = [ - perl autoconf automake m4 python3 - ghc alex happy - ]; + nativeBuildInputs = [ ghc perl autoconf automake m4 happy alex python3 ]; # For building runtime libs depsBuildTarget = toolsForTarget; @@ -175,7 +164,7 @@ stdenv.mkDerivation rec { # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't # treat that as a unary `{x,y,z,..}` repetition. postInstall = '' - paxmark m $out/lib/${name}/bin/* + paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"} # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index f37114061daa..c0f1091b04d7 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -3,7 +3,7 @@ # build-tools , bootPkgs, alex, happy -, autoconf, automake, coreutils, fetchgit, perl, python3, m4 +, autoconf, automake, coreutils, fetchgit, perl, python3 , libffi, libiconv ? null, ncurses @@ -22,15 +22,9 @@ , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. - enableShared ? !targetPlatform.isWindows && !targetPlatform.useAndroidPrebuilt - -, # Whetherto build terminfo. - enableTerminfo ? !targetPlatform.isWindows + enableShared ? !targetPlatform.useAndroidPrebuilt , version ? "8.5.20180118" -, # What flavour to build. An empty string indicates no - # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" }: assert !enableIntegerSimple -> gmp != null; @@ -44,14 +38,11 @@ let "${targetPlatform.config}-"; buildMK = '' - BuildFlavour = ${ghcFlavour} - ifneq \"\$(BuildFlavour)\" \"\" - include mk/flavours/\$(BuildFlavour).mk - endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO @@ -64,9 +55,9 @@ let ''; # Splicer will pull out correct variations - libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ] + libDeps = platform: [ ncurses ] ++ stdenv.lib.optional (!enableIntegerSimple) gmp - ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; + ++ stdenv.lib.optional (platform.libc != "glibc") libiconv; toolsForTarget = if hostPlatform == buildPlatform then @@ -132,7 +123,7 @@ stdenv.mkDerivation rec { "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [ "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib" - ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ + ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ "--enable-bootstrap-with-devel-snapshot" @@ -148,10 +139,7 @@ stdenv.mkDerivation rec { # Make sure we never relax`$PATH` and hooks support for compatability. strictDeps = true; - nativeBuildInputs = [ - perl autoconf automake m4 python3 - ghc alex happy - ]; + nativeBuildInputs = [ ghc perl autoconf automake happy alex python3 ]; # For building runtime libs depsBuildTarget = toolsForTarget; @@ -173,7 +161,7 @@ stdenv.mkDerivation rec { # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't # treat that as a unary `{x,y,z,..}` repetition. postInstall = '' - paxmark m $out/lib/${name}/bin/* + paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"} # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix index 62fa578cef68..0fe9c8d3765f 100644 --- a/pkgs/development/compilers/ispc/default.nix +++ b/pkgs/development/compilers/ispc/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex, llvmPackages, clangWrapSelf, +{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex, llvmPackages, testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is not supported by all Hydra agents }: diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix index 1fd839180c56..48301a8f2874 100644 --- a/pkgs/development/compilers/ldc/default.nix +++ b/pkgs/development/compilers/ldc/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchgit, fetchurl, cmake, llvm, curl, tzdata , python, libconfig, lit, gdb, unzip, darwin, bash -, callPackage +, callPackage, makeWrapper, targetPackages , bootstrapVersion ? false , version ? "1.8.0" , ldcSha256 ? "0zswjlibj8zcdj06nn09jjhbd99chsa5f4kps8xifzgrpgsa28g4" @@ -124,7 +124,7 @@ let --replace "tzName == \"+VERSION\"" "baseName(tzName) == \"leapseconds\" || tzName == \"+VERSION\"" ''; - nativeBuildInputs = [ cmake llvm bootstrapLdc python lit gdb unzip ] + nativeBuildInputs = [ cmake makeWrapper llvm bootstrapLdc python lit gdb unzip ] ++ stdenv.lib.optional (bootstrapVersion) [ libconfig @@ -135,7 +135,7 @@ let ]); - buildInputs = [ curl tzdata stdenv.cc ]; + buildInputs = [ curl tzdata ]; preConfigure = '' cmakeFlagsArray=("-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc" @@ -158,14 +158,20 @@ let doCheck = true; checkPhase = '' - # Build and run LDC D unittests. - ctest --output-on-failure -R "ldc2-unittest" - # Run LIT testsuite. - ctest -V -R "lit-tests" - # Run DMD testsuite. - DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite" + # Build and run LDC D unittests. + ctest --output-on-failure -R "ldc2-unittest" + # Run LIT testsuite. + ctest -V -R "lit-tests" + # Run DMD testsuite. + DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite" ''; + postInstall = '' + wrapProgram $out/bin/ldc2 \ + --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \ + --set-default CC "${targetPackages.stdenv.cc}/bin/cc" + ''; + meta = with stdenv.lib; { description = "The LLVM-based D compiler"; homepage = https://github.com/ldc-developers/ldc; diff --git a/pkgs/development/compilers/llvm/3.7/default.nix b/pkgs/development/compilers/llvm/3.7/default.nix index 5cac04c044de..8f73645afc06 100644 --- a/pkgs/development/compilers/llvm/3.7/default.nix +++ b/pkgs/development/compilers/llvm/3.7/default.nix @@ -1,5 +1,7 @@ { newScope, stdenv, libstdcxxHook, cmake, libxml2, python2, isl, fetchurl -, overrideCC, wrapCC, ccWrapperFun, darwin +, overrideCC, wrapCCWith, darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross }: let @@ -27,18 +29,14 @@ let clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; - libstdcxxClang = ccWrapperFun { + libstdcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; extraPackages = [ libstdcxxHook ]; }; - libcxxClang = ccWrapperFun { + libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -48,7 +46,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lldb = callPackage ./lldb.nix {}; diff --git a/pkgs/development/compilers/llvm/3.8/default.nix b/pkgs/development/compilers/llvm/3.8/default.nix index 9e37f93dbddc..a5f3b7759517 100644 --- a/pkgs/development/compilers/llvm/3.8/default.nix +++ b/pkgs/development/compilers/llvm/3.8/default.nix @@ -1,4 +1,8 @@ -{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun, darwin }: +{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross +}: + let callPackage = newScope (self // { inherit stdenv isl version fetch; }); @@ -26,18 +30,14 @@ let clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; - libstdcxxClang = ccWrapperFun { + libstdcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; extraPackages = [ libstdcxxHook ]; }; - libcxxClang = ccWrapperFun { + libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -47,7 +47,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lldb = callPackage ./lldb.nix {}; diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix index a675bcceb1c9..4b69996473d4 100644 --- a/pkgs/development/compilers/llvm/3.9/default.nix +++ b/pkgs/development/compilers/llvm/3.9/default.nix @@ -1,4 +1,8 @@ -{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun, darwin }: +{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross +}: + let callPackage = newScope (self // { inherit stdenv isl version fetch; }); @@ -26,18 +30,14 @@ let clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; - libstdcxxClang = ccWrapperFun { + libstdcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; extraPackages = [ libstdcxxHook ]; }; - libcxxClang = ccWrapperFun { + libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -47,7 +47,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lldb = callPackage ./lldb.nix {}; diff --git a/pkgs/development/compilers/llvm/4/default.nix b/pkgs/development/compilers/llvm/4/default.nix index 562f9e3457dd..594397bdbbc0 100644 --- a/pkgs/development/compilers/llvm/4/default.nix +++ b/pkgs/development/compilers/llvm/4/default.nix @@ -1,6 +1,8 @@ { lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook -, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun +, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith , darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross }: let @@ -40,18 +42,14 @@ let clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; - libstdcxxClang = ccWrapperFun { + libstdcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; extraPackages = [ libstdcxxHook ]; }; - libcxxClang = ccWrapperFun { + libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -61,7 +59,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lld = callPackage ./lld.nix {}; diff --git a/pkgs/development/compilers/llvm/5/default.nix b/pkgs/development/compilers/llvm/5/default.nix index 67fceb317499..a27237f104cc 100644 --- a/pkgs/development/compilers/llvm/5/default.nix +++ b/pkgs/development/compilers/llvm/5/default.nix @@ -1,6 +1,8 @@ { lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook -, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun +, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith , darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross }: let @@ -40,18 +42,14 @@ let clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; - libstdcxxClang = ccWrapperFun { + libstdcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; extraPackages = [ libstdcxxHook ]; }; - libcxxClang = ccWrapperFun { + libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -61,7 +59,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lld = callPackage ./lld.nix {}; diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix index cfa9e9e15fcf..be26a38e32ec 100644 --- a/pkgs/development/compilers/llvm/6/default.nix +++ b/pkgs/development/compilers/llvm/6/default.nix @@ -1,6 +1,8 @@ { lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook -, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun +, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith , darwin +, buildLlvmPackages # ourself, but from the previous stage, for cross +, targetLlvmPackages # ourself, but from the next stage, for cross }: let @@ -40,18 +42,14 @@ let clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang; - libstdcxxClang = ccWrapperFun { + libstdcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; extraPackages = [ libstdcxxHook ]; }; - libcxxClang = ccWrapperFun { + libcxxClang = wrapCCWith { cc = self.clang-unwrapped; - /* FIXME is this right? */ - inherit (stdenv.cc) bintools libc nativeTools nativeLibc; - extraPackages = [ self.libcxx self.libcxxabi ]; + extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ]; }; stdenv = stdenv.override (drv: { @@ -61,7 +59,7 @@ let libcxxStdenv = stdenv.override (drv: { allowedRequisites = null; - cc = self.libcxxClang; + cc = buildLlvmPackages.libcxxClang; }); lld = callPackage ./lld.nix {}; diff --git a/pkgs/development/coq-modules/iris/default.nix b/pkgs/development/coq-modules/iris/default.nix new file mode 100644 index 000000000000..134ea45493df --- /dev/null +++ b/pkgs/development/coq-modules/iris/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchzip, coq, ssreflect, stdpp }: + +stdenv.mkDerivation rec { + version = "3.1.0"; + name = "coq${coq.coq-version}-iris-${version}"; + src = fetchzip { + url = "https://gitlab.mpi-sws.org/FP/iris-coq/-/archive/iris-${version}/iris-coq-iris-${version}.tar.gz"; + sha256 = "0ipdb061jj205avxifshxkpyxxqykigmlxk2n5nvxj62gs3rl5j1"; + }; + + buildInputs = [ coq ]; + propagatedBuildInputs = [ ssreflect stdpp ]; + + enableParallelBuilding = true; + + installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ]; + + meta = { + homepage = "https://gitlab.mpi-sws.org/FP/iris-coq"; + description = "The Coq development of the Iris Project"; + inherit (coq.meta) platforms; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + }; + + passthru = { + compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; + }; + +} diff --git a/pkgs/development/coq-modules/tlc/default.nix b/pkgs/development/coq-modules/tlc/default.nix index 4748a0dd2385..5a236f59129d 100644 --- a/pkgs/development/coq-modules/tlc/default.nix +++ b/pkgs/development/coq-modules/tlc/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, coq }: stdenv.mkDerivation rec { - version = "20171206"; + version = "20180316"; name = "coq${coq.coq-version}-tlc-${version}"; src = fetchurl { url = "http://tlc.gforge.inria.fr/releases/tlc-${version}.tar.gz"; - sha256 = "1wc44qb5zmarafp56gdrbka8gllipqna9cj0a6d99jzb361xg4mf"; + sha256 = "0y8h0x9dfn9dm60j1jkxr9i8lbfqd3ff626wrc9v49qxhi50szqq"; }; buildInputs = [ coq ]; diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix index 83d97c64b48b..0adaa5f274c3 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix @@ -448,4 +448,6 @@ self: super: { sha256 = "1bpsqq80h6nxm04wddgcgyzn0fjfsmhccmqb211jqswv5209znx8"; }); + lambdabot-core = appendPatch super.lambdabot-core ./patches/lambdabot-core-ghc-8.4.x-fix.patch; + } diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 2f1eb1ad97a8..469b249010fa 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -128,7 +128,7 @@ self: super: builtins.intersectAttrs super { # Prevents needing to add security_tool as a build tool to all of x509-system's # dependencies. - x509-system = if pkgs.stdenv.targetPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc + x509-system = if pkgs.stdenv.isDarwin && !pkgs.stdenv.cc.nativeLibc then let inherit (pkgs.darwin) security_tool; in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: { postPatch = (drv.postPatch or "") + '' diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 5054106959f7..32e7734dd0bd 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -19,7 +19,6 @@ in , buildTarget ? "" , buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? [] , configureFlags ? [] -, buildFlags ? [] , description ? "" , doCheck ? !isCross && stdenv.lib.versionOlder "7.4" ghc.version , doBenchmark ? false @@ -32,7 +31,7 @@ in , enableSharedExecutables ? false , enableSharedLibraries ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version) , enableDeadCodeElimination ? (!stdenv.isDarwin) # TODO: use -dead_strip for darwin -, enableStaticLibraries ? !hostPlatform.isWindows +, enableStaticLibraries ? true , enableHsc2hsViaAsm ? hostPlatform.isWindows && stdenv.lib.versionAtLeast ghc.version "8.4" , extraLibraries ? [], librarySystemDepends ? [], executableSystemDepends ? [] , homepage ? "http://hackage.haskell.org/package/${pname}" @@ -69,10 +68,6 @@ in assert editedCabalFile != null -> revision != null; -# --enable-static does not work on windows. This is a bug in GHC. -# --enable-static will pass -staticlib to ghc, which only works for mach-o and elf. -assert hostPlatform.isWindows -> enableStaticLibraries == false; - let inherit (stdenv.lib) optional optionals optionalString versionOlder versionAtLeast @@ -131,8 +126,6 @@ let crossCabalFlagsString = stdenv.lib.optionalString isCross (" " + stdenv.lib.concatStringsSep " " crossCabalFlags); - buildFlagsString = optionalString (buildFlags != []) (" " + concatStringsSep " " buildFlags); - defaultConfigureFlags = [ "--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid" (optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}") @@ -176,22 +169,22 @@ let optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends; nativeBuildInputs = [ ghc nativeGhc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++ - setupHaskellDepends ++ buildTools ++ libraryToolDepends ++ executableToolDepends; propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends; otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ allPkgconfigDepends ++ +======= + otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++ + optionals (allPkgconfigDepends != []) allPkgconfigDepends ++ +>>>>>>> upstream/master optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++ optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends); - allBuildInputs = propagatedBuildInputs ++ otherBuildInputs; haskellBuildInputs = stdenv.lib.filter isHaskellPkg allBuildInputs; systemBuildInputs = stdenv.lib.filter isSystemPkg allBuildInputs; - # When not cross compiling, also include Setup.hs dependencies. - ghcEnv = ghc.withPackages (p: - haskellBuildInputs ++ stdenv.lib.optional (!isCross) setupHaskellDepends); + ghcEnv = ghc.withPackages (p: haskellBuildInputs); setupCommand = "./Setup"; @@ -201,22 +194,6 @@ let nativeGhcCommand = "${nativeGhc.targetPrefix}ghc"; - buildPkgDb = ghcName: '' - if [ -d "$p/lib/${ghcName}/package.conf.d" ]; then - cp -f "$p/lib/${ghcName}/package.conf.d/"*.conf $packageConfDir/ - continue - fi - if [ -d "$p/include" ]; then - configureFlags+=" --extra-include-dirs=$p/include" - fi - if [ -d "$p/lib" ]; then - configureFlags+=" --extra-lib-dirs=$p/lib" - fi - if [[ -d "$p/Library/Frameworks" ]]; then - configureFlags+=" --extra-framework-dirs=$p/Library/Frameworks" - fi - ''; - in assert allPkgconfigDepends != [] -> pkgconfig != null; @@ -257,37 +234,30 @@ stdenv.mkDerivation ({ echo "Build with ${ghc}." ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"} - '' + (optionalString (setupHaskellDepends != []) '' - setupPackageConfDir="$TMPDIR/setup-package.conf.d" - mkdir -p $setupPackageConfDir - '') + '' packageConfDir="$TMPDIR/package.conf.d" mkdir -p $packageConfDir setupCompileFlags="${concatStringsSep " " setupCompileFlags}" configureFlags="${concatStringsSep " " defaultConfigureFlags} $configureFlags" - '' - # We build the Setup.hs on the *build* machine, and as such should only add - # dependencies for the build machine. - # - # pkgs* arrays defined in stdenv/setup.hs - + (optionalString (setupHaskellDepends != []) '' - for p in "''${pkgsBuildBuild[@]}" "''${pkgsBuildHost[@]}" "''${pkgsBuildTarget[@]}"; do - ${buildPkgDb nativeGhc.name} - done - ${nativeGhcCommand}-pkg --${nativePackageDbFlag}="$setupPackageConfDir" recache - '') - # For normal components - + '' + # host.*Pkgs defined in stdenv/setup.hs for p in "''${pkgsHostHost[@]}" "''${pkgsHostTarget[@]}"; do - ${buildPkgDb ghc.name} + if [ -d "$p/lib/${ghc.name}/package.conf.d" ]; then + cp -f "$p/lib/${ghc.name}/package.conf.d/"*.conf $packageConfDir/ + continue + fi + if [ -d "$p/include" ]; then + configureFlags+=" --extra-include-dirs=$p/include" + fi + if [ -d "$p/lib" ]; then + configureFlags+=" --extra-lib-dirs=$p/lib" + fi done '' # only use the links hack if we're actually building dylibs. otherwise, the # "dynamic-library-dirs" point to nonexistent paths, and the ln command becomes # "ln -s $out/lib/links", which tries to recreate the links dir and fails - + (optionalString (stdenv.isDarwin && (enableSharedLibraries || enableSharedExecutables)) '' + + (optionalString (stdenv.isDarwin && enableSharedLibraries) '' # Work around a limit in the macOS Sierra linker on the number of paths # referenced by any one dynamic library: # @@ -316,11 +286,7 @@ stdenv.mkDerivation ({ done echo setupCompileFlags: $setupCompileFlags - ${optionalString (setupHaskellDepends != []) - '' - echo GHC_PACKAGE_PATH="$setupPackageConfDir:" - GHC_PACKAGE_PATH="$setupPackageConfDir:" '' - }${nativeGhcCommand} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i + ${nativeGhcCommand} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i runHook postCompileBuildDriver ''; @@ -348,7 +314,7 @@ stdenv.mkDerivation ({ buildPhase = '' runHook preBuild - ${setupCommand} build ${buildTarget}${crossCabalFlagsString}${buildFlagsString} + ${setupCommand} build ${buildTarget}${crossCabalFlagsString} runHook postBuild ''; diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix index fb1302f60ea5..55e45bd6559d 100644 --- a/pkgs/development/haskell-modules/lib.nix +++ b/pkgs/development/haskell-modules/lib.nix @@ -131,8 +131,6 @@ rec { */ appendConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = (drv.configureFlags or []) ++ [x]; }); - appendBuildFlag = drv: x: overrideCabal drv (drv: { buildFlags = (drv.buildFlags or []) ++ [x]; }); - appendBuildFlags = drv: xs: overrideCabal drv (drv: { buildFlags = (drv.buildFlags or []) ++ xs; }); /* removeConfigureFlag drv x is a Haskell package like drv, but with all cabal configure arguments that are equal to x removed. diff --git a/pkgs/development/haskell-modules/patches/lambdabot-core-ghc-8.4.x-fix.patch b/pkgs/development/haskell-modules/patches/lambdabot-core-ghc-8.4.x-fix.patch new file mode 100644 index 000000000000..9b7b7cfb8f96 --- /dev/null +++ b/pkgs/development/haskell-modules/patches/lambdabot-core-ghc-8.4.x-fix.patch @@ -0,0 +1,15 @@ +index 60e134c..246d8ca 100644 +--- lambdabot-core/src/Lambdabot/Config.hs ++++ lambdabot-core/src/Lambdabot/Config.hs +@@ -29,9 +29,9 @@ import Data.Typeable + import Data.Generics (everywhere, mkT) + import Language.Haskell.TH + +-data Config t where Config :: (Typeable1 k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t ++data Config t where Config :: (Typeable k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t + +-cast1 :: (Typeable1 f, Typeable1 g) => f a -> Maybe (g a) ++cast1 :: (Typeable f, Typeable g) => f a -> Maybe (g a) + cast1 = fmap runIdentity . gcast1 . Identity + + instance GEq Config where diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix index 17c6f75a59db..36da31e8908a 100644 --- a/pkgs/development/libraries/folly/default.nix +++ b/pkgs/development/libraries/folly/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "folly-${version}"; - version = "2018.04.23.00"; + version = "2018.05.21.00"; src = fetchFromGitHub { owner = "facebook"; repo = "folly"; rev = "v${version}"; - sha256 = "0wfp4pxi71bi3bz3h5jxsvdd5wa8q6wqdgsx0jvyvaiiy7v884sv"; + sha256 = "0x8qa0g0rj4bmy5cra7f0ch0srq34d8d04f1c59q93xd6ggkr52w"; }; nativeBuildInputs = [ autoreconfHook python pkgconfig ]; diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix index d534cd59bd83..68bffd4032d2 100644 --- a/pkgs/development/libraries/nghttp2/default.nix +++ b/pkgs/development/libraries/nghttp2/default.nix @@ -17,11 +17,11 @@ let inherit (stdenv.lib) optional; in stdenv.mkDerivation rec { name = "nghttp2-${version}"; - version = "1.24.0"; + version = "1.32.0"; src = fetchurl { url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2"; - sha256 = "18ys6p39yvm9wjjzhhlw35c9m8f5gf4dk9jbshibj19q4js1pnv9"; + sha256 = "0jlndbp4bnyvdg8b59pznrzz0bvwb9nmag7zgcflg51lm1pq2q06"; }; outputs = [ "bin" "out" "dev" "lib" ]; diff --git a/pkgs/development/ocaml-modules/imagelib/default.nix b/pkgs/development/ocaml-modules/imagelib/default.nix new file mode 100644 index 000000000000..77b18f0ce3a9 --- /dev/null +++ b/pkgs/development/ocaml-modules/imagelib/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, which, ocaml, findlib, ocamlbuild, decompress }: + +stdenv.mkDerivation rec { + version = "20171028"; + name = "ocaml${ocaml.version}-imagelib-${version}"; + src = fetchFromGitHub { + owner = "rlepigre"; + repo = "ocaml-imagelib"; + rev = "ocaml-imagelib_${version}"; + sha256 = "1frkrgcrv4ybdmqcfxpfsywx0hm1arxgxp32n8kzky6qip1g0zxf"; + }; + + buildInputs = [ which ocaml findlib ocamlbuild ]; + + propagatedBuildInputs = [ decompress ]; + + createFindlibDestdir = true; + + meta = { + description = "Image formats such as PNG and PPM in OCaml"; + license = stdenv.lib.licenses.lgpl3; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + }; +} diff --git a/pkgs/development/python-modules/asyncssh/default.nix b/pkgs/development/python-modules/asyncssh/default.nix new file mode 100644 index 000000000000..d5ab50dc9046 --- /dev/null +++ b/pkgs/development/python-modules/asyncssh/default.nix @@ -0,0 +1,36 @@ +{ stdenv, buildPythonPackage, fetchPypi, pythonOlder +, cryptography +, bcrypt, gssapi, libnacl, libsodium, nettle, pyopenssl }: + +buildPythonPackage rec { + pname = "asyncssh"; + version = "1.13.0"; + disabled = pythonOlder "3.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "1n75z4dvhzymd4n610dpwlq7wl8cyz1gxx9m7iq92pzhss5vgpfd"; + }; + + propagatedBuildInputs = [ + bcrypt + cryptography + gssapi + libnacl + libsodium + nettle + pyopenssl + ]; + + # Disables windows specific test (specifically the GSSAPI wrapper for Windows) + postPatch = '' + rm ./tests/sspi_stub.py + ''; + + meta = with stdenv.lib; { + description = "Provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework"; + homepage = https://pypi.python.org/pypi/asyncssh; + license = licenses.epl10; + maintainers = with maintainers; [ worldofpeace ]; + }; +} diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 5f7b389cc2b1..5ddb03d318f9 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { description = "unix-like reverse engineering framework and commandline tools"; homepage = http://radare.org/; license = stdenv.lib.licenses.gpl2Plus; - maintainers = with stdenv.lib.maintainers; [raskin makefu]; + maintainers = with stdenv.lib.maintainers; [raskin makefu mic92]; platforms = with stdenv.lib.platforms; linux; inherit version; }; diff --git a/pkgs/development/tools/bloaty/default.nix b/pkgs/development/tools/bloaty/default.nix index 0dbe1aa78c50..9b18bcb25616 100644 --- a/pkgs/development/tools/bloaty/default.nix +++ b/pkgs/development/tools/bloaty/default.nix @@ -1,26 +1,22 @@ -{ stdenv, binutils, cmake, fetchFromGitHub }: +{ stdenv, binutils, cmake, zlib, fetchFromGitHub }: stdenv.mkDerivation rec { - version = "2017-10-05"; + version = "2018-05-22"; name = "bloaty-${version}"; src = fetchFromGitHub { owner = "google"; repo = "bloaty"; - rev = "e47b21b01ceecf001e1965e9da249d48d86a1749"; - sha256 = "1il3z49hi0b07agjwr5fg1wzysfxsamfv1snvlp33vrlyl1m7cbm"; + rev = "054788b091ccfd43b05b9817062139145096d440"; + sha256 = "0pmv66137ipzsjjdz004n61pz3aipjhh3b0w0y1406clqpwkvpjm"; fetchSubmodules = true; }; nativeBuildInputs = [ cmake ]; - enableParallelBuilding = true; + buildInputs = [ zlib ]; - preConfigure = '' - substituteInPlace src/bloaty.cc \ - --replace "c++filt" \ - "${binutils.bintools}/bin/c++filt" - ''; + enableParallelBuilding = true; doCheck = true; diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix index 28894850bbd9..52e29acc9d81 100644 --- a/pkgs/development/tools/build-managers/dub/default.nix +++ b/pkgs/development/tools/build-managers/dub/default.nix @@ -4,7 +4,7 @@ let dubBuild = stdenv.mkDerivation rec { name = "dubBuild-${version}"; - version = "1.8.0"; + version = "1.8.1"; enableParallelBuilding = true; @@ -12,7 +12,7 @@ let owner = "dlang"; repo = "dub"; rev = "v${version}"; - sha256 = "0788d375sc6xdak9x6xclkkz243lb7di68yxfvl4v0n178mi22bk"; + sha256 = "16r7x4jsfv5fjssvs6mwj8ymr6fjpvbkjhpr4f4368sjr5iyfad6"; }; postUnpack = '' @@ -75,6 +75,7 @@ let # file under ../etc relative to the dub location. cp ${dubBuild}/bin/dub bin/ export DUB=$NIX_BUILD_TOP/source/bin/dub + export PATH=$PATH:$NIX_BUILD_TOP/source/bin/ export DC=${dmd.out}/bin/dmd export HOME=$TMP ./test/run-unittest.sh diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix index d5f691b0cac5..bc29fe2cbcf9 100644 --- a/pkgs/development/tools/dtools/default.nix +++ b/pkgs/development/tools/dtools/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "dtools-${version}"; - version = "2.079.0"; + version = "2.079.1"; srcs = [ (fetchFromGitHub { owner = "dlang"; repo = "dmd"; rev = "v${version}"; - sha256 = "1k6cky71pqnss6h6391p1ich2mjs598f5fda018aygnxg87qgh4y"; + sha256 = "0mlk095aw94d940qkymfp85daggiz3f0xv598nlc7acgp6408kyj"; name = "dmd"; }) (fetchFromGitHub { diff --git a/pkgs/development/tools/vagrant/Gemfile.lock b/pkgs/development/tools/vagrant/Gemfile.lock index fd5cb8dbee9e..8991bd9eb54f 100644 --- a/pkgs/development/tools/vagrant/Gemfile.lock +++ b/pkgs/development/tools/vagrant/Gemfile.lock @@ -1,9 +1,17 @@ GIT - remote: https://github.com/hashicorp/vagrant.git - revision: 6a6805f284dff05207e359acdfb1ca8443b78751 - tag: v2.0.4 + remote: https://github.com/hashicorp/vagrant-spec.git + revision: 9413ab298407114528766efefd1fb1ff24589636 specs: - vagrant (2.0.4) + vagrant-spec (0.0.1) + childprocess (~> 0.6.0) + log4r (~> 1.1.9) + rspec (~> 3.5.0) + thor (~> 0.18.1) + +PATH + remote: . + specs: + vagrant (2.1.1) childprocess (~> 0.6.0) erubis (~> 2.7.0) hashicorp-checkpoint (~> 0.1.5) @@ -26,12 +34,18 @@ GIT GEM remote: https://rubygems.org/ specs: + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) builder (3.2.3) childprocess (0.6.3) ffi (~> 1.0, >= 1.0.11) + crack (0.4.3) + safe_yaml (~> 1.0.0) + diff-lcs (1.3) domain_name (0.5.20180417) unf (>= 0.0.5, < 1.0.0) erubis (2.7.0) + fake_ftp (0.1.1) ffi (1.9.23) ffi-win32-extensions (1.0.3) ffi @@ -39,6 +53,7 @@ GEM ffi (>= 1.0.1) gyoku (1.3.1) builder (>= 2.1.2) + hashdiff (0.3.7) hashicorp-checkpoint (0.1.5) http-cookie (1.0.3) domain_name (~> 0.5) @@ -64,6 +79,8 @@ GEM net-ssh (4.2.0) netrc (0.11.0) nori (2.6.0) + public_suffix (3.0.1) + rake (12.0.0) rb-fsevent (0.10.3) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) @@ -73,13 +90,35 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) + rspec (3.5.0) + rspec-core (~> 3.5.0) + rspec-expectations (~> 3.5.0) + rspec-mocks (~> 3.5.0) + rspec-core (3.5.4) + rspec-support (~> 3.5.0) + rspec-expectations (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-its (1.2.0) + rspec-core (>= 3.0.0) + rspec-expectations (>= 3.0.0) + rspec-mocks (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-support (3.5.0) ruby_dep (1.3.1) rubyntlm (0.6.2) rubyzip (1.2.1) + safe_yaml (1.0.4) + thor (0.18.1) unf (0.1.4) unf_ext unf_ext (0.0.7.5) wdm (0.1.1) + webmock (2.3.2) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff win32-file (0.8.1) ffi ffi-win32-extensions @@ -112,7 +151,13 @@ PLATFORMS ruby DEPENDENCIES + fake_ftp (~> 0.1.1) + rake (~> 12.0.0) + rspec (~> 3.5.0) + rspec-its (~> 1.2.0) vagrant! + vagrant-spec! + webmock (~> 2.3.1) BUNDLED WITH - 1.16.1 + 1.14.6 diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index 11ca6014b2de..42ff463e1cc6 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -1,29 +1,36 @@ -{ lib, buildRubyGem, bundlerEnv, ruby, libarchive }: - - -# To update vagrant, visit the Gemfile and re-run bundix. +{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive }: let - gemset = import ./gemset.nix; - inherit (gemset.vagrant) version; + version = "2.1.1"; + url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz"; + sha256 = "0kgsb33f3wh6x4450x74wri6z78ky92sfrv7ba7h7zmxsadb6m4b"; deps = bundlerEnv rec { - name = "vagrant-${version}"; + name = "${pname}-${version}"; pname = "vagrant"; inherit version; inherit ruby; gemdir = ./.; + gemset = lib.recursiveUpdate (import ./gemset.nix) { + vagrant = { + source = { + type = "url"; + inherit url sha256; + }; + inherit version; + }; + }; }; in buildRubyGem rec { name = "${gemName}-${version}"; gemName = "vagrant"; + inherit version; doInstallCheck = true; dontBuild = false; - - inherit (deps.gems.vagrant) src; + src = fetchurl { inherit url sha256; }; patches = [ ./unofficial-installation-nowarn.patch diff --git a/pkgs/development/tools/vagrant/gemset.nix b/pkgs/development/tools/vagrant/gemset.nix index 7a432d302172..867927cdc248 100644 --- a/pkgs/development/tools/vagrant/gemset.nix +++ b/pkgs/development/tools/vagrant/gemset.nix @@ -1,4 +1,13 @@ { + addressable = { + dependencies = ["public_suffix"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; + type = "gem"; + }; + version = "2.5.2"; + }; builder = { source = { remotes = ["https://rubygems.org"]; @@ -16,6 +25,23 @@ }; version = "0.6.3"; }; + crack = { + dependencies = ["safe_yaml"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; + type = "gem"; + }; + version = "0.4.3"; + }; + diff-lcs = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; + type = "gem"; + }; + version = "1.3"; + }; domain_name = { dependencies = ["unf"]; source = { @@ -33,6 +59,14 @@ }; version = "2.7.0"; }; + fake_ftp = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rn7lxdk3sqc2i4v2c5k25b9ca1qnkdf32nv04y760aml9mszwf7"; + type = "gem"; + }; + version = "0.1.1"; + }; ffi = { source = { remotes = ["https://rubygems.org"]; @@ -68,6 +102,14 @@ }; version = "1.3.1"; }; + hashdiff = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9"; + type = "gem"; + }; + version = "0.3.7"; + }; hashicorp-checkpoint = { source = { remotes = ["https://rubygems.org"]; @@ -202,6 +244,22 @@ }; version = "2.6.0"; }; + public_suffix = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mvzd9ycjw8ydb9qy3daq3kdzqs2vpqvac4dqss6ckk4rfcjc637"; + type = "gem"; + }; + version = "3.0.1"; + }; + rake = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n"; + type = "gem"; + }; + version = "12.0.0"; + }; rb-fsevent = { source = { remotes = ["https://rubygems.org"]; @@ -237,6 +295,59 @@ }; version = "2.0.2"; }; + rspec = { + dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-core = { + dependencies = ["rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i"; + type = "gem"; + }; + version = "3.5.4"; + }; + rspec-expectations = { + dependencies = ["diff-lcs" "rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-its = { + dependencies = ["rspec-core" "rspec-expectations"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3"; + type = "gem"; + }; + version = "1.2.0"; + }; + rspec-mocks = { + dependencies = ["diff-lcs" "rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-support = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0"; + type = "gem"; + }; + version = "3.5.0"; + }; ruby_dep = { source = { remotes = ["https://rubygems.org"]; @@ -261,6 +372,22 @@ }; version = "1.2.1"; }; + safe_yaml = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + type = "gem"; + }; + version = "1.0.4"; + }; + thor = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3"; + type = "gem"; + }; + version = "0.18.1"; + }; unf = { dependencies = ["unf_ext"]; source = { @@ -280,14 +407,17 @@ }; vagrant = { dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "wdm" "win32-file" "win32-file-security" "winrm" "winrm-elevated" "winrm-fs"]; + }; + vagrant-spec = { + dependencies = ["childprocess" "log4r" "rspec" "thor"]; source = { fetchSubmodules = false; - rev = "6a6805f284dff05207e359acdfb1ca8443b78751"; - sha256 = "07c7r4xk0md9hkbcnij0kp7acxz0li9ak1ah7lmh52j10gq4cjmw"; + rev = "9413ab298407114528766efefd1fb1ff24589636"; + sha256 = "1z77m3p6x82hipa7y4i71zafy0rdfajw2vhqdxczjmrlwp0pvisl"; type = "git"; - url = "https://github.com/hashicorp/vagrant.git"; + url = "https://github.com/hashicorp/vagrant-spec.git"; }; - version = "2.0.4"; + version = "0.0.1"; }; wdm = { source = { @@ -297,6 +427,15 @@ }; version = "0.1.1"; }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04hkcqsmbfnp8g237pisnc834vpgildklicbjbyikqg0bg1rwcy5"; + type = "gem"; + }; + version = "2.3.2"; + }; win32-file = { dependencies = ["ffi" "ffi-win32-extensions" "win32-file-stat"]; source = { diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index 24f21b498aa5..0c908197acb8 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, makeWrapper, autoconf, automake, libtool_2, autoreconfHook -, llvm, libcxx, libcxxabi, clang, libuuid -, libobjc ? null, maloader ? null, xctoolchain ? null +, libcxx, libcxxabi, libuuid +, libobjc ? null, maloader ? null , hostPlatform, targetPlatform , enableDumpNormalizedLibArgs ? false }: @@ -22,7 +22,7 @@ let in # Non-Darwin alternatives -assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null); +assert (!hostPlatform.isDarwin) -> maloader != null; assert enableDumpNormalizedLibArgs -> (!useOld); @@ -57,8 +57,6 @@ let autoreconfHook ]; buildInputs = [ libuuid ] ++ - # Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang) - stdenv.lib.optionals (!stdenv.isDarwin) [ llvm clang ] ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ]; patches = [ @@ -80,9 +78,6 @@ let # TODO(@Ericson2314): Always pass "--target" and always targetPrefix. configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; - configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [ - "CXXFLAGS=-I${libcxx}/include/c++/v1" - ]; postPatch = '' sed -i -e 's/addStandardLibraryDirectories = true/addStandardLibraryDirectories = false/' cctools/ld64/src/ld/Options.cpp @@ -110,8 +105,6 @@ let EOF cd cctools - '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' - sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' autogen.sh ''; # TODO: this builds an ld without support for LLVM's LTO. We need to teach it, but that's rather @@ -126,21 +119,12 @@ let popd ''; - postInstall = - if hostPlatform.isDarwin - then '' - cat >$out/bin/dsymutil << EOF - #!${stdenv.shell} - EOF - chmod +x $out/bin/dsymutil - '' - else '' - for tool in dyldinfo dwarfdump dsymutil; do - ${makeWrapper}/bin/makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${targetPlatform.config}-$tool" \ - --add-flags "${xctoolchain}/bin/$tool" - ln -s "$out/bin/${targetPlatform.config}-$tool" "$out/bin/$tool" - done - ''; + postInstall = '' + cat >$out/bin/dsymutil << EOF + #!${stdenv.shell} + EOF + chmod +x $out/bin/dsymutil + ''; passthru = { inherit targetPrefix; diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix index a5168ebd4dfa..41dfebab7907 100644 --- a/pkgs/servers/mail/postfix/default.nix +++ b/pkgs/servers/mail/postfix/default.nix @@ -25,11 +25,11 @@ in stdenv.mkDerivation rec { name = "postfix-${version}"; - version = "3.3.0"; + version = "3.3.1"; src = fetchurl { url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz"; - sha256 = "0fggpbsc9jkrbaw9hy0zw9h32plmfvcv0x860pbih0g346byhhkr"; + sha256 = "0fvymsklp32njsv0ngc1f45j01kcy61r5in99g5palibwkd19xal"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix index f79e53b64cf4..c9bf8393afc7 100644 --- a/pkgs/servers/slimserver/default.nix +++ b/pkgs/servers/slimserver/default.nix @@ -1,5 +1,5 @@ -{ stdenv, buildPerlPackage, fetchurl -, perl, perlPackages, fetchpatch }: +{ stdenv, buildPerlPackage, fetchurl, fetchpatch, makeWrapper +, perl, perlPackages, flac, faad2, sox, lame, monkeysAudio, wavpack }: buildPerlPackage rec { name = "slimserver-${version}"; @@ -16,6 +16,7 @@ buildPerlPackage rec { } ) ]; buildInputs = [ + makeWrapper perl perlPackages.AnyEvent perlPackages.AudioScan @@ -75,17 +76,19 @@ buildPerlPackage rec { preConfigurePhase = ""; - buildPhase = " + buildPhase = '' mv lib tmp mkdir -p lib/perl5/site_perl mv CPAN_used/* lib/perl5/site_perl cp -rf tmp/* lib/perl5/site_perl - "; + ''; doCheck = false; installPhase = '' cp -r . $out + wrapProgram $out/slimserver.pl \ + --prefix PATH : "${stdenv.lib.makeBinPath [ lame flac faad2 sox monkeysAudio wavpack ]}" ''; outputs = [ "out" ]; diff --git a/pkgs/servers/sql/postgresql/pg_repack/default.nix b/pkgs/servers/sql/postgresql/pg_repack/default.nix index 50c9c68bb5f7..1b7cd08b082b 100644 --- a/pkgs/servers/sql/postgresql/pg_repack/default.nix +++ b/pkgs/servers/sql/postgresql/pg_repack/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "pg_repack-${version}"; - version = "1.4.2"; + version = "1.4.3"; buildInputs = [ postgresql openssl zlib readline ]; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "reorg"; repo = "pg_repack"; rev = "refs/tags/ver_${version}"; - sha256 = "1yv5x7dgiv1miazbngkrkdbc2zpwklj6nlligghjvv83bcl8969q"; + sha256 = "1mmd22nfaxjwnbl3i95f3ivmjvfqwdflgaczlg3129dbpwg265xr"; }; installPhase = '' diff --git a/pkgs/shells/zsh/zsh-autosuggestions/default.nix b/pkgs/shells/zsh/zsh-autosuggestions/default.nix index 906301110e96..02e25cfdde62 100644 --- a/pkgs/shells/zsh/zsh-autosuggestions/default.nix +++ b/pkgs/shells/zsh/zsh-autosuggestions/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "zsh-autosuggestions-${version}"; - version = "0.4.2"; + version = "0.4.3"; src = fetchFromGitHub { owner = "zsh-users"; repo = "zsh-autosuggestions"; rev = "v${version}"; - sha256 = "1yvbhfaaqzhmjmwjh75i1p4mrqp3ksw74bp8lrll81c6zf8bmvig"; + sha256 = "117m4jk3lgh98k699v00pg554qblpr4pbfvgs0qrgygfx1n1bpl4"; }; buildInputs = [ zsh ]; diff --git a/pkgs/tools/graphics/s2png/default.nix b/pkgs/tools/graphics/s2png/default.nix new file mode 100644 index 000000000000..fd538eec573d --- /dev/null +++ b/pkgs/tools/graphics/s2png/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, diffutils, gd, pkgconfig }: + +stdenv.mkDerivation rec { + name = "s2png-${version}"; + version = "0.7.2"; + + src = fetchFromGitHub { + owner = "dbohdan"; + repo = "s2png"; + rev = "v${version}"; + sha256 = "0y3crfm0jqprgxamlly713cka2x1bp6z63p1lw9wh4wc37kpira6"; + }; + + buildInputs = [ diffutils gd pkgconfig ]; + installFlags = [ "prefix=" "DESTDIR=$(out)" ]; + + meta = { + homepage = https://github.com/dbohdan/s2png/; + description = "Store any data in PNG images"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.dbohdan ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix index f66cc60c9267..5dba7744d7b3 100644 --- a/pkgs/tools/misc/calamares/default.nix +++ b/pkgs/tools/misc/calamares/default.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "calamares"; - version = "3.1.12"; + version = "3.2.0"; # release including submodule src = fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.gz"; - sha256 = "0k59wnch2gmbsr5dh5swbjp4rkf5c1ml0n4sxf196wdasraismc6"; + sha256 = "1i5q3hffjqi1id9kv8sixhddxd90d5qqmbc7gf5vf9m3c54pln64"; }; buildInputs = [ diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix index 22bf8340156c..d12038a707d2 100644 --- a/pkgs/tools/misc/debootstrap/default.nix +++ b/pkgs/tools/misc/debootstrap/default.nix @@ -4,13 +4,13 @@ # There is also cdebootstrap now. Is that easier to maintain? stdenv.mkDerivation rec { name = "debootstrap-${version}"; - version = "1.0.99"; + version = "1.0.100"; src = fetchurl { # git clone git://git.debian.org/d-i/debootstrap.git # I'd like to use the source. However it's lacking the lanny script ? (still true?) url = "mirror://debian/pool/main/d/debootstrap/debootstrap_${version}.tar.gz"; - sha256 = "1plw53zghiykddj77s5jk10ncx82cgrkk798p909yydhcghnvcsb"; + sha256 = "0jmwf26sq4bkdz6wi0dcjsrfkg8c8k3xdhi11xp6cdrw6qpw82ws"; }; buildInputs = [ dpkg gettext gawk perl ]; diff --git a/pkgs/tools/misc/gams/default.nix b/pkgs/tools/misc/gams/default.nix new file mode 100644 index 000000000000..613fdc0f4555 --- /dev/null +++ b/pkgs/tools/misc/gams/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, unzip, lib, file, licenseFile, optgamsFile}: + +assert licenseFile != null; + +stdenv.mkDerivation rec { + version = "25.0.2"; + name = "gams-${version}"; + src = fetchurl { + url = "https://d37drm4t2jghv5.cloudfront.net/distributions/${version}/linux/linux_x64_64_sfx.exe"; + sha256 = "4f95389579f33ff7c2586838a2c19021aa0746279555cbb51aa6e0efd09bd297"; + }; + unpackCmd = "unzip $src"; + buildInputs = [ unzip file ]; + dontBuild = true; + + installPhase = '' + mkdir -p "$out/bin" "$out/share/gams" + cp -a * "$out/share/gams" + + cp ${licenseFile} $out/share/gamslice.txt + '' + stdenv.lib.optionalString (optgamsFile != null) '' + cp ${optgamsFile} $out/share/optgams.def + ln -s $out/share/gams/optgams.def $out/bin/optgams.def + ''; + + postFixup = '' + for f in $out/share/gams/*; do + if [[ -x $f ]] && [[ -f $f ]] && [[ ! $f =~ .*\.so$ ]]; then + if patchelf \ + --set-rpath "$out/share/gams" \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $f; then + ln -s $f $out/bin/$(basename $f) + fi + fi + done + ''; + + meta = with stdenv.lib;{ + description = "General Algebraic Modeling System"; + longDescription = '' + The General Algebraic Modeling System is a high-level modeling system for mathematical optimization. + GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems. + ''; + homepage = https://www.gams.com/; + license = licenses.unfree; + maintainers = [ maintainers.Scriptkiddi ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/tools/misc/thefuck/default.nix b/pkgs/tools/misc/thefuck/default.nix index 7befd344a4d8..1ccfc528e8f6 100644 --- a/pkgs/tools/misc/thefuck/default.nix +++ b/pkgs/tools/misc/thefuck/default.nix @@ -5,13 +5,13 @@ buildPythonApplication rec { pname = "thefuck"; - version = "3.26"; + version = "3.27"; src = fetchFromGitHub { owner = "nvbn"; repo = "${pname}"; rev = version; - sha256 = "0iyihbp94z38xajy8yfbn3ky7irnam1zwyswg34cw4kkfgggrwhz"; + sha256 = "1lsg0g9lnpj2nidggm16b7jm4xzhg0dgy81crfzny62hah1zk0pj"; }; propagatedBuildInputs = [ colorama decorator psutil pyte six ]; diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix index 61370ff890bc..fcec511b7ef5 100644 --- a/pkgs/tools/misc/tmux/default.nix +++ b/pkgs/tools/misc/tmux/default.nix @@ -13,7 +13,7 @@ in stdenv.mkDerivation rec { name = "tmux-${version}"; - version = "2.6"; + version = "2.7"; outputs = [ "out" "man" ]; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { owner = "tmux"; repo = "tmux"; rev = version; - sha256 = "0605y0nwfmf0mnq075vk80897c2cvhxxvxinqq7hvrpjf2ph5mww"; + sha256 = "1yr4l8ckd67c3id4vrbpha91xxpdfpw0cpbr3v81lam0m7k4rgba"; }; nativeBuildInputs = [ pkgconfig autoreconfHook ]; diff --git a/pkgs/tools/package-management/cargo-tree/default.nix b/pkgs/tools/package-management/cargo-tree/default.nix new file mode 100644 index 000000000000..a9c1a1a33b3c --- /dev/null +++ b/pkgs/tools/package-management/cargo-tree/default.nix @@ -0,0 +1,24 @@ +{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, cmake, curl, libiconv, darwin }: +rustPlatform.buildRustPackage rec { + name = "cargo-tree-${version}"; + version = "0.18.0"; + + src = fetchFromGitHub { + owner = "sfackler"; + repo = "cargo-tree"; + rev = "v${version}"; + + sha256 = "0lq14w11a4zl0rvv7rsd79k51dwk3w78fbsi6klkqknad02qmx3r"; + }; + + cargoSha256 = "0zi4qbadlx4l6zhb0f892ic3mdmyjjjzrirks18pl6qrn3dgny1x"; + + nativeBuildInputs = [ pkgconfig cmake ]; + buildInputs = [ curl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ]; + + meta = with lib; { + description = "A cargo subcommand that visualizes a crate's dependency graph in a tree-like format"; + license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ jD91mZM2 ]; + }; +} diff --git a/pkgs/tools/package-management/nixops/unstable.nix b/pkgs/tools/package-management/nixops/unstable.nix index 8eaf20dc7724..88493d33dd1d 100644 --- a/pkgs/tools/package-management/nixops/unstable.nix +++ b/pkgs/tools/package-management/nixops/unstable.nix @@ -5,9 +5,9 @@ # Then copy the URL to the tarball. callPackage ./generic.nix (rec { - version = "1.6pre2276_9203440"; + version = "1.6.1pre2622_f10999a"; src = fetchurl { - url = "https://hydra.nixos.org/build/64518294/download/2/nixops-${version}.tar.bz2"; - sha256 = "1cl0869nl67fr5xk0jl9cvqbmma7d4vz5xbg56jpl7casrr3i51x"; + url = "https://hydra.nixos.org/build/73716350/download/2/nixops-${version}.tar.bz2"; + sha256 = "08886b6vxhjc3cp0ikxp920zap7wp6r92763fp785rvxrmb00rbd"; }; }) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 591320fc142c..01f1a3e548fc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -646,6 +646,11 @@ with pkgs; genymotion = callPackage ../development/mobile/genymotion { }; + gams = callPackage ../tools/misc/gams { + licenseFile = config.gams.licenseFile or null; + optgamsFile = config.gams.optgamsFile or null; + }; + git-fire = callPackage ../tools/misc/git-fire { }; gitless = callPackage ../applications/version-management/gitless/default.nix { }; @@ -1389,6 +1394,8 @@ with pkgs; parallel-rust = callPackage ../tools/misc/parallel-rust { }; + s2png = callPackage ../tools/graphics/s2png { }; + socklog = callPackage ../tools/system/socklog { }; staccato = callPackage ../tools/text/staccato { }; @@ -3431,7 +3438,7 @@ with pkgs; nixnote2 = libsForQt5.callPackage ../applications/misc/nixnote2 { }; - nodejs = hiPrio nodejs-6_x; + nodejs = hiPrio nodejs-8_x; nodejs-slim = nodejs-slim-6_x; @@ -6046,18 +6053,6 @@ with pkgs; clang-analyzer = callPackage ../development/tools/analysis/clang-analyzer { }; - clangSelf = clangWrapSelf llvmPackagesSelf.clang; - - clangWrapSelf = build: ccWrapperFun { - cc = build; - isClang = true; - inherit stdenvNoCC; - inherit (targetPackages.stdenv.cc) bintools libc; - extraPackages = [ libcxx libcxxabi ]; - nativeTools = false; - nativeLibc = false; - }; - #Use this instead of stdenv to build with clang clangStdenv = if stdenv.cc.isClang then stdenv else lowPrio llvmPackages.stdenv; clang-sierraHack-stdenv = overrideCC stdenv clang-sierraHack; @@ -6692,10 +6687,6 @@ with pkgs; llvmPackages = recurseIntoAttrs llvmPackages_5; - llvmPackagesSelf = llvmPackages_34.override { - stdenv = libcxxStdenv; - }; - llvmPackages_34 = callPackage ../development/compilers/llvm/3.4 ({ isl = isl_0_12; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { @@ -6710,30 +6701,40 @@ with pkgs; llvmPackages_37 = callPackage ../development/compilers/llvm/3.7 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_37; + targetLlvmPackages = targetPackages.llvmPackages_37; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; }); llvmPackages_38 = callPackage ../development/compilers/llvm/3.8 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_38; + targetLlvmPackages = targetPackages.llvmPackages_38; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; }); llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_39; + targetLlvmPackages = targetPackages.llvmPackages_39; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; }); llvmPackages_4 = callPackage ../development/compilers/llvm/4 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_4; + targetLlvmPackages = targetPackages.llvmPackages_4; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; }); llvmPackages_5 = callPackage ../development/compilers/llvm/5 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_5; + targetLlvmPackages = targetPackages.llvmPackages_5; } // stdenv.lib.optionalAttrs stdenv.isDarwin { cmake = cmake.override { isBootstrap = true; @@ -6747,6 +6748,8 @@ with pkgs; llvmPackages_6 = callPackage ../development/compilers/llvm/6 ({ inherit (stdenvAdapters) overrideCC; + buildLlvmPackages = buildPackages.llvmPackages_6; + targetLlvmPackages = targetPackages.llvmPackages_6; } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) { stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4' }); @@ -6904,6 +6907,7 @@ with pkgs; cargo-edit = callPackage ../tools/package-management/cargo-edit { }; cargo-release = callPackage ../tools/package-management/cargo-release { }; + cargo-tree = callPackage ../tools/package-management/cargo-tree { }; cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { }; @@ -6999,42 +7003,46 @@ with pkgs; wla-dx = callPackage ../development/compilers/wla-dx { }; - wrapCCWith = { name ? "", cc, bintools, libc, extraBuildCommands ? "" }: - ccWrapperFun rec { + wrapCCWith = + { cc + , # This should be the only bintools runtime dep with this sort of logic. The + # Others should instead delegate to the next stage's choice with + # `targetPackages.stdenv.cc.bintools`. This one is different just to + # provide the default choice, avoiding infinite recursion. + bintools ? if targetPlatform.isDarwin then darwin.binutils else binutils + , libc ? bintools.libc + , ... + } @ extraArgs: + callPackage ../build-support/cc-wrapper (let self = { nativeTools = targetPlatform == hostPlatform && stdenv.cc.nativeTools or false; nativeLibc = targetPlatform == hostPlatform && stdenv.cc.nativeLibc or false; nativePrefix = stdenv.cc.nativePrefix or ""; - noLibc = !nativeLibc && (libc == null); + noLibc = !self.nativeLibc && (self.libc == null); isGNU = cc.isGNU or false; isClang = cc.isClang or false; - inherit name cc bintools libc extraBuildCommands; - }; - - ccWrapperFun = callPackage ../build-support/cc-wrapper; - bintoolsWrapperFun = callPackage ../build-support/bintools-wrapper; + inherit cc bintools libc; + } // extraArgs; in self); wrapCC = cc: wrapCCWith { - name = lib.optionalString (targetPlatform != hostPlatform) "gcc-cross-wrapper"; inherit cc; - # This should be the only bintools runtime dep with this sort of logic. The - # Others should instead delegate to the next stage's choice with - # `targetPackages.stdenv.cc.bintools`. This one is different just to - # provide the default choice, avoiding infinite recursion. - bintools = if targetPlatform.isDarwin then darwin.binutils else binutils; - libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc; }; - wrapBintoolsWith = { bintools, libc, extraBuildCommands ? "" }: bintoolsWrapperFun { + wrapBintoolsWith = + { bintools + , libc ? if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc + , ... + } @ extraArgs: + callPackage ../build-support/bintools-wrapper (let self = { nativeTools = targetPlatform == hostPlatform && stdenv.cc.nativeTools or false; nativeLibc = targetPlatform == hostPlatform && stdenv.cc.nativeLibc or false; nativePrefix = stdenv.cc.nativePrefix or ""; - noLibc = (libc == null); + noLibc = (self.libc == null); - inherit bintools libc extraBuildCommands; - }; + inherit bintools libc; + } // extraArgs; in self); # prolog yap = callPackage ../development/compilers/yap { }; @@ -7635,11 +7643,9 @@ with pkgs; noSysDirs = (targetPlatform != buildPlatform) || noSysDirs; }; binutils = wrapBintoolsWith { - libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc; bintools = binutils-unwrapped; }; binutils_nogold = lowPrio (wrapBintoolsWith { - libc = if targetPlatform != hostPlatform then libcCross else stdenv.cc.libc; bintools = binutils-unwrapped.override { gold = false; }; @@ -20318,6 +20324,8 @@ with pkgs; texinfo = texinfo4; }; + form = callPackage ../applications/science/math/form { }; + fricas = callPackage ../applications/science/math/fricas { }; gap = callPackage ../applications/science/math/gap { }; @@ -20686,6 +20694,8 @@ with pkgs; helm = callPackage ../applications/audio/helm { }; + helmfile = callPackage ../applications/networking/cluster/helmfile { }; + heptio-ark = callPackage ../applications/networking/cluster/heptio-ark { }; hplip = callPackage ../misc/drivers/hplip { }; diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index 519d1cb9ed46..2bc5671e9874 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -29,6 +29,7 @@ let heq = callPackage ../development/coq-modules/heq {}; HoTT = callPackage ../development/coq-modules/HoTT {}; interval = callPackage ../development/coq-modules/interval {}; + iris = callPackage ../development/coq-modules/iris {}; math-classes = callPackage ../development/coq-modules/math-classes { }; mathcomp = callPackage ../development/coq-modules/mathcomp { }; metalib = callPackage ../development/coq-modules/metalib { }; diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index d2d41792c461..907ec0c75924 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -29,7 +29,6 @@ in inherit (darwin) libobjc maloader; stdenv = if stdenv.isDarwin then stdenv else pkgs.libcxxStdenv; libcxxabi = pkgs.libcxxabi; - xctoolchain = darwin.xcode.toolchain; }; cf-private = callPackage ../os-specific/darwin/cf-private { diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index e46888992f77..7bbb56c7b646 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -269,6 +269,8 @@ let higlo = callPackage ../development/ocaml-modules/higlo { }; + imagelib = callPackage ../development/ocaml-modules/imagelib { }; + inotify = callPackage ../development/ocaml-modules/inotify { }; integers = callPackage ../development/ocaml-modules/integers { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 570265b5a16a..1c97ef1f6002 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -12063,6 +12063,20 @@ let self = _self // overrides; _self = with self; { }; }; + ParsePlainConfig = buildPerlPackage rec { + name = "Parse-PlainConfig-3.05"; + src = fetchurl { + url = "mirror://cpan/authors/id/C/CO/CORLISS/Parse-PlainConfig/${name}.tar.gz"; + sha256 = "6b78a8552398b0d2d7063505c93b3cfed0432c5b2cf6e00b8e51febf411c1efa"; + }; + propagatedBuildInputs = [ ClassEHierarchy Paranoid ]; + meta = { + description = "Parser/Generator of human-readable conf files"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + maintainers = [ maintainers.limeytexan ]; + }; + }; + ParsePMFile = buildPerlPackage rec { name = "Parse-PMFile-0.41"; src = fetchurl { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f5428b63bcf7..1860c844add3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -547,6 +547,8 @@ in { asyncio = callPackage ../development/python-modules/asyncio {}; + asyncssh = callPackage ../development/python-modules/asyncssh { }; + python-fontconfig = callPackage ../development/python-modules/python-fontconfig { }; funcsigs = callPackage ../development/python-modules/funcsigs { }; @@ -16337,8 +16339,8 @@ EOF }; }; - # For backwards compatibility. Please use nixpkgs.udiskie instead. - udiskie = toPythonModule (pkgs.udiskie.override { pythonPackages = self; }); + # added 2018-05-23, can be removed once 18.09 is branched off + udiskie = throw "pythonPackages.udiskie has been replaced by udiskie"; # Should be bumped along with EFL! pythonefl = buildPythonPackage rec {