uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,26 @@
From 72f3fe059f031f24c5ad026cb2fc16318f227c09 Mon Sep 17 00:00:00 2001
From: Andrew Childs <andrew.childs@bibo.com.ph>
Date: Tue, 19 Apr 2022 16:29:58 +0900
Subject: [PATCH 1/8] Make gio-2.0 optional when gsettings is disabled
Derived from https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/654
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index d7e468cab..f7adf1413 100644
--- a/meson.build
+++ b/meson.build
@@ -614,7 +614,7 @@ if dbus_dep.found()
cdata.set('HAVE_DBUS', 1)
endif
-gio_dep = dependency('gio-2.0', version : '>= 2.26.0')
+gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : false)
if get_option('gsettings').enabled()
assert(gio_dep.found(), 'GSettings support needs glib I/O library (GIO)')
cdata.set('HAVE_GSETTINGS', 1)
--
2.35.1

View file

@ -0,0 +1,27 @@
From 39bef695f783614e6175477417298ddf37e2ac13 Mon Sep 17 00:00:00 2001
From: Andrew Childs <andrew.childs@bibo.com.ph>
Date: Tue, 19 Apr 2022 16:58:43 +0900
Subject: [PATCH 2/8] Ignore SCM_CREDS on macOS
It was added for FreeBSD support, but also enables the
unsupported[citation needed] feature on macOS.
---
src/pulsecore/creds.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/pulsecore/creds.h b/src/pulsecore/creds.h
index b599b569c..b5b1c9f37 100644
--- a/src/pulsecore/creds.h
+++ b/src/pulsecore/creds.h
@@ -34,7 +34,7 @@
typedef struct pa_creds pa_creds;
typedef struct pa_cmsg_ancil_data pa_cmsg_ancil_data;
-#if defined(SCM_CREDENTIALS) || defined(SCM_CREDS)
+#if defined(SCM_CREDENTIALS) || (defined(SCM_CREDS) && !defined(__APPLE__))
#define HAVE_CREDS 1
--
2.35.1

View file

@ -0,0 +1,26 @@
From 3f1abb55f4eb985fd0715b2b2ca45dcce3a56824 Mon Sep 17 00:00:00 2001
From: Andrew Childs <andrew.childs@bibo.com.ph>
Date: Tue, 19 Apr 2022 17:06:50 +0900
Subject: [PATCH 3/8] Disable `-z nodelete` on darwin
Not supported[citation needed].
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index f7adf1413..d4bece11a 100644
--- a/meson.build
+++ b/meson.build
@@ -404,7 +404,7 @@ cdata.set('MESON_BUILD', 1)
# so we request the nodelete flag to be enabled.
# On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
# Windows doesn't support this flag.
-if host_machine.system() != 'windows'
+if host_machine.system() != 'windows' and host_machine.system() != 'darwin'
nodelete_link_args = ['-Wl,-z,nodelete']
else
nodelete_link_args = []
--
2.35.1

View file

