diff options
author | Isidor Zeuner <nix@quidecco.pl> | 2023-12-27 22:28:39 +0100 |
---|---|---|
committer | Isidor Zeuner <nix@quidecco.pl> | 2023-12-27 22:28:39 +0100 |
commit | 26ae57c0161ce22f385896f2f1aced6cb0ede9fe (patch) | |
tree | d12df110c276fbea4829ec2f67351d137ddf6df5 /pkgs/by-name/al | |
parent | 87e5690bba47126a6394d7c275f108932a11774b (diff) |
alsa-lib: provide wrapper for run-time access to plugins
Diffstat (limited to 'pkgs/by-name/al')
-rw-r--r-- | pkgs/by-name/al/alsa-lib-with-plugins/package.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/by-name/al/alsa-lib-with-plugins/package.nix b/pkgs/by-name/al/alsa-lib-with-plugins/package.nix new file mode 100644 index 0000000000000..4388884f75a6d --- /dev/null +++ b/pkgs/by-name/al/alsa-lib-with-plugins/package.nix @@ -0,0 +1,52 @@ +{ lib +, pkgs +, alsa-lib +, plugins ? [ pkgs.alsa-plugins ] +, lndir +, symlinkJoin +, runCommand +}: +let + merged = symlinkJoin { name = "alsa-plugins-merged"; paths = plugins; }; +in +runCommand "${alsa-lib.pname}-${alsa-lib.version}" { + meta = with lib; { + description = "wrapper to ease access to ALSA plugins"; + platforms = platforms.linux; + maintainers = with maintainers; [ gm6k ]; + }; + outputs = alsa-lib.outputs; +} ( + ( + lib.concatMapStringsSep "\n" ( + output: '' + mkdir ${builtins.placeholder output} + ${lndir}/bin/lndir ${lib.attrByPath [output] null alsa-lib} \ + ${builtins.placeholder output} + '' + ) alsa-lib.outputs + ) + '' + cp -r ${merged}/lib/alsa-lib $out/lib + ( + echo $out | wc -c + echo ${alsa-lib} | wc -c + ) | xargs echo | grep -q "^\(.*\) \1$" || ( + echo cannot binary patch + exit 1 + ) + rm $out/lib/libasound.la + rm $out/lib/libasound.so.?.?.? + rm $dev/lib/pkgconfig/alsa.pc + rm $dev/nix-support/propagated-build-inputs + cp ${alsa-lib}/lib/libasound.la $out/lib + cp ${alsa-lib}/lib/libasound.so.?.?.? $out/lib + cp ${alsa-lib.dev}/lib/pkgconfig/alsa.pc $dev/lib/pkgconfig + cp ${alsa-lib.dev}/nix-support/propagated-build-inputs $dev/nix-support + sed -i \ + $out/lib/libasound.la \ + $out/lib/libasound.so.?.?.? \ + $dev/lib/pkgconfig/alsa.pc \ + $dev/nix-support/propagated-build-inputs \ + -e "s@${alsa-lib}@$out@g" + '' +) |