Derivations/TidalDlNg: Add tidal-dl-ng derivation
This commit is contained in:
@ -7,4 +7,5 @@
|
||||
|
||||
monolisa = pkgs.callPackage ./monolisa {};
|
||||
msty = pkgs.callPackage ./msty {};
|
||||
tidal-dl-ng = pkgs.callPackage ./tidal-dl-ng {};
|
||||
}
|
||||
|
148
derivations/tidal-dl-ng/default.nix
Normal file
148
derivations/tidal-dl-ng/default.nix
Normal file
@ -0,0 +1,148 @@
|
||||
# https://github.com/exislow/tidal-dl-ng/issues/472
|
||||
# https://gist.github.com/xaolanx/4c88d0cbc0dee90764bae767006103f8
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
pkgs,
|
||||
}: let
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
requests_2_32_4 = pkgs.python3Packages.requests.overridePythonAttrs (old: {
|
||||
version = "2.32.4";
|
||||
src = pkgs.python3Packages.fetchPypi {
|
||||
inherit (old) pname;
|
||||
version = "2.32.4";
|
||||
sha256 = "sha256-J9AxZoLIopg00yZIIAJLYqNpQgg9Usry8UwFkTNtNCI=";
|
||||
};
|
||||
patches =
|
||||
builtins.filter (
|
||||
p: !pkgs.lib.strings.hasInfix "CVE-2024-47081" (toString p)
|
||||
)
|
||||
old.patches;
|
||||
});
|
||||
|
||||
pycryptodome_3_23_0 = pkgs.python3Packages.pycryptodome.overridePythonAttrs (old: {
|
||||
version = "3.23.0";
|
||||
src = pkgs.python3Packages.fetchPypi {
|
||||
inherit (old) pname;
|
||||
version = "3.23.0";
|
||||
sha256 = "sha256-RHcAplcYLWAzi6sJ/bJ1GPiFauzYCuTGvd22f/XaRO8=";
|
||||
};
|
||||
});
|
||||
|
||||
pathvalidate_3_3_1 = pkgs.python3Packages.pathvalidate.overridePythonAttrs (old: {
|
||||
version = "3.3.1";
|
||||
src = pkgs.python3Packages.fetchPypi {
|
||||
inherit (old) pname;
|
||||
version = "3.3.1";
|
||||
sha256 = "sha256-sYwHISv+rWJDRbuOHWFBzc8Vo5c2mU6guUA1rSsboXc=";
|
||||
};
|
||||
});
|
||||
|
||||
typer_0_16_0 = pkgs.python3Packages.typer.overridePythonAttrs (old: {
|
||||
version = "0.16.0";
|
||||
src = pkgs.python3Packages.fetchPypi {
|
||||
inherit (old) pname;
|
||||
version = "0.16.0";
|
||||
sha256 = "sha256-rzd/+u4dvjeulEDLTo8RaG6lzk6brgG4SufGO4fx3Ts=";
|
||||
};
|
||||
});
|
||||
|
||||
tidalDlNg = pkgs.python3Packages.buildPythonApplication rec {
|
||||
pname = "tidal-dl-ng";
|
||||
version = "0.26.2";
|
||||
format = "pyproject";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "exislow";
|
||||
repo = "tidal-dl-ng";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9C7IpLKeR08/nMbePltwGrzIgXfdaVfyOeFQnfCwMKg=";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
catchConflicts = false;
|
||||
|
||||
nativeBuildInputs = with pkgs.python3Packages; [poetry-core setuptools];
|
||||
|
||||
propagatedBuildInputs = with pkgs.python3Packages; [
|
||||
requests_2_32_4
|
||||
coloredlogs
|
||||
dataclasses-json
|
||||
m3u8
|
||||
mpegdash
|
||||
mutagen
|
||||
pathvalidate_3_3_1
|
||||
pycryptodome_3_23_0
|
||||
python-ffmpeg
|
||||
rich
|
||||
tidalapi
|
||||
toml
|
||||
typer_0_16_0
|
||||
pyside6
|
||||
pyqtdarktheme
|
||||
];
|
||||
|
||||
# pythonOutputDistPhase = ''
|
||||
# echo "⚠️Skipping pythonOutputDistPhase"
|
||||
# '';
|
||||
# pythonCatchConflictsPhase = ''
|
||||
# echo "🛑 Skipping pythonCatchConflictsPhase"
|
||||
# '';
|
||||
};
|
||||
|
||||
#
|
||||
# Wrapped applications
|
||||
#
|
||||
|
||||
tidal-dl-ng = pkgs.writeShellApplication {
|
||||
name = "tdn";
|
||||
runtimeInputs = [tidalDlNg];
|
||||
text = ''exec tidal-dl-ng "$@"'';
|
||||
};
|
||||
|
||||
tidal-dl-ng-gui = pkgs.writeShellApplication {
|
||||
name = "tdng";
|
||||
runtimeInputs = [
|
||||
tidalDlNg
|
||||
pkgs.kdePackages.qtbase
|
||||
pkgs.kdePackages.qtsvg
|
||||
];
|
||||
text = ''
|
||||
export QT_QPA_PLATFORM=xcb
|
||||
export QT_PLUGIN_PATH=${pkgs.kdePackages.qtbase}/lib/qt-6/plugins
|
||||
exec tidal-dl-ng-gui "$@"
|
||||
'';
|
||||
};
|
||||
|
||||
tidal-dl-ng-gui-desktopfile = pkgs.stdenv.mkDerivation {
|
||||
pname = "tdng";
|
||||
version = "0.26.2";
|
||||
dontUnpack = true;
|
||||
|
||||
nativeBuildInputs = [pkgs.makeWrapper];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp ${tidal-dl-ng-gui}/bin/tdng $out/bin/
|
||||
|
||||
mkdir -p $out/share/applications
|
||||
cat > $out/share/applications/tdng.desktop << EOF
|
||||
[Desktop Entry]
|
||||
Name=Tidal Downloader NG
|
||||
Comment=Download music from Tidal
|
||||
Exec=tdng
|
||||
Icon=audio-x-generic
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=AudioVideo;Audio;Player;
|
||||
EOF
|
||||
'';
|
||||
};
|
||||
in
|
||||
# Combine the outputs into a single package
|
||||
pkgs.buildEnv {
|
||||
name = "tidal-dl-ng-env";
|
||||
paths = [tidal-dl-ng tidal-dl-ng-gui-desktopfile];
|
||||
}
|
@ -487,6 +487,7 @@
|
||||
ferdium
|
||||
gparted
|
||||
tidal-hifi
|
||||
tidal-dl-ng
|
||||
|
||||
# Office
|
||||
wacomtablet # For xournalpp/krita
|
||||
|
Reference in New Issue
Block a user