diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-01-03 23:55:00 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-02-19 11:03:39 +0000 |
commit | f4cf97a04cd5d0b86aa46baec9fb228a8f671c03 (patch) | |
tree | 28192415ff39a661d0001563bf81cc93fa25d16d /nixpkgs/pkgs/applications/audio | |
parent | f8422837c9bde058e8f2de37702e7e94b2226040 (diff) | |
parent | 18c84ea816348e2a098390101b92d1e39a9dbd45 (diff) | |
download | nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.gz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.bz2 nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.lz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.xz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.zst nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.zip |
Merge commit '18c84ea816348e2a098390101b92d1e39a9dbd45'
Conflicts: nixpkgs/nixos/modules/misc/documentation.nix nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/go-modules/generic/default.nix nixpkgs/pkgs/development/interpreters/ruby/default.nix nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix nixpkgs/pkgs/servers/mail/mailman/web.nix nixpkgs/pkgs/top-level/aliases.nix nixpkgs/pkgs/top-level/all-packages.nix nixpkgs/pkgs/top-level/impure.nix
Diffstat (limited to 'nixpkgs/pkgs/applications/audio')
133 files changed, 4625 insertions, 766 deletions
diff --git a/nixpkgs/pkgs/applications/audio/CHOWTapeModel/default.nix b/nixpkgs/pkgs/applications/audio/CHOWTapeModel/default.nix index 9b9649cf9f8a..3eff818cca90 100644 --- a/nixpkgs/pkgs/applications/audio/CHOWTapeModel/default.nix +++ b/nixpkgs/pkgs/applications/audio/CHOWTapeModel/default.nix @@ -1,68 +1,76 @@ -{ alsa-lib -, curl -, fetchFromGitHub -, freeglut -, freetype -, libGL -, libXcursor -, libXext -, libXinerama -, libXrandr -, libjack2 -, pkg-config -, python3 -, stdenv -, lib -}: +{ 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, lv2, pcre, pkg-config +, python3, sqlite, stdenv }: stdenv.mkDerivation rec { pname = "CHOWTapeModel"; - version = "unstable-2020-12-12"; + version = "2.10.0"; src = fetchFromGitHub { owner = "jatinchowdhury18"; repo = "AnalogTapeModel"; - rev = "a7cf10c3f790d306ce5743bb731e4bc2c1230d70"; - sha256 = "09nq8x2dwabncbp039dqm1brzcz55zg9kpxd4p5348xlaz5m4661"; + rev = "v${version}"; + sha256 = "sha256-iuT7OBRBtMkjcTHayCcne1mNqkcxzKnEYl62n65V7Z4="; fetchSubmodules = true; }; - nativeBuildInputs = [ - pkg-config - ]; + 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 + lv2 + pcre python3 + sqlite + gcc-unwrapped ]; - buildPhase = '' - cd Plugin/ - ./build_linux.sh - ''; + cmakeFlags = [ + "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" + "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" + "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm" + ]; + + postPatch = "cd Plugin"; installPhase = '' mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin $out/share/doc/CHOWTapeModel/ - cd Builds/LinuxMakefile/build/ - cp CHOWTapeModel.a $out/lib - cp -r CHOWTapeModel.lv2 $out/lib/lv2 - cp -r CHOWTapeModel.vst3 $out/lib/vst3 - cp CHOWTapeModel $out/bin + cd CHOWTapeModel_artefacts/Release + cp libCHOWTapeModel_SharedCode.a $out/lib + cp -r LV2/CHOWTapeModel.lv2 $out/lib/lv2 + cp -r VST3/CHOWTapeModel.vst3 $out/lib/vst3 + cp Standalone/CHOWTapeModel $out/bin cp ../../../../Manual/ChowTapeManual.pdf $out/share/doc/CHOWTapeModel/ ''; meta = with lib; { homepage = "https://github.com/jatinchowdhury18/AnalogTapeModel"; - description = "Physical modelling signal processing for analog tape recording. LV2, VST3 and standalone"; + description = + "Physical modelling signal processing for analog tape recording. LV2, VST3 and standalone"; license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ magnetophon ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/applications/audio/ChowKick/default.nix b/nixpkgs/pkgs/applications/audio/ChowKick/default.nix new file mode 100644 index 000000000000..b3ad00bf63a8 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/ChowKick/default.nix @@ -0,0 +1,106 @@ +{ alsa-lib +, at-spi2-core +, brotli +, cmake +, curl +, dbus +, libepoxy +, fetchFromGitHub +, freeglut +, freetype +, gtk2-x11 +, lib +, libGL +, libXcursor +, libXdmcp +, libXext +, libXinerama +, libXrandr +, libXtst +, libdatrie +, libjack2 +, libpsl +, libselinux +, libsepol +, libsysprof-capture +, libthai +, libxkbcommon +, lv2 +, pcre +, pkg-config +, python3 +, sqlite +, stdenv +, util-linuxMinimal +, webkitgtk +}: + +stdenv.mkDerivation rec { + pname = "ChowKick"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "Chowdhury-DSP"; + repo = pname; + rev = "v${version}"; + sha256 = "0amnp0p7ckbbr9dcbdnld1ryv46kvza2dj8m6hzmi7c1s4df8x5q"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + pkg-config + cmake + ]; + buildInputs = [ + alsa-lib + at-spi2-core + brotli + curl + dbus + libepoxy + freeglut + freetype + gtk2-x11 + libGL + libXcursor + libXdmcp + libXext + libXinerama + libXrandr + libXtst + libdatrie + libjack2 + libpsl + libselinux + libsepol + libsysprof-capture + libthai + libxkbcommon + lv2 + pcre + python3 + sqlite + util-linuxMinimal + webkitgtk + ]; + + cmakeFlags = [ + "-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar" + "-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib" + ]; + + installPhase = '' + mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin + cp -r ChowKick_artefacts/Release/LV2//${pname}.lv2 $out/lib/lv2 + cp -r ChowKick_artefacts/Release/VST3/${pname}.vst3 $out/lib/vst3 + cp ChowKick_artefacts/Release/Standalone/${pname} $out/bin + ''; + + meta = with lib; { + homepage = "https://github.com/Chowdhury-DSP/ChowKick"; + description = "Kick synthesizer based on old-school drum machine circuits"; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ magnetophon ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/aether-lv2/default.nix b/nixpkgs/pkgs/applications/audio/aether-lv2/default.nix new file mode 100644 index 000000000000..e912c7fa49a4 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/aether-lv2/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, lv2, libX11, libGL, libGLU, mesa, cmake }: + +stdenv.mkDerivation rec { + pname = "aether-lv2"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "Dougal-s"; + repo = "aether"; + rev = "v${version}"; + sha256 = "0xhih4smjxn87s0f4gaab51d8594qlp0lyypzxl5lm37j1i9zigs"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + lv2 libX11 libGL libGLU mesa + ]; + + installPhase = '' + mkdir -p $out/lib/lv2 + cp -r aether.lv2 $out/lib/lv2 + ''; + + meta = with lib; { + homepage = "https://dougal-s.github.io/Aether/"; + description = "An algorithmic reverb LV2 based on Cloudseed"; + maintainers = [ maintainers.magnetophon ]; + platforms = platforms.linux; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/ardour/default.nix b/nixpkgs/pkgs/applications/audio/ardour/default.nix index 2bd6cf03cc08..d5afcac86cd4 100644 --- a/nixpkgs/pkgs/applications/audio/ardour/default.nix +++ b/nixpkgs/pkgs/applications/audio/ardour/default.nix @@ -52,7 +52,7 @@ , vamp-plugin-sdk , wafHook , xjadeo -, videoSupport ? false +, videoSupport ? true }: stdenv.mkDerivation rec { pname = "ardour"; diff --git a/nixpkgs/pkgs/applications/audio/ashuffle/default.nix b/nixpkgs/pkgs/applications/audio/ashuffle/default.nix index e445132ee3c0..90a2abe8adfb 100644 --- a/nixpkgs/pkgs/applications/audio/ashuffle/default.nix +++ b/nixpkgs/pkgs/applications/audio/ashuffle/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "ashuffle"; - version = "3.10.1"; + version = "3.12.5"; src = fetchFromGitHub { owner = "joshkunz"; repo = "ashuffle"; rev = "v${version}"; - sha256 = "103jhajqwryiaf52qqgshajcnsxsz4l8gn3sz6bxs7k0yq5x1knr"; + sha256 = "sha256-dPgv6EzRxRdHkGvys601Bkg9Srd8oEjoE9jbAin74Vk="; fetchSubmodules = true; }; diff --git a/nixpkgs/pkgs/applications/audio/audacious/default.nix b/nixpkgs/pkgs/applications/audio/audacious/default.nix index a6c8221c9f72..7cd22d258315 100644 --- a/nixpkgs/pkgs/applications/audio/audacious/default.nix +++ b/nixpkgs/pkgs/applications/audio/audacious/default.nix @@ -11,15 +11,15 @@ mkDerivation rec { pname = "audacious"; - version = "4.0.5"; + version = "4.1"; src = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2"; - sha256 = "028zjgz0p7ys15lk2a30m5zcv9xrx3ga50wjsh4m4zxilgkakbji"; + sha256 = "0p734psjjvjcmla2hg5h6a9v1prvy63jj9xm2g2ngs49jy7qan0z"; }; pluginsSrc = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2"; - sha256 = "0ny5w1agr9jaz5w3wyyxf1ygmzmd1sivaf97lcm4z4w6529520lz"; + sha256 = "0k0xnqmxi5lna034i2cnzvfzrykxmv4fbs1nkrc9sd2ma1igrmns"; }; nativeBuildInputs = [ gettext pkg-config ]; @@ -36,8 +36,10 @@ mkDerivation rec { libopenmpt ]; + configureFlags = [ "--disable-gtk" ]; + # Here we build both audacious and audacious-plugins in one - # derivations, since they really expect to be in the same prefix. + # derivation, since they really expect to be in the same prefix. # This is slighly tricky. builder = builtins.toFile "builder.sh" '' # First build audacious. diff --git a/nixpkgs/pkgs/applications/audio/audacity/0001-Use-a-different-approach-to-estimate-the-disk-space-.patch b/nixpkgs/pkgs/applications/audio/audacity/0001-Use-a-different-approach-to-estimate-the-disk-space-.patch new file mode 100644 index 000000000000..33b7554db448 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/audacity/0001-Use-a-different-approach-to-estimate-the-disk-space-.patch @@ -0,0 +1,355 @@ +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/nixpkgs/pkgs/applications/audio/audacity/default.nix b/nixpkgs/pkgs/applications/audio/audacity/default.nix index 566024881b4a..0e4afa4af7cf 100644 --- a/nixpkgs/pkgs/applications/audio/audacity/default.nix +++ b/nixpkgs/pkgs/applications/audio/audacity/default.nix @@ -3,7 +3,6 @@ , fetchFromGitHub , fetchpatch , cmake -, wxGTK , pkg-config , python3 , gettext @@ -18,7 +17,6 @@ , sqlite , sratom , suil -, alsa-lib , libsndfile , soxr , flac @@ -28,11 +26,13 @@ , libopus , ffmpeg , soundtouch -, pcre /*, portaudio - given up fighting their portaudio.patch */ +, pcre +/*, portaudio - given up fighting their portaudio.patch */ , linuxHeaders +, alsa-lib , at-spi2-core , dbus -, epoxy +, libepoxy , libXdmcp , libXtst , libpthreadstubs @@ -40,6 +40,16 @@ , libsepol , libxkbcommon , util-linux +, wxGTK +, AppKit ? null +, AudioToolbox ? null +, AudioUnit ? null +, Carbon ? null +, Cocoa ? null +, CoreAudio ? null +, CoreAudioKit ? null +, CoreServices ? null +, wxmac }: # TODO @@ -49,14 +59,20 @@ let inherit (lib) optionals; + wxWidgets_src = fetchFromGitHub { + owner = "audacity"; + repo = "wxWidgets"; + rev = "07e7d832c7a337aedba3537b90b2c98c4d8e2985"; + sha256 = "1mawnkcrmqj98jp0jxlnh9xkc950ca033ccb51c7035pzmi9if9a"; + fetchSubmodules = true; + }; + wxGTK' = wxGTK.overrideAttrs (oldAttrs: rec { - src = fetchFromGitHub { - owner = "audacity"; - repo = "wxWidgets"; - rev = "07e7d832c7a337aedba3537b90b2c98c4d8e2985"; - sha256 = "1mawnkcrmqj98jp0jxlnh9xkc950ca033ccb51c7035pzmi9if9a"; - fetchSubmodules = true; - }; + src = wxWidgets_src; + }); + + wxmac' = wxmac.overrideAttrs (oldAttrs: rec { + src = wxWidgets_src; }); in @@ -84,28 +100,18 @@ stdenv.mkDerivation rec { 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 - + '' + lib.optionalString stdenv.isLinux '' substituteInPlace src/FileNames.cpp \ --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h ''; - # audacity only looks for ffmpeg at runtime, so we need to link it in manually - NIX_LDFLAGS = toString [ - "-lavcodec" - "-lavdevice" - "-lavfilter" - "-lavformat" - "-lavresample" - "-lavutil" - "-lpostproc" - "-lswresample" - "-lswscale" - ]; - nativeBuildInputs = [ cmake gettext @@ -116,7 +122,6 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - alsa-lib expat ffmpeg file @@ -138,12 +143,11 @@ stdenv.mkDerivation rec { sratom suil twolame - wxGTK' - wxGTK'.gtk ] ++ optionals stdenv.isLinux [ + alsa-lib # for portaudio at-spi2-core dbus - epoxy + libepoxy libXdmcp libXtst libpthreadstubs @@ -151,6 +155,19 @@ stdenv.mkDerivation rec { libselinux libsepol util-linux + wxGTK' + wxGTK'.gtk + ] ++ optionals stdenv.isDarwin [ + wxmac' + AppKit + Cocoa + CoreAudioKit + AudioUnit AudioToolbox CoreAudio CoreServices Carbon # for portaudio + ]; + + cmakeFlags = [ + "-Daudacity_use_ffmpeg=linked" + "-DDISABLE_DYNAMIC_LOADING_FFMPEG=ON" ]; doCheck = false; # Test fails @@ -159,7 +176,7 @@ stdenv.mkDerivation rec { description = "Sound editor with graphical UI"; homepage = "https://www.audacityteam.org/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ lheckemann ]; - platforms = platforms.linux; + maintainers = with maintainers; [ lheckemann veprbl ]; + platforms = platforms.unix; }; } diff --git a/nixpkgs/pkgs/applications/audio/aumix/default.nix b/nixpkgs/pkgs/applications/audio/aumix/default.nix index b1808ed90f11..51dda20cc3a1 100644 --- a/nixpkgs/pkgs/applications/audio/aumix/default.nix +++ b/nixpkgs/pkgs/applications/audio/aumix/default.nix @@ -1,30 +1,34 @@ -{lib, stdenv, fetchurl, gettext, ncurses +{ lib +, stdenv +, fetchurl +, gettext +, ncurses , gtkGUI ? false -, pkg-config ? null -, gtk2 ? null}: - -assert gtkGUI -> pkg-config != null && gtk2 != null; +, pkg-config +, gtk2 +}: stdenv.mkDerivation rec { - name = "aumix-2.9.1"; + pname = "aumix"; + version = "2.9.1"; + src = fetchurl { - url = "http://www.jpj.net/~trevor/aumix/releases/${name}.tar.bz2"; + url = "http://www.jpj.net/~trevor/aumix/releases/aumix-${version}.tar.bz2"; sha256 = "0a8fwyxnc5qdxff8sl2sfsbnvgh6pkij4yafiln0fxgg6bal7knj"; }; buildInputs = [ gettext ncurses ] - ++ (if gtkGUI then [pkg-config gtk2] else []); + ++ lib.optionals gtkGUI [ pkg-config gtk2 ]; - meta = { + meta = with lib; { description = "Audio mixer for X and the console"; longDescription = '' Aumix adjusts an audio mixer from X, the console, a terminal, the command line or a script. ''; homepage = "http://www.jpj.net/~trevor/aumix.html"; - license = lib.licenses.gpl2Plus; - - maintainers = [ ]; - platforms = lib.platforms.linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ]; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/applications/audio/bambootracker/default.nix b/nixpkgs/pkgs/applications/audio/bambootracker/default.nix index 591c14c1adfa..b2cce97bbc46 100644 --- a/nixpkgs/pkgs/applications/audio/bambootracker/default.nix +++ b/nixpkgs/pkgs/applications/audio/bambootracker/default.nix @@ -30,13 +30,9 @@ mkDerivation rec { postConfigure = "make qmake_all"; - # 1. installs app bundle on darwin, move to app bundle dir & link binary to bin - # 2. wrapQtAppsHook fails to wrap mach-o binaries automatically, manually call wrapper - # (see https://github.com/NixOS/nixpkgs/issues/102044) postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications mv $out/{bin,Applications}/BambooTracker.app - wrapQtApp $out/Applications/BambooTracker.app/Contents/MacOS/BambooTracker ln -s $out/{Applications/BambooTracker.app/Contents/MacOS,bin}/BambooTracker ''; diff --git a/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix b/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix index c3c33267f65d..e8d2ada38783 100644 --- a/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix +++ b/nixpkgs/pkgs/applications/audio/bespokesynth/default.nix @@ -106,7 +106,13 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Software modular synth with controllers support, scripting and VST"; homepage = "https://github.com/awwbees/BespokeSynth"; - license = licenses.gpl3Plus; + license = with licenses; [ + gpl3Plus + + # This package is unfree and not distributable due to the license of VST2. + # see #145607 + unfree + ]; maintainers = with maintainers; [ astro ]; platforms = platforms.all; }; diff --git a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix index 447bc7d6635d..003608ea6020 100644 --- a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix +++ b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "bitwig-studio"; - version = "4.0.1"; + version = "4.1.2"; src = fetchurl { url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; - sha256 = "sha256-yhCAKlbLjyBywkSYY1aqbUGFlAHBLR8g8xPDIqoUIZk="; + sha256 = "sha256-fXrpTOA6Uh4DgGU+3A7SV23Sb+Z2Ud4rCPmMk5I1MnA="; }; nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; diff --git a/nixpkgs/pkgs/applications/audio/cadence/default.nix b/nixpkgs/pkgs/applications/audio/cadence/default.nix index 62bf32eb71d0..72f13bdb09bf 100644 --- a/nixpkgs/pkgs/applications/audio/cadence/default.nix +++ b/nixpkgs/pkgs/applications/audio/cadence/default.nix @@ -3,7 +3,7 @@ , coreutils , libjack2 , fetchpatch -, fetchzip +, fetchFromGitHub , jack_capture , pkg-config , pulseaudioFull @@ -20,9 +20,11 @@ mkDerivation rec { version = "0.9.1"; pname = "cadence"; - src = fetchzip { - url = "https://github.com/falkTX/Cadence/archive/v${version}.tar.gz"; - sha256 = "07z8grnnpkd0nf3y3r6qjlk1jlzrbhdrp9mnhrhhmws54p1bhl20"; + src = fetchFromGitHub { + owner = "falkTX"; + repo = "Cadence"; + rev = "v${version}"; + sha256 = "sha256-QFC4wiVF8wphhrammxtc+VMZJpXY5OGHs6DNa21+6B8="; }; patches = [ @@ -39,11 +41,11 @@ mkDerivation rec { ]; postPatch = '' - libjackso=$(realpath ${lib.makeLibraryPath [libjack2]}/libjack.so.0); - substituteInPlace ./src/jacklib.py --replace libjack.so.0 $libjackso - substituteInPlace ./src/cadence.py --replace "/usr/bin/pulseaudio" \ - "${lib.makeBinPath[pulseaudioFull]}/pulseaudio" - substituteInPlace ./c++/jackbridge/JackBridge.cpp --replace libjack.so.0 $libjackso + libjackso=$(realpath ${lib.makeLibraryPath [libjack2]}/libjack.so.0); + substituteInPlace ./src/jacklib.py --replace libjack.so.0 $libjackso + substituteInPlace ./src/cadence.py --replace "/usr/bin/pulseaudio" \ + "${lib.makeBinPath[pulseaudioFull]}/pulseaudio" + substituteInPlace ./c++/jackbridge/JackBridge.cpp --replace libjack.so.0 $libjackso ''; nativeBuildInputs = [ @@ -54,10 +56,12 @@ mkDerivation rec { qtbase jack_capture pulseaudioFull - ((python3.withPackages (ps: with ps; [ - pyqt5 - dbus-python - ]))) + ( + (python3.withPackages (ps: with ps; [ + pyqt5 + dbus-python + ])) + ) ]; makeFlags = [ @@ -68,31 +72,37 @@ mkDerivation rec { dontWrapQtApps = true; # Replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise. - preFixup = let - outRef = placeholder "out"; - prefix = "${outRef}/share/cadence/src"; - scriptAndSource = lib.mapAttrs' (script: source: - lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source) - ) { - "cadence" = "cadence.py"; - "claudia" = "claudia.py"; - "catarina" = "catarina.py"; - "catia" = "catia.py"; - "cadence-jacksettings" = "jacksettings.py"; - "cadence-aloop-daemon" = "cadence_aloop_daemon.py"; - "cadence-logs" = "logs.py"; - "cadence-render" = "render.py"; - "claudia-launcher" = "claudia_launcher.py"; - "cadence-session-start" = "cadence_session_start.py"; - }; - in lib.mapAttrsToList (script: source: '' - rm -f ${script} - makeQtWrapper ${source} ${script} \ - --prefix PATH : "${lib.makeBinPath [ - jack_capture # cadence-render - pulseaudioFull # cadence, cadence-session-start - ]}" - '') scriptAndSource; + preFixup = + let + outRef = placeholder "out"; + prefix = "${outRef}/share/cadence/src"; + scriptAndSource = lib.mapAttrs' + (script: source: + lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source) + ) + { + "cadence" = "cadence.py"; + "claudia" = "claudia.py"; + "catarina" = "catarina.py"; + "catia" = "catia.py"; + "cadence-jacksettings" = "jacksettings.py"; + "cadence-aloop-daemon" = "cadence_aloop_daemon.py"; + "cadence-logs" = "logs.py"; + "cadence-render" = "render.py"; + "claudia-launcher" = "claudia_launcher.py"; + "cadence-session-start" = "cadence_session_start.py"; + }; + in + lib.mapAttrsToList + (script: source: '' + rm -f ${script} + makeQtWrapper ${source} ${script} \ + --prefix PATH : "${lib.makeBinPath [ + jack_capture # cadence-render + pulseaudioFull # cadence, cadence-session-start + ]}" + '') + scriptAndSource; meta = { homepage = "https://github.com/falkTX/Cadence/"; diff --git a/nixpkgs/pkgs/applications/audio/callaudiod/default.nix b/nixpkgs/pkgs/applications/audio/callaudiod/default.nix index 0cc1ccd2aca5..bba86afcfc26 100644 --- a/nixpkgs/pkgs/applications/audio/callaudiod/default.nix +++ b/nixpkgs/pkgs/applications/audio/callaudiod/default.nix @@ -11,20 +11,22 @@ stdenv.mkDerivation rec { pname = "callaudiod"; - version = "0.1.0"; + version = "0.1.1"; src = fetchFromGitLab { domain = "gitlab.com"; owner = "mobian1"; repo = pname; rev = version; - sha256 = "087589z45xvldn2m1g79y0xbwzylwkjmfk83s5xjixyq0wqmfppd"; + sha256 = "sha256-VASBYx/SZo2GJ8znthFIdjtZKbYVssWO1xhYcZMz9hI="; }; + strictDeps = true; nativeBuildInputs = [ meson ninja pkg-config + glib ]; buildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/carla/default.nix b/nixpkgs/pkgs/applications/audio/carla/default.nix index 2efd4c671841..87ae31aed3bf 100644 --- a/nixpkgs/pkgs/applications/audio/carla/default.nix +++ b/nixpkgs/pkgs/applications/audio/carla/default.nix @@ -15,13 +15,13 @@ assert withGtk3 -> gtk3 != null; stdenv.mkDerivation rec { pname = "carla"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "falkTX"; repo = pname; rev = "v${version}"; - sha256 = "sha256-WxhG9X6jVcu10bl5p0f61+SYZmJw4W7DYvezbpAlNjg="; + sha256 = "sha256-faVLPHPQ4voR/RHiPpUwnZK+5Jx0u4rJWuH5zlydzwY="; }; nativeBuildInputs = [ @@ -78,7 +78,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - homepage = "http://kxstudio.sf.net/carla"; + homepage = "https://kx.studio/Applications:Carla"; description = "An audio plugin host"; longDescription = '' It currently supports LADSPA (including LRDF), DSSI, LV2, VST2/3 diff --git a/nixpkgs/pkgs/applications/audio/cdparanoia/default.nix b/nixpkgs/pkgs/applications/audio/cdparanoia/default.nix index 36686655f369..10ff66de77ed 100644 --- a/nixpkgs/pkgs/applications/audio/cdparanoia/default.nix +++ b/nixpkgs/pkgs/applications/audio/cdparanoia/default.nix @@ -35,6 +35,15 @@ stdenv.mkDerivation rec { cp ${gnu-config}/config.guess configure.guess ''; + # Build system reuses the same object file names for shared and static + # library. Occasionally fails in the middle: + # gcc -O2 -fsigned-char -g -O2 -c scan_devices.c + # rm -f *.o core *~ *.out + # gcc -O2 -fsigned-char -g -O2 -fpic -c scan_devices.c + # gcc -fpic -shared -o libcdda_interface.so.0.10.2 ... scan_devices.o ... + # scan_devices.o: file not recognized: file format not recognized + enableParallelBuilding = false; + meta = with lib; { homepage = "https://xiph.org/paranoia"; description = "A tool and library for reading digital audio from CDs"; diff --git a/nixpkgs/pkgs/applications/audio/clerk/default.nix b/nixpkgs/pkgs/applications/audio/clerk/default.nix index ebcd09ca6adf..ff9dca961aea 100644 --- a/nixpkgs/pkgs/applications/audio/clerk/default.nix +++ b/nixpkgs/pkgs/applications/audio/clerk/default.nix @@ -1,8 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, rofi, mpc_cli, perl, -util-linux, python3Packages, libnotify }: +{ lib +, stdenv +, fetchFromGitHub +, makeWrapper +, rofi +, mpc_cli +, perl +, util-linux +, python3Packages +, libnotify +}: stdenv.mkDerivation { - name = "clerk-2016-10-14"; + pname = "clerk"; + version = "unstable-2016-10-14"; src = fetchFromGitHub { owner = "carnager"; @@ -26,8 +36,8 @@ stdenv.mkDerivation { meta = with lib; { description = "An MPD client built on top of rofi"; - homepage = "https://github.com/carnager/clerk"; - license = licenses.mit; + homepage = "https://github.com/carnager/clerk"; + license = licenses.mit; maintainers = with maintainers; [ anderspapitto ]; }; } diff --git a/nixpkgs/pkgs/applications/audio/ecasound/default.nix b/nixpkgs/pkgs/applications/audio/ecasound/default.nix index 47db22016485..108be8726c50 100644 --- a/nixpkgs/pkgs/applications/audio/ecasound/default.nix +++ b/nixpkgs/pkgs/applications/audio/ecasound/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchurl +, fetchpatch , pkg-config , alsa-lib , audiofile @@ -28,6 +29,16 @@ stdenv.mkDerivation rec { sha256 = "1m7njfjdb7sqf0lhgc4swihgdr4snkg8v02wcly08wb5ar2fr2s6"; }; + patches = [ + # Pull patch pending upstream inclusion for ncurses-6.3: + # https://sourceforge.net/p/ecasound/bugs/54/ + (fetchpatch { + name = "ncursdes-6.3.patch"; + url = "https://sourceforge.net/p/ecasound/bugs/54/attachment/0001-ecasignalview.cpp-always-use-s-style-format-for-prin.patch"; + sha256 = "1x1gsjzd43lh19mhpmwrbq269h56s8bxgyv0yfi5yf0sqjf9vaq0"; + }) + ]; + nativeBuildInputs = [ pkg-config ]; diff --git a/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix b/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix index 44d5a0aa15aa..e0f7822bcd71 100644 --- a/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix +++ b/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix @@ -35,6 +35,12 @@ stdenv.mkDerivation rec { "--with-mbrola=${if mbrolaSupport then "yes" else "no"}" ]; + # Current release lacks dependencies on local espeak-ng: + # cd dictsource && ESPEAK_DATA_PATH=/build/espeak-ng LD_LIBRARY_PATH=../src: ../src/espeak-ng --compile=yue && cd .. + # bash: line 1: ../src/espeak-ng: No such file or directory + # Should be fixed in next release: https://github.com/espeak-ng/espeak-ng/pull/1029 + enableParallelBuilding = false; + postInstall = lib.optionalString stdenv.isLinux '' patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng ''; diff --git a/nixpkgs/pkgs/applications/audio/espeak/default.nix b/nixpkgs/pkgs/applications/audio/espeak/default.nix index 675f31b478ce..e5579175bbb7 100644 --- a/nixpkgs/pkgs/applications/audio/espeak/default.nix +++ b/nixpkgs/pkgs/applications/audio/espeak/default.nix @@ -1,10 +1,11 @@ { lib, stdenv, fetchurl, unzip, portaudio }: stdenv.mkDerivation rec { - name = "espeak-1.48.04"; + pname = "espeak"; + version = "1.48.04"; src = fetchurl { - url = "mirror://sourceforge/espeak/${name}-source.zip"; + url = "mirror://sourceforge/espeak/espeak-${version}-source.zip"; sha256 = "0n86gwh9pw0jqqpdz7mxggllfr8k0r7pc67ayy7w5z6z79kig6mz"; }; diff --git a/nixpkgs/pkgs/applications/audio/espeak/edit.nix b/nixpkgs/pkgs/applications/audio/espeak/edit.nix index 0b9fa3dfbe54..2240a8561164 100644 --- a/nixpkgs/pkgs/applications/audio/espeak/edit.nix +++ b/nixpkgs/pkgs/applications/audio/espeak/edit.nix @@ -1,10 +1,11 @@ { lib, stdenv, fetchurl, pkg-config, unzip, portaudio, wxGTK, sox }: stdenv.mkDerivation rec { - name = "espeakedit-1.48.03"; + pname = "espeakedit"; + version = "1.48.03"; src = fetchurl { - url = "mirror://sourceforge/espeak/${name}.zip"; + url = "mirror://sourceforge/espeak/espeakedit-${version}.zip"; sha256 = "0x8s7vpb7rw5x37yjzy1f98m4f2csdg89libb74fm36gn8ly0hli"; }; diff --git a/nixpkgs/pkgs/applications/audio/faust/faust2.nix b/nixpkgs/pkgs/applications/audio/faust/faust2.nix index c1d351fa53e1..0309031cf785 100644 --- a/nixpkgs/pkgs/applications/audio/faust/faust2.nix +++ b/nixpkgs/pkgs/applications/audio/faust/faust2.nix @@ -20,13 +20,13 @@ with lib.strings; let - version = "2.30.5"; + version = "2.37.3"; src = fetchFromGitHub { owner = "grame-cncm"; repo = "faust"; rev = version; - sha256 = "0cs52w4rwaj5d8pjak4cxsg02sxvx4y07592nc3ck81clqjmszmm"; + sha256 = "sha256-Jzauw8+vBjtbK73Bh4huhX1ql1cWmh80EzEET3x03rc="; fetchSubmodules = true; }; diff --git a/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix b/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix index 8dd43ead5914..f9dbd3f80f0c 100644 --- a/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix +++ b/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix @@ -1,13 +1,13 @@ { stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "faustPhysicalModeling"; - version = "2.33.1"; + version = "2.37.3"; src = fetchFromGitHub { owner = "grame-cncm"; repo = "faust"; rev = version; - sha256 = "sha256-gzkfLfNhJHg/jEhf/RQDhHnXxn3UI15eDZfutKt3yGk="; + sha256 = "sha256-h6L+qRkN2chnI4821WrjD3uRFw3J0sUYVLL8w57vR1U="; }; buildInputs = [ faust2jaqt faust2lv2 ]; diff --git a/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix b/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix index 1a6471397de6..ad57b6a690ff 100644 --- a/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix +++ b/nixpkgs/pkgs/applications/audio/fluidsynth/default.nix @@ -1,36 +1,20 @@ -{ stdenv, lib, fetchFromGitHub, pkg-config, cmake +{ stdenv, lib, fetchFromGitHub, buildPackages, pkg-config, cmake , alsa-lib, glib, libjack2, libsndfile, libpulseaudio , AudioUnit, CoreAudio, CoreMIDI, CoreServices -, version ? "2" }: -let - versionMap = { - "1" = { - fluidsynthVersion = "1.1.11"; - sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"; - }; - "2" = { - fluidsynthVersion = "2.0.6"; - sha256 = "0nas9pp9r8rnziznxm65x2yzf1ryg98zr3946g0br3s38sjf8l3a"; - }; - }; -in - -with versionMap.${version}; - -stdenv.mkDerivation { - name = "fluidsynth-${fluidsynthVersion}"; - version = fluidsynthVersion; +stdenv.mkDerivation rec { + pname = "fluidsynth"; + version = "2.2.3"; src = fetchFromGitHub { owner = "FluidSynth"; repo = "fluidsynth"; - rev = "v${fluidsynthVersion}"; - inherit sha256; + rev = "v${version}"; + sha256 = "0x5808d03ym23np17nl8gfbkx3c4y3d7jyyr2222wn2prswbb6x3"; }; - nativeBuildInputs = [ pkg-config cmake ]; + nativeBuildInputs = [ buildPackages.stdenv.cc pkg-config cmake ]; buildInputs = [ glib libsndfile libpulseaudio libjack2 ] ++ lib.optionals stdenv.isLinux [ alsa-lib ] diff --git a/nixpkgs/pkgs/applications/audio/fomp/default.nix b/nixpkgs/pkgs/applications/audio/fomp/default.nix index f9f57b1ed55b..bb421886f5d3 100644 --- a/nixpkgs/pkgs/applications/audio/fomp/default.nix +++ b/nixpkgs/pkgs/applications/audio/fomp/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, lv2, pkg-config, python2, wafHook }: +{ lib, stdenv, fetchurl, lv2, pkg-config, python3, wafHook }: stdenv.mkDerivation rec { pname = "fomp"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config wafHook ]; - buildInputs = [ lv2 python2 ]; + buildInputs = [ lv2 python3 ]; meta = with lib; { homepage = "http://drobilla.net/software/fomp/"; diff --git a/nixpkgs/pkgs/applications/audio/foo-yc20/default.nix b/nixpkgs/pkgs/applications/audio/foo-yc20/default.nix index f7abeb2a91e8..abb13b021c04 100644 --- a/nixpkgs/pkgs/applications/audio/foo-yc20/default.nix +++ b/nixpkgs/pkgs/applications/audio/foo-yc20/default.nix @@ -1,7 +1,7 @@ -{ lib, stdenv, fetchFromGitHub, libjack2, gtk2, lv2, faust, pkg-config }: +{ lib, stdenv, fetchFromGitHub, libjack2, gtk2, lv2, faust, pkg-config }: stdenv.mkDerivation { - version = "git-2015-05-21"; + version = "unstable-2015-05-21"; pname = "foo-yc20"; src = fetchFromGitHub { owner = "sampov2"; @@ -22,7 +22,7 @@ stdenv.mkDerivation { broken = true; # see: https://github.com/sampov2/foo-yc20/issues/7 description = "A Faust implementation of a 1969 designed Yamaha combo organ, the YC-20"; homepage = "https://github.com/sampov2/foo-yc20"; - license = with licenses; [ bsd3 lgpl21 mpl11 ] ; + license = with licenses; [ bsd3 lgpl21 mpl11 ]; maintainers = [ maintainers.magnetophon ]; platforms = platforms.linux; }; diff --git a/nixpkgs/pkgs/applications/audio/freqtweak/default.nix b/nixpkgs/pkgs/applications/audio/freqtweak/default.nix index 113894a9357d..71bb0f6f05c8 100644 --- a/nixpkgs/pkgs/applications/audio/freqtweak/default.nix +++ b/nixpkgs/pkgs/applications/audio/freqtweak/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with lib; { - homepage = http://essej.net/freqtweak/; + homepage = "http://essej.net/freqtweak/"; description = "Realtime audio frequency spectral manipulation"; maintainers = [ maintainers.magnetophon ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix index 5155a91e725e..f0dde5e1e354 100644 --- a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix +++ b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "ft2-clone"; - version = "1.47"; + version = "1.49"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${version}"; - sha256 = "sha256-KLHJROOtRPtGHBYEMByY7LG6FY4vES6WndCiz7okan8="; + sha256 = "sha256-DpEzilMERfbop7YYqNCcxSe1qfcz4n7Uqj/i5t5a6nQ="; }; # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh) diff --git a/nixpkgs/pkgs/applications/audio/giada/default.nix b/nixpkgs/pkgs/applications/audio/giada/default.nix index b49335298e01..4b7b760db355 100644 --- a/nixpkgs/pkgs/applications/audio/giada/default.nix +++ b/nixpkgs/pkgs/applications/audio/giada/default.nix @@ -1,8 +1,9 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub -, autoreconfHook +, cmake +, pkg-config , fltk -, jansson , rtmidi , libsamplerate , libsndfile @@ -10,51 +11,65 @@ , alsa-lib , libpulseaudio , libXpm -, libXinerama -, libXcursor -, catch2 -, nlohmann_json +, flac +, libogg +, libvorbis +, libopus }: stdenv.mkDerivation rec { pname = "giada"; - version = "0.16.4"; + version = "unstable-2021-09-24"; src = fetchFromGitHub { owner = "monocasual"; repo = pname; - rev = "v${version}"; - sha256 = "0qyx0bvivlvly0vj5nnnbiks22xh13sqlw4mfgplq2lbbpgisigp"; + # Using master with https://github.com/monocasual/giada/pull/509 till a new release is done. + rev = "f117a8b8eef08d904ef1ab22c45f0e1fad6b8a56"; + sha256 = "01hb981lrsyk870zs8xph5fm0z7bbffpkxgw04hq487r804mkx9j"; + fetchSubmodules = true; }; - configureFlags = [ - "--target=linux" - "--enable-system-catch" + NIX_CFLAGS_COMPILE = [ + "-w" + "-Wno-error" + ]; + + cmakeFlags = [ + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_BUILD_TYPE=Release" ]; nativeBuildInputs = [ - autoreconfHook + cmake + pkg-config ]; buildInputs = [ + rtmidi fltk libsndfile libsamplerate - jansson - rtmidi - libXpm - jack2 alsa-lib + libXpm libpulseaudio - libXinerama - libXcursor - catch2 - nlohmann_json + jack2 + flac + libogg + libvorbis + libopus ]; postPatch = '' - sed -i 's:"deps/json/single_include/nlohmann/json\.hpp":<nlohmann/json.hpp>:' \ - src/core/{conf,init,midiMapConf,patch}.cpp + local fixup_list=( + src/core/kernelMidi.cpp + src/gui/elems/config/tabMidi.cpp + src/utils/ver.cpp + ) + for f in "''${fixup_list[@]}"; do + substituteInPlace "$f" \ + --replace "<RtMidi.h>" "<${rtmidi.src}/RtMidi.h>" + done ''; meta = with lib; { @@ -63,6 +78,5 @@ stdenv.mkDerivation rec { license = licenses.gpl3; maintainers = with maintainers; [ petabyteboy ]; platforms = platforms.all; - broken = stdenv.hostPlatform.isAarch64; # produces build failure on aarch64-linux }; } diff --git a/nixpkgs/pkgs/applications/audio/gigedit/default.nix b/nixpkgs/pkgs/applications/audio/gigedit/default.nix index 1187dd1ba26e..8c37e8901a33 100644 --- a/nixpkgs/pkgs/applications/audio/gigedit/default.nix +++ b/nixpkgs/pkgs/applications/audio/gigedit/default.nix @@ -1,7 +1,24 @@ -{ lib, stdenv, fetchurl, autoconf, automake, intltool, libtool, pkg-config, which -, docbook_xml_dtd_45, docbook_xsl, gtkmm2, libgig, libsndfile, libxslt +{ lib +, stdenv +, fetchurl +, autoconf +, automake +, intltool +, libtool +, pkg-config +, which +, docbook_xml_dtd_45 +, docbook_xsl +, gtkmm2 +, pangomm_2_42 +, libgig +, libsndfile +, libxslt }: +let + gtkmm2_with_pango242 = gtkmm2.override { pangomm = pangomm_2_42; }; +in stdenv.mkDerivation rec { pname = "gigedit"; version = "1.1.1"; @@ -15,7 +32,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf automake intltool libtool pkg-config which ]; - buildInputs = [ docbook_xml_dtd_45 docbook_xsl gtkmm2 libgig libsndfile libxslt ]; + buildInputs = [ docbook_xml_dtd_45 docbook_xsl gtkmm2_with_pango242 libgig libsndfile libxslt ]; enableParallelBuilding = true; diff --git a/nixpkgs/pkgs/applications/audio/gmu/default.nix b/nixpkgs/pkgs/applications/audio/gmu/default.nix index b2b9f5e34750..cc2b46cd6ace 100644 --- a/nixpkgs/pkgs/applications/audio/gmu/default.nix +++ b/nixpkgs/pkgs/applications/audio/gmu/default.nix @@ -1,4 +1,4 @@ -{lib, stdenv, fetchurl, SDL, SDL_gfx, SDL_image, tremor, flac, mpg123, libmikmod +{lib, stdenv, fetchurl, fetchpatch, SDL, SDL_gfx, SDL_image, tremor, flac, mpg123, libmikmod , speex, ncurses , keymap ? "default" , conf ? "unknown" @@ -13,6 +13,24 @@ stdenv.mkDerivation rec { sha256 = "03x0mc0xw2if0bpf0a15yprcyx1xccki039zvl2099dagwk6xskv"; }; + patches = [ + # pull pending upstream inclusion fix for ncurses-6.3: + # https://github.com/jhe2/gmu/pull/7 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/jhe2/gmu/commit/c8b3a10afee136feb333754ef6ec26383b11072f.patch"; + sha256 = "0xp2j3jp8pkmv6yvnzi378m2dylbfsaqrsrkw7hbxw6kglzj399r"; + }) + + # pull upstream fix for -fno-common toolchains like + # upstream gcc-10 of clang-13. + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/jhe2/gmu/commit/b705209f08ddfda141ad358ccd0c3d2d099be5e6.patch"; + sha256 = "1ci2b8kz3r58rzmivlfhqjmcgqwlkwlzzhnyxlk36vmk240a3gqq"; + }) + ]; + buildInputs = [ SDL SDL_gfx SDL_image tremor flac mpg123 libmikmod speex ncurses ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix b/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix index a053dda46a3b..b91e861c5d5a 100644 --- a/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix +++ b/nixpkgs/pkgs/applications/audio/gnome-podcasts/default.nix @@ -21,20 +21,20 @@ stdenv.mkDerivation rec { pname = "gnome-podcasts"; - version = "0.4.9"; + version = "0.5.0"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "World"; repo = "podcasts"; rev = version; - sha256 = "1ah59ac3xm3sqai8zhil8ar30pviw83cm8in1n4id77rv24xkvgm"; + hash = "sha256-Jk++/QrQt/fjOz2OaEIr1Imq2DmqTjcormCebjO4/Kk="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - sha256 = "1iihpfvkli09ysn46cnif53xizkwzk0m91bljmlzsygp3ip5i5yw"; + hash = "sha256-jlXpeVabc1h2GU1j9Ff6GZJec+JgFyOdJzsOtdkrEWI="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/gtklick/default.nix b/nixpkgs/pkgs/applications/audio/gtklick/default.nix deleted file mode 100644 index 6b7f4e4d7b22..000000000000 --- a/nixpkgs/pkgs/applications/audio/gtklick/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, fetchurl, python2Packages, gettext, klick}: - -python2Packages.buildPythonApplication rec { - pname = "gtklick"; - version = "0.6.4"; - - src = fetchurl { - url = "http://das.nasophon.de/download/${pname}-${version}.tar.gz"; - sha256 = "7799d884126ccc818678aed79d58057f8cf3528e9f1be771c3fa5b694d9d0137"; - }; - - pythonPath = with python2Packages; [ - pyliblo - pyGtkGlade - ]; - - nativeBuildInputs = [ gettext ]; - - propagatedBuildInputs = [ klick ]; - - # wrapPythonPrograms breaks gtklick in the postFixup phase. - # To fix it, apply wrapPythonPrograms and then clean up the wrapped file. - postFixup = '' - wrapPythonPrograms - - sed -i "/import sys; sys.argv\[0\] = 'gtklick'/d" $out/bin/.gtklick-wrapped - ''; - - meta = { - homepage = "http://das.nasophon.de/gtklick/"; - description = "Simple metronome with an easy-to-use GTK interface"; - license = lib.licenses.gpl2Plus; - }; -} diff --git a/nixpkgs/pkgs/applications/audio/helio-workstation/default.nix b/nixpkgs/pkgs/applications/audio/helio-workstation/default.nix index 012838eb436d..b36d977b2bdf 100644 --- a/nixpkgs/pkgs/applications/audio/helio-workstation/default.nix +++ b/nixpkgs/pkgs/applications/audio/helio-workstation/default.nix @@ -5,14 +5,14 @@ stdenv.mkDerivation rec { pname = "helio-workstation"; - version = "3.6"; + version = "3.8"; src = fetchFromGitHub { owner = "helio-fm"; repo = pname; rev = version; fetchSubmodules = true; - sha256 = "sha256-qW39g6rQ5VPQ3Hx9NmwLbpZiITnzFZDZlcLkE+pJKPc="; + sha256 = "sha256-uwRSOJ5WvDH4mfL9pCTCGzuSRT8SIBrI+Wsbumzejv0="; }; buildInputs = [ @@ -30,13 +30,13 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin - install -Dm755 build/Helio $out/bin - wrapProgram $out/bin/Helio --prefix PATH ":" ${gnome.zenity}/bin + install -Dm755 build/helio $out/bin + wrapProgram $out/bin/helio --prefix PATH ":" ${gnome.zenity}/bin mkdir -p $out/share cp -r ../Deployment/Linux/Debian/x64/usr/share/* $out/share substituteInPlace $out/share/applications/Helio.desktop \ - --replace "/usr/bin/helio" "$out/bin/Helio" + --replace "/usr/bin/helio" "$out/bin/helio" ''; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/audio/helvum/default.nix b/nixpkgs/pkgs/applications/audio/helvum/default.nix index 39c8a3b3184c..30dc359731f5 100644 --- a/nixpkgs/pkgs/applications/audio/helvum/default.nix +++ b/nixpkgs/pkgs/applications/audio/helvum/default.nix @@ -1,47 +1,73 @@ { lib -, fetchFromGitLab -, makeDesktopItem -, copyDesktopItems -, rustPlatform -, pkg-config , clang -, libclang +, desktop-file-utils +, fetchFromGitLab +, fetchpatch , glib , gtk4 +, libclang +, meson +, ninja , pipewire +, pkg-config +, rustPlatform +, stdenv }: -rustPlatform.buildRustPackage rec { +stdenv.mkDerivation rec { pname = "helvum"; - version = "0.3.0"; + version = "0.3.2"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "ryuukyu"; repo = pname; rev = version; - sha256 = "sha256-AlHCK4pWaoNjR0eflxHBsuVaaily/RvCbgJv/ByQZK4="; + sha256 = "sha256-Kt6gnMRTOVXqjAjEZKlylcGhzl52ZzPNVbJhwzLhzkM="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-kxJRY9GSPwnb431iYCfJdGcl5HjpFr2KkWrFDpGajp8="; }; - cargoSha256 = "sha256-mAhh12rGvQjs2xtm+OrtVv0fgG6qni/QM/oRYoFR7U8="; + nativeBuildInputs = [ + clang + meson + ninja + pkg-config + rustPlatform.cargoSetupHook + rustPlatform.rust.cargo + rustPlatform.rust.rustc + ]; - nativeBuildInputs = [ clang copyDesktopItems pkg-config ]; - buildInputs = [ glib gtk4 pipewire ]; + buildInputs = [ + desktop-file-utils + glib + gtk4 + pipewire + ]; LIBCLANG_PATH = "${libclang.lib}/lib"; - desktopItems = makeDesktopItem { - name = "Helvum"; - exec = pname; - desktopName = "Helvum"; - genericName = "Helvum"; - categories = "AudioVideo;"; - }; + patches = [ + # enables us to use gtk4-update-icon-cache instead of gtk3 one + (fetchpatch { + url = "https://gitlab.freedesktop.org/ryuukyu/helvum/-/merge_requests/24.patch"; + sha256 = "sha256-WmI6taBL/6t587j06n0mwByQ8x0eUA5ECvGNjg2/vtk="; + }) + ]; + + postPatch = '' + patchShebangs build-aux/cargo.sh + ''; meta = with lib; { description = "A GTK patchbay for pipewire"; homepage = "https://gitlab.freedesktop.org/ryuukyu/helvum"; license = licenses.gpl3Only; maintainers = with maintainers; [ fufexan ]; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix b/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix index c539a316422a..d281ec11c7d1 100644 --- a/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix +++ b/nixpkgs/pkgs/applications/audio/hybridreverb2/default.nix @@ -1,6 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, fetchzip, cmake, pkg-config, lv2, alsa-lib, libjack2, - freetype, libX11, gtk3, pcre, libpthreadstubs, libXdmcp, libxkbcommon, - epoxy, at-spi2-core, dbus, curl, fftwFloat }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, lv2 +, alsa-lib +, libjack2 +, freetype +, libX11 +, gtk3 +, pcre +, libpthreadstubs +, libXdmcp +, libxkbcommon +, libepoxy +, at-spi2-core +, dbus +, curl +, fftwFloat +}: let pname = "HybridReverb2"; @@ -10,11 +28,13 @@ let in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + inherit pname version; - impulseDB = fetchzip { - url = "https://github.com/${owner}/${pname}-impulse-response-database/archive/v${DBversion}.zip"; - sha256 = "1hlfxbbkahm1k2sk3c3n2mjaz7k80ky3r55xil8nfbvbv0qan89z"; + impulseDB = fetchFromGitHub { + inherit owner; + repo = "HybridReverb2-impulse-response-database"; + rev = "v${DBversion}"; + sha256 = "sha256-PyGrMNhrL2cRjb2UPPwEaJ6vZBV2sDG1mKFCNdfqjsI="; }; src = fetchFromGitHub { @@ -26,8 +46,23 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ lv2 alsa-lib libjack2 freetype libX11 gtk3 pcre - libpthreadstubs libXdmcp libxkbcommon epoxy at-spi2-core dbus curl fftwFloat ]; + buildInputs = [ + lv2 + alsa-lib + libjack2 + freetype + libX11 + gtk3 + pcre + libpthreadstubs + libXdmcp + libxkbcommon + libepoxy + at-spi2-core + dbus + curl + fftwFloat + ]; cmakeFlags = [ "-DHybridReverb2_AdvancedJackStandalone=ON" diff --git a/nixpkgs/pkgs/applications/audio/hydrogen/0.nix b/nixpkgs/pkgs/applications/audio/hydrogen/0.nix index ad3566571b0c..aa1821657867 100644 --- a/nixpkgs/pkgs/applications/audio/hydrogen/0.nix +++ b/nixpkgs/pkgs/applications/audio/hydrogen/0.nix @@ -1,19 +1,41 @@ -{ lib, stdenv, fetchurl, pkg-config, cmake -, alsa-lib, boost, glib, lash, libjack2, libarchive, libsndfile, lrdf, qt4 +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, cmake +, alsa-lib +, boost +, glib +, lash +, libjack2 +, libarchive +, libsndfile +, lrdf +, qt4 }: stdenv.mkDerivation rec { version = "0.9.7"; pname = "hydrogen"; - src = fetchurl { - url = "https://github.com/hydrogen-music/hydrogen/archive/${version}.tar.gz"; - sha256 = "1dy2jfkdw0nchars4xi4isrz66fqn53a9qk13bqza7lhmsg3s3qy"; + src = fetchFromGitHub { + owner = "hydrogen-music"; + repo = "hydrogen"; + rev = version; + sha256 = "sha256-6ycNUcumtAEl/6XbIpW6JglGv4nNOdMrOJ1nvJg3z/c="; }; nativeBuildInputs = [ pkg-config cmake ]; buildInputs = [ - alsa-lib boost glib lash libjack2 libarchive libsndfile lrdf qt4 + alsa-lib + boost + glib + lash + libjack2 + libarchive + libsndfile + lrdf + qt4 ]; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/audio/hydrogen/default.nix b/nixpkgs/pkgs/applications/audio/hydrogen/default.nix index 842d2ad93fa4..694734e36f4a 100644 --- a/nixpkgs/pkgs/applications/audio/hydrogen/default.nix +++ b/nixpkgs/pkgs/applications/audio/hydrogen/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "hydrogen"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "hydrogen-music"; repo = pname; rev = version; - sha256 = "sha256-G+7vTUxYiPNKJ0Qxf/E/t0d6vC/lDs9vNfSbvUXTQgI="; + sha256 = "sha256-to24PB9cs4vun93uXEWNVsmSLFRuLGfC4hCh7+mbvIo="; }; nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; diff --git a/nixpkgs/pkgs/applications/audio/jamulus/default.nix b/nixpkgs/pkgs/applications/audio/jamulus/default.nix index 185df48ff6f7..f30b188c3917 100644 --- a/nixpkgs/pkgs/applications/audio/jamulus/default.nix +++ b/nixpkgs/pkgs/applications/audio/jamulus/default.nix @@ -3,12 +3,12 @@ mkDerivation rec { pname = "jamulus"; - version = "3.8.0"; + version = "3.8.1"; src = fetchFromGitHub { owner = "jamulussoftware"; repo = "jamulus"; rev = "r${lib.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "sha256-Ni6N7XW34OFNuEkqBEgMcYGmIqb+UZ0uhLt/shRkWRs="; + sha256 = "sha256-QtlvcKVqKgRAO/leHy4CgvjNW49HAyZLI2JtKERP7HQ="; }; nativeBuildInputs = [ pkg-config qmake ]; diff --git a/nixpkgs/pkgs/applications/audio/jconvolver/default.nix b/nixpkgs/pkgs/applications/audio/jconvolver/default.nix new file mode 100644 index 000000000000..5294ae5f13a1 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/jconvolver/default.nix @@ -0,0 +1,114 @@ +{ lib, stdenv, fetchurl, flac, unzip, fftwFloat, hybridreverb2, libclthreads, libjack2, libsndfile, zita-convolver }: + +stdenv.mkDerivation rec { + pname = "jconvolver"; + version = "1.1.0"; + + src = fetchurl { + url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2"; + sha256 = "03fq1rk5wyn32w0aaa9vqijnw9x9i0i7sv4nhsf949bk5lvi2nmc"; + }; + + reverbs = fetchurl { + url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/jconvolver-reverbs.tar.bz2"; + sha256 = "127aj211xfqp37c94d9cn0mmwzbjkj3f6br5gr67ckqirvsdkndi"; + }; + weird = fetchurl { + url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/weird.wav"; + sha256 = "14xchdikx5k8zlgwglrqi168vki3n3rwhn73dkbj5qwh2ndrlyrc"; + }; + + porihall-sf = fetchurl { + url = "http://legacy.spa.aalto.fi/projects/poririrs/wavs/sndfld.zip"; + sha256 = "0z1kmdin3vcy6wmnym9jlfh8hwvci9404hff02cb98iw2slxid42"; + }; + porihall-bd = fetchurl { + url = "http://legacy.spa.aalto.fi/projects/poririrs/wavs/bin_dfeq.zip"; + sha256 = "03m2brfxs851sag4z7kd71h6anv6hj34zcambwib0v1byg8vyplp"; + }; + porihall-c = fetchurl { + url = "http://legacy.spa.aalto.fi/projects/poririrs/wavs/cardioid.zip"; + sha256 = "0ilbfvb2kvg5z6zi0mf2k4n0vgpir3iz5fa53xw92c07fs0cx36w"; + }; + + spacenet-hm2 = fetchurl { + url = "https://webfiles.york.ac.uk/OPENAIR/IRs/hamilton-mausoleum/b-format/hm2_000_bformat_48k.wav"; + sha256 = "1icnzfzq3mccbmnvmvh22mw8g8dci4i9h7lgrpmycj58v3gnb1p5"; + }; + spacenet-lyd3 = fetchurl { + url = "https://webfiles.york.ac.uk/OPENAIR/IRs/st-andrews-church/b-format/lyd3_000_bformat_48k.wav"; + sha256 = "144cc0i91q5i72lwbxydx3nvxrd12j7clxjhwa2b8sf69ypz58wd"; + }; + spacenet-mh3 = fetchurl { + url = "https://webfiles.york.ac.uk/OPENAIR/IRs/maes-howe/b-format/mh3_000_bformat_48k.wav"; + sha256 = "1c6v9jlm88l1sx2383yivycdrs9jqfsfx8cpbkjg19v2x1dfns0b"; + }; + spacenet-minster1 = fetchurl { + url = "https://webfiles.york.ac.uk/OPENAIR/IRs/york-minster/b-format/minster1_bformat_48k.wav"; + sha256 = "1cs26pawjkv6qvwhfirfvzh21xvnmx8yh7f4xcr79cxv5c6hhnrw"; + }; + + nativeBuildInputs = [ flac unzip ]; + + buildInputs = [ + fftwFloat + hybridreverb2 + libclthreads + libjack2 + libsndfile + zita-convolver + ]; + + outputs = [ "bin" "out" "doc" ]; + + preConfigure = '' + cd source + ''; + + makeFlags = [ + "PREFIX=$(bin)" + ]; + + postInstall = '' + mkdir -p $doc/share/doc/jconvolver + cp -r ../[A-Z]* $doc/share/doc/jconvolver/ + + mkdir -p $out/share/jconvolver + cp -r ../config-files $out/share/jconvolver/ + cd $out/share/jconvolver + for conf in */*.conf */*/*.conf; do + if grep -q /audio/ $conf; then + substituteInPlace $conf --replace /audio/ $out/share/jconvolver/ + fi + done + substituteInPlace config-files/xtalk-cancel/EYCv2-44.conf --replace /cd "#/cd" + ln -s ${weird} config-files/weird.wav + + tar xf ${reverbs} + cd reverbs + unzip -d porihall ${porihall-sf} s1_r4_sf.wav + unzip -d porihall ${porihall-bd} s1_r3_bd.wav + unzip -d porihall ${porihall-c} s1_r3_c.wav + + mkdir spacenet + ln -s ${spacenet-hm2} spacenet/HM2_000_WXYZ_48k.amb + ln -s ${spacenet-lyd3} spacenet/Lyd3_000_WXYZ_48k.amb + ln -s ${spacenet-mh3} spacenet/MH3_000_WXYZ_48k.amb + ln -s ${spacenet-minster1} spacenet/Minster1_000_WXYZ_48k.amb + + mkdir -p hybridreverb-database/large_concert_hall/music/8m + for flac in ${hybridreverb2}/share/HybridReverb2/RIR_Database/large_concert_hall/music/8m/*.flac; do + flac --output-prefix=hybridreverb-database/large_concert_hall/music/8m/ -d $flac + done + ''; + + enableParallelBuilding = true; + + meta = with lib; { + description = "A JACK client and audio file convolver with reverb samples"; + homepage = "https://kokkinizita.linuxaudio.org/linuxaudio/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ orivej ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix b/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix index 299fe547366a..3bc06abcbffa 100644 --- a/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix +++ b/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "JMusicBot"; - version = "0.3.4"; + version = "0.3.6"; src = fetchurl { url = "https://github.com/jagrosh/MusicBot/releases/download/${version}/JMusicBot-${version}.jar"; - sha256 = "sha256-++/ot9k74pkN9Wl7IEjiMIv/q5zklIEdU6uFjam0tmU="; + sha256 = "sha256-Hc3dsOADC+jVZScY19OYDkHimntMjdw/BoB3EUS/d0k="; }; dontUnpack = true; diff --git a/nixpkgs/pkgs/applications/audio/kapitonov-plugins-pack/default.nix b/nixpkgs/pkgs/applications/audio/kapitonov-plugins-pack/default.nix index 6e5cc0d51916..655fc6a9608c 100644 --- a/nixpkgs/pkgs/applications/audio/kapitonov-plugins-pack/default.nix +++ b/nixpkgs/pkgs/applications/audio/kapitonov-plugins-pack/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Set of LADSPA and LV2 plugins for guitar sound processing"; - homepage = https://github.com/olegkapitonov/Kapitonov-Plugins-Pack; + homepage = "https://github.com/olegkapitonov/Kapitonov-Plugins-Pack"; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ magnetophon ]; diff --git a/nixpkgs/pkgs/applications/audio/kid3/default.nix b/nixpkgs/pkgs/applications/audio/kid3/default.nix index 7dd5594a9a93..ba3d921751b5 100644 --- a/nixpkgs/pkgs/applications/audio/kid3/default.nix +++ b/nixpkgs/pkgs/applications/audio/kid3/default.nix @@ -28,11 +28,11 @@ stdenv.mkDerivation rec { pname = "kid3"; - version = "3.8.7"; + version = "3.9.0"; src = fetchurl { url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-Dr+NLh5ajG42jRKt1Swq6mccPfuAXRvhhoTNuO8lnI0="; + sha256 = "sha256-d0Y+swzzGk1FzQ3EK8sN8i1Nf6CRIPMAYgTUYN71FXU="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/ladspa-plugins/default.nix b/nixpkgs/pkgs/applications/audio/ladspa-plugins/default.nix index fe8e9f323a57..491a18bba3ea 100644 --- a/nixpkgs/pkgs/applications/audio/ladspa-plugins/default.nix +++ b/nixpkgs/pkgs/applications/audio/ladspa-plugins/default.nix @@ -1,18 +1,28 @@ -{ lib, stdenv, fetchurl, autoreconfHook, automake, fftw, ladspaH, libxml2, pkg-config -, perlPackages }: +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, automake +, fftw +, ladspaH +, libxml2 +, pkg-config +, perlPackages +}: stdenv.mkDerivation rec { pname = "swh-plugins"; version = "0.4.17"; - - src = fetchurl { - url = "https://github.com/swh/ladspa/archive/v${version}.tar.gz"; - sha256 = "1rqwh8xrw6hnp69dg4gy336bfbfpmbx4fjrk0nb8ypjcxkz91c6i"; + src = fetchFromGitHub { + owner = "swh"; + repo = "ladspa"; + rev = "v${version}"; + sha256 = "sha256-eOtIhNcuItREUShI8JRlBVKfMfovpdfIYu+m37v4KLE="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ fftw ladspaH libxml2 perlPackages.perl perlPackages.XMLParser ]; + buildInputs = [ fftw ladspaH libxml2 perlPackages.perl perlPackages.XMLParser ]; patchPhase = '' patchShebangs . diff --git a/nixpkgs/pkgs/applications/audio/lastfmsubmitd/default.nix b/nixpkgs/pkgs/applications/audio/lastfmsubmitd/default.nix deleted file mode 100644 index 8a786c5c69ee..000000000000 --- a/nixpkgs/pkgs/applications/audio/lastfmsubmitd/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, fetchurl, python2Packages }: - -python2Packages.buildPythonApplication rec { - pname = "lastfmsubmitd"; - version = "1.0.6"; - - src = fetchurl { - url = "https://www.red-bean.com/decklin/lastfmsubmitd/lastfmsubmitd-${version}.tar.gz"; - sha256 = "c2636d5095a95167366bacd458624d67b046e060244fa54ba2c2e3efb79f9b0e"; - }; - - doCheck = false; - - installCommand = "python setup.py install --prefix=$out"; - - meta = { - homepage = "https://www.red-bean.com/decklin/lastfmsubmitd/"; - license = lib.licenses.mit; - description = "An last.fm audio scrobbler and daemon"; - }; -} diff --git a/nixpkgs/pkgs/applications/audio/libopenmpt/default.nix b/nixpkgs/pkgs/applications/audio/libopenmpt/default.nix index ef5c080133b0..b2b5ebecd7e2 100644 --- a/nixpkgs/pkgs/applications/audio/libopenmpt/default.nix +++ b/nixpkgs/pkgs/applications/audio/libopenmpt/default.nix @@ -1,4 +1,4 @@ -{ config, lib, stdenv, fetchurl, zlib, pkg-config, mpg123, libogg, libvorbis, portaudio, libsndfile, flac +{ config, lib, stdenv, fetchurl, fetchpatch, zlib, pkg-config, mpg123, libogg, libvorbis, portaudio, libsndfile, flac , usePulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio }: stdenv.mkDerivation rec { @@ -12,6 +12,16 @@ stdenv.mkDerivation rec { 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 ]; diff --git a/nixpkgs/pkgs/applications/audio/librespot/default.nix b/nixpkgs/pkgs/applications/audio/librespot/default.nix index de1952b99128..64d59516f87f 100644 --- a/nixpkgs/pkgs/applications/audio/librespot/default.nix +++ b/nixpkgs/pkgs/applications/audio/librespot/default.nix @@ -4,28 +4,16 @@ rustPlatform.buildRustPackage rec { pname = "librespot"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "librespot-org"; repo = "librespot"; rev = "v${version}"; - sha256 = "0n7h690gplpp47gdj038g6ncgwr7wvwfkg00cbrbvxhv7kzqqa1f"; + sha256 = "1fv2sk89rf1vraq823bxddlxj6b4gqhfpc36xr7ibz2405zickfv"; }; - cargoSha256 = "0qakvpxvn84ppgs3qlsfan4flqkmjcgs698w25jasx9ymiv8wc3s"; - - cargoBuildFlags = with lib; [ - "--no-default-features" - "--features" - (concatStringsSep "," (filter (x: x != "") [ - (optionalString withRodio "rodio-backend") - (optionalString withALSA "alsa-backend") - (optionalString withPulseAudio "pulseaudio-backend") - (optionalString withPortAudio "portaudio-backend") - - ])) - ]; + cargoSha256 = "1sal85gsbnrabxi39298w9njdc08csnwl40akd6k9fsc0fmpn1b0"; nativeBuildInputs = [ pkg-config ]; @@ -33,6 +21,12 @@ rustPlatform.buildRustPackage rec { ++ lib.optional withPulseAudio libpulseaudio ++ lib.optional withPortAudio portaudio; + buildNoDefaultFeatures = true; + buildFeatures = lib.optional withRodio "rodio-backend" + ++ lib.optional withALSA "alsa-backend" + ++ lib.optional withPulseAudio "pulseaudio-backend" + ++ lib.optional withPortAudio "portaudio-backend"; + doCheck = false; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/audio/linuxband/default.nix b/nixpkgs/pkgs/applications/audio/linuxband/default.nix deleted file mode 100644 index ec034ae238de..000000000000 --- a/nixpkgs/pkgs/applications/audio/linuxband/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, stdenv, fetchurl, makeWrapper, pkg-config, MMA, libjack2, libsmf, python2Packages }: - -let - inherit (python2Packages) pyGtkGlade pygtksourceview python; -in stdenv.mkDerivation rec { - version = "12.02.1"; - pname = "linuxband"; - - src = fetchurl { - url = "https://linuxband.org/assets/sources/${pname}-${version}.tar.gz"; - sha256 = "1r71h4yg775m4gax4irrvygmrsclgn503ykmc2qwjsxa42ri4n2n"; - }; - - nativeBuildInputs = [ pkg-config makeWrapper ]; - buildInputs = [ MMA libjack2 libsmf python pyGtkGlade pygtksourceview ]; - - patchPhase = '' - sed -i 's@/usr/@${MMA}/@g' src/main/config/linuxband.rc.in - cat src/main/config/linuxband.rc.in - ''; - - postFixup = '' - PYTHONPATH=$pyGtkGlade/share/:pygtksourceview/share/:$PYTHONPATH - for f in $out/bin/*; do - wrapProgram $f \ - --prefix PYTHONPATH : $PYTHONPATH - done - ''; - - meta = { - description = "A GUI front-end for MMA: Type in the chords, choose the groove and it will play an accompaniment"; - homepage = "https://linuxband.org/"; - license = lib.licenses.gpl2; - maintainers = [ lib.maintainers.magnetophon ]; - platforms = lib.platforms.linux; - }; -} diff --git a/nixpkgs/pkgs/applications/audio/lmms/default.nix b/nixpkgs/pkgs/applications/audio/lmms/default.nix index 4830476af2c8..22d9b3fed976 100644 --- a/nixpkgs/pkgs/applications/audio/lmms/default.nix +++ b/nixpkgs/pkgs/applications/audio/lmms/default.nix @@ -43,6 +43,6 @@ mkDerivation rec { homepage = "https://lmms.io"; license = licenses.gpl2Plus; platforms = [ "x86_64-linux" "i686-linux" ]; - maintainers = with maintainers; [ goibhniu yegortimoshenko ]; + maintainers = with maintainers; [ goibhniu yana ]; }; } diff --git a/nixpkgs/pkgs/applications/audio/lollypop/default.nix b/nixpkgs/pkgs/applications/audio/lollypop/default.nix index 564277562885..7c93760d2ca3 100644 --- a/nixpkgs/pkgs/applications/audio/lollypop/default.nix +++ b/nixpkgs/pkgs/applications/audio/lollypop/default.nix @@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec { pname = "lollypop"; - version = "1.4.23"; + version = "1.4.26"; 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-wwdH3gMpYt40VGqrL1XfB1dOfg45zLKtTEI23AwjCis="; + sha256 = "sha256-Q/z9oET06DimMRZl03TgjEeheoVHtIkH+Z69qWZetcI="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/losslessaudiochecker/default.nix b/nixpkgs/pkgs/applications/audio/losslessaudiochecker/default.nix new file mode 100644 index 000000000000..551f56a3ce14 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/losslessaudiochecker/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchurl, autoPatchelfHook }: + +stdenv.mkDerivation { + pname = "losslessaudiochecker"; + version = "2.0.5"; + + src = fetchurl { + url = "https://web.archive.org/web/20211119122205/https://losslessaudiochecker.com/dl/LAC-Linux-64bit.tar.gz"; + sha256 = "1i1zbl7sqwxwmhw89lgz922l5k85in3y76zb06h8j3zd0lb20wkq"; + }; + + nativeBuildInputs = [ autoPatchelfHook ]; + + setSourceRoot = "sourceRoot=$PWD"; + + dontBuild = true; + + installPhase = '' + install LAC -D -t $out/bin + ''; + + meta = { + description = "Utility to check whether audio is truly lossless or not"; + homepage = "https://losslessaudiochecker.com"; + license = lib.licenses.unfree; + platforms = lib.platforms.x86_64; + maintainers = with lib.maintainers; [ p-h ]; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix b/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix index 2bf47786ef53..f6f3237d6f07 100644 --- a/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix +++ b/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "lsp-plugins"; - version = "1.1.30"; + version = "1.1.31"; src = fetchFromGitHub { owner = "sadko4u"; repo = pname; rev = version; - sha256 = "0g0nx05dyjwz2149v3pj6sa9divr26jyqvg2kk1qk48s2n4najkz"; + sha256 = "sha256-P1woSkenSlVUwWr3q0sNv8K2fVtTa6zWwKfSHQgg9Xw="; }; nativeBuildInputs = [ pkg-config php makeWrapper ]; diff --git a/nixpkgs/pkgs/applications/audio/mi2ly/default.nix b/nixpkgs/pkgs/applications/audio/mi2ly/default.nix index b4f7668394f1..9a046a2e11aa 100644 --- a/nixpkgs/pkgs/applications/audio/mi2ly/default.nix +++ b/nixpkgs/pkgs/applications/audio/mi2ly/default.nix @@ -1,28 +1,20 @@ -{lib, stdenv, fetchurl}: -let - s = # Generated upstream information - rec { - baseName="mi2ly"; - version="0.12"; - name="${baseName}-${version}"; - hash="1b14zcwlvnxhjxr3ymyzg0mg4sbijkinzpxm641s859jxcgylmll"; - url="https://download.savannah.gnu.org/releases/mi2ly/mi2ly.0.12.tar.bz2"; - sha256="1b14zcwlvnxhjxr3ymyzg0mg4sbijkinzpxm641s859jxcgylmll"; - }; - buildInputs = [ - ]; -in -stdenv.mkDerivation { - inherit (s) name version; - inherit buildInputs; +{ lib, stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "mi2ly"; + version = "0.12"; + src = fetchurl { - inherit (s) url sha256; + url = "https://download.savannah.gnu.org/releases/mi2ly/mi2ly.${version}.tar.bz2"; + sha256 = "sha256-lFbqH+syFaQDMbXfb+OUcWnyKnjfVz9yl7DbTTn7JKw="; }; - sourceRoot="."; + sourceRoot = "."; hardeningDisable = [ "format" ]; + NIX_CFLAGS_COMPILE = [ "-fgnu89-inline" ]; + buildPhase = "./cc"; installPhase = '' mkdir -p "$out"/{bin,share/doc/mi2ly} @@ -30,12 +22,11 @@ stdenv.mkDerivation { cp README Doc.txt COPYING Manual.txt "$out/share/doc/mi2ly" ''; - meta = { - inherit (s) version; + meta = with lib; { description = "MIDI to Lilypond converter"; - license = lib.licenses.gpl2Plus ; - maintainers = [lib.maintainers.raskin]; - platforms = lib.platforms.linux; - broken = true; # 2018-04-11 + license = licenses.gpl2Plus; + maintainers = with maintainers; [ raskin ]; + platforms = platforms.linux; + homepage = "https://www.nongnu.org/mi2ly/"; }; } diff --git a/nixpkgs/pkgs/applications/audio/mi2ly/default.upstream b/nixpkgs/pkgs/applications/audio/mi2ly/default.upstream deleted file mode 100644 index 0b2607989aa2..000000000000 --- a/nixpkgs/pkgs/applications/audio/mi2ly/default.upstream +++ /dev/null @@ -1,3 +0,0 @@ -url https://download.savannah.gnu.org/releases/mi2ly/ -ensure_choice -version '.*/mi2ly[.]([0-9.]+)[.]tar.*' '\1' diff --git a/nixpkgs/pkgs/applications/audio/midi-visualizer/default.nix b/nixpkgs/pkgs/applications/audio/midi-visualizer/default.nix index 0213dc4af6da..a50e5dcd6690 100644 --- a/nixpkgs/pkgs/applications/audio/midi-visualizer/default.nix +++ b/nixpkgs/pkgs/applications/audio/midi-visualizer/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "MIDIVisualizer"; - version = "6.4"; + version = "6.5"; src = fetchFromGitHub { owner = "kosua20"; repo = pname; rev = "v${version}"; - sha256 = "sha256-XR5xmQYVbBR6QWt/+PLeGqg0t4xl35MPrQNaPsmgAYA="; + sha256 = "sha256-thRcRJ88bz3jwu6rKaQxt2MkBSf5Ri1jygkKDguP2eE="; }; nativeBuildInputs = [ cmake pkg-config makeWrapper]; diff --git a/nixpkgs/pkgs/applications/audio/milkytracker/default.nix b/nixpkgs/pkgs/applications/audio/milkytracker/default.nix index ce29a587d232..47fbd5794ea0 100644 --- a/nixpkgs/pkgs/applications/audio/milkytracker/default.nix +++ b/nixpkgs/pkgs/applications/audio/milkytracker/default.nix @@ -27,9 +27,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Music tracker application, similar to Fasttracker II"; - homepage = "http://milkytracker.org"; + homepage = "https://milkytracker.org/"; license = licenses.gpl3Plus; platforms = [ "x86_64-linux" "i686-linux" ]; - maintainers = with maintainers; [ zoomulator ]; + maintainers = with maintainers; []; }; } diff --git a/nixpkgs/pkgs/applications/audio/mimms/default.nix b/nixpkgs/pkgs/applications/audio/mimms/default.nix deleted file mode 100644 index 28ec09eba9ca..000000000000 --- a/nixpkgs/pkgs/applications/audio/mimms/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ fetchurl, lib, python2Packages, libmms }: - -python2Packages.buildPythonApplication rec { - pname = "mimms"; - version = "3.2"; - - src = fetchurl { - url = "https://download.savannah.gnu.org/releases/mimms/mimms-${version}.tar.bz2"; - sha256 = "0zmcd670mpq85cs3nvdq3i805ba0d1alqahfy1m9cpf7kxrivfml"; - }; - - postInstall = '' - wrapProgram $out/bin/mimms \ - --prefix LD_LIBRARY_PATH : ${libmms}/lib - ''; - - meta = { - homepage = "https://savannah.nongnu.org/projects/mimms/"; - license = lib.licenses.gpl3; - description = "An mms (e.g. mms://) stream downloader"; - - longDescription = '' - mimms is a program designed to allow you to download streams - using the MMS protocol and save them to your computer, as - opposed to watching them live. Similar functionality is - available in full media player suites such as Xine, MPlayer, - and VLC, but mimms is quick and easy to use and, for the time - being, remains a useful program. - ''; - }; -} diff --git a/nixpkgs/pkgs/applications/audio/mixxx/default.nix b/nixpkgs/pkgs/applications/audio/mixxx/default.nix index 518c54dc48aa..bbd0e07a64a4 100644 --- a/nixpkgs/pkgs/applications/audio/mixxx/default.nix +++ b/nixpkgs/pkgs/applications/audio/mixxx/default.nix @@ -53,13 +53,13 @@ mkDerivation rec { pname = "mixxx"; - version = "2.3.0"; + version = "2.3.1"; src = fetchFromGitHub { owner = "mixxxdj"; repo = "mixxx"; rev = version; - sha256 = "18sx4l3zzbn5142xfv5bp0crdd615a5728fkprqacnx3zpa144x6"; + sha256 = "sha256-6M1qaRyRYWTIKqclewuD+RUVDdxVbBHcfpw2qYgO6BA="; }; nativeBuildInputs = [ cmake pkg-config ]; @@ -117,7 +117,7 @@ mkDerivation rec { # mixxx installs udev rules to DATADIR instead of SYSCONFDIR # let's disable this and install udev rules manually via postInstall - # see https://github.com/mixxxdj/mixxx/blob/2.3.0/CMakeLists.txt#L1381-L1392 + # see https://github.com/mixxxdj/mixxx/blob/2.3.1/CMakeLists.txt#L1381-L1392 cmakeFlags = [ "-DINSTALL_USER_UDEV_RULES=OFF" ]; diff --git a/nixpkgs/pkgs/applications/audio/mmtc/default.nix b/nixpkgs/pkgs/applications/audio/mmtc/default.nix index fc5a2e9b0350..578cecf09b09 100644 --- a/nixpkgs/pkgs/applications/audio/mmtc/default.nix +++ b/nixpkgs/pkgs/applications/audio/mmtc/default.nix @@ -1,27 +1,26 @@ -{ fetchFromGitHub, installShellFiles, lib, rustPlatform }: +{ lib, rustPlatform, fetchFromGitHub, installShellFiles }: rustPlatform.buildRustPackage rec { pname = "mmtc"; - version = "0.2.13"; + version = "0.2.14"; src = fetchFromGitHub { owner = "figsoda"; repo = pname; rev = "v${version}"; - sha256 = "0ag87hgdg6fvk80fgznba0xjlcajks5w5s6y8lvwhz9irn2kq2rz"; + sha256 = "sha256-g2JHY95vkG/Ep2eqz8guteF8fHUso/JuuVijNGkgykA="; }; - cargoSha256 = "0lkx0zj9xc0rlrq91l4wydzp430hxlrqyq7ii8wq2fcan8ln22lv"; + cargoSha256 = "sha256-tVjy/O5hfnQFC6to8VMGc39mEXhA5lwUIne6pVvDec0="; nativeBuildInputs = [ installShellFiles ]; preFixup = '' completions=($releaseDir/build/mmtc-*/out/completions) - installShellCompletion ''${completions[0]}/mmtc.{bash,fish} - installShellCompletion --zsh ''${completions[0]}/_mmtc + installShellCompletion $completions/mmtc.{bash,fish} --zsh $completions/_mmtc ''; - GEN_COMPLETIONS = "1"; + GEN_COMPLETIONS = 1; meta = with lib; { description = "Minimal mpd terminal client that aims to be simple yet highly configurable"; diff --git a/nixpkgs/pkgs/applications/audio/mod-arpeggiator-lv2/default.nix b/nixpkgs/pkgs/applications/audio/mod-arpeggiator-lv2/default.nix new file mode 100644 index 000000000000..3896545dc41c --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/mod-arpeggiator-lv2/default.nix @@ -0,0 +1,26 @@ +{ lib, stdenv, fetchFromGitHub, lv2, pkg-config }: + +stdenv.mkDerivation rec { + + pname = "mod-arpeggiator-lv2"; + version = "unstable-2021-11-09"; + + src = fetchFromGitHub { + owner = "moddevices"; + repo = pname; + rev = "82f3d9f159ce216454656a8782362c3d5ed48bed"; + sha256 = "sha256-1KiWMTVTTf1/iR4AzJ1Oe0mOrWN5edsZN0tQMidgnRA="; + }; + + buildInputs = [ lv2 pkg-config ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with lib; { + description = "a LV2 arpeggiator"; + homepage = "https://github.com/moddevices/mod-arpeggiator-lv2"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.magnetophon ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/mod-distortion/default.nix b/nixpkgs/pkgs/applications/audio/mod-distortion/default.nix index 7c9f2acfd844..7e2b2bf6cfbd 100644 --- a/nixpkgs/pkgs/applications/audio/mod-distortion/default.nix +++ b/nixpkgs/pkgs/applications/audio/mod-distortion/default.nix @@ -1,8 +1,8 @@ { lib, stdenv, fetchFromGitHub, lv2 }: stdenv.mkDerivation { - pname = "mod-distortion-git"; - version = "2016-08-19"; + pname = "mod-distortion"; + version = "unstable-2016-08-19"; src = fetchFromGitHub { owner = "portalmod"; diff --git a/nixpkgs/pkgs/applications/audio/molot-lite/default.nix b/nixpkgs/pkgs/applications/audio/molot-lite/default.nix index c44f597ef30c..da1e3702bacc 100644 --- a/nixpkgs/pkgs/applications/audio/molot-lite/default.nix +++ b/nixpkgs/pkgs/applications/audio/molot-lite/default.nix @@ -1,18 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, lv2 }: +{ lib, stdenv, fetchFromGitHub, lv2, cairo, pkg-config }: stdenv.mkDerivation rec { pname = "molot-lite"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "magnetophon"; repo = pname; rev = version; - sha256 = "0xbvicfk1rgp01nlg6hlym9bnygry0nrbv88mv7w6hnacvl63ba4"; + sha256 = "sha256-0tmobsdCNon6udbkbQw7+EYQKBg2oaXlHIgNEf9U3XE="; }; - buildInputs = [ lv2 ]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ lv2 cairo ]; makeFlags = [ "INSTALL_DIR=$out/lib/lv2" ]; diff --git a/nixpkgs/pkgs/applications/audio/mopidy/default.nix b/nixpkgs/pkgs/applications/audio/mopidy/default.nix index 971b226bc81d..d1b43bc4489b 100644 --- a/nixpkgs/pkgs/applications/audio/mopidy/default.nix +++ b/nixpkgs/pkgs/applications/audio/mopidy/default.nix @@ -9,6 +9,8 @@ lib.makeScope newScope (self: with self; { mopidy-iris = callPackage ./iris.nix { }; + mopidy-jellyfin = callPackage ./jellyfin.nix { }; + mopidy-local = callPackage ./local.nix { }; mopidy-moped = callPackage ./moped.nix { }; diff --git a/nixpkgs/pkgs/applications/audio/mopidy/iris.nix b/nixpkgs/pkgs/applications/audio/mopidy/iris.nix index d02ca3d747eb..5b2cbe031c67 100644 --- a/nixpkgs/pkgs/applications/audio/mopidy/iris.nix +++ b/nixpkgs/pkgs/applications/audio/mopidy/iris.nix @@ -2,11 +2,11 @@ python3Packages.buildPythonApplication rec { pname = "Mopidy-Iris"; - version = "3.59.0"; + version = "3.60.0"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "0llvn0khl07ni34jvb3a1r6rnkf0ljizhpqrs5bdishfhpwyhm0j"; + sha256 = "18w6qqmxzn8psiacybryxailm826f3j1wgiv0c03fbdsy6kr5f7l"; }; propagatedBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/mopidy/jellyfin.nix b/nixpkgs/pkgs/applications/audio/mopidy/jellyfin.nix new file mode 100644 index 000000000000..7790380f9b76 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/mopidy/jellyfin.nix @@ -0,0 +1,25 @@ +{ lib, python3Packages, mopidy }: + +python3Packages.buildPythonApplication rec { + pname = "mopidy-jellyfin"; + version = "1.0.2"; + + src = python3Packages.fetchPypi { + inherit version; + pname = "Mopidy-Jellyfin"; + sha256 = "0j7v5xx3c401r5dw1sqm1n2263chjga1d3ml85rg79hjhhhacy75"; + }; + + propagatedBuildInputs = [ mopidy python3Packages.unidecode python3Packages.websocket-client ]; + + # no tests implemented + doCheck = false; + pythonImportsCheck = [ "mopidy_jellyfin" ]; + + meta = with lib; { + homepage = "https://github.com/jellyfin/mopidy-jellyfin"; + description = "Mopidy extension for playing audio files from Jellyfin"; + license = licenses.asl20; + maintainers = [ maintainers.pstn ]; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/mp3blaster/default.nix b/nixpkgs/pkgs/applications/audio/mp3blaster/default.nix index d7dd5f102dbd..0d65fe813ec1 100644 --- a/nixpkgs/pkgs/applications/audio/mp3blaster/default.nix +++ b/nixpkgs/pkgs/applications/audio/mp3blaster/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, ncurses, libvorbis, SDL }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, libvorbis, SDL }: stdenv.mkDerivation rec { pname = "mp3blaster"; @@ -11,6 +11,16 @@ stdenv.mkDerivation rec { sha256 = "0pzwml3yhysn8vyffw9q9p9rs8gixqkmg4n715vm23ib6wxbliqs"; }; + patches = [ + # Fix pending upstream inclusion for ncurses-6.3 support: + # https://github.com/stragulus/mp3blaster/pull/8 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/stragulus/mp3blaster/commit/62168cba5eaba6ffe56943552837cf033cfa96ed.patch"; + sha256 = "088l27kl1l58lwxfnw5x2n64sdjy925ycphni3icwag7zvpj0xz1"; + }) + ]; + buildInputs = [ ncurses libvorbis diff --git a/nixpkgs/pkgs/applications/audio/mpc/default.nix b/nixpkgs/pkgs/applications/audio/mpc/default.nix index e4ecc9202476..0511367db3b8 100644 --- a/nixpkgs/pkgs/applications/audio/mpc/default.nix +++ b/nixpkgs/pkgs/applications/audio/mpc/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "mpc"; - version = "0.33"; + version = "0.34"; src = fetchFromGitHub { owner = "MusicPlayerDaemon"; repo = "mpc"; rev = "v${version}"; - sha256 = "1qbi0i9cq54rj8z2kapk8x8g1jkw2jz781niwb9i7kw4xfhvy5zx"; + sha256 = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw="; }; buildInputs = [ libmpdclient ] ++ lib.optionals stdenv.isDarwin [ libiconv ]; diff --git a/nixpkgs/pkgs/applications/audio/mpdevil/default.nix b/nixpkgs/pkgs/applications/audio/mpdevil/default.nix index b55cf9be3518..3676697f16e8 100644 --- a/nixpkgs/pkgs/applications/audio/mpdevil/default.nix +++ b/nixpkgs/pkgs/applications/audio/mpdevil/default.nix @@ -7,13 +7,13 @@ python3Packages.buildPythonApplication rec { pname = "mpdevil"; - version = "1.3.0"; + version = "1.4.1"; src = fetchFromGitHub { owner = "SoongNoonien"; repo = pname; rev = "v${version}"; - sha256 = "1wa5wkkv8kvzlxrhqmmhjmrzcm5v2dij516dk4vlpv9sazc6gzkm"; + sha256 = "1a5nhlbgi3ahnkcq16c2vgiaghgswy5lxg64pcrlbqssg1pj5gma"; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/munt/default.nix b/nixpkgs/pkgs/applications/audio/munt/default.nix index 191612700f41..93a9ce258544 100644 --- a/nixpkgs/pkgs/applications/audio/munt/default.nix +++ b/nixpkgs/pkgs/applications/audio/munt/default.nix @@ -36,7 +36,6 @@ mkDerivation rec { postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir $out/Applications mv $out/bin/${mainProgram}.app $out/Applications/ - wrapQtApp $out/Applications/${mainProgram}.app/Contents/MacOS/${mainProgram} ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram} ''; diff --git a/nixpkgs/pkgs/applications/audio/musescore/default.nix b/nixpkgs/pkgs/applications/audio/musescore/default.nix index 4b784272c35b..7662eadc4983 100644 --- a/nixpkgs/pkgs/applications/audio/musescore/default.nix +++ b/nixpkgs/pkgs/applications/audio/musescore/default.nix @@ -29,9 +29,9 @@ mkDerivation rec { qtWrapperArgs = [ # MuseScore JACK backend loads libjack at runtime. "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libjack2 ]}" - # Work around crash on update from 3.4.2 to 3.5.0 - # https://bugreports.qt.io/browse/QTBUG-85967 - "--set QML_DISABLE_DISK_CACHE 1" + # There are some issues with using the wayland backend, see: + # https://musescore.org/en/node/321936 + "--set QT_QPA_PLATFORM xcb" ]; nativeBuildInputs = [ cmake pkg-config ]; @@ -49,7 +49,7 @@ mkDerivation rec { description = "Music notation and composition software"; homepage = "https://musescore.org/"; license = licenses.gpl2; - maintainers = with maintainers; [ vandenoever turion ]; + maintainers = with maintainers; [ vandenoever turion doronbehar ]; platforms = platforms.linux; repositories.git = "https://github.com/musescore/MuseScore"; }; diff --git a/nixpkgs/pkgs/applications/audio/musikcube/default.nix b/nixpkgs/pkgs/applications/audio/musikcube/default.nix index 2824832ef604..bf34e8cbe5bf 100644 --- a/nixpkgs/pkgs/applications/audio/musikcube/default.nix +++ b/nixpkgs/pkgs/applications/audio/musikcube/default.nix @@ -4,28 +4,41 @@ , boost , curl , fetchFromGitHub +, fetchpatch , ffmpeg , lame , libev , libmicrohttpd , ncurses , pulseaudio -, lib, stdenv +, lib +, stdenv , taglib -, systemdSupport ? stdenv.isLinux, systemd +, systemdSupport ? stdenv.isLinux +, systemd }: stdenv.mkDerivation rec { pname = "musikcube"; - version = "0.96.7"; + version = "0.96.10"; src = fetchFromGitHub { owner = "clangen"; repo = pname; rev = version; - sha256 = "1y00vwn1h10cfflxrm5bk271ak9gilhjycgi44hlkkhmf5bdgn35"; + sha256 = "sha256-Aa52pRGq99Pt++aEVZdmVNhhQuBajgfZp39L1AfKvho="; }; + patches = [ + # Fix pending upstream inclusion for ncuurses-6.3 support: + # https://github.com/clangen/musikcube/pull/474 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/clangen/musikcube/commit/1240720e27232fdb199a4da93ca6705864442026.patch"; + sha256 = "0bhjgwnj6d24wb1m9xz1vi1k9xk27arba1absjbcimggn54pinid"; + }) + ]; + nativeBuildInputs = [ cmake pkg-config diff --git a/nixpkgs/pkgs/applications/audio/ncmpc/default.nix b/nixpkgs/pkgs/applications/audio/ncmpc/default.nix index e397534d126c..67c4efc04be3 100644 --- a/nixpkgs/pkgs/applications/audio/ncmpc/default.nix +++ b/nixpkgs/pkgs/applications/audio/ncmpc/default.nix @@ -18,13 +18,13 @@ assert pcreSupport -> pcre != null; stdenv.mkDerivation rec { pname = "ncmpc"; - version = "0.45"; + version = "0.46"; src = fetchFromGitHub { owner = "MusicPlayerDaemon"; repo = "ncmpc"; rev = "v${version}"; - sha256 = "sha256-KDSHbEZ2PJLEIlXqPvBQ2ZPWno+IoajTjkl9faAXIko="; + sha256 = "sha256-FyuN0jkHaJLXqcVbW+OggHkNBjmqH7bS7W/QXUoDjJk="; }; buildInputs = [ glib ncurses libmpdclient boost ] diff --git a/nixpkgs/pkgs/applications/audio/ncspot/default.nix b/nixpkgs/pkgs/applications/audio/ncspot/default.nix index 012315a7d723..6ba52306e8c4 100644 --- a/nixpkgs/pkgs/applications/audio/ncspot/default.nix +++ b/nixpkgs/pkgs/applications/audio/ncspot/default.nix @@ -5,27 +5,18 @@ , withMPRIS ? false, dbus ? null }: -let - features = [ "cursive/pancurses-backend" ] - ++ lib.optional withALSA "alsa_backend" - ++ lib.optional withPulseAudio "pulseaudio_backend" - ++ lib.optional withPortAudio "portaudio_backend" - ++ lib.optional withMPRIS "mpris"; -in rustPlatform.buildRustPackage rec { pname = "ncspot"; - version = "0.8.2"; + version = "0.9.3"; src = fetchFromGitHub { owner = "hrkfdn"; repo = "ncspot"; rev = "v${version}"; - sha256 = "1rs1jy7zzfgqzr64ld8whn0wlw8n7rk1svxx0xfxm3ynmgc7sd68"; + sha256 = "sha256-k4EGyQjjJCvUhp56OjYl63n+giI05GiIS2++I1SVhCg="; }; - cargoSha256 = "10g7gdi1iz751wa60vr4fs0cvfsgs3pfcp8pnywicl0vsdp25fmc"; - - cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ]; + cargoSha256 = "sha256-YsjInqmkPnAwqgRBDiwcLH0DDqCF0NElrn+WO2v+ATM="; nativeBuildInputs = [ pkg-config ]; @@ -36,6 +27,13 @@ rustPlatform.buildRustPackage rec { ++ lib.optional withPortAudio portaudio ++ lib.optional withMPRIS dbus; + buildNoDefaultFeatures = true; + buildFeatures = [ "cursive/pancurses-backend" ] + ++ lib.optional withALSA "alsa_backend" + ++ lib.optional withPulseAudio "pulseaudio_backend" + ++ lib.optional withPortAudio "portaudio_backend" + ++ lib.optional withMPRIS "mpris"; + doCheck = false; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/cargo-lock.patch b/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/cargo-lock.patch new file mode 100644 index 000000000000..7fc21c11ff7c --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/cargo-lock.patch @@ -0,0 +1,2007 @@ +diff --git a/Cargo.lock b/Cargo.lock +new file mode 100644 +index 0000000..41d41a5 +--- /dev/null ++++ b/Cargo.lock +@@ -0,0 +1,2001 @@ ++# This file is automatically @generated by Cargo. ++# It is not intended for manual editing. ++version = 3 ++ ++[[package]] ++name = "aho-corasick" ++version = "0.7.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" ++dependencies = [ ++ "memchr", ++] ++ ++[[package]] ++name = "ansi_term" ++version = "0.12.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" ++dependencies = [ ++ "winapi", ++] ++ ++[[package]] ++name = "anyhow" ++version = "1.0.45" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ee10e43ae4a853c0a3591d4e2ada1719e553be18199d9da9d4a83f5927c2f5c7" ++ ++[[package]] ++name = "async-channel" ++version = "1.6.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" ++dependencies = [ ++ "concurrent-queue", ++ "event-listener", ++ "futures-core", ++] ++ ++[[package]] ++name = "async-executor" ++version = "1.4.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" ++dependencies = [ ++ "async-task", ++ "concurrent-queue", ++ "fastrand", ++ "futures-lite", ++ "once_cell", ++ "slab", ++] ++ ++[[package]] ++name = "async-global-executor" ++version = "2.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6" ++dependencies = [ ++ "async-channel", ++ "async-executor", ++ "async-io", ++ "async-mutex", ++ "blocking", ++ "futures-lite", ++ "num_cpus", ++ "once_cell", ++] ++ ++[[package]] ++name = "async-io" ++version = "1.6.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b" ++dependencies = [ ++ "concurrent-queue", ++ "futures-lite", ++ "libc", ++ "log", ++ "once_cell", ++ "parking", ++ "polling", ++ "slab", ++ "socket2", ++ "waker-fn", ++ "winapi", ++] ++ ++[[package]] ++name = "async-lock" ++version = "2.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b" ++dependencies = [ ++ "event-listener", ++] ++ ++[[package]] ++name = "async-mutex" ++version = "1.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" ++dependencies = [ ++ "event-listener", ++] ++ ++[[package]] ++name = "async-std" ++version = "1.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f8056f1455169ab86dd47b47391e4ab0cbd25410a70e9fe675544f49bafaf952" ++dependencies = [ ++ "async-channel", ++ "async-global-executor", ++ "async-io", ++ "async-lock", ++ "crossbeam-utils", ++ "futures-channel", ++ "futures-core", ++ "futures-io", ++ "futures-lite", ++ "gloo-timers", ++ "kv-log-macro", ++ "log", ++ "memchr", ++ "num_cpus", ++ "once_cell", ++ "pin-project-lite", ++ "pin-utils", ++ "slab", ++ "wasm-bindgen-futures", ++] ++ ++[[package]] ++name = "async-task" ++version = "4.0.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" ++ ++[[package]] ++name = "atk" ++version = "0.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "812b4911e210bd51b24596244523c856ca749e6223c50a7fbbba3f89ee37c426" ++dependencies = [ ++ "atk-sys", ++ "bitflags", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++] ++ ++[[package]] ++name = "atk-sys" ++version = "0.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f530e4af131d94cc4fa15c5c9d0348f0ef28bac64ba660b6b2a1cf2605dedfce" ++dependencies = [ ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "atomic-waker" ++version = "1.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" ++ ++[[package]] ++name = "atty" ++version = "0.2.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" ++dependencies = [ ++ "hermit-abi", ++ "libc", ++ "winapi", ++] ++ ++[[package]] ++name = "autocfg" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" ++ ++[[package]] ++name = "base64" ++version = "0.13.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" ++ ++[[package]] ++name = "bincode" ++version = "1.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" ++dependencies = [ ++ "serde", ++] ++ ++[[package]] ++name = "bitflags" ++version = "1.3.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" ++ ++[[package]] ++name = "blocking" ++version = "1.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c5e170dbede1f740736619b776d7251cb1b9095c435c34d8ca9f57fcd2f335e9" ++dependencies = [ ++ "async-channel", ++ "async-task", ++ "atomic-waker", ++ "fastrand", ++ "futures-lite", ++ "once_cell", ++] ++ ++[[package]] ++name = "bumpalo" ++version = "3.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" ++ ++[[package]] ++name = "bytes" ++version = "1.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" ++ ++[[package]] ++name = "cache-padded" ++version = "1.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" ++ ++[[package]] ++name = "cairo-rs" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c5c0f2e047e8ca53d0ff249c54ae047931d7a6ebe05d00af73e0ffeb6e34bdb8" ++dependencies = [ ++ "bitflags", ++ "cairo-sys-rs", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "thiserror", ++] ++ ++[[package]] ++name = "cairo-sys-rs" ++version = "0.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2ed2639b9ad5f1d6efa76de95558e11339e7318426d84ac4890b86c03e828ca7" ++dependencies = [ ++ "glib-sys", ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "castaway" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ed247d1586918e46f2bbe0f13b06498db8dab5a8c1093f156652e9f2e0a73fc3" ++ ++[[package]] ++name = "cc" ++version = "1.0.71" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" ++ ++[[package]] ++name = "cfg-if" ++version = "1.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" ++ ++[[package]] ++name = "chrono" ++version = "0.4.19" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" ++dependencies = [ ++ "libc", ++ "num-integer", ++ "num-traits", ++ "time", ++ "winapi", ++] ++ ++[[package]] ++name = "concurrent-queue" ++version = "1.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" ++dependencies = [ ++ "cache-padded", ++] ++ ++[[package]] ++name = "crossbeam-utils" ++version = "0.8.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" ++dependencies = [ ++ "cfg-if", ++ "lazy_static", ++] ++ ++[[package]] ++name = "ctor" ++version = "0.1.21" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa" ++dependencies = [ ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "curl" ++version = "0.4.40" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "877cc2f9b8367e32b6dabb9d581557e651cb3aa693a37f8679091bbf42687d5d" ++dependencies = [ ++ "curl-sys", ++ "libc", ++ "openssl-probe", ++ "openssl-sys", ++ "schannel", ++ "socket2", ++ "winapi", ++] ++ ++[[package]] ++name = "curl-sys" ++version = "0.4.50+curl-7.79.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4856b76919dd599f31236bb18db5f5bd36e2ce131e64f857ca5c259665b76171" ++dependencies = [ ++ "cc", ++ "libc", ++ "libnghttp2-sys", ++ "libz-sys", ++ "openssl-sys", ++ "pkg-config", ++ "vcpkg", ++ "winapi", ++] ++ ++[[package]] ++name = "custom_error" ++version = "1.9.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4f8a51dd197fa6ba5b4dc98a990a43cc13693c23eb0089ebb0fcc1f04152bca6" ++ ++[[package]] ++name = "dbus" ++version = "0.6.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "48b5f0f36f1eebe901b0e6bee369a77ed3396334bf3f09abd46454a576f71819" ++dependencies = [ ++ "libc", ++ "libdbus-sys", ++] ++ ++[[package]] ++name = "dirs" ++version = "3.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" ++dependencies = [ ++ "dirs-sys", ++] ++ ++[[package]] ++name = "dirs" ++version = "4.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" ++dependencies = [ ++ "dirs-sys", ++] ++ ++[[package]] ++name = "dirs-sys" ++version = "0.3.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" ++dependencies = [ ++ "libc", ++ "redox_users", ++ "winapi", ++] ++ ++[[package]] ++name = "either" ++version = "1.6.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" ++ ++[[package]] ++name = "encoding_rs" ++version = "0.8.29" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a74ea89a0a1b98f6332de42c95baff457ada66d1cb4030f9ff151b2041a1c746" ++dependencies = [ ++ "cfg-if", ++] ++ ++[[package]] ++name = "event-listener" ++version = "2.5.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59" ++ ++[[package]] ++name = "fastrand" ++version = "1.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e" ++dependencies = [ ++ "instant", ++] ++ ++[[package]] ++name = "fnv" ++version = "1.0.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" ++ ++[[package]] ++name = "foreign-types" ++version = "0.3.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" ++dependencies = [ ++ "foreign-types-shared", ++] ++ ++[[package]] ++name = "foreign-types-shared" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" ++ ++[[package]] ++name = "form_urlencoded" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" ++dependencies = [ ++ "matches", ++ "percent-encoding", ++] ++ ++[[package]] ++name = "fragile" ++version = "1.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "69a039c3498dc930fe810151a34ba0c1c70b02b8625035592e74432f678591f2" ++ ++[[package]] ++name = "futures" ++version = "0.3.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca" ++dependencies = [ ++ "futures-channel", ++ "futures-core", ++ "futures-executor", ++ "futures-io", ++ "futures-sink", ++ "futures-task", ++ "futures-util", ++] ++ ++[[package]] ++name = "futures-channel" ++version = "0.3.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888" ++dependencies = [ ++ "futures-core", ++ "futures-sink", ++] ++ ++[[package]] ++name = "futures-core" ++version = "0.3.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" ++ ++[[package]] ++name = "futures-executor" ++version = "0.3.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c" ++dependencies = [ ++ "futures-core", ++ "futures-task", ++ "futures-util", ++] ++ ++[[package]] ++name = "futures-io" ++version = "0.3.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" ++ ++[[package]] ++name = "futures-lite" ++version = "1.12.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" ++dependencies = [ ++ "fastrand", ++ "futures-core", ++ "futures-io", ++ "memchr", ++ "parking", ++ "pin-project-lite", ++ "waker-fn", ++] ++ ++[[package]] ++name = "futures-macro" ++version = "0.3.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb" ++dependencies = [ ++ "autocfg", ++ "proc-macro-hack", ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "futures-sink" ++version = "0.3.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11" ++ ++[[package]] ++name = "futures-task" ++version = "0.3.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" ++ ++[[package]] ++name = "futures-util" ++version = "0.3.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" ++dependencies = [ ++ "autocfg", ++ "futures-channel", ++ "futures-core", ++ "futures-io", ++ "futures-macro", ++ "futures-sink", ++ "futures-task", ++ "memchr", ++ "pin-project-lite", ++ "pin-utils", ++ "proc-macro-hack", ++ "proc-macro-nested", ++ "slab", ++] ++ ++[[package]] ++name = "gdk" ++version = "0.13.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "db00839b2a68a7a10af3fa28dfb3febaba3a20c3a9ac2425a33b7df1f84a6b7d" ++dependencies = [ ++ "bitflags", ++ "cairo-rs", ++ "cairo-sys-rs", ++ "gdk-pixbuf", ++ "gdk-sys", ++ "gio", ++ "gio-sys", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "pango", ++] ++ ++[[package]] ++name = "gdk-pixbuf" ++version = "0.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8f6dae3cb99dd49b758b88f0132f8d401108e63ae8edd45f432d42cdff99998a" ++dependencies = [ ++ "gdk-pixbuf-sys", ++ "gio", ++ "gio-sys", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++] ++ ++[[package]] ++name = "gdk-pixbuf-sys" ++version = "0.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3bfe468a7f43e97b8d193a762b6c5cf67a7d36cacbc0b9291dbcae24bfea1e8f" ++dependencies = [ ++ "gio-sys", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "gdk-sys" ++version = "0.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0a9653cfc500fd268015b1ac055ddbc3df7a5c9ea3f4ccef147b3957bd140d69" ++dependencies = [ ++ "cairo-sys-rs", ++ "gdk-pixbuf-sys", ++ "gio-sys", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "pango-sys", ++ "pkg-config", ++ "system-deps", ++] ++ ++[[package]] ++name = "getrandom" ++version = "0.2.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "wasi", ++] ++ ++[[package]] ++name = "gio" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1fb60242bfff700772dae5d9e3a1f7aa2e4ebccf18b89662a16acb2822568561" ++dependencies = [ ++ "bitflags", ++ "futures", ++ "futures-channel", ++ "futures-core", ++ "futures-io", ++ "futures-util", ++ "gio-sys", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "once_cell", ++ "thiserror", ++] ++ ++[[package]] ++name = "gio-sys" ++version = "0.10.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5e24fb752f8f5d2cf6bbc2c606fd2bc989c81c5e2fe321ab974d54f8b6344eac" ++dependencies = [ ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "system-deps", ++ "winapi", ++] ++ ++[[package]] ++name = "glib" ++version = "0.10.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0c685013b7515e668f1b57a165b009d4d28cb139a8a989bbd699c10dad29d0c5" ++dependencies = [ ++ "bitflags", ++ "futures-channel", ++ "futures-core", ++ "futures-executor", ++ "futures-task", ++ "futures-util", ++ "glib-macros", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "once_cell", ++] ++ ++[[package]] ++name = "glib-macros" ++version = "0.10.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "41486a26d1366a8032b160b59065a59fb528530a46a49f627e7048fb8c064039" ++dependencies = [ ++ "anyhow", ++ "heck", ++ "itertools", ++ "proc-macro-crate", ++ "proc-macro-error", ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "glib-sys" ++version = "0.10.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c7e9b997a66e9a23d073f2b1abb4dbfc3925e0b8952f67efd8d9b6e168e4cdc1" ++dependencies = [ ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "gloo-timers" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" ++dependencies = [ ++ "futures-channel", ++ "futures-core", ++ "js-sys", ++ "wasm-bindgen", ++ "web-sys", ++] ++ ++[[package]] ++name = "gobject-sys" ++version = "0.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "952133b60c318a62bf82ee75b93acc7e84028a093e06b9e27981c2b6fe68218c" ++dependencies = [ ++ "glib-sys", ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "gstreamer" ++version = "0.16.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9ff5d0f7ff308ae37e6eb47b6ded17785bdea06e438a708cd09e0288c1862f33" ++dependencies = [ ++ "bitflags", ++ "cfg-if", ++ "futures-channel", ++ "futures-core", ++ "futures-util", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "gstreamer-sys", ++ "libc", ++ "muldiv", ++ "num-rational 0.3.2", ++ "once_cell", ++ "paste", ++ "pretty-hex", ++ "thiserror", ++] ++ ++[[package]] ++name = "gstreamer-base" ++version = "0.16.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bafd01c56f59cb10f4b5a10f97bb4bdf8c2b2784ae5b04da7e2d400cf6e6afcf" ++dependencies = [ ++ "bitflags", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "gstreamer", ++ "gstreamer-base-sys", ++ "gstreamer-sys", ++ "libc", ++] ++ ++[[package]] ++name = "gstreamer-base-sys" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a4b7b6dc2d6e160a1ae28612f602bd500b3fa474ce90bf6bb2f08072682beef5" ++dependencies = [ ++ "glib-sys", ++ "gobject-sys", ++ "gstreamer-sys", ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "gstreamer-player" ++version = "0.16.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "34edf65e48e0d29c18101d77a2e004488a61f81a852a75e19d9c73e03d35cb77" ++dependencies = [ ++ "bitflags", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "gstreamer", ++ "gstreamer-player-sys", ++ "gstreamer-sys", ++ "gstreamer-video", ++ "libc", ++] ++ ++[[package]] ++name = "gstreamer-player-sys" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "53aaf79503e691a32266670bc631edb6c52bdb854984da76a0ce2756f49584a2" ++dependencies = [ ++ "glib-sys", ++ "gobject-sys", ++ "gstreamer-sys", ++ "gstreamer-video-sys", ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "gstreamer-sys" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fc1f154082d01af5718c5f8a8eb4f565a4ea5586ad8833a8fc2c2aa6844b601d" ++dependencies = [ ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "gstreamer-video" ++version = "0.16.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f7bbb1485d87469849ec45c08e03c2f280d3ea20ff3c439d03185be54e3ce98e" ++dependencies = [ ++ "bitflags", ++ "futures-channel", ++ "futures-util", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "gstreamer", ++ "gstreamer-base", ++ "gstreamer-base-sys", ++ "gstreamer-sys", ++ "gstreamer-video-sys", ++ "libc", ++ "once_cell", ++] ++ ++[[package]] ++name = "gstreamer-video-sys" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "92347e46438007d6a2386302125f62cb9df6769cdacb931af5c0f12c1ee21de4" ++dependencies = [ ++ "glib-sys", ++ "gobject-sys", ++ "gstreamer-base-sys", ++ "gstreamer-sys", ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "gtk" ++version = "0.9.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2f022f2054072b3af07666341984562c8e626a79daa8be27b955d12d06a5ad6a" ++dependencies = [ ++ "atk", ++ "bitflags", ++ "cairo-rs", ++ "cairo-sys-rs", ++ "cc", ++ "gdk", ++ "gdk-pixbuf", ++ "gdk-pixbuf-sys", ++ "gdk-sys", ++ "gio", ++ "gio-sys", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "gtk-sys", ++ "libc", ++ "once_cell", ++ "pango", ++ "pango-sys", ++ "pkg-config", ++] ++ ++[[package]] ++name = "gtk-sys" ++version = "0.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "89acda6f084863307d948ba64a4b1ef674e8527dddab147ee4cdcc194c880457" ++dependencies = [ ++ "atk-sys", ++ "cairo-sys-rs", ++ "gdk-pixbuf-sys", ++ "gdk-sys", ++ "gio-sys", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "pango-sys", ++ "system-deps", ++] ++ ++[[package]] ++name = "heck" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" ++dependencies = [ ++ "unicode-segmentation", ++] ++ ++[[package]] ++name = "hermit-abi" ++version = "0.1.19" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "hex" ++version = "0.4.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" ++ ++[[package]] ++name = "http" ++version = "0.2.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" ++dependencies = [ ++ "bytes", ++ "fnv", ++ "itoa", ++] ++ ++[[package]] ++name = "idna" ++version = "0.2.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" ++dependencies = [ ++ "matches", ++ "unicode-bidi", ++ "unicode-normalization", ++] ++ ++[[package]] ++name = "instant" ++version = "0.1.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" ++dependencies = [ ++ "cfg-if", ++] ++ ++[[package]] ++name = "isahc" ++version = "1.5.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "40ef5402b1791c9fc479ef9871601a2f10e4cc0f14414a5c9c6e043fb51e5a56" ++dependencies = [ ++ "async-channel", ++ "castaway", ++ "chrono", ++ "crossbeam-utils", ++ "curl", ++ "curl-sys", ++ "encoding_rs", ++ "event-listener", ++ "futures-lite", ++ "http", ++ "log", ++ "mime", ++ "once_cell", ++ "polling", ++ "slab", ++ "sluice", ++ "tracing", ++ "tracing-futures", ++ "url", ++ "waker-fn", ++] ++ ++[[package]] ++name = "itertools" ++version = "0.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" ++dependencies = [ ++ "either", ++] ++ ++[[package]] ++name = "itoa" ++version = "0.4.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" ++ ++[[package]] ++name = "js-sys" ++version = "0.3.55" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" ++dependencies = [ ++ "wasm-bindgen", ++] ++ ++[[package]] ++name = "kv-log-macro" ++version = "1.0.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" ++dependencies = [ ++ "log", ++] ++ ++[[package]] ++name = "lazy_static" ++version = "1.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" ++ ++[[package]] ++name = "libc" ++version = "0.2.107" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fbe5e23404da5b4f555ef85ebed98fb4083e55a00c317800bc2a50ede9f3d219" ++ ++[[package]] ++name = "libdbus-sys" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c185b5b7ad900923ef3a8ff594083d4d9b5aea80bb4f32b8342363138c0d456b" ++dependencies = [ ++ "pkg-config", ++] ++ ++[[package]] ++name = "libnghttp2-sys" ++version = "0.1.7+1.45.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "57ed28aba195b38d5ff02b9170cbff627e336a20925e43b4945390401c5dc93f" ++dependencies = [ ++ "cc", ++ "libc", ++] ++ ++[[package]] ++name = "libz-sys" ++version = "1.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66" ++dependencies = [ ++ "cc", ++ "libc", ++ "pkg-config", ++ "vcpkg", ++] ++ ++[[package]] ++name = "log" ++version = "0.4.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" ++dependencies = [ ++ "cfg-if", ++ "value-bag", ++] ++ ++[[package]] ++name = "loggerv" ++version = "0.7.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "60d8de15ae71e760bce7f05447f85f73624fe0d3b1e4c5a63ba5d4cb0748d374" ++dependencies = [ ++ "ansi_term", ++ "atty", ++ "log", ++] ++ ++[[package]] ++name = "matches" ++version = "0.1.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" ++ ++[[package]] ++name = "memchr" ++version = "2.4.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" ++ ++[[package]] ++name = "mime" ++version = "0.3.16" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" ++ ++[[package]] ++name = "mp4ameta" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "619f6fe86b8690efad1c53d2cc8b9c1af2a5f8b93247e0ba05ece1b7639b4e66" ++dependencies = [ ++ "lazy_static", ++ "mp4ameta_proc", ++] ++ ++[[package]] ++name = "mp4ameta_proc" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4975ce203cd69e96a89f803d87b7b53d1950a6e93668a666d177c28aebd15c8a" ++ ++[[package]] ++name = "mpris-player" ++version = "0.6.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4f6badd6ebe31be46eb2e2975cf3b34b183bace5f8a8db1d609fefc4d46fbb07" ++dependencies = [ ++ "dbus", ++ "glib", ++] ++ ++[[package]] ++name = "muldiv" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0419348c027fa7be448d2ae7ea0e4e04c2334c31dc4e74ab29f00a2a7ca69204" ++ ++[[package]] ++name = "netease-cloud-music-gtk" ++version = "1.2.2" ++dependencies = [ ++ "async-std", ++ "base64", ++ "bincode", ++ "cairo-rs", ++ "chrono", ++ "custom_error", ++ "dirs 4.0.0", ++ "fragile", ++ "futures", ++ "gdk", ++ "gdk-pixbuf", ++ "gio", ++ "glib", ++ "gstreamer", ++ "gstreamer-player", ++ "gtk", ++ "hex", ++ "isahc", ++ "lazy_static", ++ "log", ++ "loggerv", ++ "mp4ameta", ++ "mpris-player", ++ "num", ++ "openssl", ++ "pango", ++ "rand", ++ "regex", ++ "serde", ++ "serde_json", ++ "urlqstring", ++ "xdg", ++] ++ ++[[package]] ++name = "num" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" ++dependencies = [ ++ "num-bigint", ++ "num-complex", ++ "num-integer", ++ "num-iter", ++ "num-rational 0.4.0", ++ "num-traits", ++] ++ ++[[package]] ++name = "num-bigint" ++version = "0.4.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" ++dependencies = [ ++ "autocfg", ++ "num-integer", ++ "num-traits", ++] ++ ++[[package]] ++name = "num-complex" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" ++dependencies = [ ++ "num-traits", ++] ++ ++[[package]] ++name = "num-integer" ++version = "0.1.44" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" ++dependencies = [ ++ "autocfg", ++ "num-traits", ++] ++ ++[[package]] ++name = "num-iter" ++version = "0.1.42" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" ++dependencies = [ ++ "autocfg", ++ "num-integer", ++ "num-traits", ++] ++ ++[[package]] ++name = "num-rational" ++version = "0.3.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" ++dependencies = [ ++ "autocfg", ++ "num-integer", ++ "num-traits", ++] ++ ++[[package]] ++name = "num-rational" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" ++dependencies = [ ++ "autocfg", ++ "num-bigint", ++ "num-integer", ++ "num-traits", ++] ++ ++[[package]] ++name = "num-traits" ++version = "0.2.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" ++dependencies = [ ++ "autocfg", ++] ++ ++[[package]] ++name = "num_cpus" ++version = "1.13.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" ++dependencies = [ ++ "hermit-abi", ++ "libc", ++] ++ ++[[package]] ++name = "once_cell" ++version = "1.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" ++ ++[[package]] ++name = "openssl" ++version = "0.10.38" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" ++dependencies = [ ++ "bitflags", ++ "cfg-if", ++ "foreign-types", ++ "libc", ++ "once_cell", ++ "openssl-sys", ++] ++ ++[[package]] ++name = "openssl-probe" ++version = "0.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" ++ ++[[package]] ++name = "openssl-sys" ++version = "0.9.70" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c6517987b3f8226b5da3661dad65ff7f300cc59fb5ea8333ca191fc65fde3edf" ++dependencies = [ ++ "autocfg", ++ "cc", ++ "libc", ++ "pkg-config", ++ "vcpkg", ++] ++ ++[[package]] ++name = "pango" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9937068580bebd8ced19975938573803273ccbcbd598c58d4906efd4ac87c438" ++dependencies = [ ++ "bitflags", ++ "glib", ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "once_cell", ++ "pango-sys", ++] ++ ++[[package]] ++name = "pango-sys" ++version = "0.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "24d2650c8b62d116c020abd0cea26a4ed96526afda89b1c4ea567131fdefc890" ++dependencies = [ ++ "glib-sys", ++ "gobject-sys", ++ "libc", ++ "system-deps", ++] ++ ++[[package]] ++name = "parking" ++version = "2.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" ++ ++[[package]] ++name = "paste" ++version = "1.0.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5" ++ ++[[package]] ++name = "percent-encoding" ++version = "2.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" ++ ++[[package]] ++name = "pin-project" ++version = "1.0.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" ++dependencies = [ ++ "pin-project-internal", ++] ++ ++[[package]] ++name = "pin-project-internal" ++version = "1.0.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "pin-project-lite" ++version = "0.2.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" ++ ++[[package]] ++name = "pin-utils" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" ++ ++[[package]] ++name = "pkg-config" ++version = "0.3.22" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f" ++ ++[[package]] ++name = "polling" ++version = "2.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "log", ++ "wepoll-ffi", ++ "winapi", ++] ++ ++[[package]] ++name = "ppv-lite86" ++version = "0.2.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" ++ ++[[package]] ++name = "pretty-hex" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bc5c99d529f0d30937f6f4b8a86d988047327bb88d04d2c4afc356de74722131" ++ ++[[package]] ++name = "proc-macro-crate" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" ++dependencies = [ ++ "toml", ++] ++ ++[[package]] ++name = "proc-macro-error" ++version = "1.0.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" ++dependencies = [ ++ "proc-macro-error-attr", ++ "proc-macro2", ++ "quote", ++ "syn", ++ "version_check", ++] ++ ++[[package]] ++name = "proc-macro-error-attr" ++version = "1.0.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "version_check", ++] ++ ++[[package]] ++name = "proc-macro-hack" ++version = "0.5.19" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" ++ ++[[package]] ++name = "proc-macro-nested" ++version = "0.1.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" ++ ++[[package]] ++name = "proc-macro2" ++version = "1.0.32" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" ++dependencies = [ ++ "unicode-xid", ++] ++ ++[[package]] ++name = "quote" ++version = "1.0.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" ++dependencies = [ ++ "proc-macro2", ++] ++ ++[[package]] ++name = "rand" ++version = "0.8.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" ++dependencies = [ ++ "libc", ++ "rand_chacha", ++ "rand_core", ++ "rand_hc", ++] ++ ++[[package]] ++name = "rand_chacha" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" ++dependencies = [ ++ "ppv-lite86", ++ "rand_core", ++] ++ ++[[package]] ++name = "rand_core" ++version = "0.6.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" ++dependencies = [ ++ "getrandom", ++] ++ ++[[package]] ++name = "rand_hc" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" ++dependencies = [ ++ "rand_core", ++] ++ ++[[package]] ++name = "redox_syscall" ++version = "0.2.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" ++dependencies = [ ++ "bitflags", ++] ++ ++[[package]] ++name = "redox_users" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" ++dependencies = [ ++ "getrandom", ++ "redox_syscall", ++] ++ ++[[package]] ++name = "regex" ++version = "1.5.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" ++dependencies = [ ++ "aho-corasick", ++ "memchr", ++ "regex-syntax", ++] ++ ++[[package]] ++name = "regex-syntax" ++version = "0.6.25" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" ++ ++[[package]] ++name = "ryu" ++version = "1.0.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" ++ ++[[package]] ++name = "schannel" ++version = "0.1.19" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" ++dependencies = [ ++ "lazy_static", ++ "winapi", ++] ++ ++[[package]] ++name = "serde" ++version = "1.0.130" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" ++dependencies = [ ++ "serde_derive", ++] ++ ++[[package]] ++name = "serde_derive" ++version = "1.0.130" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "serde_json" ++version = "1.0.69" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e466864e431129c7e0d3476b92f20458e5879919a0596c6472738d9fa2d342f8" ++dependencies = [ ++ "itoa", ++ "ryu", ++ "serde", ++] ++ ++[[package]] ++name = "slab" ++version = "0.4.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" ++ ++[[package]] ++name = "sluice" ++version = "0.5.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5" ++dependencies = [ ++ "async-channel", ++ "futures-core", ++ "futures-io", ++] ++ ++[[package]] ++name = "socket2" ++version = "0.4.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" ++dependencies = [ ++ "libc", ++ "winapi", ++] ++ ++[[package]] ++name = "strum" ++version = "0.18.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b" ++ ++[[package]] ++name = "strum_macros" ++version = "0.18.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" ++dependencies = [ ++ "heck", ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "syn" ++version = "1.0.81" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "unicode-xid", ++] ++ ++[[package]] ++name = "system-deps" ++version = "1.3.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b" ++dependencies = [ ++ "heck", ++ "pkg-config", ++ "strum", ++ "strum_macros", ++ "thiserror", ++ "toml", ++ "version-compare", ++] ++ ++[[package]] ++name = "thiserror" ++version = "1.0.30" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" ++dependencies = [ ++ "thiserror-impl", ++] ++ ++[[package]] ++name = "thiserror-impl" ++version = "1.0.30" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "time" ++version = "0.1.43" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" ++dependencies = [ ++ "libc", ++ "winapi", ++] ++ ++[[package]] ++name = "tinyvec" ++version = "1.5.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" ++dependencies = [ ++ "tinyvec_macros", ++] ++ ++[[package]] ++name = "tinyvec_macros" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" ++ ++[[package]] ++name = "toml" ++version = "0.5.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" ++dependencies = [ ++ "serde", ++] ++ ++[[package]] ++name = "tracing" ++version = "0.1.29" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" ++dependencies = [ ++ "cfg-if", ++ "log", ++ "pin-project-lite", ++ "tracing-attributes", ++ "tracing-core", ++] ++ ++[[package]] ++name = "tracing-attributes" ++version = "0.1.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ ++[[package]] ++name = "tracing-core" ++version = "0.1.21" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" ++dependencies = [ ++ "lazy_static", ++] ++ ++[[package]] ++name = "tracing-futures" ++version = "0.2.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" ++dependencies = [ ++ "pin-project", ++ "tracing", ++] ++ ++[[package]] ++name = "unicode-bidi" ++version = "0.3.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" ++ ++[[package]] ++name = "unicode-normalization" ++version = "0.1.19" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" ++dependencies = [ ++ "tinyvec", ++] ++ ++[[package]] ++name = "unicode-segmentation" ++version = "1.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" ++ ++[[package]] ++name = "unicode-xid" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" ++ ++[[package]] ++name = "url" ++version = "2.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" ++dependencies = [ ++ "form_urlencoded", ++ "idna", ++ "matches", ++ "percent-encoding", ++] ++ ++[[package]] ++name = "urlqstring" ++version = "0.3.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "25ef3473a06a065718d8ec7cd7acc6a35fc20f836dee7661ad3b64ea3cc2e0cc" ++ ++[[package]] ++name = "value-bag" ++version = "1.0.0-alpha.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "79923f7731dc61ebfba3633098bf3ac533bbd35ccd8c57e7088d9a5eebe0263f" ++dependencies = [ ++ "ctor", ++ "version_check", ++] ++ ++[[package]] ++name = "vcpkg" ++version = "0.2.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" ++ ++[[package]] ++name = "version-compare" ++version = "0.0.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1" ++ ++[[package]] ++name = "version_check" ++version = "0.9.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" ++ ++[[package]] ++name = "waker-fn" ++version = "1.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" ++ ++[[package]] ++name = "wasi" ++version = "0.10.2+wasi-snapshot-preview1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" ++ ++[[package]] ++name = "wasm-bindgen" ++version = "0.2.78" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" ++dependencies = [ ++ "cfg-if", ++ "wasm-bindgen-macro", ++] ++ ++[[package]] ++name = "wasm-bindgen-backend" ++version = "0.2.78" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" ++dependencies = [ ++ "bumpalo", ++ "lazy_static", ++ "log", ++ "proc-macro2", ++ "quote", ++ "syn", ++ "wasm-bindgen-shared", ++] ++ ++[[package]] ++name = "wasm-bindgen-futures" ++version = "0.4.28" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39" ++dependencies = [ ++ "cfg-if", ++ "js-sys", ++ "wasm-bindgen", ++ "web-sys", ++] ++ ++[[package]] ++name = "wasm-bindgen-macro" ++version = "0.2.78" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" ++dependencies = [ ++ "quote", ++ "wasm-bindgen-macro-support", ++] ++ ++[[package]] ++name = "wasm-bindgen-macro-support" ++version = "0.2.78" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn", ++ "wasm-bindgen-backend", ++ "wasm-bindgen-shared", ++] ++ ++[[package]] ++name = "wasm-bindgen-shared" ++version = "0.2.78" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" ++ ++[[package]] ++name = "web-sys" ++version = "0.3.55" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" ++dependencies = [ ++ "js-sys", ++ "wasm-bindgen", ++] ++ ++[[package]] ++name = "wepoll-ffi" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" ++dependencies = [ ++ "cc", ++] ++ ++[[package]] ++name = "winapi" ++version = "0.3.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" ++dependencies = [ ++ "winapi-i686-pc-windows-gnu", ++ "winapi-x86_64-pc-windows-gnu", ++] ++ ++[[package]] ++name = "winapi-i686-pc-windows-gnu" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" ++ ++[[package]] ++name = "winapi-x86_64-pc-windows-gnu" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" ++ ++[[package]] ++name = "xdg" ++version = "2.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3a23fe958c70412687039c86f578938b4a0bb50ec788e96bce4d6ab00ddd5803" ++dependencies = [ ++ "dirs 3.0.2", ++] diff --git a/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/default.nix b/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/default.nix new file mode 100644 index 000000000000..76e1bc3923a8 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/default.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, glib +, gtk3 +, curl +, dbus +, openssl +, gst_all_1 +, pkg-config +, rustPlatform +, wrapGAppsHook +, fetchurl +, fetchFromGitHub +, makeDesktopItem +}: +rustPlatform.buildRustPackage rec { + pname = "netease-cloud-music-gtk"; + version = "1.2.2"; + src = fetchFromGitHub { + owner = "gmg137"; + repo = "netease-cloud-music-gtk"; + rev = version; + sha256 = "sha256-42MaylfG5LY+TiYHWQMoh9CiVLShKXSBpMrxdWhujow="; + }; + cargoSha256 = "sha256-A9wIcESdaJwLY4g/QlOxMU5PBB9wjvIzaXBSqeiRJBM="; + cargoPatches = [ ./cargo-lock.patch ]; + + nativeBuildInputs = [ + glib + gtk3 + dbus + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + curl + dbus + openssl + ] ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]); + + postPatch = '' + install -D netease-cloud-music-gtk.desktop $out/share/applications/netease-cloud-music-gtk.desktop + install -D icons/netease-cloud-music-gtk.svg $out/share/icons/hicolor/scalable/apps/netease-cloud-music-gtk.svg + ''; + + meta = with lib; { + description = "netease-cloud-music-gtk is a Rust + GTK based netease cloud music player"; + homepage = "https://github.com/gmg137/netease-cloud-music-gtk"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ diffumist ]; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/update-cargo-lock.sh b/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/update-cargo-lock.sh new file mode 100755 index 000000000000..75b04d1e77ca --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/netease-cloud-music-gtk/update-cargo-lock.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils ripgrep git cargo + +# Ref: https://github.com/NixOS/nixpkgs/blob/nixos-21.05/pkgs/applications/audio/netease-music-tui/update-cargo-lock.sh + +set -eu -vx + +here=$PWD +version=$(cat default.nix | rg '^ version = "' | cut -d '"' -f 2) +checkout=$(mktemp -d) + +git clone -b "$version" --depth=1 https://github.com/gmg137/netease-cloud-music-gtk "$checkout" +cd "$checkout" + +cargo generate-lockfile +git add -f Cargo.lock +git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch + +cd "$here" +rm -rf "$checkout" diff --git a/nixpkgs/pkgs/applications/audio/netease-music-tui/default.nix b/nixpkgs/pkgs/applications/audio/netease-music-tui/default.nix index bf7d680ff157..f6ccee3e535e 100644 --- a/nixpkgs/pkgs/applications/audio/netease-music-tui/default.nix +++ b/nixpkgs/pkgs/applications/audio/netease-music-tui/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { pname = "netease-music-tui"; - version = "0.1.3"; + version = "0.1.4"; src = fetchFromGitHub { owner = "betta-cyber"; repo = "netease-music-tui"; rev = "v${version}"; - sha256 = "09355a6d197ckayh9833y39dsarklgpgrq3raapiv25z59di30qq"; + sha256 = "sha256-ILJkejRKG2DRXgR6O2tAFbrbd8HtnLZJmITq7hF41DQ="; }; cargoPatches = [ ./cargo-lock.patch ]; @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ alsa-lib openssl ]; - cargoSha256 = "1pca0sz4rz8qls6k2vhf70ixhnvgk81c4hbx81q3pv106g5k205f"; + cargoSha256 = "sha256-/JQDUtSSkuO9nrYVSkQOaZjps1BUuH8Bc1SMyDSSJS4="; meta = with lib; { homepage = "https://github.com/betta-cyber/netease-music-tui"; diff --git a/nixpkgs/pkgs/applications/audio/noisetorch/default.nix b/nixpkgs/pkgs/applications/audio/noisetorch/default.nix index b24c2eebcf7a..b18f2b52f94c 100644 --- a/nixpkgs/pkgs/applications/audio/noisetorch/default.nix +++ b/nixpkgs/pkgs/applications/audio/noisetorch/default.nix @@ -37,6 +37,6 @@ buildGoModule rec { homepage = "https://github.com/lawl/NoiseTorch"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ panaeon legendofmiracles ]; + maintainers = with maintainers; [ panaeon lom ]; }; } diff --git a/nixpkgs/pkgs/applications/audio/non/default.nix b/nixpkgs/pkgs/applications/audio/non/default.nix index 9dd377a601b8..39b8ecf7a6af 100644 --- a/nixpkgs/pkgs/applications/audio/non/default.nix +++ b/nixpkgs/pkgs/applications/audio/non/default.nix @@ -1,20 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, python2, cairo, libjpeg, ntk, libjack2 +{ lib, stdenv, fetchFromGitHub, pkg-config, python3, cairo, libjpeg, ntk, libjack2 , libsndfile, ladspaH, liblo, libsigcxx, lrdf, wafHook }: stdenv.mkDerivation { pname = "non"; - version = "2018-02-15"; + version = "unstable-2021-01-28"; src = fetchFromGitHub { - owner = "original-male"; + owner = "linuxaudio"; repo = "non"; - rev = "5ae43bb27c42387052a73e5ffc5d33efb9d946a9"; - sha256 = "1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx"; + rev = "cdad26211b301d2fad55a26812169ab905b85bbb"; + sha256 = "sha256-iMJNMDytNXpEkUhL0RILSd25ixkm8HL/edtOZta0Pf4="; }; nativeBuildInputs = [ pkg-config wafHook ]; - buildInputs = [ python2 cairo libjpeg ntk libjack2 libsndfile - ladspaH liblo libsigcxx lrdf + buildInputs = [ python3 cairo libjpeg ntk libjack2 libsndfile + ladspaH liblo libsigcxx lrdf ]; meta = { diff --git a/nixpkgs/pkgs/applications/audio/nootka/unstable.nix b/nixpkgs/pkgs/applications/audio/nootka/unstable.nix index edfb19483646..b5e820e83459 100644 --- a/nixpkgs/pkgs/applications/audio/nootka/unstable.nix +++ b/nixpkgs/pkgs/applications/audio/nootka/unstable.nix @@ -1,20 +1,38 @@ -{ lib, stdenv, fetchurl, cmake -, alsa-lib, fftwSinglePrec, libjack2, libpulseaudio, libvorbis, soundtouch -, qtbase, qtdeclarative, qtquickcontrols2 +{ lib +, stdenv +, fetchurl +, cmake +, alsa-lib +, fftwSinglePrec +, libjack2 +, libpulseaudio +, libvorbis +, soundtouch +, qtbase +, qtdeclarative +, qtquickcontrols2 }: stdenv.mkDerivation rec { - name = "nootka-1.7.0-beta1"; + pname = "nootka"; + version = "1.7.0-beta1"; src = fetchurl { - url = "mirror://sourceforge/nootka/${name}-source.tar.bz2"; + url = "mirror://sourceforge/nootka/nootka-${version}-source.tar.bz2"; sha256 = "13b50vnpr1zx2mrgkc8fmhsyfa19rqq1rksvn31145dy6fk1f3gc"; }; nativeBuildInputs = [ cmake ]; buildInputs = [ - alsa-lib fftwSinglePrec libjack2 libpulseaudio libvorbis soundtouch - qtbase qtdeclarative qtquickcontrols2 + alsa-lib + fftwSinglePrec + libjack2 + libpulseaudio + libvorbis + soundtouch + qtbase + qtdeclarative + qtquickcontrols2 ]; dontWrapQtApps = true; diff --git a/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix b/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix index 7ad1e319bffe..30011b2be3ea 100644 --- a/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix +++ b/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "ocenaudio"; - version = "3.10.6"; + version = "3.11.2"; src = fetchurl { url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}"; - sha256 = "0fgvm1xw2kgrqj3w6slpfxbb3pw9k8i0dz16q9d5d8gyyvr2mh8g"; + sha256 = "sha256-kvmBOw8fQZSC1jC8FRVq4v+i7mM6ol2IrDTqfJtuZYc="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/orca-c/default.nix b/nixpkgs/pkgs/applications/audio/orca-c/default.nix index 2c3a8fb1390f..420055884b45 100644 --- a/nixpkgs/pkgs/applications/audio/orca-c/default.nix +++ b/nixpkgs/pkgs/applications/audio/orca-c/default.nix @@ -1,8 +1,7 @@ { lib, stdenv, fetchgit, ncurses, portmidi }: stdenv.mkDerivation { pname = "orca-c"; - - version = "git-2021-02-13"; + version = "unstable-2021-02-13"; src = fetchgit { url = "https://git.sr.ht/~rabbits/orca"; @@ -31,5 +30,6 @@ stdenv.mkDerivation { license = licenses.mit; platforms = platforms.all; maintainers = with maintainers; [ netcrns ]; + mainProgram = "orca"; }; } diff --git a/nixpkgs/pkgs/applications/audio/padthv1/default.nix b/nixpkgs/pkgs/applications/audio/padthv1/default.nix index 90e80f13ac48..2c4581cc7319 100644 --- a/nixpkgs/pkgs/applications/audio/padthv1/default.nix +++ b/nixpkgs/pkgs/applications/audio/padthv1/default.nix @@ -2,11 +2,11 @@ mkDerivation rec { pname = "padthv1"; - version = "0.9.18"; + version = "0.9.23"; src = fetchurl { url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz"; - sha256 = "1karrprb3ijrbiwpr43rl3nxnzc33lnmwrd1832psgr3flnr9fp5"; + sha256 = "sha256-9yFfvlskOYnGraou2S3Qffl8RoYJqE0wnDlOP8mxQgg="; }; buildInputs = [ libjack2 alsa-lib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftwFloat ]; diff --git a/nixpkgs/pkgs/applications/audio/pamix/default.nix b/nixpkgs/pkgs/applications/audio/pamix/default.nix index fb076797fb5f..4a2ad9ab779e 100644 --- a/nixpkgs/pkgs/applications/audio/pamix/default.nix +++ b/nixpkgs/pkgs/applications/audio/pamix/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub +{ lib, stdenv, fetchFromGitHub, fetchpatch , pkg-config, cmake , libpulseaudio, ncurses }: @@ -13,6 +13,20 @@ stdenv.mkDerivation rec { sha256 = "1d44ggnwkf2gff62959pj45v3a2k091q8v154wc5pmzamam458wp"; }; + patches = [ + # ncurses-6.3 support, included in next release + (fetchpatch { + name = "ncurses-6.3-p1.patch"; + url = "https://github.com/patroclos/PAmix/commit/3400b9c048706c572373e4617b4d5fcdb8dd2505.patch"; + sha256 = "0rw56a844pz876ad9p8hfvn2fkd5rh29gpp47h55g08spf0vwb2z"; + }) + (fetchpatch { + name = "ncurses-6.3-p2.patch"; + url = "https://github.com/patroclos/PAmix/commit/5ef67fc5ef6fc0dc0b48ff07ba48093881561d9c.patch"; + sha256 = "0f8shpdv2swxdz04bkqgmkvl6c17r5mn4slzr7xd6pvw8hh51p4h"; + }) + ]; + preConfigure = '' substituteInPlace CMakeLists.txt --replace "/etc" "$out/etc/xdg" ''; diff --git a/nixpkgs/pkgs/applications/audio/paprefs/default.nix b/nixpkgs/pkgs/applications/audio/paprefs/default.nix index 64e403001a3d..31ccb212cd51 100644 --- a/nixpkgs/pkgs/applications/audio/paprefs/default.nix +++ b/nixpkgs/pkgs/applications/audio/paprefs/default.nix @@ -1,5 +1,6 @@ { fetchurl -, lib, stdenv +, lib +, stdenv , meson , ninja , gettext @@ -11,10 +12,11 @@ }: stdenv.mkDerivation rec { - name = "paprefs-1.1"; + pname = "paprefs"; + version = "1.1"; src = fetchurl { - url = "https://freedesktop.org/software/pulseaudio/paprefs/${name}.tar.xz"; + url = "https://freedesktop.org/software/pulseaudio/paprefs/paprefs-${version}.tar.xz"; sha256 = "189z5p20hk0xv9vwvym293503j4pwl03xqk9hl7cl6dwgv0l7wkf"; }; diff --git a/nixpkgs/pkgs/applications/audio/patchmatrix/default.nix b/nixpkgs/pkgs/applications/audio/patchmatrix/default.nix new file mode 100644 index 000000000000..a5d135ce9d45 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/patchmatrix/default.nix @@ -0,0 +1,45 @@ +{ stdenv +, lib +, fetchFromGitHub +, libjack2 +, lv2 +, meson +, ninja +, pkg-config +, glew +, xorg +}: + +stdenv.mkDerivation rec { + pname = "patchmatrix"; + version = "0.26.0"; + + src = fetchFromGitHub { + owner = "OpenMusicKontrollers"; + repo = pname; + rev = version; + hash = "sha256-rR3y5rGzmib//caPmhthvMelAdHRvV0lMRfvcj9kcCg="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + glew + libjack2 + lv2 + xorg.libX11 + xorg.libXext + ]; + + meta = with lib; { + description = "A JACK patchbay in flow matrix style"; + homepage = "https://github.com/OpenMusicKontrollers/patchmatrix"; + license = licenses.artistic2; + maintainers = with maintainers; [ pennae ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix b/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix index c7f12a8df6cc..41e5eeb8229a 100644 --- a/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix +++ b/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix @@ -1,26 +1,35 @@ -{ fetchurl, fetchpatch, lib, stdenv, pkg-config, intltool, libpulseaudio, -gtkmm3 , libcanberra-gtk3, gnome, wrapGAppsHook }: +{ fetchurl +, fetchpatch +, lib +, stdenv +, pkg-config +, intltool +, libpulseaudio +, gtkmm3 +, libsigcxx +, libcanberra-gtk3 +, json-glib +, gnome +, wrapGAppsHook +}: stdenv.mkDerivation rec { pname = "pavucontrol"; - version = "4.0"; + version = "5.0"; src = fetchurl { url = "https://freedesktop.org/software/pulseaudio/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1qhlkl3g8d7h72xjskii3g1l7la2cavwp69909pzmbi2jyn5pi4g"; + sha256 = "sha256-zityw7XxpwrQ3xndgXUPlFW9IIcNHTo20gU2ry6PTno="; }; - patches = [ - # Can be removed with the next version bump - # https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/merge_requests/20 - (fetchpatch { - name = "streamwidget-fix-drop-down-wayland.patch"; - url = "https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/commit/ae278b8643cf1089f66df18713c8154208d9a505.patch"; - sha256 = "066vhxjz6gmi2sp2n4pa1cdsxjnq6yml5js094g5n7ld34p84dpj"; - })]; - - buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3 - gnome.adwaita-icon-theme ]; + buildInputs = [ + libpulseaudio + gtkmm3 + libsigcxx + libcanberra-gtk3 + json-glib + gnome.adwaita-icon-theme + ]; nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ]; diff --git a/nixpkgs/pkgs/applications/audio/plexamp/default.nix b/nixpkgs/pkgs/applications/audio/plexamp/default.nix index c542517797e7..31929567e411 100644 --- a/nixpkgs/pkgs/applications/audio/plexamp/default.nix +++ b/nixpkgs/pkgs/applications/audio/plexamp/default.nix @@ -2,26 +2,25 @@ let pname = "plexamp"; - version = "3.7.1"; - name = "${pname}-${version}"; + version = "3.9.0"; src = fetchurl { url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage"; name="${pname}-${version}.AppImage"; - sha512 = "jKuuM1vQANGYE2W0OGl+35mB1ve5K/xPcBTk2O1azPRBDlRVU0DHRSQy2T71kwhxES1ASRt91qAV/dATk6oUkw=="; + sha512 = "2OaV8dONv7yBcQsfecgfedP2ypBN6svD9rgZLgUwSydyH2+rODNPne4O7z2Hahm7Y0Ae+NFxbpQ9lbNbX0vhsg=="; }; appimageContents = appimageTools.extractType2 { - inherit name src; + inherit pname version src; }; in appimageTools.wrapType2 { - inherit name src; + inherit pname version src; multiPkgs = null; # no 32bit needed extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ]; extraInstallCommands = '' - ln -s $out/bin/${name} $out/bin/${pname} + ln -s $out/bin/${pname}-${version} $out/bin/${pname} install -m 444 -D ${appimageContents}/plexamp.desktop $out/share/applications/plexamp.desktop install -m 444 -D ${appimageContents}/plexamp.png \ $out/share/icons/hicolor/512x512/apps/plexamp.png @@ -34,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/32"; + changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/36"; license = licenses.unfree; maintainers = with maintainers; [ killercup synthetica ]; platforms = [ "x86_64-linux" ]; diff --git a/nixpkgs/pkgs/applications/audio/pocket-casts/default.nix b/nixpkgs/pkgs/applications/audio/pocket-casts/default.nix new file mode 100644 index 000000000000..46625253d0f6 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/pocket-casts/default.nix @@ -0,0 +1,55 @@ +{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron +, alsa-lib, gtk3, libXScrnSaver, libXtst, mesa, nss }: + +stdenv.mkDerivation rec { + pname = "pocket-casts"; + version = "0.5.0"; + + src = fetchurl { + url = "https://github.com/felicianotech/pocket-casts-desktop-app/releases/download/v${version}/${pname}_${version}_amd64.deb"; + sha256 = "sha256-frBtIxwRO/6k6j0itqN10t+9AyNadqXm8vC1YP960ts="; + }; + + nativeBuildInputs = [ + dpkg + autoPatchelfHook + makeWrapper + ]; + + buildInputs = [ alsa-lib gtk3 libXScrnSaver libXtst mesa nss ]; + + dontBuild = true; + dontConfigure = true; + + unpackPhase = '' + dpkg-deb -x ${src} ./ + ''; + + installPhase = '' + runHook preInstall + + mv usr $out + mv opt $out + mv "$out/opt/Pocket Casts" $out/opt/pocket-casts + mv $out/share/icons/hicolor/0x0 $out/share/icons/hicolor/256x256 + + runHook postInstall + ''; + + postFixup = '' + substituteInPlace $out/share/applications/pocket-casts.desktop \ + --replace '"/opt/Pocket Casts/pocket-casts"' $out/bin/pocket-casts \ + --replace '/usr/share/icons/hicolor/0x0/apps/pocket-casts.png' "pocket-casts" + makeWrapper ${electron}/bin/electron \ + $out/bin/pocket-casts \ + --add-flags $out/opt/pocket-casts/resources/app.asar + ''; + + meta = with lib; { + description = "Pocket Casts webapp, packaged for the Linux Desktop"; + homepage = "https://github.com/felicianotech/pocket-casts-desktop-app"; + license = licenses.mit; + maintainers = with maintainers; [ wolfangaukang ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/praat/default.nix b/nixpkgs/pkgs/applications/audio/praat/default.nix index 75a706cff1ed..3fd0619ec29c 100644 --- a/nixpkgs/pkgs/applications/audio/praat/default.nix +++ b/nixpkgs/pkgs/applications/audio/praat/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "praat"; - version = "6.1.53"; + version = "6.2.03"; src = fetchFromGitHub { owner = "praat"; repo = "praat"; rev = "v${version}"; - sha256 = "sha256-4GOVrKVHl/Cj0PNx+rcLESn5fbyIsnzaheMOFLlEVMU="; + sha256 = "sha256-0WTbLEPEqPm7BI02mjlwcsewkrmIsHtNlhccqK1d6SI="; }; configurePhase = '' diff --git a/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix b/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix index 6abc120379d6..e5a97aee86cd 100644 --- a/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix +++ b/nixpkgs/pkgs/applications/audio/pt2-clone/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "pt2-clone"; - version = "1.34"; + version = "1.37"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "pt2-clone"; rev = "v${version}"; - sha256 = "sha256-JT3I06qm3oljsySIgK5xP2RC3KAb5QBrNVdip0ds4KE="; + sha256 = "sha256-r9H+qF542j2qjmOEjJLAtnMU7SkJBJB8nH39zhkZu9M="; }; nativeBuildInputs = [ cmake ]; diff --git a/nixpkgs/pkgs/applications/audio/ptcollab/default.nix b/nixpkgs/pkgs/applications/audio/ptcollab/default.nix index ffc2d72891dc..16ef4ed6e45e 100644 --- a/nixpkgs/pkgs/applications/audio/ptcollab/default.nix +++ b/nixpkgs/pkgs/applications/audio/ptcollab/default.nix @@ -13,19 +13,30 @@ mkDerivation rec { pname = "ptcollab"; - version = "0.5.0"; + version = "0.5.0.3"; src = fetchFromGitHub { owner = "yuxshao"; repo = "ptcollab"; rev = "v${version}"; - sha256 = "sha256-sN3O8m+ib6Chb/RXTFbNWW6PnrolCHpmC/avRX93AH4="; + sha256 = "sha256-8bgi621psvUlhiLyZ15tKGmGOs6HTf5/6Ru2Z9l8QIo="; }; nativeBuildInputs = [ qmake pkg-config ]; buildInputs = [ qtbase qtmultimedia libvorbis rtmidi ]; + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + # Move appbundles to Applications before wrapping happens + mkdir $out/Applications + mv $out/{bin,Applications}/ptcollab.app + ''; + + postFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' + # Link to now-wrapped binary inside appbundle + ln -s $out/{Applications/ptcollab.app/Contents/MacOS,bin}/ptcollab + ''; + passthru = { updateScript = nix-update-script { attrPath = pname; @@ -38,7 +49,5 @@ mkDerivation rec { license = licenses.mit; maintainers = with maintainers; [ OPNA2608 ]; platforms = platforms.all; - # Requires Qt5.15 - broken = stdenv.hostPlatform.isDarwin; }; } diff --git a/nixpkgs/pkgs/applications/audio/pulseaudio-ctl/default.nix b/nixpkgs/pkgs/applications/audio/pulseaudio-ctl/default.nix index 9d1d6df1da50..1b21aa9d4163 100644 --- a/nixpkgs/pkgs/applications/audio/pulseaudio-ctl/default.nix +++ b/nixpkgs/pkgs/applications/audio/pulseaudio-ctl/default.nix @@ -7,13 +7,13 @@ let in stdenv.mkDerivation rec { name = "${pname}-${version}"; - version = "1.69"; + version = "1.70"; src = fetchFromGitHub { owner = "graysky2"; repo = pname; rev = "v${version}"; - sha256 = "sha256-5WRhVIQlSwWuyvkzrnNW0rdVet9ZzM47gISJpznM8mU="; + sha256 = "sha256-ZB1jrr31PF7+vNB+Xo5CATJmYbuDAPwewpDxCVnAowY="; }; postPatch = '' diff --git a/nixpkgs/pkgs/applications/audio/pulseaudio-dlna/0001-setup.py-remove-dbus-python-from-list.patch b/nixpkgs/pkgs/applications/audio/pulseaudio-dlna/0001-setup.py-remove-dbus-python-from-list.patch new file mode 100644 index 000000000000..2f38386f96c0 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/pulseaudio-dlna/0001-setup.py-remove-dbus-python-from-list.patch @@ -0,0 +1,25 @@ +From a4bf7df795146c843696daee8c02826ba0034298 Mon Sep 17 00:00:00 2001 +From: Florian Klink <flokli@flokli.de> +Date: Sun, 21 Nov 2021 12:04:48 +0100 +Subject: [PATCH] setup.py: remove dbus-python from list + +I wasn't able to convince setuptools to find this. +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 61d6831..013fff3 100644 +--- a/setup.py ++++ b/setup.py +@@ -42,7 +42,6 @@ setuptools.setup( + install_requires=[ + 'docopt', + 'chardet', +- 'dbus-python', + 'docopt', + 'requests', + 'setproctitle', +-- +2.33.1 + diff --git a/nixpkgs/pkgs/applications/audio/pulseaudio-dlna/default.nix b/nixpkgs/pkgs/applications/audio/pulseaudio-dlna/default.nix index 83de192c6b31..384718f1db54 100644 --- a/nixpkgs/pkgs/applications/audio/pulseaudio-dlna/default.nix +++ b/nixpkgs/pkgs/applications/audio/pulseaudio-dlna/default.nix @@ -1,43 +1,64 @@ -{ fetchFromGitHub, lib, pythonPackages -, mp3Support ? true, lame ? null -, opusSupport ? true, opusTools ? null -, faacSupport ? false, faac ? null -, flacSupport ? true, flac ? null -, soxSupport ? true, sox ? null -, vorbisSupport ? true, vorbis-tools ? null +{ fetchFromGitHub +, lib +, python3Packages +, mp3Support ? true +, lame +, opusSupport ? true +, opusTools +, faacSupport ? false +, faac +, flacSupport ? true +, flac +, soxSupport ? true +, sox +, vorbisSupport ? true +, vorbis-tools +, pulseaudio }: -assert mp3Support -> lame != null; -assert opusSupport -> opusTools != null; -assert faacSupport -> faac != null; -assert flacSupport -> flac != null; -assert soxSupport -> sox != null; -assert vorbisSupport -> vorbis-tools != null; - -let - zeroconf = pythonPackages.callPackage ./zeroconf.nix { }; -in -pythonPackages.buildPythonApplication { +python3Packages.buildPythonApplication { pname = "pulseaudio-dlna"; - version = "unstable-2017-11-01"; + version = "unstable-2021-11-09"; src = fetchFromGitHub { - owner = "masmu"; + owner = "Cygn"; repo = "pulseaudio-dlna"; - rev = "4472928dd23f274193f14289f59daec411023ab0"; - sha256 = "1dfn7036vrq49kxv4an7rayypnm5dlawsf02pfsldw877hzdamqk"; + rev = "637a2e7bba2277137c5f12fb58e63100dab7cbe6"; + sha256 = "sha256-Oda+zQQJE2D3fiNWTzxYvI8cZVHG5JAoV2Wf5Z6IU3M="; }; - propagatedBuildInputs = with pythonPackages; [ - dbus-python docopt requests setproctitle protobuf psutil futures - chardet notify2 netifaces pyroute2 pygobject2 lxml setuptools ] - ++ [ zeroconf ] - ++ lib.optional mp3Support lame - ++ lib.optional opusSupport opusTools - ++ lib.optional faacSupport faac - ++ lib.optional flacSupport flac - ++ lib.optional soxSupport sox - ++ lib.optional vorbisSupport vorbis-tools; + patches = [ + ./0001-setup.py-remove-dbus-python-from-list.patch + ]; + + propagatedBuildInputs = with python3Packages; [ + dbus-python + docopt + requests + setproctitle + protobuf + psutil + chardet + netifaces + notify2 + pyroute2 + pygobject3 + PyChromecast + lxml + setuptools + zeroconf + ] + ++ lib.optional mp3Support lame + ++ lib.optional opusSupport opusTools + ++ lib.optional faacSupport faac + ++ lib.optional flacSupport flac + ++ lib.optional soxSupport sox + ++ lib.optional vorbisSupport vorbis-tools; + + # pulseaudio-dlna shells out to pactl to configure sinks and sources. + # As pactl might not be in $PATH, add --suffix it (so pactl configured by the + # user get priority) + makeWrapperArgs = [ "--suffix PATH : ${lib.makeBinPath [ pulseaudio ]}" ]; # upstream has no tests checkPhase = '' @@ -46,7 +67,7 @@ pythonPackages.buildPythonApplication { meta = with lib; { description = "A lightweight streaming server which brings DLNA / UPNP and Chromecast support to PulseAudio and Linux"; - homepage = "https://github.com/masmu/pulseaudio-dlna"; + homepage = "https://github.com/Cygn/pulseaudio-dlna"; license = licenses.gpl3Plus; maintainers = with maintainers; [ mog ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/applications/audio/qjackctl/default.nix b/nixpkgs/pkgs/applications/audio/qjackctl/default.nix index 7d1ec9f99783..1d5edf892cb7 100644 --- a/nixpkgs/pkgs/applications/audio/qjackctl/default.nix +++ b/nixpkgs/pkgs/applications/audio/qjackctl/default.nix @@ -5,7 +5,7 @@ }: mkDerivation rec { - version = "0.9.4"; + version = "0.9.5"; pname = "qjackctl"; # some dependencies such as killall have to be installed additionally @@ -14,7 +14,7 @@ mkDerivation rec { owner = "rncbc"; repo = "qjackctl"; rev = "${pname}_${lib.replaceChars ["."] ["_"] version}"; - sha256 = "sha256-eZKrPQ07Z3pF5dArZ4QSclrRCaPHpPb8S5HANLUS9MM="; + sha256 = "sha256-20oy3R0gbVXO3Da80cTYXu+BG8OfVNRLtAwHk8nRFJk="; }; buildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix b/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix new file mode 100644 index 000000000000..f805a2d345d9 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix @@ -0,0 +1,34 @@ +{ lib, mkDerivation, fetchFromGitLab +, cmake, pkg-config +, alsa-lib, pipewire +}: + +mkDerivation rec { + pname = "qpwgraph"; + version = "0.1.1"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "rncbc"; + repo = "qpwgraph"; + rev = "v${version}"; + sha256 = "sha256-r3FoAV0wah9fwnqyMyu8927c4Uj0zZoQNvLoXP5AP/E="; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ alsa-lib pipewire ]; + + meta = with lib; { + description = "Qt graph manager for PipeWire, similar to QjackCtl."; + longDescription = '' + qpwgraph is a graph manager dedicated for PipeWire, + using the Qt C++ framework, based and pretty much like + the same of QjackCtl. + ''; + homepage = "https://gitlab.freedesktop.org/rncbc/qpwgraph"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ kanashimia ]; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/qtractor/default.nix b/nixpkgs/pkgs/applications/audio/qtractor/default.nix index cb564d0514b1..13d415ec1e93 100644 --- a/nixpkgs/pkgs/applications/audio/qtractor/default.nix +++ b/nixpkgs/pkgs/applications/audio/qtractor/default.nix @@ -30,11 +30,11 @@ mkDerivation rec { pname = "qtractor"; - version = "0.9.23"; + version = "0.9.24"; src = fetchurl { url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; - sha256 = "sha256-GgDc7WM4nVGlq+8EcwxJ7MnSPYwAej51IMrN0glCTbQ="; + sha256 = "sha256-YTT7ko5HjKrZ8DKU3L06EI7bZeBtvPl21pqUf6EaeS4="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/reaper/default.nix b/nixpkgs/pkgs/applications/audio/reaper/default.nix index a7063b9f3e25..b7f6bb3ee373 100644 --- a/nixpkgs/pkgs/applications/audio/reaper/default.nix +++ b/nixpkgs/pkgs/applications/audio/reaper/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "reaper"; - version = "6.38"; + version = "6.43"; src = fetchurl { url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${stdenv.hostPlatform.qemuArch}.tar.xz"; hash = { - x86_64-linux = "sha256-K5EnrmzP8pyW9dR1fbMzkPzpS6aHm8JF1+m3afnH4rU="; - aarch64-linux = "sha256-6wNWDXjQNyfU2l9Xi9JtmAuoKtHuIY5cvNMjYkwh2Sk="; + x86_64-linux = "sha256-VQ91px9YZWbrw31fFQxS+H/6fsjkLDrYU6FtI8eSq6E="; + aarch64-linux = "sha256-x6z5+H7ASWiuNL0maNGK05VmJptHdFGRiFf6DgwlZDw="; }.${stdenv.hostPlatform.system}; }; @@ -78,6 +78,6 @@ stdenv.mkDerivation rec { homepage = "https://www.reaper.fm/"; license = licenses.unfree; platforms = [ "x86_64-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ jfrankenau ilian orivej ]; + maintainers = with maintainers; [ jfrankenau ilian orivej uniquepointer ]; }; } diff --git a/nixpkgs/pkgs/applications/audio/rofi-pulse-select/default.nix b/nixpkgs/pkgs/applications/audio/rofi-pulse-select/default.nix new file mode 100644 index 000000000000..f4f70a9d1c33 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/rofi-pulse-select/default.nix @@ -0,0 +1,40 @@ +{ stdenv +, fetchFromGitLab +, lib +, makeWrapper +, ponymix +, rofi-unwrapped +}: + +stdenv.mkDerivation rec { + pname = "rofi-pulse-select"; + version = "0.2.0"; + + src = fetchFromGitLab { + owner = "DamienCassou"; + repo = pname; + rev = "${version}"; + sha256 = "1405v0bh2m8ip9c23l95i8iq2gfrpanc6f4dz17nysdcff2ay2p3"; + }; + + installPhase = '' + runHook preInstall + + install -D --target-directory=$out/bin/ ./rofi-pulse-select + + wrapProgram $out/bin/rofi-pulse-select \ + --prefix PATH ":" ${lib.makeBinPath [ rofi-unwrapped ponymix ]} + + runHook postInstall + ''; + + nativeBuildInputs = [ makeWrapper ]; + + meta = with lib; { + description = "Rofi-based interface to select source/sink (aka input/output) with PulseAudio"; + homepage = "https://gitlab.com/DamienCassou/rofi-pulse-select"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ DamienCassou ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/roomeqwizard/default.nix b/nixpkgs/pkgs/applications/audio/roomeqwizard/default.nix new file mode 100644 index 000000000000..9d4118a43915 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/roomeqwizard/default.nix @@ -0,0 +1,118 @@ +{ coreutils +, fetchurl +, gawk +, gnused +, jdk8 +, lib +, makeDesktopItem +, makeWrapper +, stdenv +, writeScript +, writeTextFile +, recommendedUdevRules ? true +}: + +stdenv.mkDerivation rec { + pname = "roomeqwizard"; + version = "5.20.4"; + + src = fetchurl { + url = "https://www.roomeqwizard.com/installers/REW_linux_${lib.replaceChars [ "." ] [ "_" ] version}.sh"; + sha256 = "0m2b5hwazy4vyjk51cmayys250rircs3c0v7bv5mn28h7hyq29s8"; + }; + + dontUnpack = true; + + desktopItem = makeDesktopItem { + name = pname; + exec = pname; + icon = pname; + desktopName = "REW"; + genericName = "Software for audio measurements"; + categories = "AudioVideo;"; + }; + + responseFile = writeTextFile { + name = "response.varfile"; + text = '' + createDesktopLinkAction$Boolean=false + executeLauncherAction$Boolean=false + mem$Integer=1 + opengl$Boolean=false + sys.adminRights$Boolean=false + sys.installationDir=INSTALLDIR + sys.languageId=en + sys.programGroupDisabled$Boolean=true + ''; + }; + + udevRules = '' + # MiniDSP UMIK-1 calibrated USB microphone + SUBSYSTEM=="usb", ATTR{idVendor}=="2752", ATTR{idProduct}=="0007", TAG+="uaccess" + ''; + + nativeBuildInputs = [ makeWrapper ]; + + buildPhase = '' + runHook preBuild + + # set JDK path in installer + sed -E 's|^#\s*(INSTALL4J_JAVA_HOME_OVERRIDE=)|\1${jdk8}|' $src > installer + chmod +x installer + + sed -e "s|INSTALLDIR|$out/share/roomeqwizard|" $responseFile > response.varfile + + export HOME=$PWD + + ./installer -q -varfile response.varfile + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/lib/udev/rules.d $out/share/icons/hicolor/256x256/apps + makeWrapper $out/share/roomeqwizard/roomeqwizard $out/bin/roomeqwizard \ + --set INSTALL4J_JAVA_HOME_OVERRIDE ${jdk8} \ + --prefix PATH : ${lib.makeBinPath [ coreutils gnused gawk ]} + + cp -r "$desktopItem/share/applications" $out/share/ + cp $out/share/roomeqwizard/.install4j/s_*.png "$out/share/icons/hicolor/256x256/apps/${pname}.png" + + ${lib.optionalString recommendedUdevRules ''echo "$udevRules" > $out/lib/udev/rules.d/90-roomeqwizard.rules''} + + runHook postInstall + ''; + + passthru.updateScript = writeScript "${pname}-update.sh" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl common-updater-scripts nixpkgs-fmt coreutils perl + + set -euo pipefail + + perlexpr='if (/current version.{1,10}v(\d+)\.(\d+)\.(\d+)/i) { print "$1.$2.$3"; break; }' + + oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')" + latestVersion="$(curl -sS https://www.roomeqwizard.com/index.html | perl -ne "$perlexpr")" + + if [ ! "$oldVersion" = "$latestVersion" ]; then + update-source-version ${pname} "$latestVersion" --version-key=version --print-changes + nixpkgs-fmt "pkgs/applications/audio/roomeqwizard/default.nix" + else + echo "${pname} is already up-to-date" + fi + ''; + + meta = with lib; { + homepage = "https://www.roomeqwizard.com/"; + license = licenses.unfree; + platforms = platforms.all; + maintainers = with maintainers; [ zaninime ]; + description = "Room Acoustics Software"; + longDescription = '' + REW is free software for room acoustic measurement, loudspeaker + measurement and audio device measurement. + ''; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/schismtracker/default.nix b/nixpkgs/pkgs/applications/audio/schismtracker/default.nix index ba193f70194d..bf74dd64f926 100644 --- a/nixpkgs/pkgs/applications/audio/schismtracker/default.nix +++ b/nixpkgs/pkgs/applications/audio/schismtracker/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "schismtracker"; - version = "20210525"; + version = "20211116"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "06ybkbqry7f7lmzgwb9s7ipafshl5gdj98lcjsjkcbnywj8r9b3h"; + sha256 = "1kcw4rwphyqh0hwwjsydzwg484xj17rb5lc8pfsixsg77z50ayzz"; }; configureFlags = [ "--enable-dependency-tracking" ] @@ -25,6 +25,8 @@ stdenv.mkDerivation rec { buildInputs = [ SDL ] ++ lib.optional stdenv.isLinux alsa-lib; + enableParallelBuilding = true; + meta = with lib; { description = "Music tracker application, free reimplementation of Impulse Tracker"; homepage = "http://schismtracker.org/"; diff --git a/nixpkgs/pkgs/applications/audio/setbfree/default.nix b/nixpkgs/pkgs/applications/audio/setbfree/default.nix index 67851611f76e..0edd45f24096 100644 --- a/nixpkgs/pkgs/applications/audio/setbfree/default.nix +++ b/nixpkgs/pkgs/applications/audio/setbfree/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchzip, alsa-lib, freetype, ftgl, libjack2, libX11, lv2 +{ lib, stdenv, fetchFromGitHub, alsa-lib, freetype, ftgl, libjack2, libX11, lv2 , libGLU, libGL, pkg-config, ttf_bitstream_vera }: @@ -6,9 +6,11 @@ stdenv.mkDerivation rec { pname = "setbfree"; version = "0.8.11"; - src = fetchzip { - url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz"; - sha256 = "0c2wc8nkrzsy0yic4y7hjz320m3d20r8152j9dk8nsnmgjmyr2ir"; + src = fetchFromGitHub { + owner = "pantherb"; + repo = "setBfree"; + rev = "v${version}"; + sha256 = "sha256-OYrsq3zVaotmS1KUgDIQbVQgxpfweMKiB17/PC1iXDA="; }; postPatch = '' diff --git a/nixpkgs/pkgs/applications/audio/sfizz/default.nix b/nixpkgs/pkgs/applications/audio/sfizz/default.nix index 702f5c3982a2..d579e78b35e7 100644 --- a/nixpkgs/pkgs/applications/audio/sfizz/default.nix +++ b/nixpkgs/pkgs/applications/audio/sfizz/default.nix @@ -1,18 +1,16 @@ -{ lib, stdenv, fetchFromGitHub -, libjack2, libsndfile, xorg, freetype, libxkbcommon -, cairo, glib, gnome, flac, libogg, libvorbis, libopus -, cmake, pkg-config -}: +{ lib, stdenv, fetchFromGitHub, libjack2, libsndfile, xorg, freetype +, libxkbcommon, cairo, glib, gnome, flac, libogg, libvorbis, libopus, cmake +, pango, pkg-config }: stdenv.mkDerivation rec { pname = "sfizz"; - version = "0.5.1"; + version = "1.1.1"; src = fetchFromGitHub { owner = "sfztools"; repo = pname; rev = version; - sha256 = "sha256-3RdY5+BPsdk6vctDy24w5aJsVOV9qzSgXs62Pm5UEKs="; + sha256 = "1gzpbns89j6ggzfjjvyhgigynsv20synrs7lmc32hwp4g73l0j7n"; fetchSubmodules = true; }; @@ -37,18 +35,18 @@ stdenv.mkDerivation rec { glib gnome.zenity freetype + pango ]; nativeBuildInputs = [ cmake pkg-config ]; postPatch = '' - substituteInPlace editor/external/vstgui4/vstgui/lib/platform/linux/x11fileselector.cpp \ - --replace '"/usr/bin/zenity' '"${gnome.zenity}/bin/zenity' + 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 \ + --replace '/usr/bin/zenity' '${gnome.zenity}/bin/zenity' ''; - cmakeFlags = [ - "-DCMAKE_BUILD_TYPE=Release" - "-DSFIZZ_TESTS=ON" - ]; + cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DSFIZZ_TESTS=ON" ]; meta = with lib; { homepage = "https://github.com/sfztools/sfizz"; diff --git a/nixpkgs/pkgs/applications/audio/snapcast/default.nix b/nixpkgs/pkgs/applications/audio/snapcast/default.nix index 0299f66191ed..d2b6ba07d2eb 100644 --- a/nixpkgs/pkgs/applications/audio/snapcast/default.nix +++ b/nixpkgs/pkgs/applications/audio/snapcast/default.nix @@ -1,7 +1,10 @@ { stdenv, lib, fetchFromGitHub, cmake, pkg-config , alsa-lib, asio, avahi, boost17x, flac, libogg, libvorbis, soxr +, pulseaudioSupport ? false, libpulseaudio , nixosTests }: +assert pulseaudioSupport -> libpulseaudio != null; + let dependency = { name, version, sha256 }: @@ -50,7 +53,7 @@ stdenv.mkDerivation rec { boost17x alsa-lib asio avahi flac libogg libvorbis aixlog popl soxr - ]; + ] ++ lib.optional pulseaudioSupport libpulseaudio; # Upstream systemd unit files are pretty awful, so we provide our own in a # NixOS module. It might make sense to get that upstreamed... diff --git a/nixpkgs/pkgs/applications/audio/snd/default.nix b/nixpkgs/pkgs/applications/audio/snd/default.nix index 56d1dacaf9ad..9561dc00d744 100644 --- a/nixpkgs/pkgs/applications/audio/snd/default.nix +++ b/nixpkgs/pkgs/applications/audio/snd/default.nix @@ -1,19 +1,22 @@ { lib, stdenv, fetchurl, pkg-config , alsa-lib, fftw, gsl, motif, xorg +, CoreServices, CoreMIDI }: stdenv.mkDerivation rec { pname = "snd"; - version = "21.7"; + version = "21.8"; src = fetchurl { url = "mirror://sourceforge/snd/snd-${version}.tar.gz"; - sha256 = "sha256-GjaPZmJfodvYvhObGcBDRN0mIyc6Vxycd0BZGHdvoJA="; + sha256 = "sha256-sI2xa37eSBDr/ucQ7RF3YfsszKfWcmOCoAJENALSlTo="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ alsa-lib fftw gsl motif ] + buildInputs = [ fftw gsl motif ] + ++ lib.optionals stdenv.isLinux [ alsa-lib ] + ++ lib.optionals stdenv.isDarwin [ CoreServices CoreMIDI ] ++ (with xorg; [ libXext libXft libXpm libXt ]); configureFlags = [ "--with-motif" ]; diff --git a/nixpkgs/pkgs/applications/audio/songrec/default.nix b/nixpkgs/pkgs/applications/audio/songrec/default.nix index 166784a164d7..60fbd3a2888a 100644 --- a/nixpkgs/pkgs/applications/audio/songrec/default.nix +++ b/nixpkgs/pkgs/applications/audio/songrec/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "songrec"; - version = "0.2.0"; + version = "0.2.1"; src = fetchFromGitHub { owner = "marin-m"; repo = pname; rev = version; - sha256 = "sha256-9fq2P+F7Olm9bUQ1HbH/Lzb5J2mJCma+x/vuH3wf+zY="; + sha256 = "sha256-pKHKM4XOuuZCr4neMe1AVqWMuZghwYNe+ifJCQhXG/c="; }; - cargoSha256 = "sha256-ATlwBMuT8AufkrZNe1+U74hYRN4V88ZDKYvCWV52iyI="; + cargoSha256 = "sha256-J3ezXBOGJwzIPTHXujHpswsgh9PFy110AOQ2pPJNm10="; nativeBuildInputs = [ pkg-config ]; diff --git a/nixpkgs/pkgs/applications/audio/sony-headphones-client/default.nix b/nixpkgs/pkgs/applications/audio/sony-headphones-client/default.nix new file mode 100644 index 000000000000..976c4ab5702c --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/sony-headphones-client/default.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, bluez, dbus, glew, glfw, imgui, makeDesktopItem, copyDesktopItems }: + +stdenv.mkDerivation rec { + pname = "SonyHeadphonesClient"; + version = "1.2"; + + src = fetchFromGitHub { + owner = "Plutoberth"; + repo = "SonyHeadphonesClient"; + rev = "v${version}"; + sha256 = "sha256-oejXrs9X+R6Jydro0XIw2XifzFA7asDhpobtaE3//Hc="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ cmake pkg-config copyDesktopItems ]; + buildInputs = [ bluez dbus glew glfw imgui ]; + + sourceRoot = "./source/Client"; + + cmakeFlags = [ "-Wno-dev" ]; + + installPhase = '' + runHook preInstall + install -Dm755 -t $out/bin SonyHeadphonesClient + runHook postInstall + ''; + + desktopItems = [ (makeDesktopItem { + name = "SonyHeadphonesClient"; + exec = "SonyHeadphonesClient"; + icon = "SonyHeadphonesClient"; + desktopName = "Sony Headphones Client"; + comment = "A client recreating the functionality of the Sony Headphones app"; + categories = "Audio;Mixer;"; + }) ]; + + meta = with lib; { + description = "A client recreating the functionality of the Sony Headphones app"; + homepage = "https://github.com/Plutoberth/SonyHeadphonesClient"; + license = licenses.mit; + maintainers = with maintainers; [ stunkymonkey ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/soundwireserver/default.nix b/nixpkgs/pkgs/applications/audio/soundwireserver/default.nix new file mode 100755 index 000000000000..17660599b689 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/soundwireserver/default.nix @@ -0,0 +1,39 @@ +{ lib +, qt5 +, autoPatchelfHook +, unzip +, fetchzip +, portaudio +}: + +qt5.mkDerivation { + pname = "soundwire"; + version = "3.0"; + + src = fetchzip { + url = "https://web.archive.org/web/20211120182526/https://georgielabs.net/SoundWire_Server_linux64.tar.gz"; + hash = "sha256-TECuQ5WXpeikc9tXEE/wVBnRbdYd0OaIFFhsBRmaukA="; + }; + + nativeBuildInputs = [ + unzip + autoPatchelfHook + ]; + + buildInputs = [ + portaudio + ]; + + installPhase = '' + install -D SoundWire-Server.desktop $out/share/applications/SoundWireServer.desktop + install -D SoundWireServer $out/bin/SoundWireServer + install -D sw-icon.xpm $out/share/icons/hicolor/256x256/apps/sw-icon.xpm + ''; + + meta = with lib; { + description = "Turn your Android device into wireless headphones / wireless speaker"; + homepage = "https://georgielabs.net/"; + maintainers = with maintainers; [ mkg20001 ]; + license = licenses.unfree; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/spot/default.nix b/nixpkgs/pkgs/applications/audio/spot/default.nix index aa7a041f40c7..e17e85036949 100644 --- a/nixpkgs/pkgs/applications/audio/spot/default.nix +++ b/nixpkgs/pkgs/applications/audio/spot/default.nix @@ -21,19 +21,19 @@ stdenv.mkDerivation rec { pname = "spot"; - version = "0.2.0"; + version = "0.2.2"; src = fetchFromGitHub { owner = "xou816"; repo = "spot"; rev = version; - sha256 = "16pri0in514xzy21bsijyvyyjwa0f6lg4zyizmdcmcdw4glrs11m"; + hash = "sha256-g0oVhlfez9i+Vv8lt/aNftCVqdgPMDySBBeLyOv7Zl8="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - sha256 = "1fvnidxh4rnkzqg3qjk3zlkp2d41qdamm0bfavk8jrazw8sgih84"; + hash = "sha256-n10aYzkRqEe1h2WPAfARjH79Npvv+3fdX9jCtxv2a34="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/spotify/default.nix b/nixpkgs/pkgs/applications/audio/spotify/default.nix index 48e6a85f5d25..f38bd678d9ef 100644 --- a/nixpkgs/pkgs/applications/audio/spotify/default.nix +++ b/nixpkgs/pkgs/applications/audio/spotify/default.nix @@ -10,14 +10,14 @@ let # If an update breaks things, one of those might have valuable info: # https://aur.archlinux.org/packages/spotify/ # https://community.spotify.com/t5/Desktop-Linux - version = "1.1.68.628.geb44bd66"; + version = "1.1.72.439.gc253025e"; # To get the latest stable revision: # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # To get general information: # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # More examples of api usage: # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py - rev = "52"; + rev = "56"; deps = [ alsa-lib @@ -80,7 +80,7 @@ stdenv.mkDerivation { # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 src = fetchurl { url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; - sha512 = "be6f1cb650924eb9e244497374d1dfe6136d28056dbecc7000a03341a4bb4c6ab2c83ec6c707bd6f57afde95262230eafbde08e9c7a7dfcacdf660eb10499f3a"; + sha512 = "b2bd3d49a18dfebaa4660f9c39d11d57fb80a4ef15ec7b7973e3cc07be74f74aebd2d8c66360d79fe778244c533ed02f9dfca4085f99aae0e5faae7c003ba4ef"; }; nativeBuildInputs = [ makeWrapper wrapGAppsHook squashfsTools ]; diff --git a/nixpkgs/pkgs/applications/audio/spotifyd/default.nix b/nixpkgs/pkgs/applications/audio/spotifyd/default.nix index e9de6cb3cf78..bfeb8a7dab3a 100644 --- a/nixpkgs/pkgs/applications/audio/spotifyd/default.nix +++ b/nixpkgs/pkgs/applications/audio/spotifyd/default.nix @@ -9,22 +9,16 @@ rustPackages.rustPlatform.buildRustPackage rec { pname = "spotifyd"; - version = "0.3.2"; + version = "0.3.3"; src = fetchFromGitHub { owner = "Spotifyd"; repo = "spotifyd"; rev = "v${version}"; - sha256 = "1a578h13iv8gqmskzlncfr42jlg5gp0zfcizv4wbd48y9hl8fh2l"; + sha256 = "1liql2wp7cx0x4ha1578wx3m4byd295m4ph268s05yw2wrnr3v6c"; }; - cargoSha256 = "07dxfc0csrnfl01p9vdrqvca9f574svlf37dk3dz8p6q08ki0n1z"; - - cargoBuildFlags = [ - "--no-default-features" - "--features" - "${lib.optionalString withALSA "alsa_backend,"}${lib.optionalString withPulseAudio "pulseaudio_backend,"}${lib.optionalString withPortAudio "portaudio_backend,"}${lib.optionalString withMpris "dbus_mpris,"}${lib.optionalString withKeyring "dbus_keyring,"}" - ]; + cargoSha256 = "1plvqd55d1gj0ydimv3154pwgj2sh1fqx2182nw8akzdfmzg1150"; nativeBuildInputs = [ pkg-config ]; @@ -34,6 +28,13 @@ rustPackages.rustPlatform.buildRustPackage rec { ++ lib.optional withPortAudio portaudio ++ lib.optional (withMpris || withKeyring) dbus; + buildNoDefaultFeatures = true; + buildFeatures = lib.optional withALSA "alsa_backend" + ++ lib.optional withPulseAudio "pulseaudio_backend" + ++ lib.optional withPortAudio "portaudio_backend" + ++ lib.optional withMpris "dbus_mpris" + ++ lib.optional withKeyring "dbus_keyring"; + doCheck = false; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/audio/strawberry/default.nix b/nixpkgs/pkgs/applications/audio/strawberry/default.nix index 6cc55650220a..fd75a4a8e5d7 100644 --- a/nixpkgs/pkgs/applications/audio/strawberry/default.nix +++ b/nixpkgs/pkgs/applications/audio/strawberry/default.nix @@ -36,13 +36,13 @@ mkDerivation rec { pname = "strawberry"; - version = "0.9.3"; + version = "1.0.0"; src = fetchFromGitHub { owner = "jonaski"; repo = pname; rev = version; - sha256 = "sha256-OOdHsii6O4okVHDhrqCNJ7WVB0VKPs8q0AhEY+IvflE="; + sha256 = "sha256-m1BB5OIeCIQuJpxEO1xmb/Z8tzeHF31jYg67OpVWWRM="; }; buildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/sublime-music/default.nix b/nixpkgs/pkgs/applications/audio/sublime-music/default.nix index 5c9250b45e03..3f7e1e038f8e 100644 --- a/nixpkgs/pkgs/applications/audio/sublime-music/default.nix +++ b/nixpkgs/pkgs/applications/audio/sublime-music/default.nix @@ -15,14 +15,14 @@ python3Packages.buildPythonApplication rec { pname = "sublime-music"; - version = "0.11.13"; + version = "0.11.16"; format = "pyproject"; src = fetchFromGitLab { owner = "sublime-music"; repo = pname; rev = "v${version}"; - sha256 = "sha256-NzbQtRcsRVppyuG1UuS3IidSnniUOavf5YoAf/kcZqw="; + sha256 = "sha256-n77mTgElwwFaX3WQL8tZzbkPwnsyQ08OW9imSOjpBlg="; }; nativeBuildInputs = [ @@ -57,19 +57,26 @@ python3Packages.buildPythonApplication rec { ++ lib.optional serverSupport bottle ; + postPatch = '' + sed -i "/--cov/d" setup.cfg + sed -i "/--no-cov-on-fail/d" setup.cfg + ''; + # hook for gobject-introspection doesn't like strictDeps # https://github.com/NixOS/nixpkgs/issues/56943 strictDeps = false; - # Use the test suite provided by the upstream project. checkInputs = with python3Packages; [ pytest - pytest-cov ]; - checkPhase = "${xvfb-run}/bin/xvfb-run pytest"; - # Also run the python import check for sanity - pythonImportsCheck = [ "sublime_music" ]; + checkPhase = '' + ${xvfb-run}/bin/xvfb-run pytest + ''; + + pythonImportsCheck = [ + "sublime_music" + ]; postInstall = '' install -Dm444 sublime-music.desktop -t $out/share/applications diff --git a/nixpkgs/pkgs/applications/audio/surge-XT/default.nix b/nixpkgs/pkgs/applications/audio/surge-XT/default.nix new file mode 100644 index 000000000000..a08c25f016aa --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/surge-XT/default.nix @@ -0,0 +1,93 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, pkg-config +, alsa-lib +, freetype +, libjack2 +, lv2 +, libX11 +, libXcursor +, libXext +, libXinerama +, libXrandr +}: + +let + juce-lv2 = stdenv.mkDerivation { + pname = "juce-lv2"; + version = "unstable-2021-12-11"; + + # lv2 branch + src = fetchFromGitHub { + owner = "lv2-porting-project"; + repo = "JUCE"; + rev = "5106d9d77b892c22afcb9379c13982f270429e2e"; + sha256 = "sha256-bpZJ5NEDRfMtmx0RkKQFZWqS/SnYAFRhrDg9MSphh4c="; + }; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + cp -r . $out + ''; + }; +in +stdenv.mkDerivation rec { + pname = "surge-XT"; + version = "unstable-2021-12-11"; + + src = fetchFromGitHub { + owner = "surge-synthesizer"; + repo = "surge"; + rev = "320f68543d0279c11cea8dc7f5170399cccc9602"; + fetchSubmodules = true; + sha256 = "sha256-Jcs5FpX5AZl72aKYNbRcfYqb2PRt0r1pQXk957xk0aM="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + alsa-lib + freetype + libjack2 + lv2 + libX11 + libXcursor + libXext + libXinerama + libXrandr + ]; + + cmakeFlags = [ + "-DJUCE_SUPPORTS_LV2=ON" + "-DSURGE_JUCE_PATH=${juce-lv2}" + ]; + + # JUCE dlopen's these at runtime, crashes without them + NIX_LDFLAGS = (toString [ + "-lX11" + "-lXext" + "-lXcursor" + "-lXinerama" + "-lXrandr" + ]); + + # see https://github.com/NixOS/nixpkgs/pull/149487#issuecomment-991747333 + postPatch = '' + export XDG_DOCUMENTS_DIR=$(mktemp -d) + ''; + + meta = with lib; { + description = "LV2 & VST3 synthesizer plug-in (previously released as Vember Audio Surge)"; + homepage = "https://surge-synthesizer.github.io"; + license = licenses.gpl3; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ magnetophon orivej ]; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/swh-lv2/default.nix b/nixpkgs/pkgs/applications/audio/swh-lv2/default.nix index f2b71c1ce291..338877d2be21 100644 --- a/nixpkgs/pkgs/applications/audio/swh-lv2/default.nix +++ b/nixpkgs/pkgs/applications/audio/swh-lv2/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, fftwSinglePrec, libxslt, lv2, pkg-config }: +{ lib, stdenv, fetchFromGitHub, fftwSinglePrec, libxslt, lv2, pkg-config }: stdenv.mkDerivation rec { pname = "swh-lv2"; version = "1.0.16"; - src = fetchurl { - url = "https://github.com/swh/lv2/archive/v${version}.tar.gz"; - sha256 = "0j1mih0lp4fds07knp5i32in515sh0df1qi6694pmyz2wqnm295w"; + src = fetchFromGitHub { + owner = "swh"; + repo = "lv2"; + rev = "v${version}"; + sha256 = "sha256-v6aJUWDbBZEmz0v6+cSCi/KhOYNUeK/MJLUSgzi39ng="; }; patchPhase = '' diff --git a/nixpkgs/pkgs/applications/audio/synthv1/default.nix b/nixpkgs/pkgs/applications/audio/synthv1/default.nix index eecf8caee379..b0e9e9bde9d0 100644 --- a/nixpkgs/pkgs/applications/audio/synthv1/default.nix +++ b/nixpkgs/pkgs/applications/audio/synthv1/default.nix @@ -2,11 +2,11 @@ mkDerivation rec { pname = "synthv1"; - version = "0.9.15"; + version = "0.9.23"; src = fetchurl { url = "mirror://sourceforge/synthv1/${pname}-${version}.tar.gz"; - sha256 = "047y2l7ipzv00ly54f074v6p043xjml7vz0svc7z81bhx74vs0ix"; + sha256 = "sha256-0V72T51icT/t9fJf4mwcMYZLjzTPnmiCbU+BdwnCmw4="; }; buildInputs = [ qtbase qttools libjack2 alsa-lib liblo lv2 ]; diff --git a/nixpkgs/pkgs/applications/audio/tagutil/default.nix b/nixpkgs/pkgs/applications/audio/tagutil/default.nix index 802cd00087a8..e5076188301a 100644 --- a/nixpkgs/pkgs/applications/audio/tagutil/default.nix +++ b/nixpkgs/pkgs/applications/audio/tagutil/default.nix @@ -30,6 +30,11 @@ stdenv.mkDerivation rec { zlib ]; + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "-o aslr" "" + ''; + meta = with lib; { description = "Scriptable music files tags tool and editor"; homepage = "https://github.com/kaworu/tagutil"; diff --git a/nixpkgs/pkgs/applications/audio/tenacity/default.nix b/nixpkgs/pkgs/applications/audio/tenacity/default.nix new file mode 100644 index 000000000000..fbf13c1748ff --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/tenacity/default.nix @@ -0,0 +1,148 @@ +{ stdenv +, lib +, fetchFromSourcehut +, cmake +, wxGTK +, pkg-config +, python3 +, gettext +, glib +, file +, lame +, libvorbis +, libmad +, libjack2 +, lv2 +, lilv +, makeWrapper +, serd +, sord +, sqlite +, sratom +, suil +, alsa-lib +, libsndfile +, soxr +, flac +, twolame +, expat +, libid3tag +, libopus +, ffmpeg +, soundtouch +, pcre +, portaudio +, linuxHeaders +, at-spi2-core +, dbus +, libepoxy +, libXdmcp +, libXtst +, libpthreadstubs +, libselinux +, libsepol +, libxkbcommon +, util-linux +}: + +stdenv.mkDerivation rec { + pname = "tenacity"; + version = "unstable-2021-10-18"; + + src = fetchFromSourcehut { + owner = "~tenacity"; + repo = "tenacity"; + rev = "697c0e764ccb19c1e2f3073ae08ecdac7aa710e4"; + sha256 = "1fc9xz8lyl8si08wkzncpxq92vizan60c3640qr4kbnxg7vi2iy4"; + }; + + postPatch = '' + touch src/RevisionIdent.h + + substituteInPlace src/FileNames.cpp \ + --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h + ''; + + postFixup = '' + rm $out/tenacity + wrapProgram "$out/bin/tenacity" \ + --suffix AUDACITY_PATH : "$out/share/tenacity" \ + --suffix AUDACITY_MODULES_PATH : "$out/lib/tenacity/modules" \ + --prefix LD_LIBRARY_PATH : "$out/lib/tenacity" \ + --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" + ''; + + NIX_CFLAGS_COMPILE = "-D GIT_DESCRIBE=\"\""; + + # tenacity only looks for ffmpeg at runtime, so we need to link it in manually + NIX_LDFLAGS = toString [ + "-lavcodec" + "-lavdevice" + "-lavfilter" + "-lavformat" + "-lavresample" + "-lavutil" + "-lpostproc" + "-lswresample" + "-lswscale" + ]; + + nativeBuildInputs = [ + cmake + gettext + makeWrapper + pkg-config + python3 + ] ++ lib.optionals stdenv.isLinux [ + linuxHeaders + ]; + + buildInputs = [ + alsa-lib + expat + ffmpeg + file + flac + glib + lame + libid3tag + libjack2 + libmad + libopus + libsndfile + libvorbis + lilv + lv2 + pcre + portaudio + serd + sord + soundtouch + soxr + sqlite + sratom + suil + twolame + wxGTK + wxGTK.gtk + ] ++ lib.optionals stdenv.isLinux [ + at-spi2-core + dbus + libepoxy + libXdmcp + libXtst + libpthreadstubs + libxkbcommon + libselinux + libsepol + util-linux + ]; + + meta = with lib; { + description = "Sound editor with graphical UI"; + homepage = "https://tenacityaudio.org/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ irenes lheckemann ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/tonelib-gfx/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-gfx/default.nix index 00be09345520..108f39925b4f 100644 --- a/nixpkgs/pkgs/applications/audio/tonelib-gfx/default.nix +++ b/nixpkgs/pkgs/applications/audio/tonelib-gfx/default.nix @@ -1,65 +1,58 @@ -{ stdenv -, dpkg -, lib -, autoPatchelfHook +{ lib +, stdenv , fetchurl -, gtk3 -, glib -, desktop-file-utils +, autoPatchelfHook +, dpkg , alsa-lib -, libjack2 -, harfbuzz -, fribidi -, pango , freetype +, libglvnd , curl +, libXcursor +, libXinerama +, libXrandr +, libXrender +, libjack2 }: stdenv.mkDerivation rec { pname = "tonelib-gfx"; - version = "4.6.6"; + version = "4.7.0"; src = fetchurl { - url = "https://www.tonelib.net/download/0509/ToneLib-GFX-amd64.deb"; - sha256 = "sha256-wdX3SQSr0IZHsTUl+1Y0iETme3gTyryexhZ/9XHkGeo="; + url = "https://www.tonelib.net/download/0930/ToneLib-GFX-amd64.deb"; + hash = "sha256-BcbX0dz94B4mj6QeQsnuZmwXAaXH+yJjnrUPgEYVqkU="; }; + nativeBuildInputs = [ autoPatchelfHook dpkg ]; + buildInputs = [ - dpkg - gtk3 - glib - desktop-file-utils + stdenv.cc.cc.lib alsa-lib - libjack2 - harfbuzz - fribidi - pango freetype + libglvnd + ] ++ runtimeDependencies; + + runtimeDependencies = map lib.getLib [ + curl + libXcursor + libXinerama + libXrandr + libXrender + libjack2 ]; - nativeBuildInputs = [ - autoPatchelfHook - ]; - - unpackPhase = '' - mkdir -p $TMP/ $out/ - dpkg -x $src $TMP - ''; + unpackCmd = "dpkg -x $curSrc source"; installPhase = '' - cp -R $TMP/usr/* $out/ - mv $out/bin/ToneLib-GFX $out/bin/tonelib-gfx - ''; - - runtimeDependencies = [ - (lib.getLib curl) - ]; + mv usr $out + substituteInPlace $out/share/applications/ToneLib-GFX.desktop --replace /usr/ $out/ + ''; meta = with lib; { description = "Tonelib GFX is an amp and effects modeling software for electric guitar and bass."; homepage = "https://tonelib.net/"; license = licenses.unfree; - maintainers = with maintainers; [ dan4ik605743 ]; - platforms = platforms.linux; + maintainers = with maintainers; [ dan4ik605743 orivej ]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix index 7a5a5c7280fa..1c0d51ed88be 100644 --- a/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix +++ b/nixpkgs/pkgs/applications/audio/tonelib-jam/default.nix @@ -1,65 +1,61 @@ -{ stdenv -, dpkg -, lib -, autoPatchelfHook +{ lib +, stdenv , fetchurl -, gtk3 -, glib -, desktop-file-utils +, autoPatchelfHook +, dpkg , alsa-lib -, libjack2 -, harfbuzz -, fribidi -, pango , freetype +, libglvnd , curl +, libXcursor +, libXinerama +, libXrandr +, libXrender +, libjack2 }: stdenv.mkDerivation rec { pname = "tonelib-jam"; - version = "4.6.6"; + version = "4.7.0"; src = fetchurl { - url = "https://www.tonelib.net/download/0509/ToneLib-Jam-amd64.deb"; - sha256 = "sha256-cizIQgO35CQSLme/LKQqP+WzB/jCTk+fS5Z+EtF7wnQ="; + url = "https://www.tonelib.net/download/0930/ToneLib-Jam-amd64.deb"; + sha256 = "sha256-xyBDp3DQVC+nK2WGnvrfUfD+9GvwtbldXgExTMmCGw0="; }; - buildInputs = [ + nativeBuildInputs = [ + autoPatchelfHook dpkg - gtk3 - glib - desktop-file-utils - alsa-lib - libjack2 - harfbuzz - fribidi - pango - freetype ]; - nativeBuildInputs = [ - autoPatchelfHook + buildInputs = [ + stdenv.cc.cc.lib + alsa-lib + freetype + libglvnd + ] ++ runtimeDependencies; + + runtimeDependencies = map lib.getLib [ + curl + libXcursor + libXinerama + libXrandr + libXrender + libjack2 ]; - unpackPhase = '' - mkdir -p $TMP/ $out/ - dpkg -x $src $TMP - ''; + unpackCmd = "dpkg -x $curSrc source"; installPhase = '' - cp -R $TMP/usr/* $out/ - mv $out/bin/ToneLib-Jam $out/bin/tonelib-jam + mv usr $out + substituteInPlace $out/share/applications/ToneLib-Jam.desktop --replace /usr/ $out/ ''; - runtimeDependencies = [ - (lib.getLib curl) - ]; - meta = with lib; { description = "ToneLib Jam – the learning and practice software for guitar players"; homepage = "https://tonelib.net/"; license = licenses.unfree; maintainers = with maintainers; [ dan4ik605743 ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" ]; }; } diff --git a/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix b/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix index 2eef1f7bd609..41539503e020 100644 --- a/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix +++ b/nixpkgs/pkgs/applications/audio/tonelib-zoom/default.nix @@ -1,12 +1,18 @@ -{ stdenv -, dpkg -, lib -, autoPatchelfHook +{ lib +, stdenv , fetchurl -, webkitgtk -, libjack2 +, autoPatchelfHook +, dpkg , alsa-lib +, freetype +, libglvnd , curl +, libXcursor +, libXinerama +, libXrandr +, libXrender +, libjack2 +, webkitgtk }: stdenv.mkDerivation rec { @@ -18,36 +24,40 @@ stdenv.mkDerivation rec { sha256 = "sha256-4q2vM0/q7o/FracnO2xxnr27opqfVQoN7fsqTD9Tr/c="; }; - buildInputs = [ + nativeBuildInputs = [ + autoPatchelfHook dpkg - webkitgtk - libjack2 - alsa-lib ]; - nativeBuildInputs = [ - autoPatchelfHook + buildInputs = [ + stdenv.cc.cc.lib + alsa-lib + freetype + libglvnd + webkitgtk + ] ++ runtimeDependencies; + + runtimeDependencies = map lib.getLib [ + curl + libXcursor + libXinerama + libXrandr + libXrender + libjack2 ]; - unpackPhase = '' - mkdir -p $TMP/ $out/ - dpkg -x $src $TMP - ''; + unpackCmd = "dpkg -x $curSrc source"; installPhase = '' - cp -R $TMP/usr/* $out/ - mv $out/bin/ToneLib-Zoom $out/bin/tonelib-zoom + mv usr $out + substituteInPlace $out/share/applications/ToneLib-Zoom.desktop --replace /usr/ $out/ ''; - runtimeDependencies = [ - (lib.getLib curl) - ]; - meta = with lib; { description = "ToneLib Zoom – change and save all the settings in your Zoom(r) guitar pedal"; homepage = "https://tonelib.net/"; license = licenses.unfree; maintainers = with maintainers; [ dan4ik605743 ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" ]; }; } diff --git a/nixpkgs/pkgs/applications/audio/transcribe/default.nix b/nixpkgs/pkgs/applications/audio/transcribe/default.nix index 9061c38f19c3..d10a0d879418 100644 --- a/nixpkgs/pkgs/applications/audio/transcribe/default.nix +++ b/nixpkgs/pkgs/applications/audio/transcribe/default.nix @@ -1,27 +1,64 @@ -{ stdenv, fetchzip, lib, wrapGAppsHook, alsa-lib, atk, cairo, gdk-pixbuf -, glib, gst_all_1, gtk3, libSM, libX11, libpng12, pango, zlib }: +{ stdenv +, fetchzip +, lib +, wrapGAppsHook +, alsa-lib +, atk +, cairo +, fontconfig +, gdk-pixbuf +, glib +, gst_all_1 +, gtk3 +, libSM +, libX11 +, libXtst +, libpng12 +, pango +, zlib +}: stdenv.mkDerivation rec { pname = "transcribe"; - version = "9.00"; + version = "9.10"; - src = if stdenv.hostPlatform.system == "x86_64-linux" then - fetchzip { - url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-9.00.0.tar.gz"; - sha256 = "0mgjx0hnps3jmc2d9hkskxbmwcqf7f9jx595j5sc501br1l84sdf"; - } - else throw "Platform not supported"; + src = + if stdenv.hostPlatform.system == "x86_64-linux" then + fetchzip + { + url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-9.10.0.tar.gz"; + sha256 = "sha256-6+P2qdjyvCzwrXYgw2yeG+hu8W5t6E0RCZx6Znkvj3g="; + } + else throw "Platform not supported"; nativeBuildInputs = [ wrapGAppsHook ]; - buildInputs = with gst_all_1; [ gst-plugins-base gst-plugins-good - gst-plugins-bad gst-plugins-ugly ]; + buildInputs = with gst_all_1; [ + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]; dontPatchELF = true; libPath = with gst_all_1; lib.makeLibraryPath [ - stdenv.cc.cc glib gtk3 atk pango cairo gdk-pixbuf alsa-lib - libX11 libSM libpng12 gstreamer gst-plugins-base zlib + stdenv.cc.cc + glib + gtk3 + atk + fontconfig + pango + cairo + gdk-pixbuf + alsa-lib + libX11 + libXtst + libSM + libpng12 + gstreamer + gst-plugins-base + zlib ]; installPhase = '' diff --git a/nixpkgs/pkgs/applications/audio/vimpc/default.nix b/nixpkgs/pkgs/applications/audio/vimpc/default.nix index a576898128ec..5cc3c1099995 100644 --- a/nixpkgs/pkgs/applications/audio/vimpc/default.nix +++ b/nixpkgs/pkgs/applications/audio/vimpc/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , autoreconfHook , libmpdclient , ncurses @@ -21,6 +22,16 @@ stdenv.mkDerivation rec { sha256 = "0lswzkap2nm7v5h7ppb6a64cb35rajysd09nb204rxgrkij4m6nx"; }; + patches = [ + # Pull fix pending upstream inclusion for ncurses-6.3: + # https://github.com/boysetsfrog/vimpc/pull/100 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/boysetsfrog/vimpc/commit/055ecdce0720fdfc9ec2528c520b6c33da36271b.patch"; + sha256 = "01p858jjxm0bf8hnk1z8h45j8c1y9i995mafa6ff3vg9vlak61pv"; + }) + ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ libmpdclient ncurses pcre taglib curl ]; diff --git a/nixpkgs/pkgs/applications/audio/vmpk/default.nix b/nixpkgs/pkgs/applications/audio/vmpk/default.nix index a9b1ac96f106..a68ed3ceae5d 100644 --- a/nixpkgs/pkgs/applications/audio/vmpk/default.nix +++ b/nixpkgs/pkgs/applications/audio/vmpk/default.nix @@ -5,11 +5,11 @@ mkDerivation rec { pname = "vmpk"; - version = "0.8.4"; + version = "0.8.5"; src = fetchurl { url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-SSdD8dyn6abti8qkd7N5n8EYr5yMW+EPYUnRm7S9CE4="; + sha256 = "sha256-SPome4UKGOWQLT9RMoGZ0wUdwodG8mSIaGFCg0i5CmY="; }; nativeBuildInputs = [ cmake pkg-config qttools docbook-xsl-nons ]; diff --git a/nixpkgs/pkgs/applications/audio/vocal/default.nix b/nixpkgs/pkgs/applications/audio/vocal/default.nix index a2fea468de9d..3d6f3aef9e1b 100644 --- a/nixpkgs/pkgs/applications/audio/vocal/default.nix +++ b/nixpkgs/pkgs/applications/audio/vocal/default.nix @@ -88,5 +88,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = with maintainers; [ ] ++ teams.pantheon.members; platforms = platforms.linux; + mainProgram = "com.github.needleandthread.vocal"; }; } diff --git a/nixpkgs/pkgs/applications/audio/wavegain/default.nix b/nixpkgs/pkgs/applications/audio/wavegain/default.nix index f4ef7f6d8a57..d08df27e04c0 100644 --- a/nixpkgs/pkgs/applications/audio/wavegain/default.nix +++ b/nixpkgs/pkgs/applications/audio/wavegain/default.nix @@ -1,7 +1,9 @@ -{ lib, stdenv, fetchFromGitHub }: +{ lib, stdenv, fetchFromGitHub, fetchpatch }: stdenv.mkDerivation { - name = "wavegain-1.3.1"; + pname = "wavegain"; + version = "1.3.1"; + src = fetchFromGitHub { owner = "MestreLion"; repo = "wavegain"; @@ -9,6 +11,17 @@ stdenv.mkDerivation { sha256 = "0wghqnsbypmr4xcrhb568bfjdnxzzp8qgnws3jslzmzf34dpk5ls"; }; + patches = [ + # Upstream fix for -fno-common toolchains. + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/MestreLion/wavegain/commit/ee5e0f9a0ce34c0cf2769ea6566685a54b938304.patch"; + sha256 = "11yi0czdn5h5bsqp23cww6yn9lm60cij8i1pzfwcfhgyf6f8ym1n"; + }) + ]; + + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; + installPhase = '' strip -s wavegain install -vD wavegain "$out/bin/wavegain" diff --git a/nixpkgs/pkgs/applications/audio/whipper/default.nix b/nixpkgs/pkgs/applications/audio/whipper/default.nix index d66c161664f3..a7a8f054172c 100644 --- a/nixpkgs/pkgs/applications/audio/whipper/default.nix +++ b/nixpkgs/pkgs/applications/audio/whipper/default.nix @@ -42,7 +42,7 @@ in python3.pkgs.buildPythonApplication rec { mutagen pycdio pygobject3 - ruamel_yaml + ruamel-yaml discid pillow ]; diff --git a/nixpkgs/pkgs/applications/audio/x42-avldrums/default.nix b/nixpkgs/pkgs/applications/audio/x42-avldrums/default.nix index 31ef68714f6a..d698ef68da5c 100644 --- a/nixpkgs/pkgs/applications/audio/x42-avldrums/default.nix +++ b/nixpkgs/pkgs/applications/audio/x42-avldrums/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "x42-avldrums"; - version = "0.4.1"; + version = "0.4.2"; src = fetchFromGitHub { owner = "x42"; repo = "avldrums.lv2"; rev = "v${version}"; - sha256 = "1vwdp3d8qzd493qa99ddya7iql67bbfxmbcl8hk96lxif2lhmyws"; + sha256 = "sha256-L9rLSHHQIM6PqZ397TIxR6O1N9GKAQtDfWCofV5R85E="; fetchSubmodules = true; }; diff --git a/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix b/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix index 557802a8a0fb..70353e2497f1 100644 --- a/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix +++ b/nixpkgs/pkgs/applications/audio/x42-plugins/default.nix @@ -3,12 +3,12 @@ , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }: stdenv.mkDerivation rec { - version = "20210714"; + version = "20211016"; pname = "x42-plugins"; src = fetchurl { url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz"; - sha256 = "sha256-X389bA+cf3N5eJpAlpDn/CJQ6xM4qzrBQ47fYPIyIHk="; + sha256 = "sha256-Z2lXaJweOPB9hWOuy2cx1P9/CAJ+IMc7JtPDKAg2boU="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/nixpkgs/pkgs/applications/audio/zam-plugins/default.nix b/nixpkgs/pkgs/applications/audio/zam-plugins/default.nix index 777ac79a22da..a07bfa60b054 100644 --- a/nixpkgs/pkgs/applications/audio/zam-plugins/default.nix +++ b/nixpkgs/pkgs/applications/audio/zam-plugins/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "zam-plugins"; - version = "3.13"; + version = "3.14"; src = fetchFromGitHub { owner = "zamaudio"; repo = pname; rev = version; - sha256 = "02blg0iqich4vx5z1ahj6avkh83yqszdiq83p9jd5qwm0i4llqjq"; + sha256 = "sha256-zlANfFuEXQdXlSu4CuXNyChiuV7wkumaOJqgthl6Y9Q="; fetchSubmodules = true; }; diff --git a/nixpkgs/pkgs/applications/audio/zrythm/default.nix b/nixpkgs/pkgs/applications/audio/zrythm/default.nix new file mode 100644 index 000000000000..8963cff4d12a --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/zrythm/default.nix @@ -0,0 +1,173 @@ +{ stdenv +, lib +, fetchFromGitHub +, SDL2 +, alsa-lib +, libaudec +, bash +, bash-completion +, breeze-icons +, carla +, chromaprint +, cmake +, curl +, dconf +, libepoxy +, ffmpeg +, fftw +, fftwFloat +, flex +, glib +, gtk3 +, gtksourceview3 +, guile +, graphviz +, help2man +, json-glib +, jq +, libbacktrace +, libcyaml +, libgtop +, libjack2 +, libpulseaudio +, libsamplerate +, libsndfile +, libsoundio +, libxml2 +, libyaml +, lilv +, lv2 +, meson +, ninja +, pandoc +, pcre +, pcre2 +, pkg-config +, python3 +, reproc +, rtaudio +, rtmidi +, rubberband +, serd +, sord +, sratom +, texi2html +, wrapGAppsHook +, xdg-utils +, xxHash +, vamp-plugin-sdk +, zstd +}: + +stdenv.mkDerivation rec { + pname = "zrythm"; + version = "1.0.0-alpha.26.0.13"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-dkXlkJ+qlfxV9Bv2UvZZa2iRVm8tgpK4JxkWL2Jeq48="; + }; + + nativeBuildInputs = [ + help2man + jq + libaudec + libxml2 + meson + ninja + pandoc + pkg-config + python3 + python3.pkgs.sphinx + texi2html + wrapGAppsHook + cmake + ]; + + buildInputs = [ + SDL2 + alsa-lib + bash-completion + carla + chromaprint + curl + dconf + libepoxy + ffmpeg + fftw + fftwFloat + flex + breeze-icons + glib + gtk3 + gtksourceview3 + graphviz + guile + json-glib + libbacktrace + libcyaml + libgtop + libjack2 + libpulseaudio + libsamplerate + libsndfile + libsoundio + libyaml + lilv + lv2 + pcre + pcre2 + reproc + rtaudio + rtmidi + rubberband + serd + sord + sratom + vamp-plugin-sdk + xdg-utils + xxHash + zstd + ]; + + mesonFlags = [ + "-Denable_ffmpeg=true" + "-Denable_rtmidi=true" + "-Denable_rtaudio=true" + "-Denable_sdl=true" + "-Dcarla=enabled" + "-Dmanpage=true" + # "-Duser_manual=true" # needs sphinx-intl + "-Dlsp_dsp=disabled" + "-Db_lto=false" + "-Ddebug=true" + ]; + + NIX_LDFLAGS = '' + -lfftw3_threads -lfftw3f_threads + ''; + + dontStrip = true; + + postPatch = '' + chmod +x scripts/meson-post-install.sh + patchShebangs ext/sh-manpage-completions/run.sh scripts/generic_guile_wrap.sh \ + scripts/meson-post-install.sh tools/check_have_unlimited_memlock.sh + ''; + + preFixup = '' + gappsWrapperArgs+=( + --prefix GSETTINGS_SCHEMA_DIR : "$out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas/" + ) + ''; + + meta = with lib; { + homepage = "https://www.zrythm.org"; + description = "Highly automated and intuitive digital audio workstation"; + maintainers = with maintainers; [ tshaynik magnetophon ]; + platforms = platforms.linux; + license = licenses.agpl3Plus; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/zynaddsubfx/default.nix b/nixpkgs/pkgs/applications/audio/zynaddsubfx/default.nix index 4b3cbb171bd0..e738a0fbcbe5 100644 --- a/nixpkgs/pkgs/applications/audio/zynaddsubfx/default.nix +++ b/nixpkgs/pkgs/applications/audio/zynaddsubfx/default.nix @@ -89,6 +89,19 @@ in stdenv.mkDerivation rec { doCheck = true; checkInputs = [ cxxtest ]; + # TODO: Update cmake hook to make it simpler to selectively disable cmake tests: #113829 + checkPhase = let + # Tests fail on aarch64 + disabledTests = lib.optionals stdenv.isAarch64 [ + "MessageTest" + "UnisonTest" + ]; + in '' + runHook preCheck + ctest --output-on-failure -E '^${lib.concatStringsSep "|" disabledTests}$' + runHook postCheck + ''; + # When building with zest GUI, patch plugins # and standalone executable to properly locate zest postFixup = lib.optionalString (guiModule == "zest") '' |