git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #126451 from lovesegfault/hqplayer

hqplayer: init

commitfa0326ce5233f7d592271df52c9d0812bec47b84 authorBernardo Meurer <bernardo@meurer.org> dateSun 13 Jun 2021, 10:36 (5 years ago) parentb1f74dd0bab4db
4 files changed+217
pkgs/applications/audio/hqplayer-desktop/default.nix+88 pkgs/development/libraries/libgmpris/default.nix+34 pkgs/servers/hqplayerd/default.nix+89 pkgs/top-level/all-packages.nix+6
pkgs/applications/audio/hqplayer-desktop/default.nixnew file+88
@@ -0,0 +1,88 @@
1+{ mkDerivation
2+, alsa-lib
3+, autoPatchelfHook
4+, fetchurl
5+, flac
6+, lib
7+, libmicrohttpd
8+, llvmPackages_10
9+, qtcharts
10+, qtdeclarative
11+, qtquickcontrols2
12+, qtwebengine
13+, qtwebview
14+, rpmextract
15+, wavpack
16+}:
17+
18+mkDerivation rec {
19+ pname = "hqplayer-desktop";
20+ version = "4.12.0-34";
21+
22+ src = fetchurl {
23+ url = "https://www.signalyst.eu/bins/hqplayer/fc33/hqplayer4desktop-${version}.fc33.x86_64.rpm";
24+ sha256 = "sha256-9kLKmi5lNtnRm9b4HnO01cO/C+Sg0DcKD64N5WBbYOE=";
25+ };
26+
27+ unpackPhase = ''
28+ ${rpmextract}/bin/rpmextract $src
29+ '';
30+
31+ nativeBuildInputs = [ autoPatchelfHook rpmextract ];
32+
33+ buildInputs = [
34+ alsa-lib
35+ flac
36+ libmicrohttpd
37+ llvmPackages_10.openmp
38+ qtquickcontrols2
39+ qtcharts
40+ qtdeclarative
41+ qtwebengine
42+ qtwebview
43+ wavpack
44+ ];
45+
46+ dontConfigure = true;
47+ dontBuild = true;
48+
49+ installPhase = ''
50+ # main executable
51+ mkdir -p $out/bin
52+ cp ./usr/bin/* $out/bin
53+
54+ # desktop files
55+ mkdir -p $out/share/applications
56+ cp ./usr/share/applications/* $out/share/applications
57+
58+ # documentation
59+ mkdir -p $out/share/doc/${pname}
60+ cp ./usr/share/doc/hqplayer4desktop/* $out/share/doc/${pname}
61+
62+ # pixmaps
63+ mkdir -p $out/share/pixmaps
64+ cp ./usr/share/pixmaps/* $out/share/pixmaps
65+ '';
66+
67+ postInstall = ''
68+ for desktopFile in $out/share/applications/*; do
69+ substituteInPlace "$desktopFile" \
70+ --replace '/usr/bin/' '$out/bin/' \
71+ --replace '/usr/share/doc/' '$out/share/doc/'
72+ done
73+
74+ gunzip $out/share/doc/${pname}/*.gz
75+ '';
76+
77+ postFixup = ''
78+ patchelf --replace-needed libomp.so.5 libomp.so $out/bin/.hqplayer4desktop-wrapped
79+ '';
80+
81+ meta = with lib; {
82+ homepage = "https://www.signalyst.com/custom.html";
83+ description = "High-end upsampling multichannel software HD-audio player";
84+ changelog = "https://www.signalyst.eu/bins/${pname}/fc33/hqplayer4desktop-${version}fc33.x86_64.changes";
85+ license = licenses.unfree;
86+ maintainers = with maintainers; [ lovesegfault ];
87+ };
88+}
pkgs/development/libraries/libgmpris/default.nixnew file+34
@@ -0,0 +1,34 @@
1+{ stdenv
2+, lib
3+, fetchurl
4+, pkg-config
5+, glib
6+, gobject-introspection
7+}:
8+
9+stdenv.mkDerivation rec {
10+ pname = "libgmpris";
11+ version = "2.2.1-8";
12+
13+ src = fetchurl {
14+ url = "https://www.sonarnerd.net/src/focal/src/${pname}_${version}.tar.gz";
15+ sha256 = "sha256-iyKNmg6sf+mxlY/4vt5lKdrKfJzkoCYU2j1O8uwk8K4=";
16+ };
17+
18+ nativeBuildInputs = [ pkg-config gobject-introspection ];
19+
20+ buildInputs = [ glib ];
21+
22+ postInstall = ''
23+ mkdir -p $out/share/doc/${pname}
24+ cp ./AUTHORS $out/share/doc/${pname}
25+ cp ./README $out/share/doc/${pname}
26+ '';
27+
28+ meta = with lib; {
29+ homepage = "https://www.sonarnerd.net/src/";
30+ description = "GMPRIS GDBus bindings GDBus bindings generated from the GMPRIS XML spec files";
31+ license = licenses.lgpl21;
32+ maintainers = with maintainers; [ lovesegfault ];
33+ };
34+}
pkgs/servers/hqplayerd/default.nixnew file+89
@@ -0,0 +1,89 @@
1+{ stdenv
2+, alsa-lib
3+, autoPatchelfHook
4+, cairo
5+, fetchurl
6+, flac
7+, gnome
8+, gssdp
9+, gupnp
10+, lib
11+, libgmpris
12+, llvmPackages_10
13+, rpmextract
14+, wavpack
15+}:
16+
17+stdenv.mkDerivation rec {
18+ pname = "hqplayerd";
19+ version = "4.24.0-61";
20+
21+ src = fetchurl {
22+ url = "https://www.signalyst.eu/bins/${pname}/fc33/${pname}-${version}.fc33.x86_64.rpm";
23+ sha256 = "sha256-VouqkWRu9lcbCQNmXJayrsZZnhvM5xEZlUyBEkURBOQ=";
24+ };
25+
26+ unpackPhase = ''
27+ ${rpmextract}/bin/rpmextract $src
28+ '';
29+
30+ nativeBuildInputs = [ autoPatchelfHook rpmextract ];
31+
32+ buildInputs = [
33+ alsa-lib
34+ cairo
35+ flac
36+ gnome.rygel
37+ gssdp
38+ gupnp
39+ libgmpris
40+ llvmPackages_10.openmp
41+ wavpack
42+ ];
43+
44+ dontConfigure = true;
45+ dontBuild = true;
46+
47+ installPhase = ''
48+ # main executable
49+ mkdir -p $out/bin
50+ cp ./usr/bin/hqplayerd $out/bin
51+
52+ # udev rules
53+ mkdir -p $out/etc/udev/rules.d
54+ cp ./etc/udev/rules.d/50-taudio2.rules $out/etc/udev/rules.d
55+
56+ # kernel module cfgs
57+ mkdir -p $out/etc/modules-load.d
58+ cp ./etc/modules-load.d/taudio2.conf $out/etc/modules-load.d
59+
60+ # systemd service file
61+ mkdir -p $out/lib/systemd/system
62+ cp ./usr/lib/systemd/system/hqplayerd.service $out/lib/systemd/system
63+
64+ # documentation
65+ mkdir -p $out/share/doc/${pname}
66+ cp ./usr/share/doc/${pname}/* $out/share/doc/${pname}
67+
68+ # misc service support files
69+ mkdir -p $out/var/lib/${pname}
70+ cp -r ./var/hqplayer/web $out/var/lib/${pname}
71+ '';
72+
73+ postInstall = ''
74+ substituteInPlace $out/lib/systemd/system/hqplayerd.service \
75+ --replace /usr/bin/hqplayerd $out/bin/hqplayerd
76+ '';
77+
78+ postFixup = ''
79+ patchelf --replace-needed libomp.so.5 libomp.so $out/bin/hqplayerd
80+ '';
81+
82+ meta = with lib; {
83+ homepage = "https://www.signalyst.com/custom.html";
84+ description = "High-end upsampling multichannel software embedded HD-audio player";
85+ changelog = "https://www.signalyst.eu/bins/${pname}/fc33/${pname}-${version}.fc33.x86_64.changes";
86+ license = licenses.unfree;
87+ maintainers = with maintainers; [ lovesegfault ];
88+ };
89+}
pkgs/top-level/all-packages.nix+6
@@ -5707,6 +5707,8 @@ in
57075707
57085708 hping = callPackage ../tools/networking/hping { };
57095709
5710+ hqplayer-desktop = libsForQt5.callPackage ../applications/audio/hqplayer-desktop { };
5711+
57105712 html-proofer = callPackage ../tools/misc/html-proofer { };
57115713
57125714 htpdate = callPackage ../tools/networking/htpdate { };
@@ -6560,6 +6562,8 @@ in
65606562 # Needed for apps that still depend on the unstable verison of the library (not libhandy-1)
65616563 libhandy_0 = callPackage ../development/libraries/libhandy/0.x.nix { };
65626564
6565+ libgmpris = callPackage ../development/libraries/libgmpris { };
6566+
65636567 libgumath = callPackage ../development/libraries/libgumath { };
65646568
65656569 libinsane = callPackage ../development/libraries/libinsane { };
@@ -19251,6 +19255,8 @@ in
1925119255
1925219256 home-assistant-cli = callPackage ../servers/home-assistant/cli.nix { };
1925319257
19258+ hqplayerd = callPackage ../servers/hqplayerd { };
19259+
1925419260 https-dns-proxy = callPackage ../servers/dns/https-dns-proxy { };
1925519261
1925619262 hydron = callPackage ../servers/hydron { };