From 45c83a49be3bb465ec17486ce2c8154480bdd78e Mon Sep 17 00:00:00 2001 From: Jasi Date: Sun, 3 Aug 2025 15:20:32 -0400 Subject: [PATCH 1/3] libmaddy-markdown: use cmake build system --- pkgs/by-name/li/libmaddy-markdown/package.nix | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/li/libmaddy-markdown/package.nix b/pkgs/by-name/li/libmaddy-markdown/package.nix index 5c659e7ddd15..621c7d857094 100644 --- a/pkgs/by-name/li/libmaddy-markdown/package.nix +++ b/pkgs/by-name/li/libmaddy-markdown/package.nix @@ -1,11 +1,12 @@ { lib, - stdenvNoCC, + stdenv, fetchFromGitHub, + cmake, nix-update-script, }: -stdenvNoCC.mkDerivation (finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "libmaddy-markdown"; version = "1.6.0"; @@ -16,17 +17,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-WMueY199ngw9BtHSY8zypfPZjWaQsSLUx8FDfQbBt5g="; }; - dontBuild = true; - dontConfigure = true; - - installPhase = '' - runHook preInstall - - mkdir -p $out/include/maddy - install -Dm444 include/maddy/* -t $out/include/maddy - - runHook postInstall - ''; + nativeBuildInputs = [ + cmake + ]; passthru.updateScript = nix-update-script { }; From a3cdfe961dfd59803797b92278a6be7017a03710 Mon Sep 17 00:00:00 2001 From: Jasi Date: Sun, 3 Aug 2025 15:15:17 -0400 Subject: [PATCH 2/3] =?UTF-8?q?libnick:=202025.6.1=20=E2=86=92=202025.8.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/li/libnick/package.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/li/libnick/package.nix b/pkgs/by-name/li/libnick/package.nix index e3830e273ad6..c5307902ff76 100644 --- a/pkgs/by-name/li/libnick/package.nix +++ b/pkgs/by-name/li/libnick/package.nix @@ -9,6 +9,7 @@ openssl, sqlcipher, boost, + cpr, curl, glib, libsecret, @@ -19,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libnick"; - version = "2025.6.1"; + version = "2025.8.0"; src = fetchFromGitHub { owner = "NickvisionApps"; repo = "libnick"; tag = finalAttrs.version; - hash = "sha256-Ir2Jke1zK4pKldQJHaT0Ju0ubz7H6nx16hDNl6u48Ck="; + hash = "sha256-LgvU5a3W5Oii6pRAAKZo28yOyPRUMjxwEXDZ2jXJPGM="; }; nativeBuildInputs = [ @@ -39,17 +40,18 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ boost - libmaddy-markdown ] ++ lib.optionals stdenv.hostPlatform.isUnix [ glib openssl - ] - ++ lib.optional stdenv.hostPlatform.isWindows sqlcipher; + ]; propagatedBuildInputs = [ curl + cpr libsecret + libmaddy-markdown + sqlcipher ]; cmakeFlags = [ From 32bf2f319c434a952db344b03fc74593fb5b3a08 Mon Sep 17 00:00:00 2001 From: Jasi Date: Sun, 3 Aug 2025 15:37:43 -0400 Subject: [PATCH 3/3] =?UTF-8?q?parabolic:=202025.6.0=20=E2=86=92=202025.8.?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream no longer supports the Qt version of the app, so all Qt related components and workarounds are dropped from the builder. In addition, upstream now vendors their own yt-dlp when the program starts up (occurs even when yt-dlp from nixpkgs and yt-dlp upstream match). This is patched out to ensure that nixpkgs users always use yt-dlp managed by Nix rather than a vendored version. --- pkgs/by-name/pa/parabolic/package.nix | 77 ++++++++------------------- 1 file changed, 22 insertions(+), 55 deletions(-) diff --git a/pkgs/by-name/pa/parabolic/package.nix b/pkgs/by-name/pa/parabolic/package.nix index 4185627fbdd9..12ae8ffefb93 100644 --- a/pkgs/by-name/pa/parabolic/package.nix +++ b/pkgs/by-name/pa/parabolic/package.nix @@ -18,29 +18,21 @@ wrapGAppsHook4, libxmlxx5, blueprint-compiler, - qt6, - qlementine, - qlementine-icons, yt-dlp, ffmpeg, aria2, nix-update-script, - uiPlatform ? "gnome", }: -assert lib.assertOneOf "uiPlatform" uiPlatform [ - "gnome" - "qt" -]; stdenv.mkDerivation (finalAttrs: { pname = "parabolic"; - version = "2025.6.0"; + version = "2025.8.1"; src = fetchFromGitHub { owner = "NickvisionApps"; repo = "Parabolic"; tag = finalAttrs.version; - hash = "sha256-Osfj/GaD4t85ZYnlFDqgHhLJLA8VvgqtHEJN8bn0SxI="; + hash = "sha256-Xft9yqkJzWu4eGPDtRl4tV4594HjJp17Osnv0kG0IMk="; }; # Patches desktop file/dbus service bypassing wrapped executable @@ -52,6 +44,13 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace "resources/linux/org.nickvision.tubeconverter.service.in" \ --replace-fail "@CMAKE_INSTALL_FULL_LIBDIR@/@PROJECT_NAME@/@OUTPUT_NAME@" \ "@CMAKE_INSTALL_FULL_BINDIR@/@PROJECT_NAME@" + '' + # Ensure that users are not downloading vendored versions of yt-dlp + # outside of nixpkgs + + '' + substituteInPlace "libparabolic/src/models/downloadmanager.cpp" \ + --replace-fail "m_ytdlpManager.checkForUpdates();" \ + "" ''; nativeBuildInputs = [ @@ -62,66 +61,39 @@ stdenv.mkDerivation (finalAttrs: { itstool yelp-tools desktop-file-utils - ] - ++ lib.optionals (uiPlatform == "gnome") [ wrapGAppsHook4 blueprint-compiler glib shared-mime-info - ] - ++ lib.optional (uiPlatform == "qt") qt6.wrapQtAppsHook; + ]; buildInputs = [ libnick boost - ] - ++ lib.optionals (uiPlatform == "qt") [ - qt6.qtbase - qt6.qtsvg - qlementine - qlementine-icons - ] - ++ lib.optionals (uiPlatform == "gnome") [ glib gtk4 libadwaita libxmlxx5 ]; - cmakeFlags = [ - (lib.cmakeFeature "UI_PLATFORM" uiPlatform) - ]; - - dontWrapGApps = true; - dontWrapQtApps = true; - - preFixup = - lib.optionalString (uiPlatform == "gnome") '' - makeWrapperArgs+=("''${gappsWrapperArgs[@]}") - '' - + lib.optionalString (uiPlatform == "qt") '' - makeWrapperArgs+=("''${qtWrapperArgs[@]}") - '' - + '' - makeWrapperArgs+=(--prefix PATH : ${ - lib.makeBinPath [ - aria2 - ffmpeg - yt-dlp - ] - }) - - wrapProgram $out/bin/org.nickvision.tubeconverter \ - ''${makeWrapperArgs[@]} - ''; + preFixup = '' + gappsWrapperArgs+=(--prefix PATH : ${ + lib.makeBinPath [ + aria2 + ffmpeg + yt-dlp + ] + }) + ''; passthru.updateScript = nix-update-script { }; meta = { description = "Graphical frontend for yt-dlp to download video and audio"; longDescription = '' - Parabolic is a user-friendly frontend for `yt-dlp` that supports - many features including but limited to: + Parabolic is a user-friendly adwaita application for `yt-dlp` + that supports many features including but not limited to: + - Downloading and converting videos and audio using ffmpeg. - Supporting multiple codecs. - Offering YouTube sponsorblock support. @@ -129,11 +101,6 @@ stdenv.mkDerivation (finalAttrs: { - Downloading metadata and video subtitles. - Allowing the use of `aria2` for parallel downloads. - Offering a graphical keyring to manage account credentials. - - Being available as both a Qt and GNOME application. - - By default, the GNOME interface is used, but the Qt interface - can be built by overriding the `uiPlatform` argument to `"qt"` - over the default value `"gnome"`. ''; homepage = "https://github.com/NickvisionApps/Parabolic"; license = lib.licenses.gpl3Plus;