diff options
Diffstat (limited to 'pkgs/applications/audio')
49 files changed, 583 insertions, 716 deletions
diff --git a/pkgs/applications/audio/ChowPhaser/default.nix b/pkgs/applications/audio/ChowPhaser/default.nix new file mode 100644 index 0000000000000..a828a1e1d0410 --- /dev/null +++ b/pkgs/applications/audio/ChowPhaser/default.nix @@ -0,0 +1,76 @@ +{ alsa-lib, at-spi2-core, cmake, curl, dbus, libepoxy, fetchFromGitHub, freeglut +, freetype, gcc-unwrapped, gtk3, lib, libGL, libXcursor, libXdmcp, libXext +, libXinerama, libXrandr, libXtst, libdatrie, libjack2, libpsl, libselinux +, libsepol, libsysprof-capture, libthai, libxkbcommon, pcre, pkg-config +, python3, sqlite, stdenv }: + +stdenv.mkDerivation rec { + pname = "ChowPhaser"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "jatinchowdhury18"; + repo = "ChowPhaser"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "sha256-9wo7ZFMruG3QNvlpILSvrFh/Sx6J1qnlWc8+aQyS4tQ="; + }; + + nativeBuildInputs = [ pkg-config cmake ]; + + buildInputs = [ + alsa-lib + at-spi2-core + curl + dbus + libepoxy + freeglut + freetype + gtk3 + libGL + libXcursor + libXdmcp + libXext + libXinerama + libXrandr + libXtst + libdatrie + libjack2 + libpsl + libselinux + libsepol + libsysprof-capture + libthai + libxkbcommon + pcre + python3 + sqlite + gcc-unwrapped + ]; + + cmakeFlags = [ + "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" + "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" + "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm" + ]; + + installPhase = '' + mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin $out/share/doc/ChowPhaser/ + cd ChowPhaserMono_artefacts/Release + cp libChowPhaserMono_SharedCode.a $out/lib + cp -r VST3/ChowPhaserMono.vst3 $out/lib/vst3 + cp Standalone/ChowPhaserMono $out/bin + cd ../../ChowPhaserStereo_artefacts/Release + cp libChowPhaserStereo_SharedCode.a $out/lib + cp -r VST3/ChowPhaserStereo.vst3 $out/lib/vst3 + cp Standalone/ChowPhaserStereo $out/bin + ''; + + meta = with lib; { + homepage = "https://github.com/jatinchowdhury18/ChowPhaser"; + description = "Phaser effect based loosely on the Schulte Compact Phasing 'A'"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ magnetophon ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/amberol/default.nix b/pkgs/applications/audio/amberol/default.nix new file mode 100644 index 0000000000000..b778b7f2696ab --- /dev/null +++ b/pkgs/applications/audio/amberol/default.nix @@ -0,0 +1,75 @@ +{ lib +, stdenv +, fetchFromGitLab +, rustPlatform +, desktop-file-utils +, appstream-glib +, meson +, ninja +, pkg-config +, reuse +, wrapGAppsHook4 +, glib +, gtk4 +, gst_all_1 +, libadwaita +, dbus +}: + +stdenv.mkDerivation rec { + pname = "amberol"; + version = "0.3.0"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = pname; + rev = version; + sha256 = "sha256-+9lrSkjk7V+ZnIhmhw7lEiEywDp5adoAW+5PEAlhpSI="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + sha256 = "sha256-ZJiD6RshEjZ7h+/KYcY+ZjL5fHRb5+RKgIdgbD6LdkA="; + }; + + postPatch = '' + patchShebangs build-aux + ''; + + nativeBuildInputs = [ + appstream-glib + desktop-file-utils + meson + ninja + pkg-config + reuse + wrapGAppsHook4 + ] ++ (with rustPlatform; [ + cargoSetupHook + rust.cargo + rust.rustc + ]); + + buildInputs = [ + glib + gtk4 + libadwaita + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-ugly + gst_all_1.gst-libav + dbus + ]; + + meta = with lib; { + homepage = "https://gitlab.gnome.org/ebassi/amberol"; + description = "A small and simple sound and music player"; + maintainers = with maintainers; [ linsui ]; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/audacity/0001-Use-a-different-approach-to-estimate-the-disk-space-.patch b/pkgs/applications/audio/audacity/0001-Use-a-different-approach-to-estimate-the-disk-space-.patch deleted file mode 100644 index 33b7554db4483..0000000000000 --- a/pkgs/applications/audio/audacity/0001-Use-a-different-approach-to-estimate-the-disk-space-.patch +++ /dev/null @@ -1,355 +0,0 @@ -From deeb435829d73524df851f6f4c2d4be552c99230 Mon Sep 17 00:00:00 2001 -From: Dmitry Vedenko <dmitry@crsib.me> -Date: Fri, 1 Oct 2021 16:21:22 +0300 -Subject: [PATCH] Use a different approach to estimate the disk space usage - -New a approach is a bit less precise, but removes the requirement for the "private" SQLite3 table and allows Audacity to be built against system SQLite3. ---- - cmake-proxies/sqlite/CMakeLists.txt | 5 - - src/DBConnection.h | 4 +- - src/ProjectFileIO.cpp | 269 +++++----------------------- - 3 files changed, 44 insertions(+), 234 deletions(-) - -diff --git a/cmake-proxies/sqlite/CMakeLists.txt b/cmake-proxies/sqlite/CMakeLists.txt -index 63d70637c..d7b9b95ef 100644 ---- a/cmake-proxies/sqlite/CMakeLists.txt -+++ b/cmake-proxies/sqlite/CMakeLists.txt -@@ -19,11 +19,6 @@ list( APPEND INCLUDES - - list( APPEND DEFINES - PRIVATE -- # -- # We need the dbpage table for space calculations. -- # -- SQLITE_ENABLE_DBPAGE_VTAB=1 -- - # Can't be set after a WAL mode database is initialized, so change - # the default here to ensure all project files get the same page - # size. -diff --git a/src/DBConnection.h b/src/DBConnection.h -index 16a7fc9d4..07d3af95e 100644 ---- a/src/DBConnection.h -+++ b/src/DBConnection.h -@@ -75,8 +75,8 @@ public: - LoadSampleBlock, - InsertSampleBlock, - DeleteSampleBlock, -- GetRootPage, -- GetDBPage -+ GetSampleBlockSize, -+ GetAllSampleBlocksSize - }; - sqlite3_stmt *Prepare(enum StatementID id, const char *sql); - -diff --git a/src/ProjectFileIO.cpp b/src/ProjectFileIO.cpp -index 3b3e2e1fd..c9bc45af4 100644 ---- a/src/ProjectFileIO.cpp -+++ b/src/ProjectFileIO.cpp -@@ -35,6 +35,7 @@ Paul Licameli split from AudacityProject.cpp - #include "widgets/ProgressDialog.h" - #include "wxFileNameWrapper.h" - #include "xml/XMLFileReader.h" -+#include "MemoryX.h"` - - #undef NO_SHM - #if !defined(__WXMSW__) -@@ -2357,255 +2358,69 @@ int64_t ProjectFileIO::GetTotalUsage() - } - - // --// Returns the amount of disk space used by the specified sample blockid or all --// of the sample blocks if the blockid is 0. It does this by using the raw SQLite --// pages available from the "sqlite_dbpage" virtual table to traverse the SQLite --// table b-tree described here: https://www.sqlite.org/fileformat.html -+// Returns the estimation of disk space used by the specified sample blockid or all -+// of the sample blocks if the blockid is 0. This does not include small overhead -+// of the internal SQLite structures, only the size used by the data - // - int64_t ProjectFileIO::GetDiskUsage(DBConnection &conn, SampleBlockID blockid /* = 0 */) - { -- // Information we need to track our travels through the b-tree -- typedef struct -- { -- int64_t pgno; -- int currentCell; -- int numCells; -- unsigned char data[65536]; -- } page; -- std::vector<page> stack; -- -- int64_t total = 0; -- int64_t found = 0; -- int64_t right = 0; -- int rc; -+ sqlite3_stmt* stmt = nullptr; - -- // Get the rootpage for the sampleblocks table. -- sqlite3_stmt *stmt = -- conn.Prepare(DBConnection::GetRootPage, -- "SELECT rootpage FROM sqlite_master WHERE tbl_name = 'sampleblocks';"); -- if (stmt == nullptr || sqlite3_step(stmt) != SQLITE_ROW) -+ if (blockid == 0) - { -- return 0; -- } -- -- // And store it in our first stack frame -- stack.push_back({sqlite3_column_int64(stmt, 0)}); -+ static const char* statement = -+R"(SELECT -+ sum(length(blockid) + length(sampleformat) + -+ length(summin) + length(summax) + length(sumrms) + -+ length(summary256) + length(summary64k) + -+ length(samples)) -+FROM sampleblocks;)"; - -- // All done with the statement -- sqlite3_clear_bindings(stmt); -- sqlite3_reset(stmt); -- -- // Prepare/retrieve statement to read raw database page -- stmt = conn.Prepare(DBConnection::GetDBPage, -- "SELECT data FROM sqlite_dbpage WHERE pgno = ?1;"); -- if (stmt == nullptr) -- { -- return 0; -+ stmt = conn.Prepare(DBConnection::GetAllSampleBlocksSize, statement); - } -- -- // Traverse the b-tree until we've visited all of the leaf pages or until -- // we find the one corresponding to the passed in sample blockid. Because we -- // use an integer primary key for the sampleblocks table, the traversal will -- // be in ascending blockid sequence. -- do -+ else - { -- // Acces the top stack frame -- page &pg = stack.back(); -+ static const char* statement = -+R"(SELECT -+ length(blockid) + length(sampleformat) + -+ length(summin) + length(summax) + length(sumrms) + -+ length(summary256) + length(summary64k) + -+ length(samples) -+FROM sampleblocks WHERE blockid = ?1;)"; - -- // Read the page from the sqlite_dbpage table if it hasn't yet been loaded -- if (pg.numCells == 0) -- { -- // Bind the page number -- sqlite3_bind_int64(stmt, 1, pg.pgno); -+ stmt = conn.Prepare(DBConnection::GetSampleBlockSize, statement); -+ } - -- // And retrieve the page -- if (sqlite3_step(stmt) != SQLITE_ROW) -+ auto cleanup = finally( -+ [stmt]() { -+ // Clear statement bindings and rewind statement -+ if (stmt != nullptr) - { -- // REVIEW: Likely harmless failure - says size is zero on -- // this error. -- // LLL: Yea, but not much else we can do. -- return 0; -+ sqlite3_clear_bindings(stmt); -+ sqlite3_reset(stmt); - } -+ }); - -- // Copy the page content to the stack frame -- memcpy(&pg.data, -- sqlite3_column_blob(stmt, 0), -- sqlite3_column_bytes(stmt, 0)); -- -- // And retrieve the total number of cells within it -- pg.numCells = get2(&pg.data[3]); -- -- // Reset statement for next usage -- sqlite3_clear_bindings(stmt); -- sqlite3_reset(stmt); -- } -- -- //wxLogDebug("%*.*spgno %lld currentCell %d numCells %d", (stack.size() - 1) * 2, (stack.size() - 1) * 2, "", pg.pgno, pg.currentCell, pg.numCells); -- -- // Process an interior table b-tree page -- if (pg.data[0] == 0x05) -- { -- // Process the next cell if we haven't examined all of them yet -- if (pg.currentCell < pg.numCells) -- { -- // Remember the right-most leaf page number. -- right = get4(&pg.data[8]); -- -- // Iterate over the cells. -- // -- // If we're not looking for a specific blockid, then we always push the -- // target page onto the stack and leave the loop after a single iteration. -- // -- // Otherwise, we match the blockid against the highest integer key contained -- // within the cell and if the blockid falls within the cell, we stack the -- // page and stop the iteration. -- // -- // In theory, we could do a binary search for a specific blockid here, but -- // because our sample blocks are always large, we will get very few cells -- // per page...usually 6 or less. -- // -- // In both cases, the stacked page can be either an internal or leaf page. -- bool stacked = false; -- while (pg.currentCell < pg.numCells) -- { -- // Get the offset to this cell using the offset in the cell pointer -- // array. -- // -- // The cell pointer array starts immediately after the page header -- // at offset 12 and the retrieved offset is from the beginning of -- // the page. -- int celloff = get2(&pg.data[12 + (pg.currentCell * 2)]); -- -- // Bump to the next cell for the next iteration. -- pg.currentCell++; -- -- // Get the page number this cell describes -- int pagenum = get4(&pg.data[celloff]); -- -- // And the highest integer key, which starts at offset 4 within the cell. -- int64_t intkey = 0; -- get_varint(&pg.data[celloff + 4], &intkey); -- -- //wxLogDebug("%*.*sinternal - right %lld celloff %d pagenum %d intkey %lld", (stack.size() - 1) * 2, (stack.size() - 1) * 2, " ", right, celloff, pagenum, intkey); -- -- // Stack the described page if we're not looking for a specific blockid -- // or if this page contains the given blockid. -- if (!blockid || blockid <= intkey) -- { -- stack.push_back({pagenum, 0, 0}); -- stacked = true; -- break; -- } -- } -- -- // If we pushed a new page onto the stack, we need to jump back up -- // to read the page -- if (stacked) -- { -- continue; -- } -- } -+ if (blockid != 0) -+ { -+ int rc = sqlite3_bind_int64(stmt, 1, blockid); - -- // We've exhausted all the cells with this page, so we stack the right-most -- // leaf page. Ensure we only process it once. -- if (right) -- { -- stack.push_back({right, 0, 0}); -- right = 0; -- continue; -- } -- } -- // Process a leaf table b-tree page -- else if (pg.data[0] == 0x0d) -+ if (rc != SQLITE_OK) - { -- // Iterate over the cells -- // -- // If we're not looking for a specific blockid, then just accumulate the -- // payload sizes. We will be reading every leaf page in the sampleblocks -- // table. -- // -- // Otherwise we break out when we find the matching blockid. In this case, -- // we only ever look at 1 leaf page. -- bool stop = false; -- for (int i = 0; i < pg.numCells; i++) -- { -- // Get the offset to this cell using the offset in the cell pointer -- // array. -- // -- // The cell pointer array starts immediately after the page header -- // at offset 8 and the retrieved offset is from the beginning of -- // the page. -- int celloff = get2(&pg.data[8 + (i * 2)]); -- -- // Get the total payload size in bytes of the described row. -- int64_t payload = 0; -- int digits = get_varint(&pg.data[celloff], &payload); -- -- // Get the integer key for this row. -- int64_t intkey = 0; -- get_varint(&pg.data[celloff + digits], &intkey); -- -- //wxLogDebug("%*.*sleaf - celloff %4d intkey %lld payload %lld", (stack.size() - 1) * 2, (stack.size() - 1) * 2, " ", celloff, intkey, payload); -- -- // Add this payload size to the total if we're not looking for a specific -- // blockid -- if (!blockid) -- { -- total += payload; -- } -- // Otherwise, return the payload size for a matching row -- else if (blockid == intkey) -- { -- return payload; -- } -- } -+ conn.ThrowException(false); - } -+ } - -- // Done with the current branch, so pop back up to the previous one (if any) -- stack.pop_back(); -- } while (!stack.empty()); -- -- // Return the total used for all sample blocks -- return total; --} -- --// Retrieves a 2-byte big-endian integer from the page data --unsigned int ProjectFileIO::get2(const unsigned char *ptr) --{ -- return (ptr[0] << 8) | ptr[1]; --} -- --// Retrieves a 4-byte big-endian integer from the page data --unsigned int ProjectFileIO::get4(const unsigned char *ptr) --{ -- return ((unsigned int) ptr[0] << 24) | -- ((unsigned int) ptr[1] << 16) | -- ((unsigned int) ptr[2] << 8) | -- ((unsigned int) ptr[3]); --} -- --// Retrieves a variable length integer from the page data. Returns the --// number of digits used to encode the integer and the stores the --// value at the given location. --int ProjectFileIO::get_varint(const unsigned char *ptr, int64_t *out) --{ -- int64_t val = 0; -- int i; -+ int rc = sqlite3_step(stmt); - -- for (i = 0; i < 8; ++i) -+ if (rc != SQLITE_ROW) - { -- val = (val << 7) + (ptr[i] & 0x7f); -- if ((ptr[i] & 0x80) == 0) -- { -- *out = val; -- return i + 1; -- } -+ conn.ThrowException(false); - } - -- val = (val << 8) + (ptr[i] & 0xff); -- *out = val; -+ const int64_t size = sqlite3_column_int64(stmt, 0); - -- return 9; -+ return size; - } - - InvisibleTemporaryProject::InvisibleTemporaryProject() --- -2.33.1 - diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index 9d4c522edc1a9..653d5555eb144 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -3,6 +3,7 @@ , fetchFromGitHub , fetchpatch , cmake +, makeWrapper , pkg-config , python3 , gettext @@ -20,14 +21,17 @@ , libsndfile , soxr , flac +, lame , twolame , expat , libid3tag , libopus +, libuuid , ffmpeg_4 , soundtouch , pcre -/*, portaudio - given up fighting their portaudio.patch */ +, portaudio # given up fighting their portaudio.patch? +, portmidi , linuxHeaders , alsa-lib , at-spi2-core @@ -36,11 +40,14 @@ , libXdmcp , libXtst , libpthreadstubs +, libsbsms_2_3_0 , libselinux , libsepol , libxkbcommon , util-linux , wxGTK +, libpng +, libjpeg , AppKit ? null , AudioToolbox ? null , AudioUnit ? null @@ -58,12 +65,14 @@ let inherit (lib) optionals; + pname = "audacity"; + version = "3.1.3"; wxWidgets_src = fetchFromGitHub { - owner = "audacity"; + owner = pname; repo = "wxWidgets"; - rev = "07e7d832c7a337aedba3537b90b2c98c4d8e2985"; - sha256 = "1mawnkcrmqj98jp0jxlnh9xkc950ca033ccb51c7035pzmi9if9a"; + rev = "v${version}-${pname}"; + sha256 = "sha256-KrmYYv23DHBYKIuxMYBioCQ2e4KWdgmuREnimtm0XNU="; fetchSubmodules = true; }; @@ -74,41 +83,20 @@ let wxmac' = wxmac.overrideAttrs (oldAttrs: rec { src = wxWidgets_src; }); - -in -stdenv.mkDerivation rec { - pname = "audacity"; - # nixpkgs-update: no auto update - # Humans too! Let's wait to see how the situation with - # https://github.com/audacity/audacity/issues/1213 develops before - # pulling any updates that are subject to this privacy policy. We - # may wish to switch to a fork, but at the time of writing - # (2021-07-05) it's too early to tell how well any of the forks will - # be maintained. - version = "3.0.2"; +in stdenv.mkDerivation rec { + inherit pname version; src = fetchFromGitHub { - owner = "audacity"; - repo = "audacity"; + owner = pname; + repo = pname; rev = "Audacity-${version}"; - sha256 = "035qq2ff16cdl2cb9iply2bfjmhfl1dpscg79x6c9l0i9m8k41zj"; + sha256 = "sha256-sdI4paxIHDZgoWTCekjrkFR4JFpQC6OatcnJdVXCCZk="; }; - patches = [ - (fetchpatch { - url = "https://github.com/audacity/audacity/commit/7f8135e112a0e1e8e906abab9339680d1e491441.patch"; - sha256 = "0zp2iydd46analda9cfnbmzdkjphz5m7dynrdj5qdnmq6j3px9fw"; - name = "audacity_xdg_paths.patch"; - }) - # This is required to make audacity work with nixpkgs’ sqlite - # https://github.com/audacity/audacity/pull/1802 rebased onto 3.0.2 - ./0001-Use-a-different-approach-to-estimate-the-disk-space-.patch - ]; - postPatch = '' - touch src/RevisionIdent.h + mkdir src/private '' + lib.optionalString stdenv.isLinux '' - substituteInPlace src/FileNames.cpp \ + substituteInPlace libraries/lib-files/FileNames.cpp \ --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h ''; @@ -119,6 +107,7 @@ stdenv.mkDerivation rec { python3 ] ++ optionals stdenv.isLinux [ linuxHeaders + makeWrapper ]; buildInputs = [ @@ -126,15 +115,18 @@ stdenv.mkDerivation rec { ffmpeg_4 file flac + lame libid3tag libjack2 libmad libopus + libsbsms_2_3_0 libsndfile libvorbis lilv lv2 pcre + portmidi serd sord soundtouch @@ -143,6 +135,7 @@ stdenv.mkDerivation rec { sratom suil twolame + portaudio ] ++ optionals stdenv.isLinux [ alsa-lib # for portaudio at-spi2-core @@ -154,6 +147,7 @@ stdenv.mkDerivation rec { libxkbcommon libselinux libsepol + libuuid util-linux wxGTK' wxGTK'.gtk @@ -163,20 +157,49 @@ stdenv.mkDerivation rec { Cocoa CoreAudioKit AudioUnit AudioToolbox CoreAudio CoreServices Carbon # for portaudio + libpng + libjpeg ]; cmakeFlags = [ - "-Daudacity_use_ffmpeg=linked" + "-DAUDACITY_REV_LONG=nixpkgs" + "-DAUDACITY_REV_TIME=nixpkgs" "-DDISABLE_DYNAMIC_LOADING_FFMPEG=ON" + "-Daudacity_conan_enabled=Off" + "-Daudacity_use_ffmpeg=loaded" ]; doCheck = false; # Test fails + # Replace audacity's wrapper, to: + # - put it in the right place, it shouldn't be in "$out/audacity" + # - Add the ffmpeg dynamic dependency + postInstall = lib.optionalString stdenv.isLinux '' + rm "$out/audacity" + wrapProgram "$out/bin/audacity" \ + --prefix LD_LIBRARY_PATH : "$out/lib/audacity":${lib.makeLibraryPath [ ffmpeg_4 ]} \ + --suffix AUDACITY_MODULES_PATH : "$out/lib/audacity/modules" \ + --suffix AUDACITY_PATH : "$out/share/audacity" + ''; + meta = with lib; { description = "Sound editor with graphical UI"; - homepage = "https://www.audacityteam.org/"; - license = licenses.gpl2Plus; + homepage = "https://www.audacityteam.org"; + changelog = "https://github.com/audacity/audacity/releases"; + license = with licenses; [ + gpl2Plus + # Must be GPL3 when building with "technologies that require it, + # such as the VST3 audio plugin interface". + # https://github.com/audacity/audacity/discussions/2142. + gpl3 + # Documentation. + cc-by-30 + ]; maintainers = with maintainers; [ lheckemann veprbl ]; platforms = platforms.unix; + # darwin-aarch due to qtbase broken for it. + # darwin-x86_64 due to + # https://logs.nix.ci/?attempt_id=5cbc4581-09b4-4148-82fe-0326411a56b3&key=nixos%2Fnixpkgs.152273. + broken = stdenv.isDarwin; }; } diff --git a/pkgs/applications/audio/bespokesynth/default.nix b/pkgs/applications/audio/bespokesynth/default.nix index a5ef585969e61..6c48c756ab24c 100644 --- a/pkgs/applications/audio/bespokesynth/default.nix +++ b/pkgs/applications/audio/bespokesynth/default.nix @@ -142,6 +142,7 @@ stdenv.mkDerivation rec { gpl3Plus ] ++ lib.optional enableVST2 unfree; maintainers = with maintainers; [ astro tobiasBora OPNA2608 ]; + mainProgram = "BespokeSynth"; platforms = platforms.all; }; } diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix index 6f438a106ffbb..2f177c2f8c637 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "bitwig-studio"; - version = "4.2.1"; + version = "4.2.3"; src = fetchurl { url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; - sha256 = "sha256-kkpb8tLuj4QO+TBW2yNDugS4c6dCQ9Lddv6Z8NS0uio="; + sha256 = "sha256-UCafrjrEwwHkhPum7sTOjtXzy7PNeK5/aeKg+b3CGJU="; }; nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; diff --git a/pkgs/applications/audio/blanket/default.nix b/pkgs/applications/audio/blanket/default.nix index b343953f3f849..6c648ed711591 100644 --- a/pkgs/applications/audio/blanket/default.nix +++ b/pkgs/applications/audio/blanket/default.nix @@ -9,21 +9,21 @@ , appstream-glib , python3Packages , glib -, gtk3 -, libhandy +, gtk4 +, libadwaita , gobject-introspection , gst_all_1 }: python3Packages.buildPythonApplication rec { pname = "blanket"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "rafaelmardojai"; repo = "blanket"; - rev = version; - sha256 = "00i821zqfbigxmc709322r16z75qsw4rg23yhv35gza9sl65bzkg"; + rev = "refs/tags/${version}"; + sha256 = "sha256-4gthT1x76IfXWkLaLMPtFS4TRlRGk5Enbu/k1jAHzwE="; }; nativeBuildInputs = [ @@ -37,8 +37,8 @@ python3Packages.buildPythonApplication rec { buildInputs = [ glib - gtk3 - libhandy + gtk4 + libadwaita gobject-introspection gst_all_1.gstreamer gst_all_1.gst-plugins-base diff --git a/pkgs/applications/audio/callaudiod/default.nix b/pkgs/applications/audio/callaudiod/default.nix index 74f4b2de49ea0..562a53fe59275 100644 --- a/pkgs/applications/audio/callaudiod/default.nix +++ b/pkgs/applications/audio/callaudiod/default.nix @@ -11,14 +11,14 @@ stdenv.mkDerivation rec { pname = "callaudiod"; - version = "0.1.3"; + version = "0.1.4"; src = fetchFromGitLab { domain = "gitlab.com"; owner = "mobian1"; repo = pname; rev = version; - sha256 = "sha256-WZ23jacCsZiNeMJfnYMaGdHXY9OCIBbeU9dWGDroaHE="; + sha256 = "sha256-71+9ALz55aqxXRBRwOcs9fwiQK31pJ9E72pGRmt0OkE="; }; strictDeps = true; diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix index 550100574db40..3c9e35c8726bb 100644 --- a/pkgs/applications/audio/clementine/default.nix +++ b/pkgs/applications/audio/clementine/default.nix @@ -51,24 +51,17 @@ let withCD = config.clementine.cd or true; withCloud = config.clementine.cloud or true; - # On the update after all 1.4rc, qt5.15 and protobuf 3.15 will be supported. - version = "1.4.0rc1"; + version = "unstable-2022-04-11"; src = fetchFromGitHub { owner = "clementine-player"; repo = "Clementine"; - rev = version; - sha256 = "1rqk0hrsn8f8bjk0j0vq1af0ygy6xx7qi9fw0jjw2cmj6kzckyi2"; + rev = "250024e117fbe5fae7c62b9c8e655d66412a6ed7"; + sha256 = "06fcbs3wig3mh711iypyj49qm5246f7qhvgvv8brqfrd8cqyh6qf"; }; patches = [ ./clementine-spotify-blob.patch - (fetchpatch { - # "short-term" fix for execution on wayland (1.4.0rc1-131-g2179027a6) - # for https://github.com/clementine-player/Clementine/issues/6587 - url = "https://github.com/clementine-player/Clementine/commit/2179027a6d97530c857e43be873baacd696ff332.patch"; - sha256 = "0344bfcyvjim5ph8w4km6zkg96rj5g9ybp9x14qgyw2gkdksimn6"; - }) ]; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/cmus/default.nix b/pkgs/applications/audio/cmus/default.nix index ea7ad1015be9a..3a4cae32a1fdc 100644 --- a/pkgs/applications/audio/cmus/default.nix +++ b/pkgs/applications/audio/cmus/default.nix @@ -1,5 +1,5 @@ { config, lib, stdenv, fetchFromGitHub, runCommand, ncurses, pkg-config -, libiconv, CoreAudio, AudioUnit +, libiconv, CoreAudio, AudioUnit, VideoToolbox , alsaSupport ? stdenv.isLinux, alsa-lib ? null # simple fallback for everyone else @@ -121,7 +121,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ ncurses ] ++ lib.optional stdenv.cc.isClang clangGCC - ++ lib.optionals stdenv.isDarwin [ libiconv CoreAudio AudioUnit ] + ++ lib.optionals stdenv.isDarwin [ libiconv CoreAudio AudioUnit VideoToolbox ] ++ flatten (concatMap (a: a.deps) opts); makeFlags = [ "LD=$(CC)" ]; diff --git a/pkgs/applications/audio/dragonfly-reverb/default.nix b/pkgs/applications/audio/dragonfly-reverb/default.nix index a07dca699d793..4c62e6a8b6ade 100644 --- a/pkgs/applications/audio/dragonfly-reverb/default.nix +++ b/pkgs/applications/audio/dragonfly-reverb/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "dragonfly-reverb"; - version = "3.2.5"; + version = "3.2.6"; src = fetchFromGitHub { owner = "michaelwillis"; repo = "dragonfly-reverb"; rev = version; - sha256 = "14kia9wjs0nqfx4psnr3vf4x6hihkf80gb0mjzmdnnnk4cnrdydm"; + sha256 = "sha256-hTapy/wXt1rRZVdkx2RDW8LS/DcY30p+WaAWgemGqVo="; fetchSubmodules = true; }; diff --git a/pkgs/applications/audio/faustPhysicalModeling/default.nix b/pkgs/applications/audio/faustPhysicalModeling/default.nix index f9dbd3f80f0c4..bea08b0bfc9f6 100644 --- a/pkgs/applications/audio/faustPhysicalModeling/default.nix +++ b/pkgs/applications/audio/faustPhysicalModeling/default.nix @@ -1,13 +1,13 @@ { stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "faustPhysicalModeling"; - version = "2.37.3"; + version = "2.40.0"; src = fetchFromGitHub { owner = "grame-cncm"; repo = "faust"; rev = version; - sha256 = "sha256-h6L+qRkN2chnI4821WrjD3uRFw3J0sUYVLL8w57vR1U="; + sha256 = "sha256-t3I3j5s2ACHfub+fxxaTwu+5ptEwH0JQpVdmHYOzbCA="; }; buildInputs = [ faust2jaqt faust2lv2 ]; diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index 0b1a2edc3baab..621804840bf02 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -2,21 +2,13 @@ stdenv.mkDerivation rec { pname = "flac"; - version = "1.3.3"; + version = "1.3.4"; src = fetchurl { url = "http://downloads.xiph.org/releases/flac/${pname}-${version}.tar.xz"; - sha256 = "0j0p9sf56a2fm2hkjnf7x3py5ir49jyavg4q5zdyd7bcf6yq4gi1"; + sha256 = "0dz7am8kbc97a6afml1h4yp085274prg8j7csryds8m3fmz61w4g"; }; - patches = [ - (fetchpatch { - name = "CVE-2020-0499.patch"; - url = "https://github.com/xiph/flac/commit/2e7931c27eb15e387da440a37f12437e35b22dd4.patch"; - sha256 = "160qzq9ms5addz7sx06pnyjjkqrffr54r4wd8735vy4x008z71ah"; - }) - ]; - buildInputs = [ libogg ]; #doCheck = true; # takes lots of time diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix index 7e0fcf2717ebe..03c8e8d6ce699 100644 --- a/pkgs/applications/audio/ft2-clone/default.nix +++ b/pkgs/applications/audio/ft2-clone/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "ft2-clone"; - version = "1.52"; + version = "1.54"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${version}"; - sha256 = "sha256-RyZ3PV7jaTN3DEYMT0BqKDHbb+7/IgiRaCra1xA0h1A="; + sha256 = "sha256-lNiQ0X2vvPGubb4Pde+eh0Z6ClCQgigIUM+PddaiVUg="; }; # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh) diff --git a/pkgs/applications/audio/furnace/default.nix b/pkgs/applications/audio/furnace/default.nix index 841a65e541fc1..115c5b7767d2e 100644 --- a/pkgs/applications/audio/furnace/default.nix +++ b/pkgs/applications/audio/furnace/default.nix @@ -1,7 +1,7 @@ { stdenv , lib , gitUpdater -, testVersion +, testers , furnace , fetchFromGitHub , cmake @@ -83,7 +83,7 @@ stdenv.mkDerivation rec { inherit pname version; rev-prefix = "v"; }; - tests.version = testVersion { + tests.version = testers.testVersion { package = furnace; # The command always exits with code 1 command = "(furnace --version || [ $? -eq 1 ])"; diff --git a/pkgs/applications/audio/helio-workstation/default.nix b/pkgs/applications/audio/helio-workstation/default.nix index b36d977b2bdf1..9801f2d2b2adc 100644 --- a/pkgs/applications/audio/helio-workstation/default.nix +++ b/pkgs/applications/audio/helio-workstation/default.nix @@ -5,14 +5,14 @@ stdenv.mkDerivation rec { pname = "helio-workstation"; - version = "3.8"; + version = "3.9"; src = fetchFromGitHub { owner = "helio-fm"; repo = pname; rev = version; fetchSubmodules = true; - sha256 = "sha256-uwRSOJ5WvDH4mfL9pCTCGzuSRT8SIBrI+Wsbumzejv0="; + sha256 = "sha256-AtgKgw+F5lc0Ma3zOxmk3iaZQp2KZb2FP5F8QvvYTT4="; }; buildInputs = [ diff --git a/pkgs/applications/audio/hivelytracker/default.nix b/pkgs/applications/audio/hivelytracker/default.nix index 4cf20e3c89852..8f9e3809fd2de 100644 --- a/pkgs/applications/audio/hivelytracker/default.nix +++ b/pkgs/applications/audio/hivelytracker/default.nix @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { # files passed as arguments anyway, so this works well enough until the # issue is fixed. wrapProgram $out/bin/hivelytracker \ - --run "cd $out/share/hivelytracker" + --chdir "$out/share/hivelytracker" # Also install the hvl2wav tool install -Dm755 hvl2wav/hvl2wav $out/bin/hvl2wav diff --git a/pkgs/applications/audio/hqplayer-desktop/default.nix b/pkgs/applications/audio/hqplayer-desktop/default.nix index 38b7e04060386..5cfd9c7cbe898 100644 --- a/pkgs/applications/audio/hqplayer-desktop/default.nix +++ b/pkgs/applications/audio/hqplayer-desktop/default.nix @@ -86,6 +86,7 @@ mkDerivation rec { homepage = "https://www.signalyst.com/custom.html"; description = "High-end upsampling multichannel software HD-audio player"; license = licenses.unfree; + platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ lovesegfault ]; }; } diff --git a/pkgs/applications/audio/jamesdsp/default.nix b/pkgs/applications/audio/jamesdsp/default.nix index 16683564b2c76..61f8907f99ca1 100644 --- a/pkgs/applications/audio/jamesdsp/default.nix +++ b/pkgs/applications/audio/jamesdsp/default.nix @@ -2,18 +2,31 @@ , mkDerivation , fetchFromGitHub , pipewire +, pulseaudio +, gst_all_1 , glibmm , qmake +, qtbase +, qtsvg +, wrapQtAppsHook , makeDesktopItem , pkg-config , libarchive , fetchpatch +, copyDesktopItems +, usePipewire ? true +, usePulseaudio ? false }: -mkDerivation rec{ +assert lib.asserts.assertMsg (usePipewire != usePulseaudio) "You need to enable one and only one of pulseaudio or pipewire support"; + +let + pluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]); +in + mkDerivation rec { pname = "jamesdsp"; version = "2.3"; - src = fetchFromGitHub rec{ + src = fetchFromGitHub rec { owner = "Audio4Linux"; repo = "JDSP4Linux"; fetchSubmodules = true; @@ -29,13 +42,30 @@ mkDerivation rec{ }) ]; - nativeBuildInputs = [ qmake pkg-config ]; + nativeBuildInputs = [ + qmake + pkg-config + copyDesktopItems + wrapQtAppsHook + ]; + buildInputs = [ glibmm libarchive - pipewire + qtbase + qtsvg + ] ++ lib.optional usePipewire pipewire + ++ lib.optionals usePulseaudio [ + pulseaudio + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer ]; + qtWrapperArgs = lib.optionals usePulseaudio [ "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${pluginPath}" ]; + + qmakeFlags = lib.optionals usePulseaudio [ "CONFIG+=USE_PULSEAUDIO" ]; + desktopItems = [ (makeDesktopItem { name = "jamesdsp"; @@ -54,7 +84,7 @@ mkDerivation rec{ description = "An audio effect processor for PipeWire clients"; homepage = "https://github.com/Audio4Linux/JDSP4Linux"; license = licenses.gpl3Only; - maintainers = with maintainers;[ pasqui23 ]; + maintainers = with maintainers; [ pasqui23 rewine ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/jmusicbot/default.nix b/pkgs/applications/audio/jmusicbot/default.nix index 60df749a14268..94290ada7b353 100644 --- a/pkgs/applications/audio/jmusicbot/default.nix +++ b/pkgs/applications/audio/jmusicbot/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "JMusicBot"; - version = "0.3.6"; + version = "0.3.8"; src = fetchurl { url = "https://github.com/jagrosh/MusicBot/releases/download/${version}/JMusicBot-${version}.jar"; - sha256 = "sha256-Hc3dsOADC+jVZScY19OYDkHimntMjdw/BoB3EUS/d0k="; + sha256 = "sha256-wzmrh9moY6oo3RqOy9Zl1X70BZlvbJkQmz8BaBIFtIM="; }; dontUnpack = true; diff --git a/pkgs/applications/audio/libopenmpt/default.nix b/pkgs/applications/audio/libopenmpt/default.nix deleted file mode 100644 index b2b5ebecd7e23..0000000000000 --- a/pkgs/applications/audio/libopenmpt/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ config, lib, stdenv, fetchurl, fetchpatch, zlib, pkg-config, mpg123, libogg, libvorbis, portaudio, libsndfile, flac -, usePulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio }: - -stdenv.mkDerivation rec { - pname = "libopenmpt"; - version = "0.5.11"; - - outputs = [ "out" "lib" "dev" ]; - - src = fetchurl { - url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; - sha256 = "1c54lldr2imjzhlhq5lvwhj7d5794xm97cby9pznr5wdjjay0sa4"; - }; - - patches = [ - # Fix pending upstream inclusion for gcc-12 include headers: - # https://github.com/OpenMPT/openmpt/pull/8 - (fetchpatch { - name = "gcc-12.patch"; - url = "https://github.com/OpenMPT/openmpt/commit/6e7a43190ef2f9ba0b3efc19b9527261b69ec8f7.patch"; - sha256 = "081m1rf09bbrlg52aihaajmld5dcnwbp6y7zpyik92mm332r330h"; - }) - ]; - - enableParallelBuilding = true; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ] - ++ lib.optional usePulseAudio libpulseaudio; - - configureFlags = lib.optional (!usePulseAudio) "--without-pulseaudio"; - - doCheck = true; - - meta = with lib; { - description = "A cross-platform command-line based module file player"; - homepage = "https://lib.openmpt.org/libopenmpt/"; - license = licenses.bsd3; - maintainers = with maintainers; [ OPNA2608 ]; - platforms = platforms.unix; - }; -} diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix index 7c93760d2ca31..8b6e1c7aa4caa 100644 --- a/pkgs/applications/audio/lollypop/default.nix +++ b/pkgs/applications/audio/lollypop/default.nix @@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec { pname = "lollypop"; - version = "1.4.26"; + version = "1.4.31"; format = "other"; doCheck = false; @@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication rec { url = "https://gitlab.gnome.org/World/lollypop"; rev = "refs/tags/${version}"; fetchSubmodules = true; - sha256 = "sha256-Q/z9oET06DimMRZl03TgjEeheoVHtIkH+Z69qWZetcI="; + sha256 = "sha256-kWqTDhk7QDmN0yr6x8ER5oHkUAkP3i5yOabnNXSHSqA="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/losslessaudiochecker/default.nix b/pkgs/applications/audio/losslessaudiochecker/default.nix index 551f56a3ce145..9fecf7b9ba924 100644 --- a/pkgs/applications/audio/losslessaudiochecker/default.nix +++ b/pkgs/applications/audio/losslessaudiochecker/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation { description = "Utility to check whether audio is truly lossless or not"; homepage = "https://losslessaudiochecker.com"; license = lib.licenses.unfree; - platforms = lib.platforms.x86_64; + platforms = [ "x86_64-linux" ]; maintainers = with lib.maintainers; [ p-h ]; }; } diff --git a/pkgs/applications/audio/lyrebird/default.nix b/pkgs/applications/audio/lyrebird/default.nix index 81c792d95e2dc..055662ce743f8 100644 --- a/pkgs/applications/audio/lyrebird/default.nix +++ b/pkgs/applications/audio/lyrebird/default.nix @@ -42,7 +42,7 @@ python3Packages.buildPythonApplication rec { makeWrapperArgs = [ "--prefix 'PATH' ':' '${lib.makeBinPath [ sox pulseaudio ]}'" "--prefix 'PYTHONPATH' ':' '${placeholder "out"}/share/lyrebird'" - "--run 'cd ${placeholder "out"}/share/lyrebird'" + "--chdir '${placeholder "out"}/share/lyrebird'" ''"''${gappsWrapperArgs[@]}"'' ]; diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix index 1d26782b6ae02..4abf799d01551 100644 --- a/pkgs/applications/audio/moc/default.nix +++ b/pkgs/applications/audio/moc/default.nix @@ -1,7 +1,8 @@ { lib, stdenv, fetchurl, pkg-config , ncurses, db , popt, libtool +, libiconv, CoreServices # Sound sub-systems -, alsaSupport ? true, alsa-lib +, alsaSupport ? (!stdenv.isDarwin), alsa-lib , pulseSupport ? true, libpulseaudio, autoreconfHook , jackSupport ? true, libjack2 , ossSupport ? true @@ -64,7 +65,8 @@ in stdenv.mkDerivation rec { ++ opt wavpackSupport wavpack # Misc ++ opt curlSupport curl - ++ opt samplerateSupport libsamplerate; + ++ opt samplerateSupport libsamplerate + ++ lib.optionals stdenv.isDarwin [ libiconv CoreServices ]; configureFlags = [ # Sound sub-systems @@ -97,6 +99,6 @@ in stdenv.mkDerivation rec { homepage = "http://moc.daper.net/"; license = licenses.gpl2; maintainers = with maintainers; [ aethelz pSub jagajaga ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix index fc7ab505ac2df..f2d912a786147 100644 --- a/pkgs/applications/audio/ncspot/default.nix +++ b/pkgs/applications/audio/ncspot/default.nix @@ -7,20 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "ncspot"; - version = "0.9.5"; + version = "0.9.7"; src = fetchFromGitHub { owner = "hrkfdn"; repo = "ncspot"; rev = "v${version}"; - sha256 = "sha256-HnP0dXKkMssDAhrsA99bTCVGdov9t5+1y8fJ+BWTM80="; + sha256 = "sha256-s2rWn6EK+io/yxQiWsWuXpqLOGd0F6ehWqVqgHBGZd0="; }; - # Upstream now only supports rust 1.58+, but this version is not yet available in nixpkgs. - # See https://github.com/hrkfdn/ncspot/issues/714 - patches = [ ./rust_1_57_support.patch ]; - - cargoSha256 = "sha256-g6UMwirsSV+/NtFIfEZrz5h/OitPQcDeSawh7wq4TLI="; + cargoSha256 = "sha256-aorRy5j3VaOIibuHc6gf6HuB3g739T59vzbybehPirc="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/audio/ncspot/rust_1_57_support.patch b/pkgs/applications/audio/ncspot/rust_1_57_support.patch deleted file mode 100644 index ce4d473989c31..0000000000000 --- a/pkgs/applications/audio/ncspot/rust_1_57_support.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/ui/listview.rs b/src/ui/listview.rs -index 17fead7..e6c72b6 100644 ---- a/src/ui/listview.rs -+++ b/src/ui/listview.rs -@@ -85,7 +85,7 @@ impl<I: ListItem> ListView<I> { - - pub fn content_height_with_paginator(&self) -> usize { - let content_len = self.content.read().unwrap().len(); -- log::info!("content len: {content_len}"); -+ log::info!("content len: {}", content_len); - - // add 1 more row for paginator if we can paginate - if self.can_paginate() { -@@ -97,7 +97,7 @@ impl<I: ListItem> ListView<I> { - - fn can_paginate(&self) -> bool { - let loaded = self.get_pagination().loaded_content(); -- log::info!("can paginate: {loaded}"); -+ log::info!("can paginate: {}", loaded); - self.get_pagination().max_content().unwrap_or(0) > self.get_pagination().loaded_content() - } diff --git a/pkgs/applications/audio/ocenaudio/default.nix b/pkgs/applications/audio/ocenaudio/default.nix index 50697c6c81a9e..c927d8997ed82 100644 --- a/pkgs/applications/audio/ocenaudio/default.nix +++ b/pkgs/applications/audio/ocenaudio/default.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "ocenaudio"; - version = "3.11.7"; + version = "3.11.10"; src = fetchurl { url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}"; - sha256 = "sha256-fTeDRo7gCM1jXTQGm9MsmKu4KvTGDUogF3VSZWk91RM="; + sha256 = "sha256-Ah6Ni5EbFdIQ/wN7uGeMrSP5ybQfI4iy9gI1VT5LztU="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/odin2/default.nix b/pkgs/applications/audio/odin2/default.nix new file mode 100644 index 0000000000000..f0bd5e0156483 --- /dev/null +++ b/pkgs/applications/audio/odin2/default.nix @@ -0,0 +1,79 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, pkg-config +, alsa-lib +, freetype +, libjack2 +, lv2 +, libX11 +, libXcursor +, libXext +, libXinerama +, libXrandr +, libGL +, gcc-unwrapped +}: + +stdenv.mkDerivation rec { + pname = "odin2"; + version = "unstable-2022-02-23"; + + src = fetchFromGitHub { + owner = "baconpaul"; + repo = "odin2"; + rev = "ed02d06cfb5db8a118d291c00bd2e4cd6e262cde"; + fetchSubmodules = true; + sha256 = "sha256-VkZ+mqCmqWQafdN0nQxJdPxbiaZ37/0jOhLvVbnGLvQ="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + alsa-lib + freetype + libjack2 + lv2 + libX11 + libXcursor + libXext + libXinerama + libXrandr + libGL + ]; + + # JUCE dlopen's these at runtime, crashes without them + NIX_LDFLAGS = (toString [ + "-lX11" + "-lXext" + "-lXcursor" + "-lXinerama" + "-lXrandr" + ]); + + cmakeFlags = [ + "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" + "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" + "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm" + ]; + + installPhase = '' + mkdir -p $out/bin $out/lib/vst3 + cd Odin2_artefacts/Release + cp -r VST3/Odin2.vst3 $out/lib/vst3 + cp -r Standalone/Odin2 $out/bin +''; + + + meta = with lib; { + description = "Odin 2 Synthesizer Plugin"; + homepage = "https://thewavewarden.com/odin2"; + license = licenses.gpl3; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ magnetophon ]; + }; +} diff --git a/pkgs/applications/audio/osdlyrics/default.nix b/pkgs/applications/audio/osdlyrics/default.nix new file mode 100644 index 0000000000000..0c14b8be2b6b8 --- /dev/null +++ b/pkgs/applications/audio/osdlyrics/default.nix @@ -0,0 +1,87 @@ +{ lib +, stdenv +, fetchFromGitHub + +, autoreconfHook +, pkg-config +, intltool + +, glib +, gtk2 +, dbus-glib +, libappindicator-gtk2 +, libnotify +, python3 +, runtimeShell +}: + +stdenv.mkDerivation rec { + pname = "osdlyrics"; + version = "0.5.10"; + + src = fetchFromGitHub { + owner = "osdlyrics"; + repo = "osdlyrics"; + rev = version; + sha256 = "sha256-x9gIT1JkfPIc4RmmQJLv9rOG2WqAftoTK5uiRlS65zU="; + }; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + intltool + ]; + + buildInputs = [ + glib + gtk2 + dbus-glib + libappindicator-gtk2 + libnotify + python3.pkgs.wrapPython + (python3.withPackages (pp: with pp; [ + chardet + dbus-python + future + pycurl + pygobject3 + ])) + ]; + + postFixup = '' + extractExecLine() { + serviceFile=$1 + program=$2 + + execLine=$(grep --only-matching --perl-regexp 'Exec=\K(.+)' "$serviceFile") + echo "#!${runtimeShell}" > "$program" + echo "exec $execLine" >> "$program" + chmod +x "$program" + + substituteInPlace "$serviceFile" \ + --replace "Exec=$execLine" "Exec=$program" + } + + # Extract the exec line into a separate program so that it can be wrapped. + mkdir -p "$out/libexec/osdlyrics/" + for svcFile in "$out/share/dbus-1/services"/*; do + svc=$(basename "$svcFile" ".service") + if grep "python" "$svcFile"; then + extractExecLine "$svcFile" "$out/libexec/osdlyrics/$svc" + fi + done + + for p in "$out/bin/osdlyrics-create-lyricsource" "$out/bin/osdlyrics-daemon" "$out/libexec/osdlyrics"/*; do + wrapProgram "$p" \ + --prefix PYTHONPATH : "$out/${python3.sitePackages}" + done + ''; + + meta = with lib; { + description = "Standalone lyrics fetcher/displayer"; + homepage = "https://github.com/osdlyrics/osdlyrics"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/parlatype/default.nix b/pkgs/applications/audio/parlatype/default.nix deleted file mode 100644 index c1bb1102bf1b6..0000000000000 --- a/pkgs/applications/audio/parlatype/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, meson, gtk3, at-spi2-core, dbus, gst_all_1, sphinxbase, pocketsphinx, ninja, gettext, appstream-glib, python3, glib, gobject-introspection, gsettings-desktop-schemas, itstool, wrapGAppsHook, hicolor-icon-theme }: - -stdenv.mkDerivation rec { - pname = "parlatype"; - version = "2.1"; - - src = fetchFromGitHub { - owner = "gkarsay"; - repo = pname; - rev = "v${version}"; - sha256 = "1k53q0kbwpnbgyr0lmfzf5sm4f93d8nbjrzdz9pdhzpxgihndg25"; - }; - - nativeBuildInputs = [ - pkg-config - meson - ninja - gettext - appstream-glib - python3 - gobject-introspection - itstool - wrapGAppsHook - ]; - - buildInputs = [ - gtk3 - at-spi2-core - dbus - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-ugly - gst_all_1.gst-libav - sphinxbase - pocketsphinx - glib - gsettings-desktop-schemas - hicolor-icon-theme - ]; - - postPatch = '' - chmod +x data/meson_post_install.py - patchShebangs data/meson_post_install.py - ''; - - doCheck = false; - - buildPhase = '' - export GST_PLUGIN_SYSTEM_PATH_1_0="$out/lib/gstreamer-1.0/:$GST_PLUGIN_SYSTEM_PATH_1_0" - ''; - - meta = with lib; { - description = "GNOME audio player for transcription"; - longDescription = '' - Parlatype is a minimal audio player for manual speech transcription, written for the GNOME desktop environment. - It plays audio sources to transcribe them in your favourite text application. - It’s intended to be useful for journalists, students, scientists and whoever needs to transcribe audio files. - ''; - homepage = "https://gkarsay.github.io/parlatype/"; - license = licenses.gpl3Plus; - maintainers = [ maintainers.melchips ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix index c5ef0352503fc..9949fce8b09c7 100644 --- a/pkgs/applications/audio/pianobar/default.nix +++ b/pkgs/applications/audio/pianobar/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "pianobar"; - version = "2020.11.28"; + version = "2022.04.01"; src = fetchurl { url = "https://6xq.net/projects/pianobar/${pname}-${version}.tar.bz2"; - sha256 = "1znlwybfpxsjqr1jmr8j0ci8wzmpzmk2yxb0qcx9w9a8nnbgnfv5"; + sha256 = "sha256-FnCyiGWouCpXu23+p/FuL6QUXS81SRC7FzgLMsm5R2M="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/audio/pipecontrol/default.nix b/pkgs/applications/audio/pipecontrol/default.nix new file mode 100644 index 0000000000000..4acba5d75ee0f --- /dev/null +++ b/pkgs/applications/audio/pipecontrol/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchFromGitHub +, pipewire +, cmake +, extra-cmake-modules +, gnumake +, wrapQtAppsHook +, qtbase +, qttools +, kirigami2 +, kcoreaddons +, ki18n +, qtquickcontrols2 +}: + +stdenv.mkDerivation rec { + pname = "pipecontrol"; + version = "0.2.2"; + + src = fetchFromGitHub { + owner = "portaloffreedom"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-BeubRDx82MQX1gB7GnGJlQ2FyYX1S83C3gqPZgIjgoM="; + }; + + nativeBuildInputs = [ + cmake + extra-cmake-modules + wrapQtAppsHook + qttools + ]; + + buildInputs = [ + pipewire + qtbase + kirigami2 + kcoreaddons + ki18n + qtquickcontrols2 + ]; + + meta = with lib; { + description = "Pipewire control GUI program in Qt (Kirigami2)"; + homepage = "https://github.com/portaloffreedom/pipecontrol"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ tilcreator ]; + }; +} diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix index d86223dcdcb1f..fa76b50f8ae62 100644 --- a/pkgs/applications/audio/plexamp/default.nix +++ b/pkgs/applications/audio/plexamp/default.nix @@ -2,12 +2,12 @@ let pname = "plexamp"; - version = "4.1.0"; + version = "4.2.0"; src = fetchurl { url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage"; name="${pname}-${version}.AppImage"; - sha512 = "N+WkH6n7MWfRd2rsk/2b/rABL6pcjpKa1iBZSHslIOEc5fYWjGAxjwwTU0RgSaqptS1DyPeCUeWuphWPZJsQgw=="; + sha512 = "yIdZoKTJJEpUzEqvixQ7JJBxzrtCRov31dGBDOjMiK/oA2q00Xo6XVDvAhYuIn6ocZqK+I5jHfmf4qYaRePDvg=="; }; appimageContents = appimageTools.extractType2 { @@ -33,7 +33,7 @@ in appimageTools.wrapType2 { meta = with lib; { description = "A beautiful Plex music player for audiophiles, curators, and hipsters"; homepage = "https://plexamp.com/"; - changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/42"; + changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/43"; license = licenses.unfree; maintainers = with maintainers; [ killercup synthetica ]; platforms = [ "x86_64-linux" ]; diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix index 2577f61e8d518..8b586c455e3bf 100644 --- a/pkgs/applications/audio/pt2-clone/default.nix +++ b/pkgs/applications/audio/pt2-clone/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "pt2-clone"; - version = "1.43"; + version = "1.46"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "pt2-clone"; rev = "v${version}"; - sha256 = "sha256-+sHGjgDqizv/9n0dDj8knsl+4MBfO3/pMkmD+MPsuNM="; + sha256 = "sha256-xRq37hjuMiGxsWRnZ/ryXYLvQpjbfQEjQkMjjuqL7r8="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/audio/puddletag/default.nix b/pkgs/applications/audio/puddletag/default.nix index 701e6fffbbb89..936fb2f54ecae 100644 --- a/pkgs/applications/audio/puddletag/default.nix +++ b/pkgs/applications/audio/puddletag/default.nix @@ -17,6 +17,7 @@ let # NOTE: check if we can drop any of these overrides when bumping the version overrideVersions = [ + "lxml" "pyparsing" "pyqt5" ]; diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix deleted file mode 100644 index 331bce3e8be31..0000000000000 --- a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ stdenv -, runCommand -, fetchFromGitHub -, pulseaudio -, pkg-config -, ffmpeg -, patchelf -, fdk_aac -, libtool -, ldacbt -, cmake -, bluez -, dbus -, sbc -, lib -}: - -let - pulseSources = runCommand "pulseaudio-sources" {} '' - mkdir $out - if [ -d ${pulseaudio.src} ]; then - ln -s ${pulseaudio.src}/* $out/ - else - tar -xf ${pulseaudio.src} - mv pulseaudio*/* $out/ - fi - ''; - -in stdenv.mkDerivation rec { - pname = "pulseaudio-modules-bt"; - version = "1.4"; - - src = fetchFromGitHub { - owner = "EHfive"; - repo = "pulseaudio-modules-bt"; - rev = "v${version}"; - sha256 = "0bzg6x405j39axnkvc6n6vkl1hv1frk94y1i9sl170081bk23asd"; - }; - - patches = [ - ./fix-install-path.patch - ]; - - nativeBuildInputs = [ - pkg-config - patchelf - cmake - ]; - - buildInputs = [ - pulseaudio - ffmpeg - fdk_aac - libtool - ldacbt - bluez - dbus - sbc - ]; - - postPatch = '' - # Upstream bundles pulseaudio as a submodule - rm -r pa - ln -s ${pulseSources} pa - - # Pulseaudio version is detected with a -rebootstrapped suffix which build system assumptions - substituteInPlace config.h.in --replace PulseAudio_VERSION ${pulseaudio.version} - substituteInPlace CMakeLists.txt --replace '${"\${PULSE_DIR}"}' ${pulseaudio.pulseDir} - - # Fraunhofer recommends to enable afterburner but upstream has it set to false by default - substituteInPlace src/modules/bluetooth/a2dp/a2dp_aac.c \ - --replace "info->aac_afterburner = false;" "info->aac_afterburner = true;" - ''; - - postFixup = '' - for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do - orig_rpath=$(patchelf --print-rpath "$so") - patchelf \ - --set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg}/lib:$out/${pulseaudio.pulseDir}/modules:$orig_rpath" \ - "$so" - done - ''; - - meta = with lib; { - homepage = "https://github.com/EHfive/pulseaudio-modules-bt"; - description = "LDAC, aptX, aptX HD, AAC codecs (A2DP Audio) support for Linux PulseAudio"; - platforms = platforms.linux; - license = licenses.mit; - maintainers = with maintainers; [ adisbladis ]; - }; -} diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch deleted file mode 100644 index 7cdb7de4dd13e..0000000000000 --- a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8d20dbf..63fe7ba 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -213,5 +213,4 @@ INSTALL(TARGETS - module-bluez5-device - module-bluetooth-discover - module-bluetooth-policy -- LIBRARY DESTINATION ${PulseAudio_modlibexecdir}) -- -+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/${PULSE_DIR}/modules/) diff --git a/pkgs/applications/audio/qpwgraph/default.nix b/pkgs/applications/audio/qpwgraph/default.nix index 860eca652e7a5..e415798b46049 100644 --- a/pkgs/applications/audio/qpwgraph/default.nix +++ b/pkgs/applications/audio/qpwgraph/default.nix @@ -5,14 +5,14 @@ mkDerivation rec { pname = "qpwgraph"; - version = "0.2.2"; + version = "0.2.5"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "rncbc"; repo = "qpwgraph"; rev = "v${version}"; - sha256 = "sha256-BBvF1L3IqkYqSghHxcbwOBizdu6GtxaWof3Q/bc+aTY="; + sha256 = "sha256-OYIBlTO1vXmmY4/ZacvsEQ5EnOfetBvnG2v5xL44czY="; }; nativeBuildInputs = [ cmake pkg-config ]; @@ -29,6 +29,6 @@ mkDerivation rec { homepage = "https://gitlab.freedesktop.org/rncbc/qpwgraph"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ kanashimia ]; + maintainers = with maintainers; [ kanashimia exi ]; }; } diff --git a/pkgs/applications/audio/sfizz/default.nix b/pkgs/applications/audio/sfizz/default.nix index 54acc782c6037..aaa79bd3e3922 100644 --- a/pkgs/applications/audio/sfizz/default.nix +++ b/pkgs/applications/audio/sfizz/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, fetchFromGitHub, libjack2, libsndfile, xorg, freetype , libxkbcommon, cairo, glib, gnome, flac, libogg, libvorbis, libopus, cmake -, pango, pkg-config }: +, pango, pkg-config, catch2 +}: stdenv.mkDerivation rec { pname = "sfizz"; @@ -40,6 +41,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; postPatch = '' + cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp + substituteInPlace plugins/editor/external/vstgui4/vstgui/lib/platform/linux/x11fileselector.cpp \ --replace 'zenitypath = "zenity"' 'zenitypath = "${gnome.zenity}/bin/zenity"' substituteInPlace plugins/editor/src/editor/NativeHelpers.cpp \ @@ -48,6 +51,8 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DSFIZZ_TESTS=ON" ]; + doCheck = true; + meta = with lib; { homepage = "https://github.com/sfztools/sfizz"; description = "SFZ jack client and LV2 plugin"; diff --git a/pkgs/applications/audio/sfxr-qt/default.nix b/pkgs/applications/audio/sfxr-qt/default.nix index 0ffd754c04766..2b264cfd56b99 100644 --- a/pkgs/applications/audio/sfxr-qt/default.nix +++ b/pkgs/applications/audio/sfxr-qt/default.nix @@ -8,6 +8,7 @@ , qtquickcontrols2 , SDL , python3 +, catch2 , callPackage , nixosTests }: @@ -24,6 +25,10 @@ mkDerivation rec { fetchSubmodules = true; }; + postPatch = '' + cp ${catch2}/include/catch2/catch.hpp 3rdparty/catch2/single_include/catch2/catch.hpp + ''; + # Remove on next release patches = [(fetchpatch { name = "sfxr-qr-missing-qpainterpath-include"; @@ -43,6 +48,8 @@ mkDerivation rec { SDL ]; + doCheck = true; + passthru.tests = { export-square-wave = callPackage ./test-export-square-wave {}; sfxr-qt-starts = nixosTests.sfxr-qt; diff --git a/pkgs/applications/audio/shortwave/default.nix b/pkgs/applications/audio/shortwave/default.nix index 49492d05d15f1..4642565e678ea 100644 --- a/pkgs/applications/audio/shortwave/default.nix +++ b/pkgs/applications/audio/shortwave/default.nix @@ -14,28 +14,29 @@ , ninja , openssl , pkg-config -, python3 , rustPlatform , sqlite -, wrapGAppsHook +, wrapGAppsHook4 +, cmake +, libshumate }: stdenv.mkDerivation rec { pname = "shortwave"; - version = "2.0.1"; + version = "3.0.0"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "World"; repo = "Shortwave"; rev = version; - sha256 = "sha256-25qPb7qlqCwYJzl4qZxAZYx5asxSlXBlc/0dGyBdk1o="; + sha256 = "sha256-qwk63o9pfqpAm6l9ioj3RccacemQU8R6LF6El4yHkjQ"; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-00dQXcSNmdZb2nSLG3q7jm4sugF9XR4LbH0OmcuHVxA="; + hash = "sha256-YrB322nv9CgZqt5//VMvVwjWA51ePlX2PI6raRJGBxA="; }; nativeBuildInputs = [ @@ -46,11 +47,11 @@ stdenv.mkDerivation rec { meson ninja pkg-config - python3 rustPlatform.rust.cargo rustPlatform.cargoSetupHook rustPlatform.rust.rustc - wrapGAppsHook + wrapGAppsHook4 + cmake ]; buildInputs = [ @@ -61,6 +62,7 @@ stdenv.mkDerivation rec { libadwaita openssl sqlite + libshumate ] ++ (with gst_all_1; [ gstreamer gst-plugins-base @@ -68,10 +70,6 @@ stdenv.mkDerivation rec { gst-plugins-bad ]); - postPatch = '' - patchShebangs build-aux/meson/postinstall.py - ''; - meta = with lib; { homepage = "https://gitlab.gnome.org/World/Shortwave"; description = "Find and listen to internet radio stations"; @@ -80,7 +78,6 @@ stdenv.mkDerivation rec { desktop. It is the successor to the older Gradio application. ''; maintainers = with maintainers; [ lasandell ]; - broken = true; # incompatible with latest libadwaita license = licenses.gpl3Plus; platforms = platforms.linux; }; diff --git a/pkgs/applications/audio/sonixd/default.nix b/pkgs/applications/audio/sonixd/default.nix new file mode 100644 index 0000000000000..961fa2c8c1cd1 --- /dev/null +++ b/pkgs/applications/audio/sonixd/default.nix @@ -0,0 +1,27 @@ +{ lib +, fetchurl +, appimageTools +}: + +appimageTools.wrapType2 rec { + pname = "sonixd"; + version = "0.15.1"; + + src = fetchurl { + url = "https://github.com/jeffvli/sonixd/releases/download/v${version}/Sonixd-${version}-linux-x86_64.AppImage"; + sha256 = "sha256-23WU1nwvrzyw0J+Pplm3JbsScjJxu+RhmwVoe/PjozY="; + }; + + extraInstallCommands = '' + mv $out/bin/sonixd-${version} $out/bin/sonixd + ''; + + meta = with lib; { + description = "Full-featured Subsonic/Jellyfin compatible desktop music player"; + homepage = "https://github.com/jeffvli/sonixd"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ onny ]; + platforms = [ "x86_64-linux" ]; + }; +} + diff --git a/pkgs/applications/audio/soundwireserver/default.nix b/pkgs/applications/audio/soundwireserver/default.nix index 17660599b6890..db8d28989b27a 100755 --- a/pkgs/applications/audio/soundwireserver/default.nix +++ b/pkgs/applications/audio/soundwireserver/default.nix @@ -34,6 +34,7 @@ qt5.mkDerivation { description = "Turn your Android device into wireless headphones / wireless speaker"; homepage = "https://georgielabs.net/"; maintainers = with maintainers; [ mkg20001 ]; + platforms = [ "x86_64-linux" ]; license = licenses.unfree; }; } diff --git a/pkgs/applications/audio/spot/default.nix b/pkgs/applications/audio/spot/default.nix index 3fe3b0d06d31d..7dab868b941a4 100644 --- a/pkgs/applications/audio/spot/default.nix +++ b/pkgs/applications/audio/spot/default.nix @@ -21,19 +21,19 @@ stdenv.mkDerivation rec { pname = "spot"; - version = "0.3.1"; + version = "0.3.3"; src = fetchFromGitHub { owner = "xou816"; repo = "spot"; rev = version; - hash = "sha256-uZzylK9imEazwC/ogsDO8ZBvByE5/SNSV+mIlp7Z9Ww="; + hash = "sha256-0iuLZq9FSxaOchxx6LzGwpY8qnOq2APl/qkBYzEV2uw="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-v5xdlsI6OlEpCYOTFePTyI8BkIrAwT6FR2JwiRTGgOA="; + hash = "sha256-g46BkrTv6tdrGe/p245O4cBoPjbvyRP7U6hH1Hp4ja0="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/spotify-tui/default.nix b/pkgs/applications/audio/spotify-tui/default.nix index 7395ca85d9f6d..055034df4ce2e 100644 --- a/pkgs/applications/audio/spotify-tui/default.nix +++ b/pkgs/applications/audio/spotify-tui/default.nix @@ -31,5 +31,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/Rigellute/spotify-tui/blob/v${version}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ jwijenbergh ]; + mainProgram = "spt"; }; } diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix index ee77144104c2e..1ea01353f80ab 100644 --- a/pkgs/applications/audio/strawberry/default.nix +++ b/pkgs/applications/audio/strawberry/default.nix @@ -72,6 +72,7 @@ mkDerivation rec { ] ++ lib.optionals withGstreamer (with gst_all_1; [ glib-networking gstreamer + gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix index a7a8f054172cd..f06907ad32f2c 100644 --- a/pkgs/applications/audio/whipper/default.nix +++ b/pkgs/applications/audio/whipper/default.nix @@ -8,6 +8,8 @@ , flac , sox , util-linux +, testers +, whipper }: let @@ -45,6 +47,7 @@ in python3.pkgs.buildPythonApplication rec { ruamel-yaml discid pillow + setuptools ]; buildInputs = [ libsndfile ]; @@ -71,6 +74,11 @@ in python3.pkgs.buildPythonApplication rec { runHook postCheck ''; + passthru.tests.version = testers.testVersion { + package = whipper; + command = "HOME=$TMPDIR whipper --version"; + }; + meta = with lib; { homepage = "https://github.com/whipper-team/whipper"; description = "A CD ripper aiming for accuracy over speed"; diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix index 0a6ad4bdc4cde..4e2bb5600d3bc 100644 --- a/pkgs/applications/audio/x42-plugins/default.nix +++ b/pkgs/applications/audio/x42-plugins/default.nix @@ -3,12 +3,12 @@ , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }: stdenv.mkDerivation rec { - version = "20220107"; + version = "20220327"; pname = "x42-plugins"; src = fetchurl { url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz"; - sha256 = "sha256-+lzgkRQHe6moid3h6az/iqt2XL5vbyM0BjSTwMBvd3I="; + sha256 = "sha256-IhuPqTlCbCxExT5B9Au42RQQl4sDEvz6+HhsuT02KVs="; }; nativeBuildInputs = [ pkg-config ]; |