From f90b3dcf05249f88063f8023cea2c9849ca4a1e6 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Wed, 27 Sep 2017 15:53:12 +0100 Subject: [PATCH 001/169] firefox.syncserver service: No need for configurable user --- .../networking/firefox/sync-server.nix | 39 ++++++------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/nixos/modules/services/networking/firefox/sync-server.nix b/nixos/modules/services/networking/firefox/sync-server.nix index a9f3fd65d76..974914ebe1e 100644 --- a/nixos/modules/services/networking/firefox/sync-server.nix +++ b/nixos/modules/services/networking/firefox/sync-server.nix @@ -70,18 +70,6 @@ in ''; }; - user = mkOption { - type = types.str; - default = "syncserver"; - description = "User account under which syncserver runs."; - }; - - group = mkOption { - type = types.str; - default = "syncserver"; - description = "Group account under which syncserver runs."; - }; - publicUrl = mkOption { type = types.str; default = "http://localhost:5000/"; @@ -138,6 +126,8 @@ in systemd.services.syncserver = let syncServerEnv = pkgs.python.withPackages(ps: with ps; [ syncserver pasteScript ]); + user = "syncserver"; + group = "syncserver"; in { after = [ "network.target" ]; description = "Firefox Sync Server"; @@ -145,8 +135,8 @@ in path = [ pkgs.coreutils syncServerEnv ]; serviceConfig = { - User = cfg.user; - Group = cfg.group; + User = user; + Group = group; PermissionsStartOnly = true; }; @@ -156,32 +146,27 @@ in echo > ${cfg.privateConfig} '[syncserver]' echo >> ${cfg.privateConfig} "secret = $(head -c 20 /dev/urandom | sha1sum | tr -d ' -')" fi - chown ${cfg.user}:${cfg.group} ${cfg.privateConfig} + chown ${user}:${group} ${cfg.privateConfig} '' + optionalString (cfg.sqlUri == defaultSqlUri) '' if ! test -e $(dirname ${defaultDbLocation}); then mkdir -m 700 -p $(dirname ${defaultDbLocation}) - chown ${cfg.user}:${cfg.group} $(dirname ${defaultDbLocation}) + chown ${user}:${group} $(dirname ${defaultDbLocation}) fi # Move previous database file if it exists oldDb="/var/db/firefox-sync-server.db" if test -f $oldDb; then mv $oldDb ${defaultDbLocation} - chown ${cfg.user}:${cfg.group} ${defaultDbLocation} + chown ${user}:${group} ${defaultDbLocation} fi ''; serviceConfig.ExecStart = "${syncServerEnv}/bin/paster serve ${syncServerIni}"; }; - users.extraUsers = optionalAttrs (cfg.user == "syncserver") - (singleton { - name = "syncserver"; - group = cfg.group; - isSystemUser = true; - }); + users.users.syncserver = { + group = "syncserver"; + isSystemUser = true; + }; - users.extraGroups = optionalAttrs (cfg.group == "syncserver") - (singleton { - name = "syncserver"; - }); + users.groups.syncserver = {}; }; } From 573719e32899aa2f8ec2f850b6d8ec56597e1718 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Wed, 27 Sep 2017 15:59:38 +0100 Subject: [PATCH 002/169] firefox.syncserver service: Fix permissions --- nixos/modules/services/networking/firefox/sync-server.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/firefox/sync-server.nix b/nixos/modules/services/networking/firefox/sync-server.nix index 974914ebe1e..c0b1673b6c3 100644 --- a/nixos/modules/services/networking/firefox/sync-server.nix +++ b/nixos/modules/services/networking/firefox/sync-server.nix @@ -142,16 +142,21 @@ in preStart = '' if ! test -e ${cfg.privateConfig}; then - mkdir -m 700 -p $(dirname ${cfg.privateConfig}) + mkdir -p $(dirname ${cfg.privateConfig}) echo > ${cfg.privateConfig} '[syncserver]' + chmod 600 ${cfg.privateConfig} echo >> ${cfg.privateConfig} "secret = $(head -c 20 /dev/urandom | sha1sum | tr -d ' -')" fi + chmod 600 ${cfg.privateConfig} + chmod 755 $(dirname ${cfg.privateConfig}) chown ${user}:${group} ${cfg.privateConfig} + '' + optionalString (cfg.sqlUri == defaultSqlUri) '' if ! test -e $(dirname ${defaultDbLocation}); then mkdir -m 700 -p $(dirname ${defaultDbLocation}) chown ${user}:${group} $(dirname ${defaultDbLocation}) fi + # Move previous database file if it exists oldDb="/var/db/firefox-sync-server.db" if test -f $oldDb; then From 8851ef84c8a8963b6ad13bf4c2318fe48bfcd3ab Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Wed, 27 Sep 2017 16:03:18 +0100 Subject: [PATCH 003/169] firefox.syncserver service: Add nadrieril to maintainers --- lib/maintainers.nix | 1 + nixos/modules/services/networking/firefox/sync-server.nix | 2 ++ 2 files changed, 3 insertions(+) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index de8627b0804..242372ef3a7 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -446,6 +446,7 @@ mudri = "James Wood "; muflax = "Stefan Dorn "; myrl = "Myrl Hex "; + nadrieril = "Nadrieril Feneanar "; namore = "Roman Naumann "; nand0p = "Fernando Jose Pando "; Nate-Devv = "Nathan Moore "; diff --git a/nixos/modules/services/networking/firefox/sync-server.nix b/nixos/modules/services/networking/firefox/sync-server.nix index c0b1673b6c3..1a660ccd055 100644 --- a/nixos/modules/services/networking/firefox/sync-server.nix +++ b/nixos/modules/services/networking/firefox/sync-server.nix @@ -33,6 +33,8 @@ let in { + meta.maintainers = with lib.maintainers; [ nadrieril ]; + options = { services.firefox.syncserver = { enable = mkOption { From ae416b47cf2a2185747cf1540b4e14ff1b6b49a8 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Thu, 19 Oct 2017 23:22:10 +0100 Subject: [PATCH 004/169] firefox.syncserver service: Fix missing dependency --- nixos/modules/services/networking/firefox/sync-server.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/firefox/sync-server.nix b/nixos/modules/services/networking/firefox/sync-server.nix index 1a660ccd055..97d223a56ca 100644 --- a/nixos/modules/services/networking/firefox/sync-server.nix +++ b/nixos/modules/services/networking/firefox/sync-server.nix @@ -127,7 +127,7 @@ in config = mkIf cfg.enable { systemd.services.syncserver = let - syncServerEnv = pkgs.python.withPackages(ps: with ps; [ syncserver pasteScript ]); + syncServerEnv = pkgs.python.withPackages(ps: with ps; [ syncserver pasteScript requests ]); user = "syncserver"; group = "syncserver"; in { From 9f5d779641389e135fda838e5559eca09edd4cff Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Fri, 8 Dec 2017 22:23:14 +0000 Subject: [PATCH 005/169] Mark services.firefox.syncserver.{user,group} as removed --- nixos/modules/rename.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index eb10d4f428b..473a832c650 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -198,6 +198,8 @@ with lib; "See the 16.09 release notes for more information.") (mkRemovedOptionModule [ "services" "phpfpm" "phpIni" ] "") (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "") + (mkRemovedOptionModule [ "services" "firefox" "syncserver" "user" ] "") + (mkRemovedOptionModule [ "services" "firefox" "syncserver" "group" ] "") (mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "") (mkRemovedOptionModule [ "services" "xserver" "displayManager" "sddm" "themes" ] "Set the option `services.xserver.displayManager.sddm.package' instead.") From 3f5c80056af5ebb1f799a1dd7ae38057bfc6d288 Mon Sep 17 00:00:00 2001 From: geistesk Date: Sun, 31 Dec 2017 19:02:53 +0100 Subject: [PATCH 006/169] hash_extender: init at 2017-04-10 --- pkgs/tools/security/hash_extender/default.nix | 27 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/tools/security/hash_extender/default.nix diff --git a/pkgs/tools/security/hash_extender/default.nix b/pkgs/tools/security/hash_extender/default.nix new file mode 100644 index 00000000000..0c5691a1e10 --- /dev/null +++ b/pkgs/tools/security/hash_extender/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, openssl }: + +stdenv.mkDerivation rec { + name = "hash_extender-${version}"; + version = "2017-04-10"; + + src = fetchFromGitHub { + owner = "iagox86"; + repo = "hash_extender"; + rev = "d27581e062dd0b534074e11d7d311f65a6d7af21"; + sha256 = "1npwbgqaynjh5x39halw43i116v89sxkpa1g1bbvc1lpi8hkhhcb"; + }; + + buildInputs = [ openssl ]; + + installPhase = '' + mkdir -p $out/bin + cp hash_extender $out/bin + ''; + + meta = with stdenv.lib; { + description = "Tool to automate hash length extension attacks"; + homepage = https://github.com/iagox86/hash_extender; + license = licenses.bsd3; + maintainers = with maintainers; [ geistesk ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8b31298701e..ee6523d6550 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2609,6 +2609,8 @@ with pkgs; hashcat = callPackage ../tools/security/hashcat { }; + hash_extender = callPackage ../tools/security/hash_extender { }; + hash-slinger = callPackage ../tools/security/hash-slinger { }; hal-flash = callPackage ../os-specific/linux/hal-flash { }; From 012ead33e7477e5a05e6a5c12658ab642555f045 Mon Sep 17 00:00:00 2001 From: schneefux Date: Wed, 3 Jan 2018 22:06:07 +0100 Subject: [PATCH 007/169] wallabag: fix config file not being loaded from WALLABAG_DATA --- pkgs/servers/web-apps/wallabag/default.nix | 13 +++++----- .../web-apps/wallabag/wallabag-data.patch | 26 +++++++++++++++++++ 2 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 pkgs/servers/web-apps/wallabag/wallabag-data.patch diff --git a/pkgs/servers/web-apps/wallabag/default.nix b/pkgs/servers/web-apps/wallabag/default.nix index e6137a2db7c..07b530f4ef7 100644 --- a/pkgs/servers/web-apps/wallabag/default.nix +++ b/pkgs/servers/web-apps/wallabag/default.nix @@ -13,13 +13,11 @@ stdenv.mkDerivation rec { outputs = [ "out" ]; - patchPhase = '' + patches = [ ./wallabag-data.patch ]; # exposes $WALLABAG_DATA + + prePatch = '' rm Makefile # use the "shared hosting" package with bundled dependencies - substituteInPlace app/AppKernel.php \ - --replace "__DIR__" "getenv('WALLABAG_DATA')" - substituteInPlace var/bootstrap.php.cache \ - --replace "\$this->rootDir = \$this->getRootDir()" "\$this->rootDir = getenv('WALLABAG_DATA')" - ''; # exposes $WALLABAG_DATA + ''; installPhase = '' mkdir $out/ @@ -31,11 +29,12 @@ stdenv.mkDerivation rec { longDescription = '' wallabag is a self hostable application for saving web pages. - To use, point the environment variable $WALLABAG_DATA to a directory called `app` that contains the folder `config` with wallabag's configuration files. These need to be updated every package upgrade. In `app`'s parent folder, a directory called `var` containing wallabag's data will be created. + Point the environment variable $WALLABAG_DATA to a data directory that contains the folder `app/config` which must be a clone of wallabag's configuration files with your customized `parameters.yml`. These need to be updated every package upgrade. After a package upgrade, empty the `var/cache` folder. ''; license = licenses.mit; homepage = http://wallabag.org; + maintainers = with maintainers; [ schneefux ]; platforms = platforms.all; }; } diff --git a/pkgs/servers/web-apps/wallabag/wallabag-data.patch b/pkgs/servers/web-apps/wallabag/wallabag-data.patch new file mode 100644 index 00000000000..086e9395980 --- /dev/null +++ b/pkgs/servers/web-apps/wallabag/wallabag-data.patch @@ -0,0 +1,26 @@ +diff --git a/app/AppKernel.php b/app/AppKernel.php +index 40726f05..7d44e600 100644 +--- a/app/AppKernel.php ++++ b/app/AppKernel.php +@@ -58,14 +58,19 @@ class AppKernel extends Kernel + return $bundles; + } + ++ public function getProjectDir() ++ { ++ return getenv('WALLABAG_DATA') ?: dirname(__DIR__); ++ } ++ + public function getCacheDir() + { +- return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment(); ++ return $this->getProjectDir() . '/var/cache/' . $this->getEnvironment(); + } + + public function getLogDir() + { +- return dirname(__DIR__) . '/var/logs'; ++ return $this->getProjectDir() . '/var/logs'; + } + + public function registerContainerConfiguration(LoaderInterface $loader) From 9b9cb0a0385d941b4fd70f19541fd5db7b218103 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 15 Sep 2017 19:35:25 -0500 Subject: [PATCH 008/169] leo-editor: 5.5 -> 5.6, add docutils and use pyqt56 --- pkgs/applications/editors/leo-editor/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix index b05bbd053c1..924e662b808 100644 --- a/pkgs/applications/editors/leo-editor/default.nix +++ b/pkgs/applications/editors/leo-editor/default.nix @@ -1,20 +1,20 @@ -{ stdenv, python3Packages, fetchFromGitHub, makeWrapper, makeDesktopItem }: +{ stdenv, python3, fetchFromGitHub, makeWrapper, makeDesktopItem }: stdenv.mkDerivation rec { name = "leo-editor-${version}"; - version = "5.5"; + version = "5.6"; src = fetchFromGitHub { owner = "leo-editor"; repo = "leo-editor"; rev = version; - sha256 = "0crzljirzfiy9xn02ydd23clmd8bzdjxkyxdqsvdkgfy9j41b8hr"; + sha256 = "1k6q3gvaf05bi0mzkmmb1p6wrgxwri7ivn38p6f0m0wfd3f70x2j"; }; dontBuild = true; - nativeBuildInputs = [ makeWrapper python3Packages.python ]; - propagatedBuildInputs = with python3Packages; [ pyqt5 ]; + nativeBuildInputs = [ makeWrapper python3 ]; + propagatedBuildInputs = with python3.pkgs; [ pyqt56 docutils ]; desktopItem = makeDesktopItem rec { name = "leo-editor"; @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { mkdir -p $out/share/leo-editor mv * $out/share/leo-editor - makeWrapper ${python3Packages.python.interpreter} $out/bin/leo \ + makeWrapper ${python3.interpreter} $out/bin/leo \ --set PYTHONPATH "$PYTHONPATH:$out/share/leo-editor" \ --add-flags "-O $out/share/leo-editor/launchLeo.py" ''; From 480f04301aa786e4129688787cdc5a3a87582c5d Mon Sep 17 00:00:00 2001 From: Brian McKenna Date: Mon, 8 Jan 2018 12:35:29 +1100 Subject: [PATCH 009/169] SunVox: init at 1.9.3b --- pkgs/applications/audio/sunvox/default.nix | 48 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/applications/audio/sunvox/default.nix diff --git a/pkgs/applications/audio/sunvox/default.nix b/pkgs/applications/audio/sunvox/default.nix new file mode 100644 index 00000000000..ccbceddefd2 --- /dev/null +++ b/pkgs/applications/audio/sunvox/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, unzip, alsaLib, libX11, libXi, SDL2 }: + +let + libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc alsaLib libX11 libXi SDL2 ]; + arch = + if stdenv.isAarch64 + then "arm64" + else if stdenv.isArm + then "arm_armhf_raspberry_pi" + else if stdenv.is64bit + then "x86_64" + else "x86"; +in +stdenv.mkDerivation rec { + name = "SunVox-${version}"; + version = "1.9.3b"; + + src = fetchurl { + url = "http://www.warmplace.ru/soft/sunvox/sunvox-${version}.zip"; + sha256 = "0k74rcq7niw4p17vj3zp9lpgi932896dmzqv4ln43g0pz7l18c8b"; + }; + + buildInputs = [ unzip ]; + + unpackPhase = "unzip $src"; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share $out/bin + mv sunvox $out/share/ + + bin="$out/share/sunvox/sunvox/linux_${arch}/sunvox" + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + "$bin" + + ln -s "$bin" $out/bin/sunvox + ''; + + meta = with stdenv.lib; { + description = "Small, fast and powerful modular synthesizer with pattern-based sequencer"; + license = licenses.unfreeRedistributable; + homepage = "http://www.warmplace.ru/soft/sunvox/"; + maintainers = with maintainers; [ puffnfresh ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3008f2975ea..431a5e78d79 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17054,6 +17054,8 @@ with pkgs; surf = callPackage ../applications/networking/browsers/surf { gtk = gtk2; }; + sunvox = callPackage ../applications/audio/sunvox { }; + swh_lv2 = callPackage ../applications/audio/swh-lv2 { }; sylpheed = callPackage ../applications/networking/mailreaders/sylpheed { }; From 3e952780ebeb65c5e4101c8e25983d817b78acc8 Mon Sep 17 00:00:00 2001 From: Ruben Maher Date: Sat, 13 Jan 2018 20:25:35 +1030 Subject: [PATCH 010/169] nextcloud-client: fix icon name in desktop file The desktop file bundled with nextcloud calls the icon `nextcloud`, but the icons are named `Nextcloud` and so desktop environments won't find it. --- pkgs/applications/networking/nextcloud-client/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix index 652de194a5e..3cbc03e8d73 100644 --- a/pkgs/applications/networking/nextcloud-client/default.nix +++ b/pkgs/applications/networking/nextcloud-client/default.nix @@ -36,7 +36,10 @@ stdenv.mkDerivation rec { "-DINOTIFY_INCLUDE_DIR=${inotify-tools}/include" ]; - postInstall = stdenv.lib.optionalString (withGnomeKeyring) '' + postInstall = '' + sed -i 's/\(Icon.*\)=nextcloud/\1=Nextcloud/g' \ + $out/share/applications/nextcloud.desktop + '' + stdenv.lib.optionalString (withGnomeKeyring) '' wrapProgram "$out/bin/nextcloud" \ --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libgnome_keyring ]} ''; From bd0d9343ec87dae16c5b83b800de6a80e565581f Mon Sep 17 00:00:00 2001 From: Roman Kuznetsov Date: Tue, 16 Jan 2018 17:08:34 +0100 Subject: [PATCH 011/169] kubernetes: 1.7.9 -> 1.9.1 --- pkgs/applications/networking/cluster/kubecfg/default.nix | 4 ++-- pkgs/applications/networking/cluster/kubernetes/default.nix | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix index 7f17bd57c19..73a28325f52 100644 --- a/pkgs/applications/networking/cluster/kubecfg/default.nix +++ b/pkgs/applications/networking/cluster/kubecfg/default.nix @@ -1,6 +1,6 @@ { lib, buildGoPackage, fetchFromGitHub, ... }: -let version = "0.5.0"; in +let version = "0.6.0"; in buildGoPackage { name = "kubecfg-${version}"; @@ -9,7 +9,7 @@ buildGoPackage { owner = "ksonnet"; repo = "kubecfg"; rev = "v${version}"; - sha256 = "1s8w133p8qkj3dr73jimajm9ddp678lw9k9symj8rjw5p35igr93"; + sha256 = "12kv1p707kdxjx5l8rcikd1gjwp5xjxdmmyvlpnvyagrphgrwpsf"; }; goPackagePath = "github.com/ksonnet/kubecfg"; diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index e8686ade590..e2f431e2a5e 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -8,8 +8,6 @@ "cmd/kube-controller-manager" "cmd/kube-proxy" "plugin/cmd/kube-scheduler" - "federation/cmd/federation-apiserver" - "federation/cmd/federation-controller-manager" "test/e2e/e2e.test" ] }: @@ -18,13 +16,13 @@ with lib; stdenv.mkDerivation rec { name = "kubernetes-${version}"; - version = "1.7.9"; + version = "1.9.1"; src = fetchFromGitHub { owner = "kubernetes"; repo = "kubernetes"; rev = "v${version}"; - sha256 = "0lxagvv8mysw6n0vp5vsccl87b628dgsjrf298dx2dqx7wn7zjgi"; + sha256 = "1dmq2g138h7fsswmq4l47b44gsl9anmm3ywqyi7y48f1rkvc11mk"; }; buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ]; From f63604a598e9720ba82ee10686773a56e2f33d7d Mon Sep 17 00:00:00 2001 From: Roman Kuznetsov Date: Wed, 17 Jan 2018 09:01:32 +0100 Subject: [PATCH 012/169] kubernetes-dashboard (module): 1.6.3 -> 1.8.2 --- nixos/modules/services/cluster/kubernetes/dashboard.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/cluster/kubernetes/dashboard.nix b/nixos/modules/services/cluster/kubernetes/dashboard.nix index 75d71fccfda..e331889b9dd 100644 --- a/nixos/modules/services/cluster/kubernetes/dashboard.nix +++ b/nixos/modules/services/cluster/kubernetes/dashboard.nix @@ -6,12 +6,12 @@ let cfg = config.services.kubernetes.addons.dashboard; name = "gcr.io/google_containers/kubernetes-dashboard-amd64"; - version = "v1.6.3"; + version = "v1.8.2"; image = pkgs.dockerTools.pullImage { imageName = name; imageTag = version; - sha256 = "1sf54d96nkgic9hir9c6p14gw24ns1k5d5a0r1sg414kjrvic0b4"; + sha256 = "11h0fz3wxp0f10fsyqaxjm7l2qg7xws50dv5iwlck5gb1fjmajad"; }; in { options.services.kubernetes.addons.dashboard = { From 413cb93e127b845323780f41848cbd502e808917 Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Wed, 10 Jan 2018 16:04:27 +0000 Subject: [PATCH 013/169] google-chrome: add dependency on kerberos Without this, Chrome doesn't work with websites requiring Kerberos authentication. --- pkgs/applications/networking/browsers/google-chrome/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index b868c434e23..130c5047836 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -5,6 +5,7 @@ , libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb , alsaLib, libXdamage, libXtst, libXrandr, expat, cups , dbus_libs, gtk2, gtk3, gdk_pixbuf, gcc-unwrapped, at_spi2_atk +, kerberos # command line arguments which are always set e.g "--disable-gpu" , commandLineArgs ? "" @@ -58,6 +59,7 @@ let liberation_ttf curl utillinux xdg_utils wget flac harfbuzz icu libpng opusWithCustomModes snappy speechd bzip2 libcap at_spi2_atk + kerberos ] ++ optional pulseSupport libpulseaudio ++ [ gtk ]; From 75068a67702f734f254c1f2ebf6e04c86e8a07d0 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 31 Jan 2018 05:46:52 +0900 Subject: [PATCH 014/169] psol, ngx_pagespeed: 1.13.35.1 -> 1.13.35.2 --- pkgs/development/libraries/psol/default.nix | 4 ++-- pkgs/servers/http/nginx/modules.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/psol/default.nix b/pkgs/development/libraries/psol/default.nix index dd6037e6832..263473b8626 100644 --- a/pkgs/development/libraries/psol/default.nix +++ b/pkgs/development/libraries/psol/default.nix @@ -1,5 +1,5 @@ { callPackage }: callPackage ./generic.nix {} { - version = "1.13.35.1"; # Latest beta, 2017-11-08 - sha256 = "126823gpr3rdqakwixmr887rbvwhksr3xg14jnyzlp84q4hg1p0n"; + version = "1.13.35.2"; # Latest beta, 2018-01-11 + sha256 = "1z8m0qgvk5gqj37p4kps3y4h7jwaqk0rw0y513nlsb163z4b05f5"; } diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix index 36d0ea6b1e8..4b4818b1f65 100644 --- a/pkgs/servers/http/nginx/modules.nix +++ b/pkgs/servers/http/nginx/modules.nix @@ -153,7 +153,7 @@ owner = "pagespeed"; repo = "ngx_pagespeed"; rev = "v${version}-beta"; - sha256 = "176skx7zmi7islc1hmdxcynix4lkvgmr78lknn13s9gskc7qi25w"; + sha256 = "0ry7vmkb2bx0sspl1kgjlrzzz6lbz07313ks2lr80rrdm2zb16wp"; }; ngx_pagespeed = pkgs.runCommand From 5877cfb9cea394f0fc703a8f77de4fd0accc5563 Mon Sep 17 00:00:00 2001 From: Brian McKenna Date: Wed, 31 Jan 2018 22:29:02 +1100 Subject: [PATCH 015/169] lambdabot: add Hoogle --- pkgs/development/tools/haskell/lambdabot/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/tools/haskell/lambdabot/default.nix b/pkgs/development/tools/haskell/lambdabot/default.nix index 7282fb4970e..edf967f7d11 100644 --- a/pkgs/development/tools/haskell/lambdabot/default.nix +++ b/pkgs/development/tools/haskell/lambdabot/default.nix @@ -7,15 +7,13 @@ , configuration ? "[]" }: -# FIXME: fix hoogle search - let allPkgs = pkgs: mueval.defaultPkgs pkgs ++ [ pkgs.lambdabot-trusted ] ++ packages pkgs; mueval' = mueval.override { inherit haskellPackages; packages = allPkgs; }; bins = lib.makeBinPath ([ mueval' - (haskellPackages.ghcWithPackages allPkgs) + (haskellPackages.ghcWithHoogle allPkgs) haskellPackages.unlambda haskellPackages.brainfuck ] From e565dd8f2c7ec453ea8bb0bb2cba3a46b33605a9 Mon Sep 17 00:00:00 2001 From: Guillaume Maudoux Date: Wed, 31 Jan 2018 13:49:12 +0100 Subject: [PATCH 016/169] dafny: 1.9.8 -> 2.1.0 --- pkgs/top-level/dotnet-packages.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix index 1a37d58c70d..43182b3f2aa 100644 --- a/pkgs/top-level/dotnet-packages.nix +++ b/pkgs/top-level/dotnet-packages.nix @@ -331,13 +331,20 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; { Dafny = buildDotnetPackage rec { baseName = "Dafny"; - version = "1.9.8"; + version = "2.1.0"; src = fetchurl { url = "https://github.com/Microsoft/dafny/archive/v${version}.tar.gz"; - sha256 = "0n4pk4cv7d2zsn4xmyjlxvpfl9avq79r06c7kzmrng24p3k4qj6s"; + sha256 = "1iyhy0zpi6wvqif7826anzgdipgsy5bk775ds9qqwfw27j7x6fy5"; }; + postPatch = '' + sed -i \ + -e 's/ Visible="False"//' \ + -e "s/Exists(\$(CodeContractsInstallDir))/Exists('\$(CodeContractsInstallDir)')/" \ + Source/*/*.csproj + ''; + preBuild = '' ln -s ${pkgs.z3} Binaries/z3 ''; @@ -345,7 +352,7 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; { buildInputs = [ Boogie ]; xBuildFiles = [ "Source/Dafny.sln" ]; - xBuildFlags = [ ]; + xBuildFlags = [ "/p:Configuration=Checked" "/p:Platform=Any CPU" "/t:Rebuild" ]; outputFiles = [ "Binaries/*" ]; From 1fec496f384c53df39684035bafb482865d3eff8 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Thu, 1 Feb 2018 12:13:17 +0100 Subject: [PATCH 017/169] nixos/networking-interfaces: add preferTempAddress option --- nixos/modules/system/boot/networkd.nix | 3 ++- .../tasks/network-interfaces-systemd.nix | 1 + nixos/modules/tasks/network-interfaces.nix | 22 ++++++++++++++++--- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index 9d2cea3ad16..23b725aaa35 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -94,7 +94,7 @@ let checkNetwork = checkUnitConfig "Network" [ (assertOnlyFields [ "Description" "DHCP" "DHCPServer" "IPForward" "IPMasquerade" "IPv4LL" "IPv4LLRoute" - "LLMNR" "MulticastDNS" "Domains" "Bridge" "Bond" + "LLMNR" "MulticastDNS" "Domains" "Bridge" "Bond" "IPv6PrivacyExtensions" ]) (assertValueOneOf "DHCP" ["both" "none" "v4" "v6"]) (assertValueOneOf "DHCPServer" boolValues) @@ -104,6 +104,7 @@ let (assertValueOneOf "IPv4LLRoute" boolValues) (assertValueOneOf "LLMNR" boolValues) (assertValueOneOf "MulticastDNS" boolValues) + (assertValueOneOf "IPv6PrivacyExtensions" ["yes" "no" "prefer-public" "kernel"]) ]; checkAddress = checkUnitConfig "Address" [ diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix index 5d72ad0f1bd..be7f52a76de 100644 --- a/nixos/modules/tasks/network-interfaces-systemd.nix +++ b/nixos/modules/tasks/network-interfaces-systemd.nix @@ -91,6 +91,7 @@ in (if i.useDHCP != null then i.useDHCP else cfg.useDHCP && interfaceIps i == [ ])); address = flip map (interfaceIps i) (ip: "${ip.address}/${toString ip.prefixLength}"); + networkConfig.IPv6PrivacyExtensions = "kernel"; } ]; }))) (mkMerge (flip mapAttrsToList cfg.bridges (name: bridge: { diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index f4851988d63..f80c5045c07 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -155,6 +155,16 @@ let description = "Name of the interface."; }; + preferTempAddress = mkOption { + type = types.bool; + default = cfg.enableIPv6; + defaultText = literalExample "config.networking.enableIpv6"; + description = '' + When using SLAAC prefer a temporary (IPv6) address over the EUI-64 + address for originating connections. This is used to reduce tracking. + ''; + }; + useDHCP = mkOption { type = types.nullOr types.bool; default = null; @@ -941,6 +951,11 @@ in message = '' The networking.interfaces."${i.name}" must not have any defined ips when it is a slave. ''; + })) ++ (flip map interfaces (i: { + assertion = i.preferTempAddress -> cfg.enableIPv6; + message = '' + Temporary addresses are only needed when IPv6 is enabled. + ''; })) ++ [ { assertion = cfg.hostId == null || (stringLength cfg.hostId == 8 && isHexString cfg.hostId); @@ -963,9 +978,10 @@ in "net.ipv6.conf.all.disable_ipv6" = mkDefault (!cfg.enableIPv6); "net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6); "net.ipv6.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces); - } // listToAttrs (concatLists (flip map (filter (i: i.proxyARP) interfaces) - (i: flip map [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true)) - )); + } // listToAttrs (flip concatMap (filter (i: i.proxyARP) interfaces) + (i: flip map [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${i.name}.proxy_arp" true))) + // listToAttrs (flip map (filter (i: i.preferTempAddress) interfaces) + (i: nameValuePair "net.ipv6.conf.${i.name}.use_tempaddr" 2)); # Capabilities won't work unless we have at-least a 4.3 Linux # kernel because we need the ambient capability From 4050c30da2e0ec42123c381be1312b8d0b2cc118 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Thu, 1 Feb 2018 15:50:35 +0100 Subject: [PATCH 018/169] nixos/tests: add test for temporary IPv6 addresses --- nixos/tests/networking.nix | 57 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix index 182328b3296..fa3dc053872 100644 --- a/nixos/tests/networking.nix +++ b/nixos/tests/networking.nix @@ -476,6 +476,63 @@ let ); ''; }; + privacy = { + name = "Privacy"; + nodes.router = { config, pkgs, ... }: { + virtualisation.vlans = [ 1 ]; + boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true; + networking = { + useNetworkd = networkd; + interfaces.eth1 = { + ipv6Address = "fd00:1234:5678:1::1"; + ipv6PrefixLength = 64; + }; + }; + services.radvd = { + enable = true; + config = '' + interface eth1 { + AdvSendAdvert on; + AdvManagedFlag on; + AdvOtherConfigFlag on; + + prefix fd00:1234:5678:1::/64 { + AdvAutonomous on; + AdvOnLink on; + }; + }; + ''; + }; + }; + nodes.client = { config, pkgs, ... }: with pkgs.lib; { + virtualisation.vlans = [ 1 ]; + networking = { + useNetworkd = networkd; + useDHCP = true; + interfaces.eth1 = { + preferTempAddress = true; + ip4 = mkOverride 0 [ ]; + ip6 = mkOverride 0 [ ]; + }; + }; + }; + testScript = { nodes, ... }: + '' + startAll; + + $client->waitForUnit("network.target"); + $router->waitForUnit("network-online.target"); + + # Wait until we have an ip address + $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'"); + + # Test vlan 1 + $client->waitUntilSucceeds("ping -c 1 fd00:1234:5678:1::1"); + + # Test address used is temporary + $client->succeed("! ip route get fd00:1234:5678:1::1 | grep -q ':[a-f0-9]*ff:fe[a-f0-9]*:'"); + ''; + }; }; in mapAttrs (const (attrs: makeTest (attrs // { From bf58890a5ae74ed64983f15f61e6aa8e7ccbe515 Mon Sep 17 00:00:00 2001 From: Sarah Brofeldt Date: Sun, 4 Feb 2018 21:23:36 +0100 Subject: [PATCH 019/169] nixos/k8s: Enable Node authorizer and NodeRestriction by default --- nixos/modules/services/cluster/kubernetes/default.nix | 6 +++--- nixos/tests/kubernetes/base.nix | 2 +- nixos/tests/kubernetes/certs.nix | 11 ++++++----- nixos/tests/kubernetes/dns.nix | 2 +- nixos/tests/kubernetes/kubernetes-common.nix | 4 ++-- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix index 077953e4d4f..4a2c6f0833e 100644 --- a/nixos/modules/services/cluster/kubernetes/default.nix +++ b/nixos/modules/services/cluster/kubernetes/default.nix @@ -301,8 +301,8 @@ in { Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC/RBAC). See ''; - default = ["RBAC"]; - type = types.listOf (types.enum ["AlwaysAllow" "AlwaysDeny" "ABAC" "RBAC"]); + default = ["RBAC" "Node"]; + type = types.listOf (types.enum ["AlwaysAllow" "AlwaysDeny" "ABAC" "RBAC" "Node"]); }; authorizationPolicy = mkOption { @@ -344,7 +344,7 @@ in { Kubernetes admission control plugins to use. See ''; - default = ["NamespaceLifecycle" "LimitRanger" "ServiceAccount" "ResourceQuota" "DefaultStorageClass" "DefaultTolerationSeconds"]; + default = ["NamespaceLifecycle" "LimitRanger" "ServiceAccount" "ResourceQuota" "DefaultStorageClass" "DefaultTolerationSeconds" "NodeRestriction"]; example = [ "NamespaceLifecycle" "NamespaceExists" "LimitRanger" "SecurityContextDeny" "ServiceAccount" "ResourceQuota" diff --git a/nixos/tests/kubernetes/base.nix b/nixos/tests/kubernetes/base.nix index acf2e025081..282391a496c 100644 --- a/nixos/tests/kubernetes/base.nix +++ b/nixos/tests/kubernetes/base.nix @@ -8,7 +8,7 @@ let mkKubernetesBaseTest = { name, domain ? "my.zyx", test, machines , pkgs ? import { inherit system; } - , certs ? import ./certs.nix { inherit pkgs; externalDomain = domain; } + , certs ? import ./certs.nix { inherit pkgs; externalDomain = domain; kubelets = attrNames machines; } , extraConfiguration ? null }: let masterName = head (filter (machineName: any (role: role == "master") machines.${machineName}.roles) (attrNames machines)); diff --git a/nixos/tests/kubernetes/certs.nix b/nixos/tests/kubernetes/certs.nix index f108e35b98c..d3eff910c46 100644 --- a/nixos/tests/kubernetes/certs.nix +++ b/nixos/tests/kubernetes/certs.nix @@ -2,7 +2,8 @@ pkgs ? import {}, internalDomain ? "cloud.yourdomain.net", externalDomain ? "myawesomecluster.cluster.yourdomain.net", - serviceClusterIp ? "10.0.0.1" + serviceClusterIp ? "10.0.0.1", + kubelets }: let runWithCFSSL = name: cmd: @@ -123,9 +124,10 @@ let }; apiserver-client = { - kubelet = createClientCertKey { + kubelet = hostname: createClientCertKey { inherit ca; - cn = "apiserver-client-kubelet"; + name = "apiserver-client-kubelet-${hostname}"; + cn = "system:node:${hostname}.${externalDomain}"; groups = ["system:nodes"]; }; @@ -175,10 +177,9 @@ in { paths = [ (writeCFSSL (noKey ca)) (writeCFSSL kubelet) - (writeCFSSL apiserver-client.kubelet) (writeCFSSL apiserver-client.kube-proxy) (writeCFSSL etcd-client) - ]; + ] ++ map (hostname: writeCFSSL (apiserver-client.kubelet hostname)) kubelets; }; admin = writeCFSSL apiserver-client.admin; diff --git a/nixos/tests/kubernetes/dns.nix b/nixos/tests/kubernetes/dns.nix index 74d98dabec8..8c488d271bc 100644 --- a/nixos/tests/kubernetes/dns.nix +++ b/nixos/tests/kubernetes/dns.nix @@ -3,7 +3,7 @@ with import ./base.nix { inherit system; }; let domain = "my.zyx"; - certs = import ./certs.nix { externalDomain = domain; }; + certs = import ./certs.nix { externalDomain = domain; kubelets = [ "machine1" "machine2" ]; }; redisPod = pkgs.writeText "redis-pod.json" (builtins.toJSON { kind = "Pod"; diff --git a/nixos/tests/kubernetes/kubernetes-common.nix b/nixos/tests/kubernetes/kubernetes-common.nix index 00a5c9aba4e..ddf427e1b01 100644 --- a/nixos/tests/kubernetes/kubernetes-common.nix +++ b/nixos/tests/kubernetes/kubernetes-common.nix @@ -29,8 +29,8 @@ let tlsKeyFile = "${certs.worker}/kubelet-key.pem"; hostname = "${config.networking.hostName}.${config.networking.domain}"; kubeconfig = { - certFile = "${certs.worker}/apiserver-client-kubelet.pem"; - keyFile = "${certs.worker}/apiserver-client-kubelet-key.pem"; + certFile = "${certs.worker}/apiserver-client-kubelet-${config.networking.hostName}.pem"; + keyFile = "${certs.worker}/apiserver-client-kubelet-${config.networking.hostName}-key.pem"; }; }; controllerManager = { From 8d55538f973813c8db45e9434bc7f742290a1fd0 Mon Sep 17 00:00:00 2001 From: Matthew Pickering Date: Sat, 3 Feb 2018 10:12:43 +0000 Subject: [PATCH 020/169] Revert "idris: Move library setup to the setup hook." This reverts commit 69d4adee1f8b6278a19708a9051f3290f8f13e04. --- .../idris-modules/build-idris-package.nix | 27 ++++++++++++++++--- .../idris-modules/idris-wrapper.nix | 3 --- pkgs/development/idris-modules/setup-hook.sh | 16 ----------- 3 files changed, 23 insertions(+), 23 deletions(-) delete mode 100644 pkgs/development/idris-modules/setup-hook.sh diff --git a/pkgs/development/idris-modules/build-idris-package.nix b/pkgs/development/idris-modules/build-idris-package.nix index 0048634f5b4..66eddd0e360 100644 --- a/pkgs/development/idris-modules/build-idris-package.nix +++ b/pkgs/development/idris-modules/build-idris-package.nix @@ -3,21 +3,40 @@ # args: Additional arguments to pass to mkDerivation. Generally should include at least # name and src. { stdenv, idris, gmp }: args: stdenv.mkDerivation ({ + preHook = '' + # Library import path + export IDRIS_LIBRARY_PATH=$PWD/idris-libs + mkdir -p $IDRIS_LIBRARY_PATH + + # Library install path + export IBCSUBDIR=$out/lib/${idris.name} + mkdir -p $IBCSUBDIR + + addIdrisLibs () { + if [ -d $1/lib/${idris.name} ]; then + ln -sv $1/lib/${idris.name}/* $IDRIS_LIBRARY_PATH + fi + } + + # All run-time deps + addEnvHooks 0 addIdrisLibs + ''; + buildPhase = '' - idris --build *.ipkg + ${idris}/bin/idris --build *.ipkg ''; doCheck = true; checkPhase = '' if grep -q test *.ipkg; then - idris --testpkg *.ipkg + ${idris}/bin/idris --testpkg *.ipkg fi ''; installPhase = '' - idris --install *.ipkg --ibcsubdir $IBCSUBDIR + ${idris}/bin/idris --install *.ipkg --ibcsubdir $IBCSUBDIR ''; - buildInputs = [ gmp idris ]; + buildInputs = [ gmp ]; } // args) diff --git a/pkgs/development/idris-modules/idris-wrapper.nix b/pkgs/development/idris-modules/idris-wrapper.nix index 155098a4625..fcd02c4da24 100644 --- a/pkgs/development/idris-modules/idris-wrapper.nix +++ b/pkgs/development/idris-modules/idris-wrapper.nix @@ -10,8 +10,5 @@ symlinkJoin { wrapProgram $out/bin/idris \ --suffix PATH : ${ stdenv.lib.makeBinPath path } \ --suffix LIBRARY_PATH : ${stdenv.lib.makeLibraryPath lib} - - mkdir -p $out/nix-support - substituteAll ${./setup-hook.sh} $out/nix-support/setup-hook ''; } diff --git a/pkgs/development/idris-modules/setup-hook.sh b/pkgs/development/idris-modules/setup-hook.sh deleted file mode 100644 index 30a487ea80d..00000000000 --- a/pkgs/development/idris-modules/setup-hook.sh +++ /dev/null @@ -1,16 +0,0 @@ -# Library import path -export IDRIS_LIBRARY_PATH=$PWD/idris-libs -mkdir -p $IDRIS_LIBRARY_PATH - -# Library install path -export IBCSUBDIR=$out/lib/@name@ -mkdir -p $IBCSUBDIR - -addIdrisLibs () { - if [ -d $1/lib/@name@ ]; then - ln -sv $1/lib/@name@/* $IDRIS_LIBRARY_PATH - fi -} - -# All run-time deps -addEnvHooks 1 addIdrisLibs From 947e7d80b41d9dea1739c23bf512f26d1c30703b Mon Sep 17 00:00:00 2001 From: Matthew Pickering Date: Mon, 6 Nov 2017 18:18:59 +0000 Subject: [PATCH 021/169] Refactor Idris packaging infrastructure The main two changes are 1. Completely rewrite how with-packages works to remove use of envHooks 2. The package description is now an idris specific set rather than being a subset of the arguments to mkDerivation. This mirrors the way Haskell packages are treated. --- .../idris-modules/build-builtin-package.nix | 12 ++--- .../idris-modules/build-idris-package.nix | 54 ++++++++++--------- pkgs/development/idris-modules/default.nix | 31 ++++++++--- pkgs/development/idris-modules/httpclient.nix | 14 +++-- pkgs/development/idris-modules/lightyear.nix | 9 ++-- pkgs/development/idris-modules/specdris.nix | 20 ++----- .../idris-modules/with-packages.nix | 48 ++++------------- pkgs/development/idris-modules/wl-pprint.nix | 5 +- 8 files changed, 90 insertions(+), 103 deletions(-) diff --git a/pkgs/development/idris-modules/build-builtin-package.nix b/pkgs/development/idris-modules/build-builtin-package.nix index 6de3f8b1666..44efa97a531 100644 --- a/pkgs/development/idris-modules/build-builtin-package.nix +++ b/pkgs/development/idris-modules/build-builtin-package.nix @@ -1,4 +1,4 @@ -# Build one of the packages that come with idris +# Build one of the packages that comes with idris # name: The name of the package # deps: The dependencies of the package { idris, build-idris-package, lib }: name: deps: @@ -6,20 +6,16 @@ let inherit (builtins.parseDrvName idris.name) version; in build-idris-package { - name = "${name}-${version}"; - - propagatedBuildInputs = deps; + inherit name version; inherit (idris) src; + idrisDeps = deps; + postUnpack = '' sourceRoot=$sourceRoot/libs/${name} ''; - postPatch = '' - sed -i ${name}.ipkg -e "/^opts/ s|-i \\.\\./|-i $IDRIS_LIBRARY_PATH/|g" - ''; - meta = idris.meta // { description = "${name} builtin Idris library"; }; diff --git a/pkgs/development/idris-modules/build-idris-package.nix b/pkgs/development/idris-modules/build-idris-package.nix index 66eddd0e360..0416e76afa9 100644 --- a/pkgs/development/idris-modules/build-idris-package.nix +++ b/pkgs/development/idris-modules/build-idris-package.nix @@ -1,42 +1,46 @@ # Build an idris package -# -# args: Additional arguments to pass to mkDerivation. Generally should include at least -# name and src. -{ stdenv, idris, gmp }: args: stdenv.mkDerivation ({ - preHook = '' - # Library import path - export IDRIS_LIBRARY_PATH=$PWD/idris-libs - mkdir -p $IDRIS_LIBRARY_PATH +{ stdenv, idrisPackages, gmp }: + { idrisDeps ? [] + , name + , version + , src + , meta + , extraBuildInputs ? [] + , postUnpack ? "" + , doCheck ? true + }: +let + idris-with-packages = idrisPackages.with-packages idrisDeps; +in +stdenv.mkDerivation ({ - # Library install path - export IBCSUBDIR=$out/lib/${idris.name} - mkdir -p $IBCSUBDIR + name = "${name}-${version}"; - addIdrisLibs () { - if [ -d $1/lib/${idris.name} ]; then - ln -sv $1/lib/${idris.name}/* $IDRIS_LIBRARY_PATH - fi - } + inherit postUnpack src doCheck meta; - # All run-time deps - addEnvHooks 0 addIdrisLibs + + # Some packages use the style + # opts = -i ../../path/to/package + # rather than the declarative pkgs attribute so we have to rewrite the path. + postPatch = '' + sed -i *.ipkg -e "/^opts/ s|-i \\.\\./|-i ${idris-with-packages}/libs/|g" ''; buildPhase = '' - ${idris}/bin/idris --build *.ipkg + ${idris-with-packages}/bin/idris --build *.ipkg ''; - doCheck = true; - checkPhase = '' if grep -q test *.ipkg; then - ${idris}/bin/idris --testpkg *.ipkg + ${idris-with-packages}/bin/idris --testpkg *.ipkg fi ''; installPhase = '' - ${idris}/bin/idris --install *.ipkg --ibcsubdir $IBCSUBDIR + ${idris-with-packages}/bin/idris --install *.ipkg --ibcsubdir $out/libs ''; - buildInputs = [ gmp ]; -} // args) + buildInputs = [ gmp ] ++ extraBuildInputs; + + propagatedBuildInputs = idrisDeps; +}) diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix index 16f6c65b094..35ee20e9622 100644 --- a/pkgs/development/idris-modules/default.nix +++ b/pkgs/development/idris-modules/default.nix @@ -25,14 +25,8 @@ pruviloj = [ self.prelude self.base ]; }; - files = builtins.filter (n: n != "default") (pkgs.lib.mapAttrsToList (name: type: let - m = builtins.match "(.*)\\.nix" name; - in if m == null then "default" else builtins.head m) (builtins.readDir ./.)); - in (builtins.listToAttrs (map (name: { - inherit name; - - value = callPackage (./. + "/${name}.nix") {}; - }) files)) // { + in + { inherit idris-no-deps callPackage; # See #10450 about why we have to wrap the executable idris = @@ -40,7 +34,28 @@ idris-no-deps { path = [ pkgs.gcc ]; lib = [pkgs.gmp]; }; + + with-packages = callPackage ./with-packages.nix {} ; + + build-builtin-package = callPackage ./build-builtin-package.nix {}; + + build-idris-package = callPackage ./build-idris-package.nix {}; + + # Libraries + # A list of all of the libraries that come with idris builtins = pkgs.lib.mapAttrsToList (name: value: value) builtins_; + + httpclient = callPackage ./httpclient.nix {}; + + lightyear = callPackage ./lightyear.nix {}; + + optparse = callPackage ./optparse.nix {}; + + wl-pprint = callPackage ./wl-pprint.nix {}; + + specdris = callPackage ./specdris.nix {}; + + } // builtins_; in fix' (extends overrides idrisPackages) diff --git a/pkgs/development/idris-modules/httpclient.nix b/pkgs/development/idris-modules/httpclient.nix index ec41956b963..13c33d04da5 100644 --- a/pkgs/development/idris-modules/httpclient.nix +++ b/pkgs/development/idris-modules/httpclient.nix @@ -1,17 +1,20 @@ -{ pkgs +{ curl , build-idris-package , fetchFromGitHub , lightyear , contrib +, effects +, prelude +, base , lib , idris }: let - date = "2016-12-20"; in build-idris-package { - name = "httpclient-${date}"; + name = "httpclient"; + version = "2016-12-20"; src = fetchFromGitHub { owner = "justjoheinz"; @@ -20,11 +23,14 @@ build-idris-package { sha256 = "0sy0q7gri9lwbqdmx9720pby3w1470w7wzn62bf2rir532219hhl"; }; - propagatedBuildInputs = [ pkgs.curl lightyear contrib ]; + idrisDeps = [ prelude base effects lightyear contrib ]; + + extraBuildInputs = [ curl ]; meta = { description = "HTTP Client for Idris"; homepage = https://github.com/justjoheinz/idris-httpclient; inherit (idris.meta) platforms; + broken = true; }; } diff --git a/pkgs/development/idris-modules/lightyear.nix b/pkgs/development/idris-modules/lightyear.nix index 27828e6f41f..e217e76e2a7 100644 --- a/pkgs/development/idris-modules/lightyear.nix +++ b/pkgs/development/idris-modules/lightyear.nix @@ -10,8 +10,11 @@ let date = "2017-09-10"; in -build-idris-package { - name = "lightyear-${date}"; +build-idris-package { + name = "lightyear"; + version = date; + + idrisDeps = [ prelude base effects ]; src = fetchFromGitHub { owner = "ziman"; @@ -20,8 +23,6 @@ build-idris-package { sha256 = "05x66abhpbdm6yr0afbwfk6w04ysdk78gylj5alhgwhy4jqakv29"; }; - propagatedBuildInputs = [ prelude base effects ]; - meta = { description = "Parser combinators for Idris"; homepage = https://github.com/ziman/lightyear; diff --git a/pkgs/development/idris-modules/specdris.nix b/pkgs/development/idris-modules/specdris.nix index e6ca49aa489..e20af375237 100644 --- a/pkgs/development/idris-modules/specdris.nix +++ b/pkgs/development/idris-modules/specdris.nix @@ -11,7 +11,8 @@ let date = "2017-11-11"; in build-idris-package { - name = "specdris-${date}"; + name = "specdris"; + version = date; src = fetchgit { url = "https://github.com/pheymann/specdris"; @@ -19,21 +20,10 @@ build-idris-package { sha256 = "4813c4be1d4c3dd1dad35964b085f83cf9fb44b16824257c72b468d4bafd0e4f"; }; - propagatedBuildInputs = [ prelude base effects ]; + idrisDeps = [ prelude base effects idris ]; - buildPhase = '' - ${idris}/bin/idris --build specdris.ipkg - ''; - - checkPhase = '' - cd test/ - ${idris}/bin/idris --testpkg test.ipkg - cd ../ - ''; - - installPhase = '' - ${idris}/bin/idris --install specdris.ipkg --ibcsubdir $IBCSUBDIR - ''; + # The tests attribute is very strange as the tests are a different ipkg + doCheck = false; meta = { description = "A testing library for Idris"; diff --git a/pkgs/development/idris-modules/with-packages.nix b/pkgs/development/idris-modules/with-packages.nix index d4638670f69..1631555eee4 100644 --- a/pkgs/development/idris-modules/with-packages.nix +++ b/pkgs/development/idris-modules/with-packages.nix @@ -1,46 +1,20 @@ # Build a version of idris with a set of packages visible # packages: The packages visible to idris -{ stdenv, idris }: packages: stdenv.mkDerivation { - inherit (idris) name; +{ stdenv, idris, symlinkJoin, makeWrapper }: packages: - buildInputs = packages; +let paths = stdenv.lib.closePropagation packages; +in +symlinkJoin { - preHook = '' - mkdir -p $out/lib/${idris.name} + name = idris.name + "-with-packages"; - installIdrisLib () { - if [ -d $1/lib/${idris.name} ]; then - ln -fsv $1/lib/${idris.name}/* $out/lib/${idris.name} - fi - } + paths = paths ++ [idris] ; - envHostTargetHooks+=(installIdrisLib) - ''; + buildInputs = [ makeWrapper ]; - unpackPhase = '' - cat >idris.c < - #include - #include + postBuild = '' + wrapProgram $out/bin/idris \ + --set IDRIS_LIBRARY_PATH $out/libs + ''; - int main (int argc, char ** argv) { - /* idris currently only supports a single library path, so respect it if the user set it */ - setenv("IDRIS_LIBRARY_PATH", "$out/lib/${idris.name}", 0); - execv("${idris}/bin/idris", argv); - perror("executing ${idris}/bin/idris"); - return 127; - } - EOF - ''; - - buildPhase = '' - $CC -O3 -o idris idris.c - ''; - - installPhase = '' - mkdir -p $out/bin - mv idris $out/bin - ''; - - stripAllList = [ "bin" ]; } diff --git a/pkgs/development/idris-modules/wl-pprint.nix b/pkgs/development/idris-modules/wl-pprint.nix index 12e9b28d81c..7e6d77a19a2 100644 --- a/pkgs/development/idris-modules/wl-pprint.nix +++ b/pkgs/development/idris-modules/wl-pprint.nix @@ -6,7 +6,8 @@ , idris }: build-idris-package { - name = "wl-pprint-2016-09-28"; + pkName = "wl-pprint"; + version = "2016-09-28"; src = fetchFromGitHub { owner = "shayan-najd"; @@ -19,7 +20,7 @@ build-idris-package { # updating this package again. doCheck = false; - propagatedBuildInputs = [ prelude base ]; + idrisDeps = [ prelude base ]; meta = { description = "Wadler-Leijen pretty-printing library"; From 27ec2df59eb0d69883f696b217994157f837cd3f Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Fri, 26 Jan 2018 21:42:20 +0900 Subject: [PATCH 022/169] cataclysm-dda{,-git}: clean up - Remove cmath include (introduced by 97c484a) since the current gcc/clang works fine without it. - Suppress known compiler warnings instead of removing -Werror flag. --- pkgs/games/cataclysm-dda/default.nix | 10 +++++----- pkgs/games/cataclysm-dda/git.nix | 5 ----- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index be6f3265430..541b174cc6a 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -22,11 +22,6 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs . - sed -i Makefile \ - -e 's,-Werror,,g' - - sed '1i#include ' \ - -i src/{crafting,skill,weather_data,melee,vehicle,overmap,iuse_actor}.cpp ''; makeFlags = [ @@ -35,6 +30,11 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals stdenv.isDarwin [ "NATIVE=osx CLANG=1" "OSX_MIN=10.6" # SDL for macOS only supports deploying on 10.6 and above + ] ++ stdenv.lib.optionals stdenv.cc.isGNU [ + "WARNINGS+=-Wno-deprecated-declarations" + "WARNINGS+=-Wno-ignored-attributes" + ] ++ stdenv.lib.optionals stdenv.cc.isClang [ + "WARNINGS+=-Wno-inconsistent-missing-override" ]; postBuild = stdenv.lib.optionalString stdenv.isDarwin '' diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index 3d8ec7d6844..ac2c1f9fdb1 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -21,11 +21,6 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs . - sed -i Makefile \ - -e 's,-Werror,,g' - - sed '1i#include ' \ - -i src/{crafting,skill,weather_data,melee,vehicle,overmap,iuse_actor}.cpp ''; makeFlags = [ From 18618fae96156dfb4c5b18c4cf7c4def6c0c169a Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Thu, 8 Feb 2018 13:47:11 +0900 Subject: [PATCH 023/169] cataclysm-dda: require ncurses5 --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22ce05089f8..d4a9c94f140 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18250,6 +18250,7 @@ with pkgs; cataclysm-dda = callPackage ../games/cataclysm-dda { inherit (darwin.apple_sdk.frameworks) Cocoa; + ncurses = ncurses5; }; cataclysm-dda-git = callPackage ../games/cataclysm-dda/git.nix { From 9ef3f90de79113c4cf6718c6fc6f18fc6aaf7ad8 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Sat, 27 Jan 2018 22:25:59 +0900 Subject: [PATCH 024/169] cataclysm-dda{,-git}: update homepage --- pkgs/games/cataclysm-dda/default.nix | 2 +- pkgs/games/cataclysm-dda/git.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index 541b174cc6a..c1b68e4ddba 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -83,7 +83,7 @@ stdenv.mkDerivation rec { substances or radiation, now more closely resemble insects, birds or fish than their original form. ''; - homepage = http://en.cataclysmdda.com/; + homepage = http://cataclysmdda.org/; license = licenses.cc-by-sa-30; maintainers = [ maintainers.skeidel ]; platforms = platforms.unix; diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index ac2c1f9fdb1..504a738c8b3 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { substances or radiation, now more closely resemble insects, birds or fish than their original form. ''; - homepage = http://en.cataclysmdda.com/; + homepage = http://cataclysmdda.org/; license = licenses.cc-by-sa-30; platforms = platforms.unix; }; From 5c325869dff36a3b5ec807fe145877ea483c05e1 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Fri, 26 Jan 2018 21:47:51 +0900 Subject: [PATCH 025/169] cataclysm-dda-git: differentiate the version display from 0.C Previously the version shown in the title was 0.C, not distinguishable from the stable version. --- pkgs/games/cataclysm-dda/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index 504a738c8b3..9f3ac07ec6b 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -26,6 +26,7 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1" "LANGUAGES=all" + "VERSION=git-${version}-${stdenv.lib.substring 0 8 src.rev}" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "NATIVE=osx CLANG=1" ]; From f3014ad8cc4013be896b131e30fbade07076807a Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Fri, 26 Jan 2018 21:47:51 +0900 Subject: [PATCH 026/169] cataclysm-dda-git: install the launcher for Linux desktop environments --- pkgs/games/cataclysm-dda/git.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index 9f3ac07ec6b..0f6f5fd7b5e 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation rec { postPatch = '' patchShebangs . + sed -i data/xdg/com.cataclysmdda.cataclysm-dda.desktop \ + -e "s,\(Exec=\)\(cataclysm-tiles\),\1$out/bin/\2," ''; makeFlags = [ @@ -31,7 +33,10 @@ stdenv.mkDerivation rec { "NATIVE=osx CLANG=1" ]; - postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) '' + install -D -m 444 data/xdg/com.cataclysmdda.cataclysm-dda.desktop -T $out/share/applications/cataclysm-dda.desktop + install -D -m 444 data/xdg/cataclysm-dda.svg -t $out/share/icons/hicolor/scalable/apps + '' + stdenv.lib.optionalString stdenv.isDarwin '' app=$out/Applications/Cataclysm.app install -D -m 444 data/osx/Info.plist -t $app/Contents install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources From 289c8df4e53759287d47662a95d5dd2565c30ff9 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Fri, 26 Jan 2018 17:58:19 +0900 Subject: [PATCH 027/169] cataclysm-dda-{,git}: support the console (no tiles) version You can install the console version with `cataclysm-dda{,-git}.override { tiles = false; }`. --- pkgs/games/cataclysm-dda/default.nix | 17 ++++++++++------- pkgs/games/cataclysm-dda/git.nix | 16 ++++++++++------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index c1b68e4ddba..ae662232ba8 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -1,5 +1,5 @@ { fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf, -SDL2_mixer, freetype, gettext, Cocoa, libicns }: +SDL2_mixer, freetype, gettext, Cocoa, libicns, tiles ? true }: stdenv.mkDerivation rec { version = "0.C"; @@ -13,10 +13,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ] - ++ stdenv.lib.optionals stdenv.isDarwin [ libicns ]; + ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ libicns ]; - buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ] - ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ]; + buildInputs = [ ncurses lua gettext ] + ++ stdenv.lib.optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] + ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ Cocoa ]; patches = [ ./patches/fix_locale_dir.patch ]; @@ -25,8 +26,10 @@ stdenv.mkDerivation rec { ''; makeFlags = [ - "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1" + "PREFIX=$(out) LUA=1 RELEASE=1 USE_HOME_DIR=1" # "LANGUAGES=all" # vanilla C:DDA installs all translations even without this flag! + ] ++ stdenv.lib.optionals tiles [ + "TILES=1 SOUND=1" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "NATIVE=osx CLANG=1" "OSX_MIN=10.6" # SDL for macOS only supports deploying on 10.6 and above @@ -37,12 +40,12 @@ stdenv.mkDerivation rec { "WARNINGS+=-Wno-inconsistent-missing-override" ]; - postBuild = stdenv.lib.optionalString stdenv.isDarwin '' + postBuild = stdenv.lib.optionalString (tiles && stdenv.isDarwin) '' # iconutil on macOS is not available in nixpkgs png2icns data/osx/AppIcon.icns data/osx/AppIcon.iconset/* ''; - postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + postInstall = stdenv.lib.optionalString (tiles && stdenv.isDarwin) '' app=$out/Applications/Cataclysm.app install -D -m 444 data/osx/Info.plist -t $app/Contents install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index 0f6f5fd7b5e..bad2338b2b8 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -1,5 +1,5 @@ { fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf, -SDL2_mixer, freetype, gettext, CoreFoundation, Cocoa }: +SDL2_mixer, freetype, gettext, CoreFoundation, Cocoa, tiles ? true }: stdenv.mkDerivation rec { version = "2017-12-09"; @@ -14,8 +14,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ] - ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Cocoa ]; + buildInputs = [ ncurses lua gettext ] + ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation ] + ++ stdenv.lib.optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] + ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ Cocoa ]; patches = [ ./patches/fix_locale_dir_git.patch ]; @@ -26,17 +28,19 @@ stdenv.mkDerivation rec { ''; makeFlags = [ - "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1" + "PREFIX=$(out) LUA=1 RELEASE=1 USE_HOME_DIR=1" "LANGUAGES=all" "VERSION=git-${version}-${stdenv.lib.substring 0 8 src.rev}" + ] ++ stdenv.lib.optionals tiles [ + "TILES=1 SOUND=1" ] ++ stdenv.lib.optionals stdenv.isDarwin [ "NATIVE=osx CLANG=1" ]; - postInstall = stdenv.lib.optionalString (!stdenv.isDarwin) '' + postInstall = stdenv.lib.optionalString (tiles && !stdenv.isDarwin) '' install -D -m 444 data/xdg/com.cataclysmdda.cataclysm-dda.desktop -T $out/share/applications/cataclysm-dda.desktop install -D -m 444 data/xdg/cataclysm-dda.svg -t $out/share/icons/hicolor/scalable/apps - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + stdenv.lib.optionalString (tiles && stdenv.isDarwin) '' app=$out/Applications/Cataclysm.app install -D -m 444 data/osx/Info.plist -t $app/Contents install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources From 9696add026aedc1267fe643ece25b16c34bb4bfc Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Fri, 9 Feb 2018 13:10:32 -0600 Subject: [PATCH 028/169] figlet: simplify, enable tests, fix for cross and musl --- pkgs/tools/misc/figlet/default.nix | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/misc/figlet/default.nix b/pkgs/tools/misc/figlet/default.nix index f68ae1ec245..86434847b4a 100644 --- a/pkgs/tools/misc/figlet/default.nix +++ b/pkgs/tools/misc/figlet/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, fetchpatch }: stdenv.mkDerivation { name = "figlet-2.2.5"; @@ -9,12 +9,17 @@ stdenv.mkDerivation { sha256 = "0za1ax15x7myjl8jz271ybly8ln9kb9zhm1gf6rdlxzhs07w925z"; }; - installPhase = "make prefix=$out install"; + patches = [ + (fetchpatch { + url = https://git.alpinelinux.org/cgit/aports/plain/main/figlet/musl-fix-cplusplus-decls.patch?h=3.4-stable&id=71776c73a6f04b6f671430f702bcd40b29d48399; + name = "musl-fix-cplusplus-decls.patch"; + sha256 = "1720zgrfk9makznqkbjrnlxm7nnhk6zx7g458fv53337n3g3zn7j"; + }) + ]; - preConfigure = '' - mkdir -p $out/{man/man6,bin} - makeFlags="DESTDIR=$out/bin MANDIR=$out/man/man6 DEFAULTFONTDIR=$out/share/figlet CC=cc LD=cc" - ''; + makeFlags = [ "prefix=$(out)" "CC:=$(CC)" "LD:=$(CC)" ]; + + doCheck = true; meta = { description = "Program for making large letters out of ordinary text"; From 65faff97ffe19bca242166c333eeb6b191aa3dd2 Mon Sep 17 00:00:00 2001 From: Masayuki Takeda Date: Sat, 10 Feb 2018 17:18:53 +0900 Subject: [PATCH 029/169] nixos/lxd: partial fix --- nixos/modules/virtualisation/lxd.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix index b1ff0337994..4988886baf6 100644 --- a/nixos/modules/virtualisation/lxd.nix +++ b/nixos/modules/virtualisation/lxd.nix @@ -38,6 +38,15 @@ in environment.systemPackages = [ pkgs.lxd ]; + security.apparmor = { + enable = true; + profiles = [ + "${pkgs.lxc}/etc/apparmor.d/usr.bin.lxc-start" + "${pkgs.lxc}/etc/apparmor.d/lxc-containers" + ]; + packages = [ pkgs.lxc ]; + }; + systemd.services.lxd = { description = "LXD Container Management Daemon"; @@ -47,6 +56,10 @@ in # TODO(wkennington): Add lvm2 and thin-provisioning-tools path = with pkgs; [ acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute iptables ]; + preStart = '' + mkdir -m 0755 -p /var/lib/lxc/rootfs + ''; + serviceConfig.ExecStart = "@${pkgs.lxd.bin}/bin/lxd lxd --syslog --group lxd"; serviceConfig.Type = "simple"; serviceConfig.KillMode = "process"; # when stopping, leave the containers alone From 2a2e885cd0cdb2ee1a1b1b37b3e33d58a935b462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Netix=20=28Espinet=20Franc=CC=A7ois=29?= Date: Sat, 27 Jan 2018 15:44:50 +0100 Subject: [PATCH 030/169] nixos/freeradius : init - Added freeradius service Inspired from the dhcpd service implementation Only 2 configurations options at the moment: - enabled - path to config directory (defaults to /etc/raddb) Implementation was also inspired from ArchLinux systemd file and corrected with @dotlambda and @fpletz help. --- .../services/networking/freeradius.nix | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 nixos/modules/services/networking/freeradius.nix diff --git a/nixos/modules/services/networking/freeradius.nix b/nixos/modules/services/networking/freeradius.nix new file mode 100644 index 00000000000..45cba1ce277 --- /dev/null +++ b/nixos/modules/services/networking/freeradius.nix @@ -0,0 +1,72 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.freeradius; + + freeradiusService = cfg: + { + description = "FreeRadius server"; + wantedBy = ["multi-user.target"]; + after = ["network-online.target"]; + wants = ["network-online.target"]; + preStart = '' + ${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout + ''; + + serviceConfig = { + ExecStart = "${pkgs.freeradius}/bin/radiusd -f -d ${cfg.configDir} -l stdout -xx"; + ExecReload = [ + "${pkgs.freeradius}/bin/radiusd -C -d ${cfg.configDir} -l stdout" + "${pkgs.coreutils}/bin/kill -HUP $MAINPID" + ]; + User = "radius"; + ProtectSystem = "full"; + ProtectHome = "on"; + Restart = "on-failure"; + RestartSec = 2; + }; + }; + + freeradiusConfig = { + enable = mkEnableOption "the freeradius server"; + + configDir = mkOption { + type = types.path; + default = "/etc/raddb"; + description = '' + The path of the freeradius server configuration directory. + ''; + }; + + }; + +in + +{ + + ###### interface + + options = { + services.freeradius = freeradiusConfig; + }; + + + ###### implementation + + config = mkIf (cfg.enable) { + + users = { + extraUsers.radius = { + /*uid = config.ids.uids.radius;*/ + description = "Radius daemon user"; + }; + }; + + systemd.services.freeradius = freeradiusService cfg; + + }; + +} From 95e86ba6517bc977e5d2f7df15bf9c4ed2bf0d67 Mon Sep 17 00:00:00 2001 From: Thomas Mader Date: Sat, 10 Feb 2018 10:48:28 +0100 Subject: [PATCH 031/169] dmd: 2.078.1 -> 2.078.2 --- pkgs/development/compilers/dmd/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix index de3544a3a63..094cdb06b69 100644 --- a/pkgs/development/compilers/dmd/default.nix +++ b/pkgs/development/compilers/dmd/default.nix @@ -3,9 +3,9 @@ , curl, tzdata, gdb, darwin , callPackage , bootstrapVersion ? false -, version ? "2.078.1" -, dmdSha256 ? "0b9lphh4g3r9cyzv4wcfppv9j3w952vvwv615za23acgwav3mqg2" -, druntimeSha256 ? "16jv40m073cflpkyl0vmg1g58cianybfcsgcvwli7pfryxbgsbrr" +, version ? "2.078.2" +, dmdSha256 ? "0x9q4aw4jl36dz7m5111y2sm8jdaj3zg36zhj6vqg1lqpdn3bhls" +, druntimeSha256 ? "0nfqjcmwqc490bzi3582x1c3zigkf306g4nyd1cyd3vs8lfm6x66" , phobosSha256 ? "08ircpf4ilznz638kra272hz8fi5ccvw2cswj5hqckssl1lyqzs8" }: @@ -111,7 +111,7 @@ let '' + stdenv.lib.optionalString stdenv.hostPlatform.isLinux '' - # See https://github.com/NixOS/nixpkgs/issues/29443 + # See https://github.com/dlang/phobos/pull/5960 substituteInPlace phobos/std/path.d \ --replace "\"/root" "\"${ROOT_HOME_DIR}" ''; From a1f920e900c71c9800d00cac7b3a14940a1037d0 Mon Sep 17 00:00:00 2001 From: Thomas Mader Date: Sat, 10 Feb 2018 10:49:17 +0100 Subject: [PATCH 032/169] dtools: 2.078.1 -> 2.078.2 --- pkgs/development/tools/dtools/default.nix | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix index daa25de9508..d76bbb7f53a 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.078.1"; + version = "2.078.2"; srcs = [ (fetchFromGitHub { owner = "dlang"; repo = "dmd"; rev = "v${version}"; - sha256 = "0b9lphh4g3r9cyzv4wcfppv9j3w952vvwv615za23acgwav3mqg2"; + sha256 = "0x9q4aw4jl36dz7m5111y2sm8jdaj3zg36zhj6vqg1lqpdn3bhls"; name = "dmd"; }) (fetchFromGitHub { @@ -28,23 +28,11 @@ stdenv.mkDerivation rec { cd dtools ''; - postPatch = '' - substituteInPlace posix.mak \ - --replace "../dmd/generated/\$(OS)/release/\$(MODEL)/dmd" ${dmd.out}/bin/dmd - - substituteInPlace posix.mak \ - --replace gcc $CC - - # To fix rdmd test with newer phobos - substituteInPlace rdmd.d \ - --replace " std.stdiobase," "" - ''; - nativeBuildInputs = [ dmd ]; buildInputs = [ curl ]; makeCmd = '' - make -f posix.mak DMD=${dmd.out}/bin/dmd DMD_DIR=dmd + make -f posix.mak DMD_DIR=dmd DMD=${dmd.out}/bin/dmd CC=${stdenv.cc}/bin/cc ''; buildPhase = '' From a2df3ee29340cff2a92dd9dd9540f2761c806fc4 Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Wed, 7 Feb 2018 00:01:15 +0900 Subject: [PATCH 033/169] cataclysm-dda{,-git}: styling --- pkgs/games/cataclysm-dda/default.nix | 30 ++++++++++++++---------- pkgs/games/cataclysm-dda/git.nix | 34 ++++++++++++++++------------ 2 files changed, 38 insertions(+), 26 deletions(-) diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix index ae662232ba8..a3adec38401 100644 --- a/pkgs/games/cataclysm-dda/default.nix +++ b/pkgs/games/cataclysm-dda/default.nix @@ -1,5 +1,6 @@ { fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf, -SDL2_mixer, freetype, gettext, Cocoa, libicns, tiles ? true }: +SDL2_mixer, freetype, gettext, Cocoa, libicns, +tiles ? true }: stdenv.mkDerivation rec { version = "0.C"; @@ -15,9 +16,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ] ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ libicns ]; - buildInputs = [ ncurses lua gettext ] - ++ stdenv.lib.optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] - ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ Cocoa ]; + buildInputs = with stdenv.lib; [ ncurses lua gettext ] + ++ optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] + ++ optionals (tiles && stdenv.isDarwin) [ Cocoa ]; patches = [ ./patches/fix_locale_dir.patch ]; @@ -25,18 +26,23 @@ stdenv.mkDerivation rec { patchShebangs . ''; - makeFlags = [ - "PREFIX=$(out) LUA=1 RELEASE=1 USE_HOME_DIR=1" + makeFlags = with stdenv.lib; [ + "PREFIX=$(out)" + "LUA=1" + "RELEASE=1" + "USE_HOME_DIR=1" # "LANGUAGES=all" # vanilla C:DDA installs all translations even without this flag! - ] ++ stdenv.lib.optionals tiles [ - "TILES=1 SOUND=1" - ] ++ stdenv.lib.optionals stdenv.isDarwin [ - "NATIVE=osx CLANG=1" + ] ++ optionals tiles [ + "TILES=1" + "SOUND=1" + ] ++ optionals stdenv.isDarwin [ + "NATIVE=osx" + "CLANG=1" "OSX_MIN=10.6" # SDL for macOS only supports deploying on 10.6 and above - ] ++ stdenv.lib.optionals stdenv.cc.isGNU [ + ] ++ optionals stdenv.cc.isGNU [ "WARNINGS+=-Wno-deprecated-declarations" "WARNINGS+=-Wno-ignored-attributes" - ] ++ stdenv.lib.optionals stdenv.cc.isClang [ + ] ++ optionals stdenv.cc.isClang [ "WARNINGS+=-Wno-inconsistent-missing-override" ]; diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix index bad2338b2b8..fcc2481cb69 100644 --- a/pkgs/games/cataclysm-dda/git.nix +++ b/pkgs/games/cataclysm-dda/git.nix @@ -1,5 +1,6 @@ { fetchFromGitHub, stdenv, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf, -SDL2_mixer, freetype, gettext, CoreFoundation, Cocoa, tiles ? true }: +SDL2_mixer, freetype, gettext, CoreFoundation, Cocoa, +tiles ? true }: stdenv.mkDerivation rec { version = "2017-12-09"; @@ -14,10 +15,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ncurses lua gettext ] - ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation ] - ++ stdenv.lib.optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] - ++ stdenv.lib.optionals (tiles && stdenv.isDarwin) [ Cocoa ]; + buildInputs = with stdenv.lib; [ ncurses lua gettext ] + ++ optionals stdenv.isDarwin [ CoreFoundation ] + ++ optionals tiles [ SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype ] + ++ optionals (tiles && stdenv.isDarwin) [ Cocoa ]; patches = [ ./patches/fix_locale_dir_git.patch ]; @@ -27,20 +28,25 @@ stdenv.mkDerivation rec { -e "s,\(Exec=\)\(cataclysm-tiles\),\1$out/bin/\2," ''; - makeFlags = [ - "PREFIX=$(out) LUA=1 RELEASE=1 USE_HOME_DIR=1" + makeFlags = with stdenv.lib; [ + "PREFIX=$(out)" + "LUA=1" + "RELEASE=1" + "USE_HOME_DIR=1" "LANGUAGES=all" - "VERSION=git-${version}-${stdenv.lib.substring 0 8 src.rev}" - ] ++ stdenv.lib.optionals tiles [ - "TILES=1 SOUND=1" - ] ++ stdenv.lib.optionals stdenv.isDarwin [ - "NATIVE=osx CLANG=1" + "VERSION=git-${version}-${substring 0 8 src.rev}" + ] ++ optionals tiles [ + "TILES=1" + "SOUND=1" + ] ++ optionals stdenv.isDarwin [ + "NATIVE=osx" + "CLANG=1" ]; - postInstall = stdenv.lib.optionalString (tiles && !stdenv.isDarwin) '' + postInstall = with stdenv.lib; optionalString (tiles && !stdenv.isDarwin) '' install -D -m 444 data/xdg/com.cataclysmdda.cataclysm-dda.desktop -T $out/share/applications/cataclysm-dda.desktop install -D -m 444 data/xdg/cataclysm-dda.svg -t $out/share/icons/hicolor/scalable/apps - '' + stdenv.lib.optionalString (tiles && stdenv.isDarwin) '' + '' + optionalString (tiles && stdenv.isDarwin) '' app=$out/Applications/Cataclysm.app install -D -m 444 data/osx/Info.plist -t $app/Contents install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources From 1ac2ce107cd150eaa29c7c0679b956c1872bb136 Mon Sep 17 00:00:00 2001 From: Thomas Mader Date: Sat, 10 Feb 2018 11:08:51 +0100 Subject: [PATCH 034/169] dub: 1.7.1 -> 1.7.2 --- .../tools/build-managers/dub/default.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix index 8af11f05738..da404a63d85 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.7.1"; + version = "1.7.2"; enableParallelBuilding = true; @@ -12,9 +12,13 @@ let owner = "dlang"; repo = "dub"; rev = "v${version}"; - sha256 = "09bcc9bq2z1rbm8sdip1l81y5p8q13r30k02lzifyasiplrnpvlv"; + sha256 = "073ibvgm1gphcqs1yjrav9ryp677nh3b194nxmvicwgvdc0sb6w9"; }; + postUnpack = '' + patchShebangs . + ''; + patches = [ # TODO Remove with next release which contains https://github.com/dlang/dub/pull/1354 (fetchpatch { @@ -23,12 +27,11 @@ let }) ]; + # Can be removed with https://github.com/dlang/dub/pull/1368 + dubvar = "\\$DUB"; postPatch = '' - # Avoid that the version file is overwritten - substituteInPlace build.sh \ - --replace source/dub/version_.d /dev/null - - patchShebangs . + substituteInPlace test/fetchzip.sh \ + --replace "dub remove" "\"${dubvar}\" remove" ''; nativeBuildInputs = [ dmd libevent rsync ]; @@ -70,6 +73,7 @@ let patches = dubBuild.patches; + postUnpack = dubBuild.postUnpack; postPatch = dubBuild.postPatch; nativeBuildInputs = dubBuild.nativeBuildInputs; From 59c43d60ad15718e18fffde5cad12894f5e8edd3 Mon Sep 17 00:00:00 2001 From: Daniel Fullmer Date: Sat, 10 Feb 2018 21:05:39 -0500 Subject: [PATCH 035/169] rtl8812au: 4.3.20 -> 5.2.20_25672.20171213 --- pkgs/os-specific/linux/rtl8812au/default.nix | 42 ++++++-------------- 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/pkgs/os-specific/linux/rtl8812au/default.nix b/pkgs/os-specific/linux/rtl8812au/default.nix index c79de39d5da..96306a9d5c6 100644 --- a/pkgs/os-specific/linux/rtl8812au/default.nix +++ b/pkgs/os-specific/linux/rtl8812au/default.nix @@ -1,39 +1,20 @@ -{ stdenv, fetchFromGitHub, fetchpatch, kernel }: +{ stdenv, fetchFromGitHub, fetchpatch, kernel, bc }: stdenv.mkDerivation rec { name = "rtl8812au-${kernel.version}-${version}"; - version = "4.3.20"; + version = "5.2.20_25672.20171213"; src = fetchFromGitHub { - owner = "Grawp"; - repo = "rtl8812au_rtl8821au"; - rev = "d716b38abf5ca7da72d2be0adfcebe98cceeda8f"; - sha256 = "01z5p2vps3an69bbzca7ig14llc5rd6067pgs47kkhfjbsbws4ry"; + owner = "zebulon2"; + repo = "rtl8812au-driver-5.2.20"; + rev = "aca1e0677bfe56c6c4914358df007c97486e7095"; + sha256 = "19av8fkh3mvs2f57iibrg0cfyhjnnx4cbnfzv5aj7v5gb0j3dp0p"; }; - patches = [ - (fetchpatch { # From PR # 42 - name = "rtl8812au-4.11.x-fix.patch"; - url = https://github.com/Grawp/rtl8812au_rtl8821au/commit/3224e74ad9c230b74a658e80dad66ab95c9e2ef5.patch; - sha256 = "12g4yvivg4d0qm5cgxs7k54p3y7h1dc2jw6rp1xbppwf3j1z6xks"; - }) - (fetchpatch { # From PR #46 - name = "rtl8812au-4.11.9-fix.patch"; - url = https://github.com/Grawp/rtl8812au_rtl8821au/commit/58fc45a4511b8b9d6b52813168e3eee657517b1f.patch; - sha256 = "18bag2mif5112lap2xvx2bb0wxrd13f9y9cwqv1qzp5nyqiniziz"; - }) - (fetchpatch { # From PR #43 - name = "rtl8812au-4.12-fix.patch"; - url = https://github.com/Grawp/rtl8812au_rtl8821au/commit/a5475c9f1f54099ca35c8680f2dedee11fa9edec.patch; - sha256 = "01xa51whq1xa0sh3y2bhm65f0cryzmv46v530axqjrpnd924432d"; - }) - ]; - + nativeBuildInputs = [ bc ]; buildInputs = kernel.moduleBuildDependencies; - hardeningDisable = [ "pic" ]; - - NIX_CFLAGS_COMPILE="-Wno-error=incompatible-pointer-types"; + hardeningDisable = [ "pic" "format" ]; prePatch = '' substituteInPlace ./Makefile --replace /lib/modules/ "${kernel.dev}/lib/modules/" @@ -46,10 +27,11 @@ stdenv.mkDerivation rec { mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" ''; - meta = { + meta = with stdenv.lib; { description = "Driver for Realtek 802.11ac, rtl8812au, provides the 8812au mod"; - homepage = https://github.com/Grawp/rtl8812au_rtl8821au; - license = stdenv.lib.licenses.gpl2; + homepage = https://github.com/zebulon2/rtl8812au-driver-5.2.20; + license = licenses.gpl2; platforms = [ "x86_64-linux" "i686-linux" ]; + maintainers = with maintainers; [ danielfullmer ]; }; } From 5e12d76361b98ace4cbe24557423e9745978e4a0 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Sat, 3 Feb 2018 23:36:09 -0800 Subject: [PATCH 036/169] openmpi: fix broken modules, disable dsos --- pkgs/development/libraries/openmpi/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix index 3f764b1d845..9aca076c5dc 100644 --- a/pkgs/development/libraries/openmpi/default.nix +++ b/pkgs/development/libraries/openmpi/default.nix @@ -29,7 +29,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ perl ]; - configureFlags = with stdenv; [] + configureFlags = with stdenv; [ "--disable-mca-dso" ] ++ lib.optional isLinux "--with-libnl=${libnl.dev}" ++ lib.optional enableSGE "--with-sge" ++ lib.optional enablePrefix "--enable-mpirun-prefix-by-default" From 0e09abd9c45b44a3120bc8aeff5492161b08a968 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Lafuente?= Date: Tue, 13 Feb 2018 11:51:02 +0100 Subject: [PATCH 037/169] fd: install fish shell completions --- pkgs/tools/misc/fd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/fd/default.nix b/pkgs/tools/misc/fd/default.nix index a18c7838271..3c826206869 100644 --- a/pkgs/tools/misc/fd/default.nix +++ b/pkgs/tools/misc/fd/default.nix @@ -17,9 +17,9 @@ rustPlatform.buildRustPackage rec { mkdir -p "$out/man/man1" cp "$src/doc/fd.1" "$out/man/man1" - mkdir -p "$out/share/"{bash-completion/completions,fish/completions,zsh/site-functions} + mkdir -p "$out/share/"{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions} cp target/release/build/fd-find-*/out/fd.bash "$out/share/bash-completion/completions/" - cp target/release/build/fd-find-*/out/fd.fish "$out/share/fish/completions/" + cp target/release/build/fd-find-*/out/fd.fish "$out/share/fish/vendor_completions.d/" cp target/release/build/fd-find-*/out/_fd "$out/share/zsh/site-functions/" ''; From ecfafc4fbdd5a19e36c40e89bb882827485fc7b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Lafuente?= Date: Tue, 13 Feb 2018 11:43:47 +0100 Subject: [PATCH 038/169] autojump: install fish shell completions --- pkgs/tools/misc/autojump/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/misc/autojump/default.nix b/pkgs/tools/misc/autojump/default.nix index 817510bfb76..ba38a55dda0 100644 --- a/pkgs/tools/misc/autojump/default.nix +++ b/pkgs/tools/misc/autojump/default.nix @@ -22,6 +22,9 @@ in mkdir -p "$out/etc/bash_completion.d" cp -v $out/share/autojump/autojump.bash "$out/etc/bash_completion.d" + mkdir -p $out/share/fish/vendor_completions.d/ + cp -v $out/share/autojump/autojump.fish "$out/share/fish/vendor_completions.d/autojump.fish" + cat <