@ -0,0 +1,57 @@
From 0bd3b613ac3bf16a73b3223fa1b961da3a0db1b2 Mon Sep 17 00:00:00 2001
From: Andrew Childs <andrew.childs@bibo.com.ph>
Date: Tue, 19 Apr 2022 17:12:52 +0900
Subject: [PATCH 4/8] Prefer clock_gettime
Available in darwin since 10.12 (released in 2016).
---
src/pulsecore/core-rtclock.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/pulsecore/core-rtclock.c b/src/pulsecore/core-rtclock.c
index 2c2e28631..a08d4b391 100644
--- a/src/pulsecore/core-rtclock.c
+++ b/src/pulsecore/core-rtclock.c
@@ -65,19 +65,7 @@ pa_usec_t pa_rtclock_age(const struct timeval *tv) {
struct timeval *pa_rtclock_get(struct timeval *tv) {
-#if defined(OS_IS_DARWIN)
- uint64_t val, abs_time = mach_absolute_time();
- Nanoseconds nanos;
-
- nanos = AbsoluteToNanoseconds(*(AbsoluteTime *) &abs_time);
- val = *(uint64_t *) &nanos;
-
- tv->tv_sec = val / PA_NSEC_PER_SEC;
- tv->tv_usec = (val % PA_NSEC_PER_SEC) / PA_NSEC_PER_USEC;
-
- return tv;
-
-#elif defined(HAVE_CLOCK_GETTIME)
+#if defined(HAVE_CLOCK_GETTIME)
struct timespec ts;
#ifdef CLOCK_MONOTONIC
@@ -109,6 +97,18 @@ struct timeval *pa_rtclock_get(struct timeval *tv) {
return tv;
}
+#elif defined(OS_IS_DARWIN)
+ uint64_t val, abs_time = mach_absolute_time();
+ Nanoseconds nanos;
+
+ nanos = AbsoluteToNanoseconds(*(AbsoluteTime *) &abs_time);
+ val = *(uint64_t *) &nanos;
+
+ tv->tv_sec = val / PA_NSEC_PER_SEC;
+ tv->tv_usec = (val % PA_NSEC_PER_SEC) / PA_NSEC_PER_USEC;
+
+ return tv;
+
#endif /* HAVE_CLOCK_GETTIME */
return pa_gettimeofday(tv);
--
2.35.1

View file

@ -0,0 +1,24 @@
From 8dee473920d3a331b73a415b37e7e0b01f014110 Mon Sep 17 00:00:00 2001
From: Andrew Childs <andrew.childs@bibo.com.ph>
Date: Tue, 19 Apr 2022 17:22:23 +0900
Subject: [PATCH 5/8] Include poll-posix.c on darwin
---
src/meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/meson.build b/src/meson.build
index e2860811b..5bd68cb12 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -182,6 +182,7 @@ if host_machine.system() == 'windows'
else
libpulsecommon_sources += [
'pulsecore/mutex-posix.c',
+ 'pulsecore/poll-posix.c',
'pulsecore/semaphore-posix.c',
'pulsecore/thread-posix.c'
]
--
2.35.1

View file

@ -0,0 +1,29 @@
From 419258112b9d90d149ebbd5c657a36d8532b78a2 Mon Sep 17 00:00:00 2001
From: Andrew Childs <andrew.childs@bibo.com.ph>
Date: Tue, 19 Apr 2022 17:31:36 +0900
Subject: [PATCH 6/8] Only use version-script on GNU-ish linkers
---
src/pulse/meson.build | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/pulse/meson.build b/src/pulse/meson.build
index c2128e087..a5e47867e 100644
--- a/src/pulse/meson.build
+++ b/src/pulse/meson.build
@@ -74,7 +74,11 @@ run_target('update-map-file',
command : [ join_paths(meson.source_root(), 'scripts/generate-map-file.sh'), 'map-file',
[ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ])
-versioning_link_args = '-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')
+if meson.get_compiler('c').get_linker_id().startswith('ld.')
+ versioning_link_args = '-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')
+else
+ versioning_link_args = []
+endif
libpulse = shared_library('pulse',
libpulse_sources,
--
2.35.1

View file

@ -0,0 +1,44 @@
From 6f132be835d5acb5db4301ea1818601504e47fae Mon Sep 17 00:00:00 2001
From: Andrew Childs <andrew.childs@bibo.com.ph>
Date: Tue, 19 Apr 2022 17:41:34 +0900
Subject: [PATCH 7/8] Adapt undefined link args per linker
TODO: Why is this required? Isn't it default?
---
src/modules/meson.build | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/modules/meson.build b/src/modules/meson.build
index be72c3b9b..0163b583f 100644
--- a/src/modules/meson.build
+++ b/src/modules/meson.build
@@ -293,6 +293,17 @@ all_modules += [
# FIXME: meson doesn't support multiple RPATH arguments currently
rpath_dirs = join_paths(privlibdir) + ':' + join_paths(modlibexecdir)
+if meson.get_compiler('c').get_linker_id().startswith('ld.')
+ no_undefined_link_args = [ '-Wl,--no-undefined' ]
+elif meson.get_compiler('c').get_linker_id() == 'ld64'
+ # TODO: is this required? is this not default?
+ no_undefined_link_args = [ '-Wl,-undefined,error' ]
+else
+ # TODO: what platforms is this? what flag do they use?
+ no_undefined_link_args = []
+endif
+
+
foreach m : all_modules
name = m[0]
sources = m[1]
@@ -310,7 +321,7 @@ foreach m : all_modules
install_rpath : rpath_dirs,
install_dir : modlibexecdir,
dependencies : [thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libintl_dep, platform_dep, platform_socket_dep] + extra_deps,
- link_args : [nodelete_link_args, '-Wl,--no-undefined' ],
+ link_args : [nodelete_link_args, no_undefined_link_args ],
link_with : extra_libs,
name_prefix : '',
implicit_include_directories : false)
--
2.35.1

View file

@ -0,0 +1,31 @@
From 1a840b6e517004c902dfbea3d358b344c9588978 Mon Sep 17 00:00:00 2001
From: Andrew Childs <andrew.childs@bibo.com.ph>
Date: Tue, 19 Apr 2022 17:49:08 +0900
Subject: [PATCH 8/8] Use correct semaphore on darwin
---
src/meson.build | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/meson.build b/src/meson.build
index 5bd68cb12..041e2fab4 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -183,9 +183,13 @@ else
libpulsecommon_sources += [
'pulsecore/mutex-posix.c',
'pulsecore/poll-posix.c',
- 'pulsecore/semaphore-posix.c',
'pulsecore/thread-posix.c'
]
+ if host_machine.system() == 'darwin'
+ libpulsecommon_sources += [ 'pulsecore/semaphore-osx.c' ]
+ else
+ libpulsecommon_sources += [ 'pulsecore/semaphore-posix.c' ]
+ endif
endif
# FIXME: Do SIMD things
--
2.35.1

View file

@ -0,0 +1,100 @@
--- a/meson.build
+++ b/meson.build
@@ -67,6 +67,11 @@ datadir = join_paths(prefix, get_option('datadir'))
localedir = join_paths(prefix, get_option('localedir'))
localstatedir = join_paths(prefix, get_option('localstatedir'))
sysconfdir = join_paths(prefix, get_option('sysconfdir'))
+if get_option('sysconfdir_install') != ''
+ sysconfdir_install = join_paths(get_option('prefix'), get_option('sysconfdir_install'))
+else
+ sysconfdir_install = sysconfdir
+endif
privlibdir = join_paths(libdir, 'pulseaudio')
if host_machine.system() == 'windows'
@@ -82,6 +87,11 @@ endif
pkgconfigdir = join_paths(libdir, 'pkgconfig')
pulselibexecdir = join_paths(libexecdir, 'pulse')
pulsesysconfdir = join_paths(sysconfdir, 'pulse')
+if get_option('sysconfdir_install') != ''
+ pulsesysconfdir_install = join_paths(get_option('prefix'), get_option('sysconfdir_install'), 'pulse')
+else
+ pulsesysconfdir_install = pulsesysconfdir
+endif
modlibexecdir = get_option('modlibexecdir')
if modlibexecdir == ''
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -72,6 +72,9 @@ option('bashcompletiondir',
option('zshcompletiondir',
type : 'string',
description : 'Directory for zsh completion scripts ["no" disables]')
+option('sysconfdir_install',
+ type: 'string', value: '',
+ description: 'sysconfdir to use during installation')
# Optional features
--- a/src/daemon/meson.build
+++ b/src/daemon/meson.build
@@ -52,7 +52,7 @@ if x11_dep.found()
output : '00-pulseaudio-x11',
configuration : conf,
install : true,
- install_dir : join_paths(sysconfdir, 'xdg', 'Xwayland-session.d'),
+ install_dir : join_paths(sysconfdir_install, 'xdg', 'Xwayland-session.d'),
)
desktop_file = i18n.merge_file(
@@ -61,7 +61,7 @@ if x11_dep.found()
po_dir : po_dir,
type : 'desktop',
install : true,
- install_dir : join_paths(sysconfdir, 'xdg', 'autostart'),
+ install_dir : join_paths(sysconfdir_install, 'xdg', 'autostart'),
)
desktop_utils = find_program('desktop-file-validate', required: false)
@@ -93,7 +93,7 @@ custom_target('daemon.conf',
command : [m4, '@INPUT@'],
build_by_default : true,
install : true,
- install_dir : pulsesysconfdir,
+ install_dir : pulsesysconfdir_install,
)
default_conf = configuration_data()
@@ -117,7 +117,7 @@ custom_target('default.pa',
command : [m4, '@INPUT@'],
build_by_default : true,
install : true,
- install_dir : pulsesysconfdir,
+ install_dir : pulsesysconfdir_install,
)
system_conf = configuration_data()
@@ -136,12 +136,12 @@ custom_target('system.pa',
command : [m4, '@INPUT@'],
build_by_default : true,
install : true,
- install_dir : pulsesysconfdir,
+ install_dir : pulsesysconfdir_install,
)
if dbus_dep.found()
install_data('pulseaudio-system.conf',
- install_dir : join_paths(sysconfdir, 'dbus-1', 'system.d')
+ install_dir : join_paths(sysconfdir_install, 'dbus-1', 'system.d')
)
endif
--- a/src/pulse/meson.build
+++ b/src/pulse/meson.build
@@ -134,5 +134,5 @@ client_conf_file = configure_file(
input : 'client.conf.in',
output : 'client.conf',
configuration : client_conf,
- install_dir : pulsesysconfdir,
+ install_dir : pulsesysconfdir_install,
)

View file

@ -0,0 +1,170 @@
{ lib, stdenv, fetchurl, fetchpatch, pkg-config
, libsndfile, libtool, makeWrapper, perlPackages
, xorg, libcap, alsa-lib, glib, dconf
, avahi, libjack2, libasyncns, lirc, dbus
, sbc, bluez5, udev, openssl, fftwFloat
, soxr, speexdsp, systemd, webrtc-audio-processing
, gst_all_1
, check, libintl, meson, ninja, m4, wrapGAppsHook
, x11Support ? false
, useSystemd ? true
, # Whether to support the JACK sound system as a backend.
jackaudioSupport ? false
, # Whether to build the OSS wrapper ("padsp").
ossWrapper ? true
, airtunesSupport ? false
, bluetoothSupport ? true
, advancedBluetoothCodecs ? false
, remoteControlSupport ? false
, zeroconfSupport ? false
, # Whether to build only the library.
libOnly ? false
, AudioUnit, Cocoa, CoreServices
}:
stdenv.mkDerivation rec {
pname = "${if libOnly then "lib" else ""}pulseaudio";
version = "15.0";
src = fetchurl {
url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${version}.tar.xz";
sha256 = "pAuIejupjMJpdusRvbZhOYjxRbGQJNG2VVxqA8nLoaA=";
};
patches = [
# Install sysconfdir files inside of the nix store,
# but use a conventional runtime sysconfdir outside the store
./add-option-for-installation-sysconfdir.patch
] ++ lib.optionals stdenv.isDarwin [
# https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/654
./0001-Make-gio-2.0-optional-when-gsettings-is-disabled.patch
# TODO (not sent upstream)
./0002-Ignore-SCM_CREDS-on-macOS.patch
./0003-Disable-z-nodelete-on-darwin.patch
./0004-Prefer-clock_gettime.patch
./0005-Include-poll-posix.c-on-darwin.patch
./0006-Only-use-version-script-on-GNU-ish-linkers.patch
./0007-Adapt-undefined-link-args-per-linker.patch
./0008-Use-correct-semaphore-on-darwin.patch
];
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkg-config meson ninja makeWrapper perlPackages.perl perlPackages.XMLParser m4 ]
++ lib.optionals stdenv.isLinux [ glib ]
# gstreamer plugin discovery requires wrapping
++ lib.optional (bluetoothSupport && advancedBluetoothCodecs) wrapGAppsHook;
propagatedBuildInputs =
lib.optionals stdenv.isLinux [ libcap ];
buildInputs =
[ libtool libsndfile soxr speexdsp fftwFloat check ]
++ lib.optionals stdenv.isLinux [ glib dbus ]
++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices libintl ]
++ lib.optionals (!libOnly) (
[ libasyncns webrtc-audio-processing ]
++ lib.optional jackaudioSupport libjack2
++ lib.optionals x11Support [ xorg.xlibsWrapper xorg.libXtst xorg.libXi ]
++ lib.optional useSystemd systemd
++ lib.optionals stdenv.isLinux [ alsa-lib udev ]
++ lib.optional airtunesSupport openssl
++ lib.optionals bluetoothSupport [ bluez5 sbc ]
# aptX and LDAC codecs are in gst-plugins-bad so far, rtpldacpay is in -good
++ lib.optionals (bluetoothSupport && advancedBluetoothCodecs) (builtins.attrValues { inherit (gst_all_1) gst-plugins-bad gst-plugins-good gst-plugins-base gstreamer; })
++ lib.optional remoteControlSupport lirc
++ lib.optional zeroconfSupport avahi
);
mesonFlags = [
"-Dalsa=${if !libOnly then "enabled" else "disabled"}"
"-Dasyncns=${if !libOnly then "enabled" else "disabled"}"
"-Davahi=${if zeroconfSupport then "enabled" else "disabled"}"
"-Dbluez5=${if !libOnly && bluetoothSupport then "enabled" else "disabled"}"
# advanced bluetooth audio codecs are provided by gstreamer
"-Dbluez5-gstreamer=${if (!libOnly && bluetoothSupport && advancedBluetoothCodecs) then "enabled" else "disabled"}"
"-Ddatabase=simple"
"-Ddoxygen=false"
"-Delogind=disabled"
# gsettings does not support cross-compilation
"-Dgsettings=${if stdenv.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform) then "enabled" else "disabled"}"
"-Dgstreamer=disabled"
"-Dgtk=disabled"
"-Djack=${if jackaudioSupport && !libOnly then "enabled" else "disabled"}"
"-Dlirc=${if remoteControlSupport then "enabled" else "disabled"}"
"-Dopenssl=${if airtunesSupport then "enabled" else "disabled"}"
"-Dorc=disabled"
"-Dsystemd=${if useSystemd && !libOnly then "enabled" else "disabled"}"
"-Dtcpwrap=disabled"
"-Dudev=${if !libOnly then "enabled" else "disabled"}"
"-Dvalgrind=disabled"
"-Dwebrtc-aec=${if !libOnly then "enabled" else "disabled"}"
"-Dx11=${if x11Support then "enabled" else "disabled"}"
"-Dlocalstatedir=/var"
"-Dsysconfdir=/etc"
"-Dsysconfdir_install=${placeholder "out"}/etc"
"-Dudevrulesdir=${placeholder "out"}/lib/udev/rules.d"
]
++ lib.optional (stdenv.isLinux && useSystemd) "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
++ lib.optionals (stdenv.isDarwin) [
"-Ddbus=disabled"
"-Dglib=disabled"
"-Doss-output=disabled"
];
# tests fail on Darwin because of timeouts
doCheck = !stdenv.isDarwin;
preCheck = ''
export HOME=$(mktemp -d)
'';
postInstall = lib.optionalString libOnly ''
find $out/share -maxdepth 1 -mindepth 1 ! -name "vala" -prune -exec rm -r {} \;
find $out/share/vala -maxdepth 1 -mindepth 1 ! -name "vapi" -prune -exec rm -r {} \;
rm -r $out/{bin,etc,lib/pulse-*}
''
+ ''
moveToOutput lib/cmake "$dev"
rm -f $out/bin/qpaeq # this is packaged by the "qpaeq" package now, because of missing deps
'';
preFixup = lib.optionalString (stdenv.isLinux && (stdenv.hostPlatform == stdenv.buildPlatform)) ''
wrapProgram $out/libexec/pulse/gsettings-helper \
--prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${pname}-${version}" \
--prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
'';
passthru = {
pulseDir = "lib/pulse-" + lib.versions.majorMinor version;
};
meta = {
description = "Sound server for POSIX and Win32 systems";
homepage = "http://www.pulseaudio.org/";
license = lib.licenses.lgpl2Plus;
maintainers = with lib.maintainers; [ lovek323 ];
platforms = lib.platforms.unix;
longDescription = ''
PulseAudio is a sound server for POSIX and Win32 systems. A
sound server is basically a proxy for your sound applications.
It allows you to do advanced operations on your sound data as it
passes between your application and your hardware. Things like
transferring the audio to a different machine, changing the
sample format or channel count and mixing several sounds into
one are easily achieved using a sound server.
'';
};
}

