From 5111da3ff4640892e6fdfe9a16996af500845940 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 23 Sep 2024 09:22:25 -0300 Subject: [PATCH 1/9] httplib: migrate to by-name --- .../httplib/default.nix => by-name/ht/httplib/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/httplib/default.nix => by-name/ht/httplib/package.nix} (100%) diff --git a/pkgs/development/libraries/httplib/default.nix b/pkgs/by-name/ht/httplib/package.nix similarity index 100% rename from pkgs/development/libraries/httplib/default.nix rename to pkgs/by-name/ht/httplib/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 757459aa5645ae9..2d243ec09401ca0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19931,8 +19931,6 @@ with pkgs; hnswlib = callPackage ../development/libraries/hnswlib { }; - httplib = callPackage ../development/libraries/httplib { }; - icon-lang = callPackage ../development/interpreters/icon-lang { }; libgit2 = callPackage ../development/libraries/libgit2 { From 5a6c7d139a493d979dac71d67ed10f6eb1583776 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 23 Sep 2024 09:25:27 -0300 Subject: [PATCH 2/9] httplib: refactor - finalAttrs - strictDeps - no nested with - add AndersonTorres as maintainer --- pkgs/by-name/ht/httplib/package.nix | 35 +++++++++++++++++------------ 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/ht/httplib/package.nix b/pkgs/by-name/ht/httplib/package.nix index eb733b4df17bed4..9e08c798af6d5d2 100644 --- a/pkgs/by-name/ht/httplib/package.nix +++ b/pkgs/by-name/ht/httplib/package.nix @@ -1,30 +1,37 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, openssl +{ + lib, + cmake, + fetchFromGitHub, + openssl, + stdenv, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "httplib"; version = "0.17.3"; src = fetchFromGitHub { owner = "yhirose"; repo = "cpp-httplib"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-yvaPIbRqJGkiob3Nrv3H1ieFAC5b+h1tTncJWTy4dmk="; }; nativeBuildInputs = [ cmake ]; + buildInputs = [ openssl ]; - meta = with lib; { - description = "C++ header-only HTTP/HTTPS server and client library"; + strictDeps = true; + + meta = { homepage = "https://github.com/yhirose/cpp-httplib"; - changelog = "https://github.com/yhirose/cpp-httplib/releases/tag/v${version}"; - maintainers = with maintainers; [ aidalgol ]; - license = licenses.mit; - platforms = platforms.all; + description = "C++ header-only HTTP/HTTPS server and client library"; + changelog = "https://github.com/yhirose/cpp-httplib/releases/tag/${finalAttrs.src.rev}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + AndersonTorres + aidalgol + ]; + platforms = lib.platforms.all; }; -} +}) From 01e7b5176df8d6c37bbe2f8ffc06d6b1eddb5fb6 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 23 Sep 2024 09:55:27 -0300 Subject: [PATCH 3/9] httplib: 0.17.3 -> 0.18.0 Co-authored-by: R. RyanTM --- pkgs/by-name/ht/httplib/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ht/httplib/package.nix b/pkgs/by-name/ht/httplib/package.nix index 9e08c798af6d5d2..bead3f3a9c21e7f 100644 --- a/pkgs/by-name/ht/httplib/package.nix +++ b/pkgs/by-name/ht/httplib/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "httplib"; - version = "0.17.3"; + version = "0.18.0"; src = fetchFromGitHub { owner = "yhirose"; repo = "cpp-httplib"; rev = "v${finalAttrs.version}"; - hash = "sha256-yvaPIbRqJGkiob3Nrv3H1ieFAC5b+h1tTncJWTy4dmk="; + hash = "sha256-cR1yRqZ6hZeGtMhiW003zcN0d/f/v1gMMNiL0hA1r6I="; }; nativeBuildInputs = [ cmake ]; From 48e983ab6364240caba9b2c8bcb326ff10e9e21d Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 23 Sep 2024 17:22:12 -0300 Subject: [PATCH 4/9] httplib: remove aidalgol from maintainers By their own request. --- pkgs/by-name/ht/httplib/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/ht/httplib/package.nix b/pkgs/by-name/ht/httplib/package.nix index bead3f3a9c21e7f..7b5c7b0f68e23ee 100644 --- a/pkgs/by-name/ht/httplib/package.nix +++ b/pkgs/by-name/ht/httplib/package.nix @@ -30,7 +30,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ AndersonTorres - aidalgol ]; platforms = lib.platforms.all; }; From 2da42804193fd794871370a136534140aa0e982e Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 23 Sep 2024 10:37:02 -0300 Subject: [PATCH 5/9] obs-studio-plugins.advanced-scene-switcher: pin httplib sources --- .../advanced-scene-switcher/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix index 68d48e71d1c799c..9037ccd0ac67f6c 100644 --- a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix @@ -8,6 +8,7 @@ alsa-lib, asio, curl, + libremidi, nlohmann_json, obs-studio, opencv, @@ -16,12 +17,17 @@ stdenv, tesseract, websocketpp, - xorg, - - httplib, - libremidi, + libXScrnSaver, }: +let + httplib-src = fetchFromGitHub { + owner = "yhirose"; + repo = "cpp-httplib"; + rev = "v0.17.3"; + hash = "sha256-yvaPIbRqJGkiob3Nrv3H1ieFAC5b+h1tTncJWTy4dmk="; + }; +in stdenv.mkDerivation rec { pname = "advanced-scene-switcher"; version = "1.27.2"; @@ -50,13 +56,13 @@ stdenv.mkDerivation rec { qtbase tesseract websocketpp - xorg.libXScrnSaver + libXScrnSaver ]; dontWrapQtApps = true; postUnpack = '' - cp -r ${httplib.src}/* $sourceRoot/deps/cpp-httplib + cp -r ${httplib-src}/* $sourceRoot/deps/cpp-httplib cp -r ${libremidi.src}/* $sourceRoot/deps/libremidi chmod -R +w $sourceRoot/deps/cpp-httplib chmod -R +w $sourceRoot/deps/libremidi From 6d40be9f34fd10e248c2a5d8ce50d48eff565875 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 23 Sep 2024 13:14:32 -0300 Subject: [PATCH 6/9] libremidi: move darwin dependencies inside expression --- pkgs/development/libraries/libremidi/default.nix | 12 ++++++++---- pkgs/top-level/all-packages.nix | 8 +------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/libremidi/default.nix b/pkgs/development/libraries/libremidi/default.nix index 48014bea074163f..315a72c15ec875b 100644 --- a/pkgs/development/libraries/libremidi/default.nix +++ b/pkgs/development/libraries/libremidi/default.nix @@ -1,14 +1,18 @@ { alsa-lib , cmake -, CoreAudio -, CoreFoundation -, CoreMIDI -, CoreServices +, darwin , fetchFromGitHub , lib , stdenv }: +let + inherit (darwin.apple_sdk.frameworks) + CoreAudio + CoreFoundation + CoreMIDI + CoreServices; +in stdenv.mkDerivation rec { pname = "libremidi"; version = "4.4.0"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2d243ec09401ca0..b860d12f5c71f70 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21400,13 +21400,7 @@ with pkgs; librem = callPackage ../development/libraries/librem { }; - libremidi = callPackage ../development/libraries/libremidi { - inherit (darwin.apple_sdk.frameworks) - CoreAudio - CoreFoundation - CoreMIDI - CoreServices; - }; + libremidi = callPackage ../development/libraries/libremidi { }; libremines = qt6.callPackage ../games/libremines { }; From 59849dbd5a2f74ebe8238884adabc4119bcf5855 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 23 Sep 2024 13:15:50 -0300 Subject: [PATCH 7/9] libremidi: migrate to by-name --- .../libremidi/default.nix => by-name/li/libremidi/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/libremidi/default.nix => by-name/li/libremidi/package.nix} (100%) diff --git a/pkgs/development/libraries/libremidi/default.nix b/pkgs/by-name/li/libremidi/package.nix similarity index 100% rename from pkgs/development/libraries/libremidi/default.nix rename to pkgs/by-name/li/libremidi/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b860d12f5c71f70..ddf50b80a617848 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21400,8 +21400,6 @@ with pkgs; librem = callPackage ../development/libraries/librem { }; - libremidi = callPackage ../development/libraries/libremidi { }; - libremines = qt6.callPackage ../games/libremines { }; librelp = callPackage ../development/libraries/librelp { }; From 74da0bcf331b80c08501ebc48d2ee79f44895781 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 23 Sep 2024 17:19:58 -0300 Subject: [PATCH 8/9] libremidi: refactor - finalAttrs - nixfmt-rfc-style --- pkgs/by-name/li/libremidi/package.nix | 45 ++++++++++++++++----------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/pkgs/by-name/li/libremidi/package.nix b/pkgs/by-name/li/libremidi/package.nix index 315a72c15ec875b..b86322d135417de 100644 --- a/pkgs/by-name/li/libremidi/package.nix +++ b/pkgs/by-name/li/libremidi/package.nix @@ -1,9 +1,10 @@ -{ alsa-lib -, cmake -, darwin -, fetchFromGitHub -, lib -, stdenv +{ + lib, + alsa-lib, + cmake, + darwin, + fetchFromGitHub, + stdenv, }: let @@ -11,38 +12,44 @@ let CoreAudio CoreFoundation CoreMIDI - CoreServices; + CoreServices + ; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libremidi"; version = "4.4.0"; src = fetchFromGitHub { owner = "jcelerier"; repo = "libremidi"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-raVBJ75/UmM3P69s8VNUXRE/2jV4WqPIfI4eXaf6UEg="; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + ]; - buildInputs = lib.optional stdenv.isLinux alsa-lib + buildInputs = + lib.optionals stdenv.isLinux [ + alsa-lib + ] ++ lib.optionals stdenv.isDarwin [ - CoreAudio - CoreFoundation - CoreMIDI - CoreServices - ]; + CoreAudio + CoreFoundation + CoreMIDI + CoreServices + ]; postInstall = '' cp -r $src/include $out ''; meta = { - description = "Modern C++ MIDI real-time & file I/O library"; homepage = "https://github.com/jcelerier/libremidi"; - maintainers = [ ]; + description = "Modern C++ MIDI real-time & file I/O library"; license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ AndersonTorres ]; platforms = lib.platforms.all; }; -} +}) From 133e941b6574ddfe95a4924c333200178a7b60a3 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 23 Sep 2024 17:50:33 -0300 Subject: [PATCH 9/9] libremidi: explicitly set strictDeps as false Because setting it as true breaks obs-studio-plugins.advanced-scene-switcher --- pkgs/by-name/li/libremidi/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/li/libremidi/package.nix b/pkgs/by-name/li/libremidi/package.nix index b86322d135417de..d96a1e19847c772 100644 --- a/pkgs/by-name/li/libremidi/package.nix +++ b/pkgs/by-name/li/libremidi/package.nix @@ -41,6 +41,9 @@ stdenv.mkDerivation (finalAttrs: { CoreServices ]; + # Bug: set this as true breaks obs-studio-plugins.advanced-scene-switcher + strictDeps = false; + postInstall = '' cp -r $src/include $out '';