From 5de1b169eaffe49027d31b066fa185db6fdcdba9 Mon Sep 17 00:00:00 2001 From: ymeister <47071325+ymeister@users.noreply.github.com> Date: Sat, 7 Mar 2020 17:56:11 +0000 Subject: alsaequal: init at 0.6 Co-Authored-By: Doron Behar --- pkgs/tools/audio/alsaequal/caps_9.x.patch | 21 ++++++++++++++ pkgs/tools/audio/alsaequal/default.nix | 42 ++++++++++++++++++++++++++++ pkgs/tools/audio/alsaequal/false_error.patch | 13 +++++++++ pkgs/tools/audio/alsaequal/makefile.patch | 13 +++++++++ 4 files changed, 89 insertions(+) create mode 100644 pkgs/tools/audio/alsaequal/caps_9.x.patch create mode 100644 pkgs/tools/audio/alsaequal/default.nix create mode 100644 pkgs/tools/audio/alsaequal/false_error.patch create mode 100644 pkgs/tools/audio/alsaequal/makefile.patch (limited to 'pkgs/tools/audio') diff --git a/pkgs/tools/audio/alsaequal/caps_9.x.patch b/pkgs/tools/audio/alsaequal/caps_9.x.patch new file mode 100644 index 000000000000..282e04049747 --- /dev/null +++ b/pkgs/tools/audio/alsaequal/caps_9.x.patch @@ -0,0 +1,21 @@ +--- ./ctl_equal.c ++++ ./ctl_equal.c +@@ -167,7 +167,7 @@ + snd_ctl_equal_t *equal; + const char *controls = ".alsaequal.bin"; + const char *library = "/usr/lib/ladspa/caps.so"; +- const char *module = "Eq"; ++ const char *module = "Eq10"; + long channels = 2; + const char *sufix = " Playback Volume"; + int err, i, index; +--- ./pcm_equal.c ++++ ./pcm_equal.c +@@ -151,7 +151,7 @@ + snd_config_t *sconf = NULL; + const char *controls = ".alsaequal.bin"; + const char *library = "/usr/lib/ladspa/caps.so"; +- const char *module = "Eq"; ++ const char *module = "Eq10"; + long channels = 2; + int err; diff --git a/pkgs/tools/audio/alsaequal/default.nix b/pkgs/tools/audio/alsaequal/default.nix new file mode 100644 index 000000000000..fa11b665cd32 --- /dev/null +++ b/pkgs/tools/audio/alsaequal/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl +, alsaLib, caps +}: + +stdenv.mkDerivation rec { + name = "alsaequal"; + version = "0.6"; + + src = fetchurl { + url = "https://thedigitalmachine.net/tools/alsaequal-${version}.tar.bz2"; + sha256 = "1w3g9q5z3nrn3mwdhaq6zsg0jila8d102dgwgrhj9vfx58apsvli"; + }; + + buildInputs = [ alsaLib ]; + + makeFlags = [ "DESTDIR=$(out)" ]; + + # Borrowed from Arch Linux's AUR + patches = [ + # Adds executable permissions to resulting libraries + # and changes their destination directory from "usr/lib/alsa-lib" to "lib/alsa-lib" to better align with nixpkgs filesystem hierarchy. + ./makefile.patch + # Fixes control port check, which resulted in false error. + ./false_error.patch + # Fixes name change of an "Eq" to "Eq10" method in version 9 of caps library. + ./caps_9.x.patch + ]; + + postPatch = '' + sed -i 's#/usr/lib/ladspa/caps\.so#${caps}/lib/ladspa/caps\.so#g' ctl_equal.c pcm_equal.c + ''; + + preInstall = '' + mkdir -p "$out/lib/alsa-lib" + ''; + + meta = with stdenv.lib; { + description = "Real-time adjustable equalizer plugin for ALSA"; + homepage = "https://thedigitalmachine.net/alsaequal.html"; + license = licenses.gpl2; + }; +} diff --git a/pkgs/tools/audio/alsaequal/false_error.patch b/pkgs/tools/audio/alsaequal/false_error.patch new file mode 100644 index 000000000000..1a8413da2741 --- /dev/null +++ b/pkgs/tools/audio/alsaequal/false_error.patch @@ -0,0 +1,13 @@ +--- ./ctl_equal.c ++++ ./ctl_equal.c +@@ -263,8 +263,8 @@ + for(i = 0; i < equal->num_input_controls; i++) { + if(equal->control_data->control[i].type == LADSPA_CNTRL_INPUT) { + index = equal->control_data->control[i].index; +- if(equal->klass->PortDescriptors[index] != +- (LADSPA_PORT_INPUT | LADSPA_PORT_CONTROL)) { ++ if(equal->klass->PortDescriptors[index] & ++ (LADSPA_PORT_INPUT | LADSPA_PORT_CONTROL) == 0) { + SNDERR("Problem with control file %s, %d.", controls, index); + return -1; + } diff --git a/pkgs/tools/audio/alsaequal/makefile.patch b/pkgs/tools/audio/alsaequal/makefile.patch new file mode 100644 index 000000000000..ee8aa170d60b --- /dev/null +++ b/pkgs/tools/audio/alsaequal/makefile.patch @@ -0,0 +1,13 @@ +--- ./Makefile ++++ ./Makefile +@@ -45,8 +45,8 @@ + + install: all + @echo Installing... +- $(Q)install -m 644 $(SND_PCM_BIN) ${DESTDIR}/usr/lib/alsa-lib/ +- $(Q)install -m 644 $(SND_CTL_BIN) ${DESTDIR}/usr/lib/alsa-lib/ ++ $(Q)install -m 755 $(SND_PCM_BIN) ${DESTDIR}/lib/alsa-lib/ ++ $(Q)install -m 755 $(SND_CTL_BIN) ${DESTDIR}/lib/alsa-lib/ + + uninstall: + @echo Un-installing... -- cgit 1.4.1