View file

@ -0,0 +1,46 @@
{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages }:
let
perlLibs = with perlPackages; [ NetDBus XMLTwig XMLParser ];
in
stdenv.mkDerivation {
pname = "hsphfpd";
version = "2020-12-05";
src = fetchFromGitHub {
owner = "pali";
repo = "hsphfpd-prototype";
rev = "d294d064879591e9570ca3f444fa3eee2f269df8";
sha256 = "0pm5rbsfrm04hnifzdmsyz17rjk8h9h6d19jaikjc5y36z03xf1c";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perlPackages.perl ];
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/dbus-1/system.d
cp org.hsphfpd.conf $out/share/dbus-1/system.d
mkdir -p $out/bin
cp *.pl $out/bin
runHook postInstall
'';
postFixup = ''
for f in $out/bin/*.pl; do
wrapProgram "$f" --set PERL5LIB "${perlPackages.makePerlPath perlLibs}"
done
'';
meta = with lib; {
description = "Bluetooth HSP/HFP daemon";
homepage = "https://github.com/pali/hsphfpd-prototype";
license = licenses.artistic1;
maintainers = with maintainers; [ gebner ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,54 @@
{ mkDerivation
, makeDesktopItem
, python3
, fetchurl
, lib
, pulseaudio
}:
let
desktopItem = makeDesktopItem {
name = "qpaeq";
exec = "@out@/bin/qpaeq";
icon = "audio-volume-high";
desktopName = "qpaeq";
genericName = "Audio equalizer";
categories = [ "AudioVideo" "Audio" "Mixer" ];
startupNotify = false;
};
in
mkDerivation rec {
pname = "qpaeq";
inherit (pulseaudio) version src;
buildInputs = [
((python3.withPackages (ps: with ps; [
pyqt5
dbus-python
])))
];
dontBuild = true;
dontConfigure = true;
installPhase = ''
runHook preInstall
install -D ./src/utils/qpaeq $out/bin/qpaeq
install -D ${desktopItem}/share/applications/qpaeq.desktop $out/share/applications/qpaeq.desktop
runHook postInstall
'';
preFixup = ''
sed "s|,sip|,PyQt5.sip|g" -i $out/bin/qpaeq
wrapQtApp $out/bin/qpaeq
sed "s|@out@|$out|g" -i $out/share/applications/qpaeq.desktop
'';
meta = {
description = "An equalizer interface for pulseaudio's equalizer sinks";
homepage = "http://www.pulseaudio.org/";
license = lib.licenses.lgpl2Plus;
maintainers = with lib.maintainers; [ lovek323 mkg20001 ];
platforms = lib.platforms.unix;
};
}