From f3fc0f14f9451780c6fb1d50ca125925625dac48 Mon Sep 17 00:00:00 2001 From: Orivej Desh Date: Tue, 28 Mar 2023 20:56:55 +0000 Subject: [PATCH 1/2] aeolus-stops: init at 0.4.0 --- pkgs/applications/audio/aeolus/stops.nix | 33 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 34 insertions(+) create mode 100644 pkgs/applications/audio/aeolus/stops.nix diff --git a/pkgs/applications/audio/aeolus/stops.nix b/pkgs/applications/audio/aeolus/stops.nix new file mode 100644 index 000000000000..50a2013b8048 --- /dev/null +++ b/pkgs/applications/audio/aeolus/stops.nix @@ -0,0 +1,33 @@ +{ lib, stdenvNoCC, fetchurl }: + +stdenvNoCC.mkDerivation rec { + pname = "stops"; + version = "0.4.0"; + + src = fetchurl { + url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; + hash = "sha256-DnmguOAGyw9nv88ekJfbC04Qwbsw5tXEAaKeiCQR/LA="; + }; + + outputHashMode = "recursive"; + outputHash = "sha256-gGHowq7g7MZmnhrpqG+3wNLwQCtpiBB88euIKeQIpJ0="; + + subdir = "share/Aeolus/stops"; + + installPhase = '' + runHook preInstall + + mkdir -p $out/${subdir} + cp -r * $out/${subdir} + + runHook postInstall + ''; + + meta = with lib; { + description = "aeolus synthesizer instrument definitions"; + homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html"; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ nico202 orivej ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 707205567ae4..4c6834a35166 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28565,6 +28565,7 @@ with pkgs; }; aeolus = callPackage ../applications/audio/aeolus { }; + aeolus-stops = callPackage ../applications/audio/aeolus/stops.nix { }; aewan = callPackage ../applications/editors/aewan { }; From 731aeffaf7815a429a3b3aa6ea12e73a1784394a Mon Sep 17 00:00:00 2001 From: Orivej Desh Date: Tue, 28 Mar 2023 20:57:26 +0000 Subject: [PATCH 2/2] aeolus: use aeolus-stops Without them it does not play. --- pkgs/applications/audio/aeolus/default.nix | 24 ++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/audio/aeolus/default.nix b/pkgs/applications/audio/aeolus/default.nix index df61d3896155..cca58da4f99e 100644 --- a/pkgs/applications/audio/aeolus/default.nix +++ b/pkgs/applications/audio/aeolus/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, libclthreads, zita-alsa-pcmi, alsa-lib, libjack2 -, libclxclient, libX11, libXft, readline +, libclxclient, libX11, libXft, readline, aeolus-stops }: stdenv.mkDerivation rec { @@ -16,17 +16,29 @@ stdenv.mkDerivation rec { libX11 libXft readline ]; - patchPhase = ''sed "s@ldconfig.*@@" -i source/Makefile''; + postPatch = '' + sed -i source/Makefile -e /ldconfig/d + substituteInPlace source/main.cc --replace /etc/ "$out/etc/" + ''; preBuild = "cd source"; makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ]; - meta = { + postInstall = let cfg = '' + # Aeolus system wide default options + # Ignored if ~/.aeolusrc with local options exists + -u -S ${aeolus-stops}/${aeolus-stops.subdir} + ''; in '' + mkdir -p $out/etc + echo -n "${cfg}" > $out/etc/aeolus.conf + ''; + + meta = with lib; { description = "Synthetized (not sampled) pipe organ emulator"; homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html"; - license = lib.licenses.lgpl3; - platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.nico202 ]; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ nico202 orivej ]; }; }