diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/audio')
-rw-r--r-- | nixpkgs/pkgs/tools/audio/abcm2ps/default.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/abcmidi/default.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/acoustid-fingerprinter/default.nix | 2 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch | 17 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/beets/check-plugin.nix | 35 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/beets/default.nix | 26 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/bpm-tools/default.nix | 32 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/essentia-extractor/default.nix | 41 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/gvolicon/default.nix | 2 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/mpdris2/default.nix | 48 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/trx/default.nix | 15 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/video2midi/default.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/tools/audio/volctl/default.nix | 58 |
13 files changed, 253 insertions, 35 deletions
diff --git a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix b/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix index 39ad4626f3eb..575517829fff 100644 --- a/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix +++ b/nixpkgs/pkgs/tools/audio/abcm2ps/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "abcm2ps"; - version = "8.14.5"; + version = "8.14.6"; src = fetchFromGitHub { owner = "leesavide"; repo = "abcm2ps"; rev = "v${version}"; - sha256 = "1i6db49khqy8bqg21cn90b1fvyw8mh1asdswzssr6dr2g8bhdwmq"; + sha256 = "1gqjqbd8wj0655vi8gcg2r5jqzafdlnfjzwa9z331ywhrskpm53w"; }; configureFlags = [ diff --git a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix index 773b09958ea7..804f9f3ed24a 100644 --- a/nixpkgs/pkgs/tools/audio/abcmidi/default.nix +++ b/nixpkgs/pkgs/tools/audio/abcmidi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "abcMIDI"; - version = "2019.08.11"; + version = "2019.11.11"; src = fetchzip { url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip"; - sha256 = "0rkqmavg7iv9080jdqs0qz80nanhizv6jk0fg9d5xvq3gnmfvnj1"; + sha256 = "0xid13jqhbknrs31j74iwgjm0h0c64w3kqk9g9am1pkjwxh8d460"; }; # There is also a file called "makefile" which seems to be preferred by the standard build phase diff --git a/nixpkgs/pkgs/tools/audio/acoustid-fingerprinter/default.nix b/nixpkgs/pkgs/tools/audio/acoustid-fingerprinter/default.nix index acd205a30de1..7b92b973df4c 100644 --- a/nixpkgs/pkgs/tools/audio/acoustid-fingerprinter/default.nix +++ b/nixpkgs/pkgs/tools/audio/acoustid-fingerprinter/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake qt4 taglib chromaprint ffmpeg ]; - cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${(builtins.parseDrvName taglib.name).version}" ]; + cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${stdenv.lib.getVersion taglib}" ]; patches = [ (fetchpatch { diff --git a/nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch b/nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch new file mode 100644 index 000000000000..2de97b86c8b4 --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/beets/beet-check-tests.patch @@ -0,0 +1,17 @@ +diff --git a/test/cli_test.py b/test/cli_test.py +index 26df140..2eb913c 100644 +--- a/test/cli_test.py ++++ b/test/cli_test.py +@@ -372,12 +372,6 @@ class ToolListTest(TestHelper, TestCase): + self.assertIn('flac', stdout.getvalue()) + self.assertIn('oggz-validate', stdout.getvalue()) + +- def test_found_mp3val(self): +- shutil.copy('/bin/echo', os.path.join(self.temp_dir, 'mp3val')) +- with captureStdout() as stdout: +- beets.ui._raw_main(['check', '--list-tools']) +- self.assertRegexpMatches(stdout.getvalue(), r'mp3val *found') +- + def test_oggz_validate_not_found(self): + with captureStdout() as stdout: + beets.ui._raw_main(['check', '--list-tools']) diff --git a/nixpkgs/pkgs/tools/audio/beets/check-plugin.nix b/nixpkgs/pkgs/tools/audio/beets/check-plugin.nix new file mode 100644 index 000000000000..49ee97ead06a --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/beets/check-plugin.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, beets, pythonPackages, flac, liboggz, mp3val }: + +pythonPackages.buildPythonApplication rec { + name = "beets-check"; + version = "0.12.0"; + + src = fetchFromGitHub { + repo = "beets-check"; + owner = "geigerzaehler"; + rev = "v${version}"; + sha256 = "0b2ijjf0gycs6b40sm33ida3sjygjiv4spb5mba52vysc7iwmnjn"; + }; + + nativeBuildInputs = [ beets ]; + checkInputs = [ pythonPackages.nose flac liboggz mp3val ]; + propagatedBuildInputs = [ flac liboggz mp3val ]; + + # patch out broken tests + patches = [ ./beet-check-tests.patch ]; + + # patch out futures dependency, it is only needed for Python2 which we don't + # support. + prePatch = '' + sed -i "/futures/d" setup.py + ''; + + checkPhase = "nosetests"; + + meta = with stdenv.lib; { + description = "Beets plugin to Verify and store checksums in your library"; + homepage = https://github.com/geigerzaehler/beets-check; + license = licenses.mit; + maintainers = with maintainers; [ lovesegfault ]; + }; +} diff --git a/nixpkgs/pkgs/tools/audio/beets/default.nix b/nixpkgs/pkgs/tools/audio/beets/default.nix index 241e552b05c3..b4dfa71ca965 100644 --- a/nixpkgs/pkgs/tools/audio/beets/default.nix +++ b/nixpkgs/pkgs/tools/audio/beets/default.nix @@ -6,6 +6,7 @@ # Attributes needed for tests of the external plugins , callPackage, beets +, enableAbsubmit ? stdenv.lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null , enableAcousticbrainz ? true , enableAcoustid ? true , enableBadfiles ? true, flac ? null, mp3val ? null @@ -28,13 +29,16 @@ # External plugins , enableAlternatives ? false +, enableCheck ? false, liboggz ? null , enableCopyArtifacts ? false , bashInteractive, bash-completion }: +assert enableAbsubmit -> essentia-extractor != null; assert enableAcoustid -> pythonPackages.pyacoustid != null; assert enableBadfiles -> flac != null && mp3val != null; +assert enableCheck -> flac != null && mp3val != null && liboggz != null; assert enableConvert -> ffmpeg != null; assert enableDiscogs -> pythonPackages.discogs_client != null; assert enableFetchart -> pythonPackages.responses != null; @@ -51,6 +55,7 @@ with stdenv.lib; let optionalPlugins = { + absubmit = enableAbsubmit; acousticbrainz = enableAcousticbrainz; badfiles = enableBadfiles; chroma = enableAcoustid; @@ -75,12 +80,12 @@ let }; pluginsWithoutDeps = [ - "absubmit" "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" - "edit" "embedart" "export" "filefilter" "freedesktop" "fromfilename" - "ftintitle" "fuzzy" "hook" "ihate" "importadded" "importfeeds" "info" - "inline" "ipfs" "lyrics" "mbcollection" "mbsubmit" "mbsync" "metasync" - "missing" "permissions" "play" "plexupdate" "random" "rewrite" "scrub" - "smartplaylist" "spotify" "the" "types" "zero" + "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart" + "export" "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy" + "hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs" "lyrics" + "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play" + "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the" + "types" "zero" ]; enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins); @@ -103,6 +108,7 @@ let plugins = { alternatives = callPackage ./alternatives-plugin.nix pluginArgs; + check = callPackage ./check-plugin.nix pluginArgs; copyartifacts = callPackage ./copyartifacts-plugin.nix pluginArgs; }; @@ -129,7 +135,8 @@ in pythonPackages.buildPythonApplication rec { pythonPackages.gst-python pythonPackages.pygobject3 gobject-introspection - ] ++ optional enableAcoustid pythonPackages.pyacoustid + ] ++ optional enableAbsubmit essentia-extractor + ++ optional enableAcoustid pythonPackages.pyacoustid ++ optional (enableFetchart || enableEmbyupdate || enableKodiupdate @@ -138,6 +145,7 @@ in pythonPackages.buildPythonApplication rec { || enableSubsonicupdate || enableAcousticbrainz) pythonPackages.requests + ++ optional enableCheck plugins.check ++ optional enableConvert ffmpeg ++ optional enableDiscogs pythonPackages.discogs_client ++ optional enableGmusic pythonPackages.gmusicapi @@ -242,6 +250,10 @@ in pythonPackages.buildPythonApplication rec { makeWrapperArgs = [ "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" "--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\"" ]; + passthru = { + externalPlugins = plugins; + }; + meta = { description = "Music tagger and library organizer"; homepage = http://beets.io; diff --git a/nixpkgs/pkgs/tools/audio/bpm-tools/default.nix b/nixpkgs/pkgs/tools/audio/bpm-tools/default.nix new file mode 100644 index 000000000000..035fbf095338 --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/bpm-tools/default.nix @@ -0,0 +1,32 @@ +{ + stdenv, + fetchurl, +}: + +stdenv.mkDerivation rec { + pname = "bpm-tools"; + version = "0.3"; + + src = fetchurl { + url = "http://www.pogo.org.uk/~mark/bpm-tools/releases/bpm-tools-${version}.tar.gz"; + sha256 = "151vfbs8h3cibs7kbdps5pqrsxhpjv16y2iyfqbxzsclylgfivrp"; + }; + + patchPhase = '' + patchShebangs bpm-tag + patchShebangs bpm-graph + ''; + + installFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + meta = with stdenv.lib; { + homepage = "http://www.pogo.org.uk/~mark/bpm-tools/"; + description = "Automatically calculate BPM (tempo) of music files"; + license = licenses.gpl2; + platforms = platforms.all; + maintainers = with maintainers; [ doronbehar ]; + }; +} + diff --git a/nixpkgs/pkgs/tools/audio/essentia-extractor/default.nix b/nixpkgs/pkgs/tools/audio/essentia-extractor/default.nix new file mode 100644 index 000000000000..0d2bb17a75d4 --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/essentia-extractor/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl }: +let + arch_table = { + "x86_64-linux" = "linux-x86_64"; + "i686-linux" = "linux-i686"; + }; + + sha_table = { + "x86_64-linux" = + "d9902aadac4f442992877945da2a6fe8d6ea6b0de314ca8ac0c28dc5f253f7d8"; + "i686-linux" = + "46deb0a053b4910c4e68737a7b6556ff5360260c8f86652f91a0130445f5c949"; + }; + + arch = arch_table.${stdenv.system}; + sha = sha_table.${stdenv.system}; +in stdenv.mkDerivation rec { + pname = "essentia-extractor"; + version = "2.1_beta2"; + + src = fetchurl { + url = + "ftp://ftp.acousticbrainz.org/pub/acousticbrainz/essentia-extractor-v${version}-${arch}.tar.gz"; + sha256 = sha; + }; + + unpackPhase = "unpackFile $src ; export sourceRoot=."; + + installPhase = '' + mkdir -p $out/bin + cp streaming_extractor_music $out/bin + ''; + + meta = with stdenv.lib; { + homepage = "https://acousticbrainz.org/download"; + description = "AcousticBrainz audio feature extractor"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ lovesegfault ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/nixpkgs/pkgs/tools/audio/gvolicon/default.nix b/nixpkgs/pkgs/tools/audio/gvolicon/default.nix index c66c6bc1f7e0..9029eb38b06f 100644 --- a/nixpkgs/pkgs/tools/audio/gvolicon/default.nix +++ b/nixpkgs/pkgs/tools/audio/gvolicon/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { makeFlags = [ "PREFIX=$(out)" ]; - NIX_CFLAGS_COMPILE = [ "-D_POSIX_C_SOURCE" ]; + NIX_CFLAGS_COMPILE = "-D_POSIX_C_SOURCE"; meta = { description = "A simple and lightweight volume icon that sits in your system tray"; diff --git a/nixpkgs/pkgs/tools/audio/mpdris2/default.nix b/nixpkgs/pkgs/tools/audio/mpdris2/default.nix index d13dfbe8f43d..0dbdcd7d25a3 100644 --- a/nixpkgs/pkgs/tools/audio/mpdris2/default.nix +++ b/nixpkgs/pkgs/tools/audio/mpdris2/default.nix @@ -1,31 +1,55 @@ -{ stdenv, fetchurl, autoreconfHook, intltool -, pythonPackages +{ stdenv +, autoreconfHook +, fetchFromGitHub +, glib +, gobject-introspection +, intltool +, libnotify +, python3 +, wrapGAppsHook }: -stdenv.mkDerivation rec { +python3.pkgs.buildPythonApplication rec { pname = "mpDris2"; version = "0.8"; + format = "other"; + strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943 - src = fetchurl { - url = "https://github.com/eonpatapon/${pname}/archive/${version}.tar.gz"; - sha256 = "14a3va3929qaq1sp9hs9w4bs6lykdvshkbc58kbsc5nzvlgmrcdn"; + src = fetchFromGitHub { + owner = "eonpatapon"; + repo = pname; + rev = version; + sha256 = "048b8acsd1b8kcxzd9fsh5p9g2an9c4rznicfcpyrsjz5syv894h"; }; preConfigure = '' intltoolize -f ''; - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ intltool pythonPackages.wrapPython ]; - propagatedBuildInputs = with pythonPackages; [ python pygtk dbus-python ]; - pythonPath = with pythonPackages; [ mpd pygtk dbus-python notify mutagen ]; - postInstall = "wrapPythonPrograms"; + nativeBuildInputs = [ + autoreconfHook + gobject-introspection + intltool + wrapGAppsHook + ]; + + buildInputs = [ + glib + libnotify + ]; + + propagatedBuildInputs = with python3.pkgs; [ + dbus-python + mpd2 + mutagen + pygobject3 + ]; meta = with stdenv.lib; { description = "MPRIS 2 support for mpd"; homepage = https://github.com/eonpatapon/mpDris2/; license = licenses.gpl3; + maintainers = with maintainers; []; platforms = platforms.unix; - maintainers = with maintainers; [ pjones ]; }; } diff --git a/nixpkgs/pkgs/tools/audio/trx/default.nix b/nixpkgs/pkgs/tools/audio/trx/default.nix index 5d31193ee8d4..1d052adbba9f 100644 --- a/nixpkgs/pkgs/tools/audio/trx/default.nix +++ b/nixpkgs/pkgs/tools/audio/trx/default.nix @@ -1,13 +1,12 @@ -{ stdenv, fetchgit, alsaLib, libopus, ortp, bctoolbox }: +{ stdenv, fetchurl, alsaLib, libopus, ortp, bctoolbox }: -stdenv.mkDerivation { - pname = "trx-unstable"; - version = "2018-01-23"; +stdenv.mkDerivation rec { + pname = "trx"; + version = "0.4"; - src = fetchgit { - url = "http://www.pogo.org.uk/~mark/trx.git"; - rev = "66b4707a24172751a131e24d2a800496c699137f"; - sha256 = "0w0960p25944b30lkc8n4lj14xgsf0fjpmxqwlz2r8wl642bqnfm"; + src = fetchurl { + url = "https://www.pogo.org.uk/~mark/trx/releases/${pname}-${version}.tar.gz"; + sha256 = "1wsrkbqc090px8i9p8awz38znxjcqjb1dzjjdd8xkjmiprayjhkl"; }; buildInputs = [ alsaLib libopus ortp bctoolbox ]; diff --git a/nixpkgs/pkgs/tools/audio/video2midi/default.nix b/nixpkgs/pkgs/tools/audio/video2midi/default.nix index 1ed5e48077b7..43539f1ee295 100644 --- a/nixpkgs/pkgs/tools/audio/video2midi/default.nix +++ b/nixpkgs/pkgs/tools/audio/video2midi/default.nix @@ -8,7 +8,7 @@ let }); in pythonPackages.buildPythonApplication rec { pname = "video2midi"; - version = "0.3.9.1"; + version = "0.3.9.6"; format = "other"; @@ -16,7 +16,7 @@ in pythonPackages.buildPythonApplication rec { owner = "svsdval"; repo = pname; rev = version; - sha256 = "1ndzhfng8z5080n1xkcavw21dm6rjz0x1954v9llifsdmf4cpn8y"; + sha256 = "0x9b8hwl325gd6v9i60yh95gbn49nydpwyfqs92mbq8vvvq7x8fk"; }; propagatedBuildInputs = with pythonPackages; [ opencv3_ midiutil pygame pyopengl ]; diff --git a/nixpkgs/pkgs/tools/audio/volctl/default.nix b/nixpkgs/pkgs/tools/audio/volctl/default.nix new file mode 100644 index 000000000000..7b4cdd6b5315 --- /dev/null +++ b/nixpkgs/pkgs/tools/audio/volctl/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchFromGitHub, pythonPackages, libpulseaudio, glib, gtk3, gobject-introspection, wrapGAppsHook }: + +pythonPackages.buildPythonApplication rec { + pname = "volctl"; + version = "0.6.2"; + + src = fetchFromGitHub { + owner = "buzz"; + repo = pname; + rev = version; + sha256 = "1bqq5mrpi7qxzl37z6fj67pqappjmwhi8d8db95j3lmf16svm2xk"; + }; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + libpulseaudio + ]; + + pythonPath = with pythonPackages; [ + pygobject3 + ]; + + strictDeps = false; + + postPatch = '' + # The user can set a mixer application in the preferences. The + # default is pavucontrol. Do not hard code its path and hope it + # can be found in $PATH. + + substituteInPlace volctl/app.py --replace /usr/bin/pavucontrol pavucontrol + ''; + + preBuild = '' + export LD_LIBRARY_PATH=${libpulseaudio}/lib + ''; + + preFixup = '' + glib-compile-schemas ${glib.makeSchemaPath "$out" "${pname}-${version}"} + + gappsWrapperArgs+=( + --prefix LD_LIBRARY_PATH : "${libpulseaudio}/lib" + ) + ''; + + meta = with stdenv.lib; { + description = "PulseAudio enabled volume control featuring per-app sliders"; + homepage = https://buzz.github.io/volctl/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} |