From 03d84869b01a72203785e25fce64c2ecca6ee0ba Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 19 Apr 2024 23:27:31 -0300 Subject: [PATCH 1/6] smpq: migrate to by-name --- .../misc/smpq/default.nix => by-name/sm/smpq/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/misc/smpq/default.nix => by-name/sm/smpq/package.nix} (100%) diff --git a/pkgs/applications/misc/smpq/default.nix b/pkgs/by-name/sm/smpq/package.nix similarity index 100% rename from pkgs/applications/misc/smpq/default.nix rename to pkgs/by-name/sm/smpq/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9c0846d71df7..96aeee81c20a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13152,8 +13152,6 @@ with pkgs; smug = callPackage ../tools/misc/smug { }; - smpq = callPackage ../applications/misc/smpq { }; - snabb = callPackage ../tools/networking/snabb { }; snallygaster = callPackage ../tools/security/snallygaster { }; From 37d8b499a0ef3d9b5807fb5af79df4dfd8c44133 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 19 Apr 2024 23:35:15 -0300 Subject: [PATCH 2/6] smpq: refactor - finalAttrs - strictDeps - no nested with --- pkgs/by-name/sm/smpq/package.nix | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/sm/smpq/package.nix b/pkgs/by-name/sm/smpq/package.nix index a1879241bd21..117e05d08735 100644 --- a/pkgs/by-name/sm/smpq/package.nix +++ b/pkgs/by-name/sm/smpq/package.nix @@ -1,27 +1,36 @@ -{ lib, stdenv, fetchurl, cmake, stormlib }: +{ + lib, + cmake, + fetchurl, + stdenv, + stormlib, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "smpq"; version = "1.6"; src = fetchurl { - url = "https://launchpad.net/smpq/trunk/${version}/+download/${pname}_${version}.orig.tar.gz"; - sha256 = "1jqq5x3b17jy66x3kkf5hs5l322dx2v14djxxrqrnqp8bn5drlmm"; + url = "https://launchpad.net/smpq/trunk/${finalAttrs.version}/+download/smpq_${finalAttrs.version}.orig.tar.gz"; + hash = "sha256-tdLcil3oYptx7l02ErboTYhBi4bFzTm6MV6esEYvGMs="; }; cmakeFlags = [ - "-DWITH_KDE=OFF" + (lib.cmakeBool "WITH_KDE" false) ]; nativeBuildInputs = [ cmake ]; + buildInputs = [ stormlib ]; - meta = with lib; { - description = "StormLib MPQ archiving utility"; + strictDeps = true; + + meta = { homepage = "https://launchpad.net/smpq"; - license = licenses.gpl3Only; - platforms = platforms.all; - maintainers = with maintainers; [ aanderse karolchmist ]; + description = "StormLib MPQ archiving utility"; + license = lib.licenses.gpl3Only; mainProgram = "smpq"; + maintainers = with lib.maintainers; [ aanderse karolchmist ]; + platforms = lib.platforms.all; }; -} +}) From a630b7d254a7a6f7fb0ffaf894aa499286aa6730 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 19 Apr 2024 22:38:04 -0300 Subject: [PATCH 3/6] stormlib: refactor - finalAttrs - strictDeps - no nested with --- pkgs/by-name/st/stormlib/package.nix | 60 ++++++++++++++++++---------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/st/stormlib/package.nix b/pkgs/by-name/st/stormlib/package.nix index cfa218c34e1e..980b832aa9a0 100644 --- a/pkgs/by-name/st/stormlib/package.nix +++ b/pkgs/by-name/st/stormlib/package.nix @@ -1,41 +1,61 @@ -{ lib, stdenv, fetchFromGitHub, cmake, bzip2, libtomcrypt, zlib, darwin }: +{ + lib, + bzip2, + cmake, + darwin, + fetchFromGitHub, + libtomcrypt, + stdenv, + zlib, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "stormlib"; version = "9.22"; src = fetchFromGitHub { owner = "ladislav-zezula"; repo = "StormLib"; - rev = "v${version}"; - sha256 = "1rcdl6ryrr8fss5z5qlpl4prrw8xpbcdgajg2hpp0i7fpk21ymcc"; + rev = "v${finalAttrs.version}"; + hash = "sha256-jFUfxLzuRHAvFE+q19i6HfGcL6GX4vKL1g7l7LOhjeU="; }; - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace "FRAMEWORK DESTINATION /Library/Frameworks" "FRAMEWORK DESTINATION Library/Frameworks" - ''; - - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=ON" - "-DWITH_LIBTOMCRYPT=ON" + nativeBuildInputs = [ + cmake ]; - nativeBuildInputs = [ cmake ]; - buildInputs = [ bzip2 libtomcrypt zlib ] ++ - lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Carbon ]; + buildInputs = [ + bzip2 + libtomcrypt + zlib + ] + ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Carbon + ]; + + cmakeFlags = [ + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeBool "WITH_LIBTOMCRYPT" true) + ]; + + strictDeps = true; env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ "-Wno-implicit-function-declaration" "-Wno-int-conversion" ]); - meta = with lib; { + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "FRAMEWORK DESTINATION /Library/Frameworks" "FRAMEWORK DESTINATION Library/Frameworks" + ''; + + meta = { homepage = "https://github.com/ladislav-zezula/StormLib"; - license = licenses.mit; description = "An open-source project that can work with Blizzard MPQ archives"; + license = lib.licenses.mit; mainProgram = "storm_test"; - platforms = platforms.all; - maintainers = with maintainers; [ aanderse karolchmist ]; + maintainers = with lib.maintainers; [ aanderse karolchmist ]; + platforms = lib.platforms.all; }; -} +}) From 2502dd75bd0ff78243562a97ddf15a6d8820538e Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 19 Apr 2024 23:01:53 -0300 Subject: [PATCH 4/6] stormlib: 9.22 -> 9.23 --- pkgs/by-name/st/stormlib/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/stormlib/package.nix b/pkgs/by-name/st/stormlib/package.nix index 980b832aa9a0..c8a141e3bec3 100644 --- a/pkgs/by-name/st/stormlib/package.nix +++ b/pkgs/by-name/st/stormlib/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "stormlib"; - version = "9.22"; + version = "9.23"; src = fetchFromGitHub { owner = "ladislav-zezula"; repo = "StormLib"; rev = "v${finalAttrs.version}"; - hash = "sha256-jFUfxLzuRHAvFE+q19i6HfGcL6GX4vKL1g7l7LOhjeU="; + hash = "sha256-8JDMqZ5BWslH4+Mfo5lnWTmD2QDaColwBOLzcuGZciY="; }; nativeBuildInputs = [ @@ -54,7 +54,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/ladislav-zezula/StormLib"; description = "An open-source project that can work with Blizzard MPQ archives"; license = lib.licenses.mit; - mainProgram = "storm_test"; maintainers = with lib.maintainers; [ aanderse karolchmist ]; platforms = lib.platforms.all; }; From 95642f474c4ed16619f472cd2578e680eb0f927f Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 22 Apr 2024 23:12:08 -0300 Subject: [PATCH 5/6] stormlib: mark as broken on Darwin --- pkgs/by-name/st/stormlib/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/st/stormlib/package.nix b/pkgs/by-name/st/stormlib/package.nix index c8a141e3bec3..8248956f2667 100644 --- a/pkgs/by-name/st/stormlib/package.nix +++ b/pkgs/by-name/st/stormlib/package.nix @@ -56,5 +56,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ aanderse karolchmist ]; platforms = lib.platforms.all; + broken = stdenv.isDarwin; # installation directory mismatch }; }) From 616be9785f91100fa43ebb2daa8ef23a01dcfb41 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 19 Apr 2024 23:37:09 -0300 Subject: [PATCH 6/6] smpq: pin stormlib to version 9.22 --- pkgs/top-level/all-packages.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 96aeee81c20a..ef270e40e08c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13152,6 +13152,18 @@ with pkgs; smug = callPackage ../tools/misc/smug { }; + smpq = callPackage ../by-name/sm/smpq/package.nix { + stormlib = stormlib.overrideAttrs (old: { + version = "9.22"; + src = fetchFromGitHub { + owner = "ladislav-zezula"; + repo = "StormLib"; + rev = "v9.22"; + hash = "sha256-jFUfxLzuRHAvFE+q19i6HfGcL6GX4vKL1g7l7LOhjeU="; + }; + }); + }; + snabb = callPackage ../tools/networking/snabb { }; snallygaster = callPackage ../tools/security/snallygaster { };