parabolic: 2025.6.0 → 2025.8.1 (#430728)

This commit is contained in:
Sandro
2025-09-02 14:34:31 +02:00
committed by GitHub
3 changed files with 35 additions and 73 deletions
+6 -13
View File
@@ -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 { };
+7 -5
View File
@@ -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 = [
+22 -55
View File
@@ -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;