Merge pull request #126451 from lovesegfault/hqplayer

hqplayer: init
This commit is contained in:
Bernardo Meurer 2021-06-13 10:36:29 +00:00 committed by GitHub
commit fa0326ce52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 217 additions and 0 deletions

View file

@ -0,0 +1,88 @@
{ mkDerivation
, alsa-lib
, autoPatchelfHook
, fetchurl
, flac
, lib
, libmicrohttpd
, llvmPackages_10
, qtcharts
, qtdeclarative
, qtquickcontrols2
, qtwebengine
, qtwebview
, rpmextract
, wavpack
}:
mkDerivation rec {
pname = "hqplayer-desktop";
version = "4.12.0-34";
src = fetchurl {
url = "https://www.signalyst.eu/bins/hqplayer/fc33/hqplayer4desktop-${version}.fc33.x86_64.rpm";
sha256 = "sha256-9kLKmi5lNtnRm9b4HnO01cO/C+Sg0DcKD64N5WBbYOE=";
};
unpackPhase = ''
${rpmextract}/bin/rpmextract $src
'';
nativeBuildInputs = [ autoPatchelfHook rpmextract ];
buildInputs = [
alsa-lib
flac
libmicrohttpd
llvmPackages_10.openmp
qtquickcontrols2
qtcharts
qtdeclarative
qtwebengine
qtwebview
wavpack
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
# main executable
mkdir -p $out/bin
cp ./usr/bin/* $out/bin
# desktop files
mkdir -p $out/share/applications
cp ./usr/share/applications/* $out/share/applications
# documentation
mkdir -p $out/share/doc/${pname}
cp ./usr/share/doc/hqplayer4desktop/* $out/share/doc/${pname}
# pixmaps
mkdir -p $out/share/pixmaps
cp ./usr/share/pixmaps/* $out/share/pixmaps
'';
postInstall = ''
for desktopFile in $out/share/applications/*; do
substituteInPlace "$desktopFile" \
--replace '/usr/bin/' '$out/bin/' \
--replace '/usr/share/doc/' '$out/share/doc/'
done
gunzip $out/share/doc/${pname}/*.gz
'';
postFixup = ''
patchelf --replace-needed libomp.so.5 libomp.so $out/bin/.hqplayer4desktop-wrapped
'';
meta = with lib; {
homepage = "https://www.signalyst.com/custom.html";
description = "High-end upsampling multichannel software HD-audio player";
changelog = "https://www.signalyst.eu/bins/${pname}/fc33/hqplayer4desktop-${version}fc33.x86_64.changes";
license = licenses.unfree;
maintainers = with maintainers; [ lovesegfault ];
};
}

View file

@ -0,0 +1,34 @@
{ stdenv
, lib
, fetchurl
, pkg-config
, glib
, gobject-introspection
}:
stdenv.mkDerivation rec {
pname = "libgmpris";
version = "2.2.1-8";
src = fetchurl {
url = "https://www.sonarnerd.net/src/focal/src/${pname}_${version}.tar.gz";
sha256 = "sha256-iyKNmg6sf+mxlY/4vt5lKdrKfJzkoCYU2j1O8uwk8K4=";
};
nativeBuildInputs = [ pkg-config gobject-introspection ];
buildInputs = [ glib ];
postInstall = ''
mkdir -p $out/share/doc/${pname}
cp ./AUTHORS $out/share/doc/${pname}
cp ./README $out/share/doc/${pname}
'';
meta = with lib; {
homepage = "https://www.sonarnerd.net/src/";
description = "GMPRIS GDBus bindings GDBus bindings generated from the GMPRIS XML spec files";
license = licenses.lgpl21;
maintainers = with maintainers; [ lovesegfault ];
};
}

View file

@ -0,0 +1,89 @@
{ stdenv
, alsa-lib
, autoPatchelfHook
, cairo
, fetchurl
, flac
, gnome
, gssdp
, gupnp
, lib
, libgmpris
, llvmPackages_10
, rpmextract
, wavpack
}:
stdenv.mkDerivation rec {
pname = "hqplayerd";
version = "4.24.0-61";
src = fetchurl {
url = "https://www.signalyst.eu/bins/${pname}/fc33/${pname}-${version}.fc33.x86_64.rpm";
sha256 = "sha256-VouqkWRu9lcbCQNmXJayrsZZnhvM5xEZlUyBEkURBOQ=";
};
unpackPhase = ''
${rpmextract}/bin/rpmextract $src
'';
nativeBuildInputs = [ autoPatchelfHook rpmextract ];
buildInputs = [
alsa-lib
cairo
flac
gnome.rygel
gssdp
gupnp
libgmpris
llvmPackages_10.openmp
wavpack
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
# main executable
mkdir -p $out/bin
cp ./usr/bin/hqplayerd $out/bin
# udev rules
mkdir -p $out/etc/udev/rules.d
cp ./etc/udev/rules.d/50-taudio2.rules $out/etc/udev/rules.d
# kernel module cfgs
mkdir -p $out/etc/modules-load.d
cp ./etc/modules-load.d/taudio2.conf $out/etc/modules-load.d
# systemd service file
mkdir -p $out/lib/systemd/system
cp ./usr/lib/systemd/system/hqplayerd.service $out/lib/systemd/system
# documentation
mkdir -p $out/share/doc/${pname}
cp ./usr/share/doc/${pname}/* $out/share/doc/${pname}
# misc service support files
mkdir -p $out/var/lib/${pname}
cp -r ./var/hqplayer/web $out/var/lib/${pname}
'';
postInstall = ''
substituteInPlace $out/lib/systemd/system/hqplayerd.service \
--replace /usr/bin/hqplayerd $out/bin/hqplayerd
'';
postFixup = ''
patchelf --replace-needed libomp.so.5 libomp.so $out/bin/hqplayerd
'';
meta = with lib; {
homepage = "https://www.signalyst.com/custom.html";
description = "High-end upsampling multichannel software embedded HD-audio player";
changelog = "https://www.signalyst.eu/bins/${pname}/fc33/${pname}-${version}.fc33.x86_64.changes";
license = licenses.unfree;
maintainers = with maintainers; [ lovesegfault ];
};
}

View file

@ -5707,6 +5707,8 @@ in
hping = callPackage ../tools/networking/hping { };
hqplayer-desktop = libsForQt5.callPackage ../applications/audio/hqplayer-desktop { };
html-proofer = callPackage ../tools/misc/html-proofer { };
htpdate = callPackage ../tools/networking/htpdate { };
@ -6560,6 +6562,8 @@ in
# Needed for apps that still depend on the unstable verison of the library (not libhandy-1)
libhandy_0 = callPackage ../development/libraries/libhandy/0.x.nix { };
libgmpris = callPackage ../development/libraries/libgmpris { };
libgumath = callPackage ../development/libraries/libgumath { };
libinsane = callPackage ../development/libraries/libinsane { };
@ -19251,6 +19255,8 @@ in
home-assistant-cli = callPackage ../servers/home-assistant/cli.nix { };
hqplayerd = callPackage ../servers/hqplayerd { };
https-dns-proxy = callPackage ../servers/dns/https-dns-proxy { };
hydron = callPackage ../servers/hydron { };