From b1b9e003dcc41e4c9f9672fc5cd4a66fea3a98e5 Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Wed, 2 Jun 2021 22:34:06 +0200 Subject: [PATCH 01/19] nixos/minio: credentialfile --- nixos/modules/services/web-servers/minio.nix | 25 ++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/web-servers/minio.nix b/nixos/modules/services/web-servers/minio.nix index 381a55faff16..d075449012f7 100644 --- a/nixos/modules/services/web-servers/minio.nix +++ b/nixos/modules/services/web-servers/minio.nix @@ -4,6 +4,11 @@ with lib; let cfg = config.services.minio; + + legacyCredentials = cfg: pkgs.writeText "minio-legacy-credentials" '' + MINIO_ROOT_USER=${cfg.accessKey} + MINIO_ROOT_PASSWORD=${cfg.secretKey} + ''; in { meta.maintainers = [ maintainers.bachp ]; @@ -49,6 +54,17 @@ in ''; }; + rootCredentialsFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + File containing the MINIO_ROOT_USER, default is "minioadmin", and + MINIO_ROOT_PASSWORD (length >= 8), default is "minioadmin"; in the format of + an EnvironmentFile=, as described by systemd.exec(5). + ''; + example = "/etc/nixos/minio-root-credentials"; + }; + region = mkOption { default = "us-east-1"; type = types.str; @@ -72,6 +88,8 @@ in }; config = mkIf cfg.enable { + warnings = optional ((cfg.accessKey != "") || (cfg.secretKey != "")) "services.minio.`accessKey` and services.minio.`secretKey` are deprecated, please use services.minio.`rootCredentialsFile` instead."; + systemd.tmpfiles.rules = [ "d '${cfg.configDir}' - minio minio - -" ] ++ (map (x: "d '" + x + "' - minio minio - - ") cfg.dataDir); @@ -86,14 +104,13 @@ in User = "minio"; Group = "minio"; LimitNOFILE = 65536; + EnvironmentFile = if (cfg.rootCredentialsFile != null) then cfg.rootCredentialsFile + else if ((cfg.accessKey != "") || (cfg.secretKey != "")) then (legacyCredentials cfg) + else null; }; environment = { MINIO_REGION = "${cfg.region}"; MINIO_BROWSER = "${if cfg.browser then "on" else "off"}"; - } // optionalAttrs (cfg.accessKey != "") { - MINIO_ACCESS_KEY = "${cfg.accessKey}"; - } // optionalAttrs (cfg.secretKey != "") { - MINIO_SECRET_KEY = "${cfg.secretKey}"; }; }; From 485d0fc9730a9e1d460e00af1d1becc541e2ad4f Mon Sep 17 00:00:00 2001 From: Aaron Andersen Date: Mon, 28 Jun 2021 11:43:53 -0400 Subject: [PATCH 02/19] php: expose mkExtension --- pkgs/development/interpreters/php/generic.nix | 2 +- pkgs/top-level/php-packages.nix | 133 +++++++++--------- 2 files changed, 68 insertions(+), 67 deletions(-) diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix index 5344be9c5c7e..f181db108a45 100644 --- a/pkgs/development/interpreters/php/generic.nix +++ b/pkgs/development/interpreters/php/generic.nix @@ -133,7 +133,7 @@ let unwrapped = php; # Select the right php tests for the php version tests = nixosTests."php${lib.strings.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor php.version)}"; - inherit (php-packages) extensions buildPecl; + inherit (php-packages) extensions buildPecl mkExtension; packages = php-packages.tools; meta = php.meta // { outputsToInstall = [ "out" ]; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index e518ee68f7b8..16d3c71d5248 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -59,6 +59,73 @@ lib.makeScope pkgs.newScope (self: with self; { pname = "php-${pname}"; }); + # Function to build an extension which is shipped as part of the php + # source, based on the php version. + # + # Name passed is the name of the extension and is automatically used + # to add the configureFlag "--enable-${name}", which can be overriden. + # + # Build inputs is used for extra deps that may be needed. And zendExtension + # will mark the extension as a zend extension or not. + mkExtension = + { name + , configureFlags ? [ "--enable-${name}" ] + , internalDeps ? [ ] + , postPhpize ? "" + , buildInputs ? [ ] + , zendExtension ? false + , doCheck ? true + , ... + }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // { + pname = "php-${name}"; + extensionName = name; + + inherit (php.unwrapped) version src; + sourceRoot = "php-${php.version}/ext/${name}"; + + enableParallelBuilding = true; + nativeBuildInputs = [ php.unwrapped autoconf pkg-config re2c ]; + inherit configureFlags internalDeps buildInputs + zendExtension doCheck; + + prePatch = "pushd ../.."; + postPatch = "popd"; + + preConfigure = '' + nullglobRestore=$(shopt -p nullglob) + shopt -u nullglob # To make ?-globbing work + + # Some extensions have a config0.m4 or config9.m4 + if [ -f config?.m4 ]; then + mv config?.m4 config.m4 + fi + + $nullglobRestore + phpize + ${postPhpize} + ${lib.concatMapStringsSep "\n" + (dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}") + internalDeps} + ''; + checkPhase = "runHook preCheck; NO_INTERACTON=yes make test; runHook postCheck"; + outputs = [ "out" "dev" ]; + installPhase = '' + mkdir -p $out/lib/php/extensions + cp modules/${name}.so $out/lib/php/extensions/${name}.so + mkdir -p $dev/include + ${rsync}/bin/rsync -r --filter="+ */" \ + --filter="+ *.h" \ + --filter="- *" \ + --prune-empty-dirs \ + . $dev/include/ + ''; + + meta = { + description = "PHP upstream extension: ${name}"; + inherit (php.meta) maintainers homepage license; + }; + }); + php = phpPackage; # This is a set of interactive tools based on PHP. @@ -171,72 +238,6 @@ lib.makeScope pkgs.newScope (self: with self; { yaml = callPackage ../development/php-packages/yaml { }; } // ( let - # Function to build a single php extension based on the php version. - # - # Name passed is the name of the extension and is automatically used - # to add the configureFlag "--enable-${name}", which can be overriden. - # - # Build inputs is used for extra deps that may be needed. And zendExtension - # will mark the extension as a zend extension or not. - mkExtension = - { name - , configureFlags ? [ "--enable-${name}" ] - , internalDeps ? [ ] - , postPhpize ? "" - , buildInputs ? [ ] - , zendExtension ? false - , doCheck ? true - , ... - }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // { - pname = "php-${name}"; - extensionName = name; - - inherit (php.unwrapped) version src; - sourceRoot = "php-${php.version}/ext/${name}"; - - enableParallelBuilding = true; - nativeBuildInputs = [ php.unwrapped autoconf pkg-config re2c ]; - inherit configureFlags internalDeps buildInputs - zendExtension doCheck; - - prePatch = "pushd ../.."; - postPatch = "popd"; - - preConfigure = '' - nullglobRestore=$(shopt -p nullglob) - shopt -u nullglob # To make ?-globbing work - - # Some extensions have a config0.m4 or config9.m4 - if [ -f config?.m4 ]; then - mv config?.m4 config.m4 - fi - - $nullglobRestore - phpize - ${postPhpize} - ${lib.concatMapStringsSep "\n" - (dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}") - internalDeps} - ''; - checkPhase = "runHook preCheck; NO_INTERACTON=yes make test; runHook postCheck"; - outputs = [ "out" "dev" ]; - installPhase = '' - mkdir -p $out/lib/php/extensions - cp modules/${name}.so $out/lib/php/extensions/${name}.so - mkdir -p $dev/include - ${rsync}/bin/rsync -r --filter="+ */" \ - --filter="+ *.h" \ - --filter="- *" \ - --prune-empty-dirs \ - . $dev/include/ - ''; - - meta = { - description = "PHP upstream extension: ${name}"; - inherit (php.meta) maintainers homepage license; - }; - }); - # This list contains build instructions for different modules that one may # want to build. # From dfa1e4ca37d4b9751806506c79e4403fc6f61fcc Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Tue, 29 Jun 2021 22:35:53 +0300 Subject: [PATCH 03/19] SDL: fix wrongly linking to Mesa on Darwin --- pkgs/development/libraries/SDL/default.nix | 5 +++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index bf76bc1e8570..225cadac8c60 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -5,7 +5,7 @@ , x11Support ? !stdenv.isCygwin && !stdenv.hostPlatform.isAndroid , libXext, libICE, libXrandr , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid, libpulseaudio -, OpenGL, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa +, OpenGL, GLUT, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa }: # NOTE: When editing this expression see if the same change applies to @@ -16,7 +16,8 @@ with lib; let extraPropagatedBuildInputs = [ ] ++ optionals x11Support [ libXext libICE libXrandr ] - ++ optionals openglSupport [ libGL libGLU ] + ++ optionals (openglSupport && stdenv.isLinux) [ libGL libGLU ] + ++ optionals (openglSupport && stdenv.isDarwin) [ OpenGL GLUT ] ++ optional alsaSupport alsa-lib ++ optional pulseaudioSupport libpulseaudio ++ optional stdenv.isDarwin Cocoa; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7107b3f4f9ae..fa594a704d35 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18102,7 +18102,7 @@ in }; SDL = callPackage ../development/libraries/SDL ({ - inherit (darwin.apple_sdk.frameworks) OpenGL CoreAudio CoreServices AudioUnit Kernel Cocoa; + inherit (darwin.apple_sdk.frameworks) OpenGL CoreAudio CoreServices AudioUnit Kernel Cocoa GLUT; } // lib.optionalAttrs stdenv.hostPlatform.isAndroid { # libGLU doesn’t work with Android’s SDL libGLU = null; From dc8d3549d6fe4a2ddba4516be55a1250a229ef57 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 30 Jun 2021 01:36:50 +0000 Subject: [PATCH 04/19] dnsx: 1.0.4 -> 1.0.5 --- pkgs/tools/security/dnsx/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/dnsx/default.nix b/pkgs/tools/security/dnsx/default.nix index 33f40ce59d48..75c85deb1cce 100644 --- a/pkgs/tools/security/dnsx/default.nix +++ b/pkgs/tools/security/dnsx/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "dnsx"; - version = "1.0.4"; + version = "1.0.5"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "dnsx"; rev = "v${version}"; - sha256 = "sha256-dfjchsmGqyWLxO2sP+TlBEeKz9Fd4bHWG2r4FJPGNMs="; + sha256 = "sha256-w+FQp5pvySM36UHFxBH5WRZvnGi43NZeI2tLr6HAF3Q="; }; - vendorSha256 = "sha256-KJyWb+coWSdvZGwDw/JSLtPeynndnaevwyYIzyEH4Kc="; + vendorSha256 = "sha256-gsoeAau3klOFTu+ZEYEMdIuXw/5IVsfFJ2maxPaZKjA="; meta = with lib; { description = "Fast and multi-purpose DNS toolkit"; From 10b8f498c992195e15a19f16755b0df7a00b46d7 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 30 Jun 2021 14:48:42 +1000 Subject: [PATCH 05/19] buildah: 1.21.1 -> 1.21.2 https://github.com/containers/buildah/releases/tag/v1.21.2 --- pkgs/development/tools/buildah/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix index e3828eb7f14c..ba6f0bf652e3 100644 --- a/pkgs/development/tools/buildah/default.nix +++ b/pkgs/development/tools/buildah/default.nix @@ -14,13 +14,13 @@ buildGoModule rec { pname = "buildah"; - version = "1.21.1"; + version = "1.21.2"; src = fetchFromGitHub { owner = "containers"; repo = "buildah"; rev = "v${version}"; - sha256 = "sha256-Wes52lTcv3Jb6gJeUS6fmf4Nee3qEcc3SibaTFvQ8sQ="; + sha256 = "sha256-9AYFC10AYbt/qHj5hfuLRxUwibizKk4n9rgtd5RBEQg="; }; outputs = [ "out" "man" ]; From 7ab005c4f3be2696d9eb69189405acd65463c983 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 30 Jun 2021 14:49:30 +1000 Subject: [PATCH 06/19] skopeo: 1.3.0 -> 1.3.1 https://github.com/containers/skopeo/releases/tag/v1.3.1 --- pkgs/development/tools/skopeo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix index 2af1d5e2a074..ed704b0639a0 100644 --- a/pkgs/development/tools/skopeo/default.nix +++ b/pkgs/development/tools/skopeo/default.nix @@ -14,13 +14,13 @@ buildGoModule rec { pname = "skopeo"; - version = "1.3.0"; + version = "1.3.1"; src = fetchFromGitHub { rev = "v${version}"; owner = "containers"; repo = "skopeo"; - sha256 = "sha256-ZHEujkl+GUk5WjgDWdbJwOIKuOqJnIpGnvD1SsrHuhI="; + sha256 = "sha256-ARNsNt5xpXn4ifnnRdmkhJAJq98ri3+oAF+Uov+byI0="; }; outputs = [ "out" "man" ]; From c4e97464060f054045a2838dc5c208d698e74e60 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 25 Jun 2021 10:11:33 +0000 Subject: [PATCH 07/19] emuflight-configurator: 0.3.5 -> 0.3.6 --- .../science/robotics/emuflight-configurator/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/robotics/emuflight-configurator/default.nix b/pkgs/applications/science/robotics/emuflight-configurator/default.nix index 2b89a00eb4bd..ab94df9ef18f 100644 --- a/pkgs/applications/science/robotics/emuflight-configurator/default.nix +++ b/pkgs/applications/science/robotics/emuflight-configurator/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "emuflight-configurator"; - version = "0.3.5"; + version = "0.3.6"; src = fetchurl { url = "https://github.com/emuflight/EmuConfigurator/releases/download/${version}/emuflight-configurator_${version}_linux64.zip"; - sha256 = "d55bdc52cf93d58c728ccb296ef912a5fc0f42c57ed95f3ded5f85d1c10838c4"; + sha256 = "sha256-egSUd/+RNo0vr2EJibgk9nNnql5sHC11gctUMK+DzW0="; }; nativeBuildInputs = [ wrapGAppsHook unzip copyDesktopItems ]; From e8d3c65b361bcdbeb445433660fbdde8c738434e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 30 Jun 2021 00:28:22 +0000 Subject: [PATCH 08/19] cargo-tarpaulin: 0.17.0 -> 0.18.0 --- pkgs/development/tools/analysis/cargo-tarpaulin/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix index 66f2db280685..ebbfa619fed3 100644 --- a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix +++ b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { pname = "cargo-tarpaulin"; - version = "0.17.0"; + version = "0.18.0"; src = fetchFromGitHub { owner = "xd009642"; repo = "tarpaulin"; rev = version; - sha256 = "1z104cd3wg718x1d89znppx4h6f0c6icgmpcllyrd0d19lb71a2b"; + sha256 = "sha256-j5VLxtu8Xg1fwDYWYJXGFUkfpgauG/5NauSniSZ7G2w="; }; nativeBuildInputs = [ @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec { ]; buildInputs = [ openssl ]; - cargoSha256 = "1hpi9aifn3g19yqkb58lphyw8cbsqllhg5dzbqx15hcfvrb7ip4k"; + cargoSha256 = "sha256-1lFGczzcN4QPsIpEVQiSmNS7L+9rlSfxi+gopt2E7Ec="; #checkFlags = [ "--test-threads" "1" ]; doCheck = false; From 8cd1066dfd4e1443fae2e7bdc5113daa120f1d79 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 29 Jun 2021 19:38:14 +0000 Subject: [PATCH 09/19] libtpms: 0.8.3 -> 0.8.4 --- pkgs/tools/security/libtpms/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/libtpms/default.nix b/pkgs/tools/security/libtpms/default.nix index 71ae5c969a0e..baca0ed8b771 100644 --- a/pkgs/tools/security/libtpms/default.nix +++ b/pkgs/tools/security/libtpms/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "libtpms"; - version = "0.8.3"; + version = "0.8.4"; src = fetchFromGitHub { owner = "stefanberger"; repo = "libtpms"; rev = "v${version}"; - sha256 = "sha256-D6lYOVlgtBY6C07YqbG6TPnDKrUoEj82Ra6GK/HB7X8="; + sha256 = "sha256-9e7O9SE7e8D6ULXhICabNCrL+QTH55jQm0AI7DVteE0="; }; nativeBuildInputs = [ From ef892b0a9277782c92f71884038d908fc6cdb163 Mon Sep 17 00:00:00 2001 From: Hunter Jones Date: Wed, 30 Jun 2021 01:18:38 -0500 Subject: [PATCH 10/19] phd2: 2.6.9dev1 -> 2.6.10 --- .../science/astronomy/phd2/default.nix | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/science/astronomy/phd2/default.nix b/pkgs/applications/science/astronomy/phd2/default.nix index 0e0ad06bbe9f..543e6820a763 100644 --- a/pkgs/applications/science/astronomy/phd2/default.nix +++ b/pkgs/applications/science/astronomy/phd2/default.nix @@ -1,19 +1,32 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK30-gtk3, - curl, gettext, glib, indi-full, libnova, wrapGAppsHook }: +{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK30-gtk3 +, curl, gettext, glib, indi-full, libnova, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "phd2"; - version = "2.6.9dev1"; + version = "2.6.10"; src = fetchFromGitHub { owner = "OpenPHDGuiding"; repo = "phd2"; rev = "v${version}"; - sha256 = "1ih7m9lilh12xbhmwm9kkicaqy72mi3firl6df7m5x38n2zj3zm4"; + sha256 = "sha256-2ZiPjhlguWXFcC53xG1aqAode7twtoHWszFUMQkK5xU="; }; - nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ]; - buildInputs = [ gtk3 wxGTK30-gtk3 curl gettext glib indi-full libnova ]; + nativeBuildInputs = [ + cmake + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + wxGTK30-gtk3 + curl + gettext + glib + indi-full + libnova + ]; cmakeFlags = [ "-DOPENSOURCE_ONLY=1" @@ -27,8 +40,9 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://openphdguiding.org/"; description = "Telescope auto-guidance application"; + changelog = "https://github.com/OpenPHDGuiding/phd2/releases/tag/v${version}"; license = licenses.bsd3; maintainers = with maintainers; [ hjones2199 ]; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; }; } From 44d7d2a49972208ad350ddfdaa9d8fafaa7767e1 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 19 Jun 2021 00:53:28 +0000 Subject: [PATCH 11/19] libaec: 1.0.4 -> 1.0.5 --- pkgs/development/libraries/libaec/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libaec/default.nix b/pkgs/development/libraries/libaec/default.nix index 4c539860be72..aa146ca24133 100644 --- a/pkgs/development/libraries/libaec/default.nix +++ b/pkgs/development/libraries/libaec/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "libaec"; - version = "1.0.4"; + version = "1.0.5"; src = fetchFromGitLab { domain = "gitlab.dkrz.de"; owner = "k202009"; repo = "libaec"; rev = "v${version}"; - sha256 = "1rpma89i35ahbalaqz82y201syxni7jkf9892jlyyrhhrvlnm4l2"; + sha256 = "sha256-Vi0fCd9V/EH+PcD+e6RZK2/isR1xGX25POhm1Xen5ak="; }; nativeBuildInputs = [ From 360c8128bbae300d71ce5440bee2ade3022c0871 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 22 Jun 2021 04:08:34 +0000 Subject: [PATCH 12/19] gtkwave: 3.3.109 -> 3.3.110 --- pkgs/applications/science/electronics/gtkwave/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix index af5441f07e21..b539df7592a5 100644 --- a/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/pkgs/applications/science/electronics/gtkwave/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "gtkwave"; - version = "3.3.109"; + version = "3.3.110"; src = fetchurl { url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz"; - sha256 = "sha256-NUYezNm4tEcMqnirmo8U7Ky8ye/2MDPY3OWAk+eG3rc="; + sha256 = "sha256-Ku25IVa8ot3SWxODeMrOaxBY5X022TnvD3l2kAa3Wao="; }; nativeBuildInputs = [ pkg-config wrapGAppsHook ]; From 16ab89bef2b7c6b2e221e29ddd8560521dbb250c Mon Sep 17 00:00:00 2001 From: Daniel Nagy Date: Tue, 29 Jun 2021 13:33:33 +0200 Subject: [PATCH 13/19] seaweedfs: 2.50 -> 2.56 --- pkgs/applications/networking/seaweedfs/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix index 522cef2b8a79..36518db09917 100644 --- a/pkgs/applications/networking/seaweedfs/default.nix +++ b/pkgs/applications/networking/seaweedfs/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "seaweedfs"; - version = "2.50"; + version = "2.56"; src = fetchFromGitHub { owner = "chrislusf"; repo = "seaweedfs"; rev = version; - sha256 = "sha256-ai8/XryFw/7GYuWAmLkqHzK97QgTBPyE6m3dflck94w="; + sha256 = "1y9abk2i0qk5c00dnw8wvasy7dmmy6az8d1cf9bq0dwh8g8kylbn"; }; - vendorSha256 = "sha256-gJQDcACMWZWS4CgS2NDALoBzxu7Hh4ZW3f0gUFUALCM="; + vendorSha256 = "015qvd0h786z1iwv81i107z92mqhzldp1hkcsp75wzf4j7nmzxvf"; subPackages = [ "weed" ]; From 4ba0ccc59e4187bde8a01f3480ba6c19743cdb0a Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 23 Jun 2021 01:56:10 +0000 Subject: [PATCH 14/19] cherrytree: 0.99.37 -> 0.99.38 --- pkgs/applications/misc/cherrytree/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix index 585f62178611..ef307ce3460b 100644 --- a/pkgs/applications/misc/cherrytree/default.nix +++ b/pkgs/applications/misc/cherrytree/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "cherrytree"; - version = "0.99.37"; + version = "0.99.38"; src = fetchFromGitHub { owner = "giuspen"; repo = "cherrytree"; rev = version; - sha256 = "1a2scwjrjijxwyfpqih23zzay3yqhyzpxnp66388fcir1cmp8zih"; + sha256 = "sha256-04MRw6pMtJGxTMKwOzPNGg1T85SfVY5bMkF3gt2V0e0="; }; nativeBuildInputs = [ From 4e75706a468a795c2bc67102211b43d41a449df7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20B=C3=A4renz?= Date: Tue, 29 Jun 2021 10:56:54 +0200 Subject: [PATCH 15/19] rPackages.svglite: Fix nativeBuildInputs --- pkgs/development/r-modules/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index c4fb1f25304d..6e04e60bfb5c 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -345,6 +345,7 @@ let stsm = [ pkgs.gsl_1 ]; stringi = [ pkgs.icu.dev ]; survSNP = [ pkgs.gsl_1 ]; + svglite = [ pkgs.libpng.dev ]; sysfonts = [ pkgs.zlib pkgs.libpng pkgs.freetype.dev ]; systemfonts = [ pkgs.fontconfig.dev pkgs.freetype.dev ]; TAQMNGR = [ pkgs.zlib.dev ]; From cd3ed54f6ea1c13d45c6772b4752ae6d2ff35997 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 29 Jun 2021 05:42:37 +0300 Subject: [PATCH 16/19] dwarf-fortress: refactor --- pkgs/games/dwarf-fortress/default.nix | 92 ++++++++++--------- pkgs/games/dwarf-fortress/dfhack/default.nix | 32 +++++-- .../dwarf-therapist/default.nix | 20 ++-- .../dwarf-therapist/dwarf-therapist.in | 11 +-- .../dwarf-therapist/wrapper.nix | 33 ++++--- pkgs/games/dwarf-fortress/game.nix | 37 +++++--- pkgs/games/dwarf-fortress/lazy-pack.nix | 30 +++--- pkgs/games/dwarf-fortress/soundsense.nix | 7 +- pkgs/games/dwarf-fortress/themes/default.nix | 32 ++++--- pkgs/games/dwarf-fortress/twbt/default.nix | 12 ++- pkgs/games/dwarf-fortress/unfuck.nix | 42 +++++++-- pkgs/games/dwarf-fortress/wrapper/default.nix | 42 ++++++--- .../wrapper/dwarf-fortress-init.in | 17 ++-- 13 files changed, 254 insertions(+), 153 deletions(-) diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix index 2a4df9bf7cf7..3e96351acbbb 100644 --- a/pkgs/games/dwarf-fortress/default.nix +++ b/pkgs/games/dwarf-fortress/default.nix @@ -1,4 +1,4 @@ -{ pkgs, stdenv, stdenvNoCC, gccStdenv, lib, recurseIntoAttrs }: +{ stdenv, stdenvNoCC, gccStdenv, lib, recurseIntoAttrs, libsForQt5, newScope, texlive, perlPackages, jdk8, jre8 }: # To whomever it may concern: # @@ -35,7 +35,7 @@ with lib; let - callPackage = pkgs.newScope self; + callPackage = newScope self; # The latest Dwarf Fortress version. Maintainers: when a new version comes # out, ensure that (unfuck|dfhack|twbt) are all up to date before changing @@ -45,51 +45,54 @@ let # Converts a version to a package name. versionToName = version: "dwarf-fortress_${lib.replaceStrings ["."] ["_"] version}"; - dwarf-therapist-original = pkgs.qt5.callPackage ./dwarf-therapist { - texlive = pkgs.texlive.combine { - inherit (pkgs.texlive) scheme-basic float caption wrapfig adjmulticol sidecap preprint enumitem; + dwarf-therapist-original = libsForQt5.callPackage ./dwarf-therapist { + texlive = texlive.combine { + inherit (texlive) scheme-basic float caption wrapfig adjmulticol sidecap preprint enumitem; }; }; # A map of names to each Dwarf Fortress package we know about. - df-games = lib.listToAttrs (map (dfVersion: { - name = versionToName dfVersion; - value = - let - # I can't believe this syntax works. Spikes of Nix code indeed... - dwarf-fortress = callPackage ./game.nix { - inherit dfVersion; - inherit dwarf-fortress-unfuck; + df-games = lib.listToAttrs (map + (dfVersion: { + name = versionToName dfVersion; + value = + let + # I can't believe this syntax works. Spikes of Nix code indeed... + dwarf-fortress = callPackage ./game.nix { + inherit dfVersion; + inherit dwarf-fortress-unfuck; + }; + + # unfuck is linux-only right now, we will only use it there. + dwarf-fortress-unfuck = + if stdenv.isLinux then callPackage ./unfuck.nix { inherit dfVersion; } + else null; + + twbt = callPackage ./twbt { inherit dfVersion; }; + + dfhack = callPackage ./dfhack { + inherit (perlPackages) XMLLibXML XMLLibXSLT; + inherit dfVersion twbt; + stdenv = gccStdenv; + }; + + dwarf-therapist = libsForQt5.callPackage ./dwarf-therapist/wrapper.nix { + inherit dwarf-fortress; + dwarf-therapist = dwarf-therapist-original; + }; + in + callPackage ./wrapper { + inherit (self) themes; + + dwarf-fortress = dwarf-fortress; + twbt = twbt; + dfhack = dfhack; + dwarf-therapist = dwarf-therapist; + + jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; - - # unfuck is linux-only right now, we will only use it there. - dwarf-fortress-unfuck = if stdenv.isLinux then callPackage ./unfuck.nix { inherit dfVersion; } - else null; - - twbt = callPackage ./twbt { inherit dfVersion; }; - - dfhack = callPackage ./dfhack { - inherit (pkgs.perlPackages) XMLLibXML XMLLibXSLT; - inherit dfVersion twbt; - stdenv = gccStdenv; - }; - - dwarf-therapist = callPackage ./dwarf-therapist/wrapper.nix { - inherit dwarf-fortress; - dwarf-therapist = dwarf-therapist-original; - }; - in - callPackage ./wrapper { - inherit (self) themes; - - dwarf-fortress = dwarf-fortress; - twbt = twbt; - dfhack = dfhack; - dwarf-therapist = dwarf-therapist; - - jdk = pkgs.jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 - }; - }) (lib.attrNames self.df-hashes)); + }) + (lib.attrNames self.df-hashes)); self = rec { df-hashes = builtins.fromJSON (builtins.readFile ./game.json); @@ -107,7 +110,7 @@ let soundSense = callPackage ./soundsense.nix { }; legends-browser = callPackage ./legends-browser { - jre = pkgs.jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 + jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; themes = recurseIntoAttrs (callPackage ./themes { @@ -119,4 +122,5 @@ let cla-theme = themes.cla; }; -in self // df-games +in +self // df-games diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix index 2e27d9493bd1..4bfb69355a7e 100644 --- a/pkgs/games/dwarf-fortress/dfhack/default.nix +++ b/pkgs/games/dwarf-fortress/dfhack/default.nix @@ -1,7 +1,20 @@ -{ stdenv, buildEnv, lib, fetchFromGitHub, cmake, writeScriptBin -, perl, XMLLibXML, XMLLibXSLT, zlib, ruby -, enableStoneSense ? false, allegro5, libGLU, libGL -, enableTWBT ? true, twbt +{ stdenv +, buildEnv +, lib +, fetchFromGitHub +, cmake +, writeScriptBin +, perl +, XMLLibXML +, XMLLibXSLT +, zlib +, ruby +, enableStoneSense ? false +, allegro5 +, libGLU +, libGL +, enableTWBT ? true +, twbt , SDL , dfVersion }: @@ -60,9 +73,10 @@ let }; }; - release = if hasAttr dfVersion dfhack-releases - then getAttr dfVersion dfhack-releases - else throw "[DFHack] Unsupported Dwarf Fortress version: ${dfVersion}"; + release = + if hasAttr dfVersion dfhack-releases + then getAttr dfVersion dfhack-releases + else throw "[DFHack] Unsupported Dwarf Fortress version: ${dfVersion}"; version = release.dfHackRelease; @@ -125,7 +139,7 @@ let nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ]; # We don't use system libraries because dfhack needs old C++ ABI. buildInputs = [ zlib SDL ] - ++ lib.optionals enableStoneSense [ allegro5 libGLU libGL ]; + ++ lib.optionals enableStoneSense [ allegro5 libGLU libGL ]; preConfigure = '' # Trick build system into believing we have .git @@ -138,7 +152,7 @@ let ''; cmakeFlags = [ "-DDFHACK_BUILD_ARCH=${arch}" "-DDOWNLOAD_RUBY=OFF" ] - ++ lib.optionals enableStoneSense [ "-DBUILD_STONESENSE=ON" "-DSTONESENSE_INTERNAL_SO=OFF" ]; + ++ lib.optionals enableStoneSense [ "-DBUILD_STONESENSE=ON" "-DSTONESENSE_INTERNAL_SO=OFF" ]; # dfhack expects an unversioned libruby.so to be present in the hack # subdirectory for ruby plugins to function. diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix index 243db1e1c398..ec765e71158e 100644 --- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix +++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, qtbase -, qtdeclarative, cmake, texlive, ninja }: +{ lib +, stdenv +, fetchFromGitHub +, qtbase +, qtdeclarative +, cmake +, texlive +, ninja +}: stdenv.mkDerivation rec { pname = "dwarf-therapist"; @@ -15,10 +22,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ texlive cmake ninja ]; buildInputs = [ qtbase qtdeclarative ]; - installPhase = if stdenv.isDarwin then '' - mkdir -p $out/Applications - cp -r DwarfTherapist.app $out/Applications - '' else null; + installPhase = + if stdenv.isDarwin then '' + mkdir -p $out/Applications + cp -r DwarfTherapist.app $out/Applications + '' else null; dontWrapQtApps = true; diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/dwarf-therapist.in b/pkgs/games/dwarf-fortress/dwarf-therapist/dwarf-therapist.in index 77936c430e2b..5ae0a35b5e20 100644 --- a/pkgs/games/dwarf-fortress/dwarf-therapist/dwarf-therapist.in +++ b/pkgs/games/dwarf-fortress/dwarf-therapist/dwarf-therapist.in @@ -5,22 +5,21 @@ install_dir="@install@" therapist_dir="@therapist@" -cat <&2 +@cat@ <&2 Using $DT_DIR as Dwarf Therapist overlay directory. EOF update_path() { local path="$1" - mkdir -p "$DT_DIR/$(dirname "$path")" + @mkdir@ -p "$DT_DIR/$(@dirname@ "$path")" if [ ! -e "$DT_DIR/$path" ] || [ -L "$DT_DIR/$path" ]; then - rm -f "$DT_DIR/$path" - ln -s "$install_dir/share/dwarftherapist/$path" "$DT_DIR/$path" + @rm@ -f "$DT_DIR/$path" + @ln@ -s "$install_dir/share/dwarftherapist/$path" "$DT_DIR/$path" fi } cd "$install_dir/share/dwarftherapist" update_path memory_layouts -QT_QPA_PLATFORM_PLUGIN_PATH="@qt_plugin_path@" \ - exec "$therapist_dir/bin/dwarftherapist" "$@" +exec "$therapist_dir/bin/dwarftherapist" "$@" diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix index 7db79012ec65..93f51df1819d 100644 --- a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix +++ b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix @@ -1,8 +1,9 @@ -{ pkgs, stdenv, dwarf-therapist, dwarf-fortress, makeWrapper }: +{ stdenv, dwarf-therapist, dwarf-fortress, substituteAll, coreutils, wrapQtAppsHook }: let - platformSlug = if stdenv.targetPlatform.is32bit then - "linux32" else "linux64"; + platformSlug = + if stdenv.targetPlatform.is32bit then + "linux32" else "linux64"; inifile = "linux/v0.${dwarf-fortress.baseVersion}.${dwarf-fortress.patchVersion}_${platformSlug}.ini"; in @@ -10,24 +11,32 @@ in stdenv.mkDerivation { name = "dwarf-therapist-${dwarf-therapist.version}"; - wrapper = ./dwarf-therapist.in; + wrapper = substituteAll { + src = ./dwarf-therapist.in; + stdenv_shell = "${stdenv.shell}"; + rm = "${coreutils}/bin/rm"; + ln = "${coreutils}/bin/ln"; + cat = "${coreutils}/bin/cat"; + mkdir = "${coreutils}/bin/mkdir"; + dirname = "${coreutils}/bin/dirname"; + therapist = "${dwarf-therapist}"; + }; paths = [ dwarf-therapist ]; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ wrapQtAppsHook ]; passthru = { inherit dwarf-fortress dwarf-therapist; }; buildCommand = '' mkdir -p $out/bin - ln -s $out/bin/dwarftherapist $out/bin/DwarfTherapist - substitute $wrapper $out/bin/dwarftherapist \ - --subst-var-by stdenv_shell ${stdenv.shell} \ - --subst-var-by install $out \ - --subst-var-by therapist ${dwarf-therapist} \ - --subst-var-by qt_plugin_path "${pkgs.qt5.qtbase}/lib/qt-${pkgs.qt5.qtbase.qtCompatVersion}/plugins/platforms" - chmod 755 $out/bin/dwarftherapist + install -Dm755 $wrapper $out/bin/dwarftherapist + ln -s $out/bin/dwarftherapist $out/bin/DwarfTherapist + + substituteInPlace $out/bin/dwarftherapist \ + --subst-var-by install $out + wrapQtApp $out/bin/dwarftherapist # Fix up memory layouts rm -rf $out/share/dwarftherapist/memory_layouts/linux diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix index 9200d01aa985..d73b111919e1 100644 --- a/pkgs/games/dwarf-fortress/game.nix +++ b/pkgs/games/dwarf-fortress/game.nix @@ -1,10 +1,16 @@ -{ stdenv, lib, fetchurl -, SDL, dwarf-fortress-unfuck +{ stdenv +, lib +, fetchurl +, SDL +, dwarf-fortress-unfuck -# Our own "unfuck" libs for macOS -, ncurses, fmodex, gcc + # Our own "unfuck" libs for macOS +, ncurses +, fmodex +, gcc -, dfVersion, df-hashes +, dfVersion +, df-hashes }: with lib; @@ -30,15 +36,18 @@ let baseVersion = elemAt dfVersionTriple 1; patchVersion = elemAt dfVersionTriple 2; - game = if hasAttr dfVersion df-hashes - then getAttr dfVersion df-hashes - else throw "Unknown Dwarf Fortress version: ${dfVersion}"; - dfPlatform = if hasAttr stdenv.hostPlatform.system platforms - then getAttr stdenv.hostPlatform.system platforms - else throw "Unsupported system: ${stdenv.hostPlatform.system}"; - sha256 = if hasAttr dfPlatform game - then getAttr dfPlatform game - else throw "Unsupported dfPlatform: ${dfPlatform}"; + game = + if hasAttr dfVersion df-hashes + then getAttr dfVersion df-hashes + else throw "Unknown Dwarf Fortress version: ${dfVersion}"; + dfPlatform = + if hasAttr stdenv.hostPlatform.system platforms + then getAttr stdenv.hostPlatform.system platforms + else throw "Unsupported system: ${stdenv.hostPlatform.system}"; + sha256 = + if hasAttr dfPlatform game + then getAttr dfPlatform game + else throw "Unsupported dfPlatform: ${dfPlatform}"; in diff --git a/pkgs/games/dwarf-fortress/lazy-pack.nix b/pkgs/games/dwarf-fortress/lazy-pack.nix index 41620dd66f1c..b34dbd3c74b8 100644 --- a/pkgs/games/dwarf-fortress/lazy-pack.nix +++ b/pkgs/games/dwarf-fortress/lazy-pack.nix @@ -1,5 +1,10 @@ -{ stdenvNoCC, lib, buildEnv -, df-games, themes, latestVersion, versionToName +{ stdenvNoCC +, lib +, buildEnv +, df-games +, themes +, latestVersion +, versionToName , dfVersion ? latestVersion # This package should, at any given time, provide an opinionated "optimal" # DF experience. It's the equivalent of the Lazy Newbie Pack, that is, and @@ -9,9 +14,10 @@ , enableSoundSense ? true , enableStoneSense ? true , enableDwarfTherapist ? true -, enableLegendsBrowser ? true, legends-browser +, enableLegendsBrowser ? true +, legends-browser , theme ? themes.phoebus -# General config options: + # General config options: , enableIntro ? true , enableTruetype ? true , enableFPS ? false @@ -23,9 +29,10 @@ with lib; let dfGame = versionToName dfVersion; - dwarf-fortress = if hasAttr dfGame df-games - then getAttr dfGame df-games - else throw "Unknown Dwarf Fortress version: ${dfVersion}"; + dwarf-fortress = + if hasAttr dfGame df-games + then getAttr dfGame df-games + else throw "Unknown Dwarf Fortress version: ${dfVersion}"; dwarf-therapist = dwarf-fortress.dwarf-therapist; in buildEnv { @@ -33,10 +40,11 @@ buildEnv { paths = [ (dwarf-fortress.override { inherit enableDFHack enableTWBT enableSoundSense enableStoneSense theme - enableIntro enableTruetype enableFPS enableTextMode enableSound; - })] - ++ lib.optional enableDwarfTherapist dwarf-therapist - ++ lib.optional enableLegendsBrowser legends-browser; + enableIntro enableTruetype enableFPS enableTextMode enableSound; + }) + ] + ++ lib.optional enableDwarfTherapist dwarf-therapist + ++ lib.optional enableLegendsBrowser legends-browser; meta = with lib; { description = "An opinionated wrapper for Dwarf Fortress"; diff --git a/pkgs/games/dwarf-fortress/soundsense.nix b/pkgs/games/dwarf-fortress/soundsense.nix index a59c87306903..5202c13b5b8a 100644 --- a/pkgs/games/dwarf-fortress/soundsense.nix +++ b/pkgs/games/dwarf-fortress/soundsense.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchzip, dos2unix +{ stdenv +, fetchzip +, dos2unix , soundPack ? stdenv.mkDerivation { name = "soundsense-soundpack"; src = fetchzip { @@ -8,7 +10,8 @@ installPhase = '' cp -r . $out ''; -}}: + } +}: stdenv.mkDerivation rec { version = "2016-1_196"; diff --git a/pkgs/games/dwarf-fortress/themes/default.nix b/pkgs/games/dwarf-fortress/themes/default.nix index 6241df7590d9..c6987a1d16bd 100644 --- a/pkgs/games/dwarf-fortress/themes/default.nix +++ b/pkgs/games/dwarf-fortress/themes/default.nix @@ -1,19 +1,21 @@ -{lib, fetchFromGitHub, ...}: +{ lib, fetchFromGitHub, ... }: with builtins; -listToAttrs (map (v: { - inherit (v) name; - value = fetchFromGitHub { - name = "${v.name}-${v.version}"; - owner = "DFgraphics"; - repo = v.name; - rev = v.version; - sha256 = v.sha256; - meta = with lib; { - platforms = platforms.all; - maintainers = [ maintainers.matthewbauer maintainers.shazow ]; - license = licenses.free; +listToAttrs (map + (v: { + inherit (v) name; + value = fetchFromGitHub { + name = "${v.name}-${v.version}"; + owner = "DFgraphics"; + repo = v.name; + rev = v.version; + sha256 = v.sha256; + meta = with lib; { + platforms = platforms.all; + maintainers = [ maintainers.matthewbauer maintainers.shazow ]; + license = licenses.free; + }; }; - }; -}) (fromJSON (readFile ./themes.json))) + }) + (fromJSON (readFile ./themes.json))) diff --git a/pkgs/games/dwarf-fortress/twbt/default.nix b/pkgs/games/dwarf-fortress/twbt/default.nix index bee2c28e5308..e6c82e32f0db 100644 --- a/pkgs/games/dwarf-fortress/twbt/default.nix +++ b/pkgs/games/dwarf-fortress/twbt/default.nix @@ -1,4 +1,7 @@ -{ stdenvNoCC, lib, fetchurl, unzip +{ stdenvNoCC +, lib +, fetchurl +, unzip , dfVersion }: @@ -49,9 +52,10 @@ let }; }; - release = if hasAttr dfVersion twbt-releases - then getAttr dfVersion twbt-releases - else throw "[TWBT] Unsupported Dwarf Fortress version: ${dfVersion}"; + release = + if hasAttr dfVersion twbt-releases + then getAttr dfVersion twbt-releases + else throw "[TWBT] Unsupported Dwarf Fortress version: ${dfVersion}"; in stdenvNoCC.mkDerivation rec { diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix index 0fb08aa7e87f..7e96b284044d 100644 --- a/pkgs/games/dwarf-fortress/unfuck.nix +++ b/pkgs/games/dwarf-fortress/unfuck.nix @@ -1,7 +1,21 @@ -{ stdenv, lib, fetchFromGitHub, cmake -, libGL, libSM, SDL, SDL_image, SDL_ttf, glew, openalSoft -, ncurses, glib, gtk2, libsndfile, zlib -, dfVersion, pkg-config +{ stdenv +, lib +, fetchFromGitHub +, cmake +, libGL +, libSM +, SDL +, SDL_image +, SDL_ttf +, glew +, openalSoft +, ncurses +, glib +, gtk2 +, libsndfile +, zlib +, dfVersion +, pkg-config }: with lib; @@ -46,9 +60,10 @@ let }; }; - release = if hasAttr dfVersion unfuck-releases - then getAttr dfVersion unfuck-releases - else throw "[unfuck] Unknown Dwarf Fortress version: ${dfVersion}"; + release = + if hasAttr dfVersion unfuck-releases + then getAttr dfVersion unfuck-releases + else throw "[unfuck] Unknown Dwarf Fortress version: ${dfVersion}"; in stdenv.mkDerivation { @@ -68,8 +83,17 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ - libSM SDL SDL_image SDL_ttf glew openalSoft - ncurses gtk2 libsndfile zlib libGL + libSM + SDL + SDL_image + SDL_ttf + glew + openalSoft + ncurses + gtk2 + libsndfile + zlib + libGL ]; # Don't strip unused symbols; dfhack hooks into some of them. diff --git a/pkgs/games/dwarf-fortress/wrapper/default.nix b/pkgs/games/dwarf-fortress/wrapper/default.nix index 73288ab659f3..ce989b98ffbd 100644 --- a/pkgs/games/dwarf-fortress/wrapper/default.nix +++ b/pkgs/games/dwarf-fortress/wrapper/default.nix @@ -1,13 +1,22 @@ -{ stdenv, lib, buildEnv, substituteAll, runCommand +{ stdenv +, lib +, buildEnv +, substituteAll +, runCommand +, coreutils , dwarf-fortress , dwarf-therapist -, enableDFHack ? false, dfhack -, enableSoundSense ? false, soundSense, jdk +, enableDFHack ? false +, dfhack +, enableSoundSense ? false +, soundSense +, jdk , enableStoneSense ? false -, enableTWBT ? false, twbt -, themes ? {} +, enableTWBT ? false +, twbt +, themes ? { } , theme ? null -# General config options: + # General config options: , enableIntro ? true , enableTruetype ? true , enableFPS ? false @@ -31,11 +40,11 @@ let # These are in inverse order for first packages to override the next ones. themePkg = lib.optional (theme != null) ptheme; pkgs = lib.optional enableDFHack dfhack_ - ++ lib.optional enableSoundSense soundSense - ++ lib.optional enableTWBT twbt.art - ++ [ dwarf-fortress ]; + ++ lib.optional enableSoundSense soundSense + ++ lib.optional enableTWBT twbt.art + ++ [ dwarf-fortress ]; - fixup = lib.singleton (runCommand "fixup" {} ('' + fixup = lib.singleton (runCommand "fixup" { } ('' mkdir -p $out/data/init '' + (if (theme != null) then '' cp ${lib.head themePkg}/data/init/init.txt $out/data/init/init.txt @@ -61,7 +70,7 @@ let substituteInPlace $out/data/init/init.txt \ --replace '[PRINT_MODE:2D]' '[PRINT_MODE:TWBT]' '' + - lib.optionalString enableTextMode '' + lib.optionalString enableTextMode '' substituteInPlace $out/data/init/init.txt \ --replace '[PRINT_MODE:2D]' '[PRINT_MODE:TEXT]' '' + '' @@ -89,8 +98,15 @@ stdenv.mkDerivation { name = "dwarf-fortress-init"; src = ./dwarf-fortress-init.in; inherit env; - exe = if stdenv.isLinux then "libs/Dwarf_Fortress" - else "dwarfort.exe"; + exe = + if stdenv.isLinux then "libs/Dwarf_Fortress" + else "dwarfort.exe"; + stdenv_shell = "${stdenv.shell}"; + cp = "${coreutils}/bin/cp"; + rm = "${coreutils}/bin/rm"; + ln = "${coreutils}/bin/ln"; + cat = "${coreutils}/bin/cat"; + mkdir = "${coreutils}/bin/mkdir"; }; runDF = ./dwarf-fortress.in; diff --git a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in index b041067d89e4..27639e57f212 100644 --- a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in +++ b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in @@ -1,3 +1,4 @@ +#!@stdenv_shell@ -e shopt -s extglob [ -z "$DF_DIR" ] && export DF_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/df_linux" @@ -7,25 +8,25 @@ exe="$env_dir/@exe@" update_path() { local path="$1" - mkdir -p "$DF_DIR/$(dirname "$path")" + @mkdir@ -p "$DF_DIR/$(dirname "$path")" # If user has replaced these data directories, let them stay. if [ ! -e "$DF_DIR/$path" ] || [ -L "$DF_DIR/$path" ]; then - rm -f "$DF_DIR/$path" - ln -s "$env_dir/$path" "$DF_DIR/$path" + @rm@ -f "$DF_DIR/$path" + @ln@ -s "$env_dir/$path" "$DF_DIR/$path" fi } forcecopy_path() { local path="$1" - mkdir -p "$DF_DIR/$(dirname "$path")" - rm -rf "$DF_DIR/$path" - cp -rL --no-preserve=all "$env_dir/$path" "$DF_DIR/$path" + @mkdir@ -p "$DF_DIR/$(dirname "$path")" + @rm@ -rf "$DF_DIR/$path" + @cp@ -rL --no-preserve=all "$env_dir/$path" "$DF_DIR/$path" } -mkdir -p "$DF_DIR" +@mkdir@ -p "$DF_DIR" -cat <&2 +@cat@ <&2 Using $DF_DIR as Dwarf Fortress overlay directory. If you do any changes in it, don't forget to clean it when updating the game version! We try to detect changes based on data directories being symbolic links -- keep this in mind. From e0d776fab3fa782f17ca654903b384c8975b504a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 30 Jun 2021 09:16:13 +0200 Subject: [PATCH 17/19] python3Packages.netmap: init at 0.7.0.2 --- .../python-modules/netmap/default.nix | 43 +++++++++++++++++++ .../python-modules/netmap/nmap-path.patch | 17 ++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 62 insertions(+) create mode 100644 pkgs/development/python-modules/netmap/default.nix create mode 100644 pkgs/development/python-modules/netmap/nmap-path.patch diff --git a/pkgs/development/python-modules/netmap/default.nix b/pkgs/development/python-modules/netmap/default.nix new file mode 100644 index 000000000000..012599216074 --- /dev/null +++ b/pkgs/development/python-modules/netmap/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, substituteAll +, nmap +, python +}: + +buildPythonPackage rec { + pname = "netmap"; + version = "0.7.0.2"; + + src = fetchFromGitHub { + owner = "home-assistant-libs"; + repo = "python-nmap"; + rev = version; + sha256 = "1a44zz9zsxy48ahlpjjrddpyfi7cnfknicfcp35hi588qm430mag"; + }; + + patches = [ + (substituteAll { + src = ./nmap-path.patch; + nmap = "${lib.getBin nmap}/bin/nmap"; + }) + ]; + + # upstream tests require sudo + # make sure nmap is found instead + checkPhase = '' + runHook preCheck + ${python.interpreter} -c 'import nmap; nmap.PortScanner()' + runHook postCheck + ''; + + pythonImportsCheck = [ "nmap" ]; + + meta = with lib; { + description = "Python class to use nmap and access scan results from python3"; + homepage = "https://github.com/home-assistant-libs/python-nmap"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/netmap/nmap-path.patch b/pkgs/development/python-modules/netmap/nmap-path.patch new file mode 100644 index 000000000000..99f9cb43a940 --- /dev/null +++ b/pkgs/development/python-modules/netmap/nmap-path.patch @@ -0,0 +1,17 @@ +diff --git a/nmap/nmap.py b/nmap/nmap.py +index 91c460d..8c5ff0a 100755 +--- a/nmap/nmap.py ++++ b/nmap/nmap.py +@@ -77,11 +77,7 @@ class PortScanner(object): + def __init__( + self, + nmap_search_path=( +- "nmap", +- "/usr/bin/nmap", +- "/usr/local/bin/nmap", +- "/sw/bin/nmap", +- "/opt/local/bin/nmap", ++ "@nmap@", + ), + ): + """ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 99c6294ecadb..96f5f65a93da 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5233,6 +5233,8 @@ in { phonenumbers = callPackage ../development/python-modules/phonenumbers { }; + netmap = callPackage ../development/python-modules/netmap { }; + openapi-core = callPackage ../development/python-modules/openapi-core { }; pdunehd = callPackage ../development/python-modules/pdunehd { }; From 801a040deef858799cfcab1c2da52e6a76bb1667 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Sun, 27 Jun 2021 11:37:48 +0200 Subject: [PATCH 18/19] chroma: 0.9.1 -> 0.9.2 --- pkgs/tools/text/chroma/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/chroma/default.nix b/pkgs/tools/text/chroma/default.nix index 6511d2dcdbb3..0235e48b298a 100644 --- a/pkgs/tools/text/chroma/default.nix +++ b/pkgs/tools/text/chroma/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "chroma"; - version = "0.9.1"; + version = "0.9.2"; src = fetchFromGitHub { owner = "alecthomas"; repo = pname; rev = "v${version}"; - sha256 = "sha256-+4UaQrJh3PBf68rlW1lOEyEVw3vWxfc+Casa5+H8F9A="; + sha256 = "0g5l961sr05p0kfj56qcxs9f4x3ji3p6n96zrc16cij5ncncasxw"; leaveDotGit = true; }; From b5460f9ce2410a731efa8bb9311691b6fe651239 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Sun, 27 Jun 2021 11:46:52 +0200 Subject: [PATCH 19/19] chroma: do version info substitution in postFetch This should increase reproducibility of the derivation as we can delete the .git directory in the src derivation. --- pkgs/tools/text/chroma/default.nix | 35 ++++++++++++++++-------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/text/chroma/default.nix b/pkgs/tools/text/chroma/default.nix index 0235e48b298a..1b9cbcd3727a 100644 --- a/pkgs/tools/text/chroma/default.nix +++ b/pkgs/tools/text/chroma/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, git }: +{ lib, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "chroma"; @@ -8,24 +8,27 @@ buildGoModule rec { owner = "alecthomas"; repo = pname; rev = "v${version}"; - sha256 = "0g5l961sr05p0kfj56qcxs9f4x3ji3p6n96zrc16cij5ncncasxw"; + sha256 = "19d7yr6q8kwrm91yyglmw9n7wa861sgi6dbwn8sl6dp55czfwvaq"; + # populate values otherwise taken care of by goreleaser, + # unfortunately these require us to use git. By doing + # this in postFetch we can delete .git afterwards and + # maintain better reproducibility of the src. leaveDotGit = true; + postFetch = '' + cd "$out" + + commit="$(git rev-parse HEAD)" + date=$(git show -s --format=%aI "$commit") + + substituteInPlace "$out/cmd/chroma/main.go" \ + --replace 'version = "?"' 'version = "${version}"' \ + --replace 'commit = "?"' "commit = \"$commit\"" \ + --replace 'date = "?"' "date = \"$date\"" + + find "$out" -name .git -print0 | xargs -0 rm -rf + ''; }; - nativeBuildInputs = [ git ]; - - # populate values otherwise taken care of by goreleaser - # https://github.com/alecthomas/chroma/issues/435 - postPatch = '' - commit="$(git rev-parse HEAD)" - date=$(git show -s --format=%aI "$commit") - - substituteInPlace cmd/chroma/main.go \ - --replace 'version = "?"' 'version = "${version}"' \ - --replace 'commit = "?"' "commit = \"$commit\"" \ - --replace 'date = "?"' "date = \"$date\"" - ''; - vendorSha256 = "0y8mp08zccn9qxrsj9j7vambz8dwzsxbbgrlppzam53rg8rpxhrg"; subPackages = [ "cmd/chroma" ];