From e8f6b8225ab3308a0584471125abb9857af3e95a 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 eef9ab339bd0..08760e86bb25 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19806,8 +19806,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 0e6f5d2b9b35fc5775369bb271bd2428f22b2a53 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 eb733b4df17b..9e08c798af6d 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 d344e115958785e4fa4e7238024659debe78b238 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 9e08c798af6d..bead3f3a9c21 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 aede8e062ccc294a87a48c3df4f9eb526bec8dd4 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 bead3f3a9c21..7b5c7b0f68e2 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 8b5c3428d601bcf796ff4c46a2b9d58be8c28767 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 68d48e71d1c7..9037ccd0ac67 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 8d2f1602be57fe9e98ec17ccab933c7aa8c6035a 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 6717b97203b7..c47ddf4beb9b 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 08760e86bb25..81c25aa04630 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21276,13 +21276,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 aff7901ec8fd6dac36d5fcc7d6515a6d57f4ded2 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 81c25aa04630..39d24d0931a6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21276,8 +21276,6 @@ with pkgs; librem = callPackage ../development/libraries/librem { }; - libremidi = callPackage ../development/libraries/libremidi { }; - libremines = qt6.callPackage ../games/libremines { }; librelp = callPackage ../development/libraries/librelp { }; From 3d121486fc5fbb5ce41161a1a4a7e57dfa4388d4 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 4 Oct 2024 19:30:39 -0300 Subject: [PATCH 8/9] libremidi: refactor - finalAttrs - nixfmt-rfc-style - adopted by AndersonTorres --- pkgs/by-name/li/libremidi/package.nix | 47 +++++++++++++++------------ 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/li/libremidi/package.nix b/pkgs/by-name/li/libremidi/package.nix index c47ddf4beb9b..560ebc00b029 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 ]; - - buildInputs = lib.optional stdenv.hostPlatform.isLinux alsa-lib - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - CoreAudio - CoreFoundation - CoreMIDI - CoreServices + nativeBuildInputs = [ + cmake ]; + buildInputs = + lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + 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 fe550aec2b235e7524f7980781ffc6d9fa29ab8e 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 560ebc00b029..0395afa80c0e 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 '';