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 ]; }; } 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 c248e8219771..a9ef805808f6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28647,6 +28647,7 @@ with pkgs; }; aeolus = callPackage ../applications/audio/aeolus { }; + aeolus-stops = callPackage ../applications/audio/aeolus/stops.nix { }; aewan = callPackage ../applications/editors/aewan { };