alsaequal: init at 0.6

Co-Authored-By: Doron Behar <doron.behar@gmail.com>
This commit is contained in:
ymeister 2020-03-07 17:56:11 +00:00
parent c5e223e120
commit 5de1b169ea
5 changed files with 91 additions and 0 deletions

View File

@ -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;

View File

@ -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;
};
}

View File

@ -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;
}

View File

@ -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...

View File

@ -521,6 +521,8 @@ in
acoustidFingerprinter = callPackage ../tools/audio/acoustid-fingerprinter {
ffmpeg = ffmpeg_2;
};
alsaequal = callPackage ../tools/audio/alsaequal { };
acpica-tools = callPackage ../tools/system/acpica-tools { };