alsaequal: init at 0.6
Co-Authored-By: Doron Behar <doron.behar@gmail.com>
This commit is contained in:
parent
c5e223e120
commit
5de1b169ea
5 changed files with 91 additions and 0 deletions
21
pkgs/tools/audio/alsaequal/caps_9.x.patch
Normal file
21
pkgs/tools/audio/alsaequal/caps_9.x.patch
Normal 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;
|
42
pkgs/tools/audio/alsaequal/default.nix
Normal file
42
pkgs/tools/audio/alsaequal/default.nix
Normal 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;
|
||||
};
|
||||
}
|
13
pkgs/tools/audio/alsaequal/false_error.patch
Normal file
13
pkgs/tools/audio/alsaequal/false_error.patch
Normal 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;
|
||||
}
|
13
pkgs/tools/audio/alsaequal/makefile.patch
Normal file
13
pkgs/tools/audio/alsaequal/makefile.patch
Normal 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...
|
|
@ -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 { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue