diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0f8b5faef12..b90598e6791 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ Below is a short excerpt of some points in there: ``` (pkg-name | nixos/): (from -> to | init at version | refactor | etc) - (Motivation for change. Additional information.) + (Motivation for change. Link to release notes. Additional information.) ``` For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message). @@ -29,6 +29,7 @@ Below is a short excerpt of some points in there: * nginx: init at 2.0.1 * firefox: 54.0.1 -> 55.0 + https://www.mozilla.org/en-US/firefox/55.0/releasenotes/ * nixos/hydra: add bazBaz option Dual baz behavior is needed to do foo. diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 72d4e8dfb21..d0d012856d6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4656,6 +4656,12 @@ githubId = 4656860; name = "Gaute Ravndal"; }; + graysonhead = { + email = "grayson@graysonhead.net"; + github = "graysonhead"; + githubId = 6179496; + name = "Grayson Head"; + }; grburst = { email = "GRBurst@protonmail.com"; github = "GRBurst"; diff --git a/pkgs/applications/audio/audacity/0001-Use-a-different-approach-to-estimate-the-disk-space-.patch b/pkgs/applications/audio/audacity/0001-Use-a-different-approach-to-estimate-the-disk-space-.patch deleted file mode 100644 index 33b7554db44..00000000000 --- a/pkgs/applications/audio/audacity/0001-Use-a-different-approach-to-estimate-the-disk-space-.patch +++ /dev/null @@ -1,355 +0,0 @@ -From deeb435829d73524df851f6f4c2d4be552c99230 Mon Sep 17 00:00:00 2001 -From: Dmitry Vedenko -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 stack; -- -- int64_t total = 0; -- int64_t found = 0; -- int64_t right = 0; -- int rc; -+ sqlite3_stmt* stmt = nullptr; - -- // Get the rootpage for the sampleblocks table. -- sqlite3_stmt *stmt = -- conn.Prepare(DBConnection::GetRootPage, -- "SELECT rootpage FROM sqlite_master WHERE tbl_name = 'sampleblocks';"); -- if (stmt == nullptr || sqlite3_step(stmt) != SQLITE_ROW) -+ if (blockid == 0) - { -- return 0; -- } -- -- // And store it in our first stack frame -- stack.push_back({sqlite3_column_int64(stmt, 0)}); -+ static const char* statement = -+R"(SELECT -+ sum(length(blockid) + length(sampleformat) + -+ length(summin) + length(summax) + length(sumrms) + -+ length(summary256) + length(summary64k) + -+ length(samples)) -+FROM sampleblocks;)"; - -- // All done with the statement -- sqlite3_clear_bindings(stmt); -- sqlite3_reset(stmt); -- -- // Prepare/retrieve statement to read raw database page -- stmt = conn.Prepare(DBConnection::GetDBPage, -- "SELECT data FROM sqlite_dbpage WHERE pgno = ?1;"); -- if (stmt == nullptr) -- { -- return 0; -+ stmt = conn.Prepare(DBConnection::GetAllSampleBlocksSize, statement); - } -- -- // Traverse the b-tree until we've visited all of the leaf pages or until -- // we find the one corresponding to the passed in sample blockid. Because we -- // use an integer primary key for the sampleblocks table, the traversal will -- // be in ascending blockid sequence. -- do -+ else - { -- // Acces the top stack frame -- page &pg = stack.back(); -+ static const char* statement = -+R"(SELECT -+ length(blockid) + length(sampleformat) + -+ length(summin) + length(summax) + length(sumrms) + -+ length(summary256) + length(summary64k) + -+ length(samples) -+FROM sampleblocks WHERE blockid = ?1;)"; - -- // Read the page from the sqlite_dbpage table if it hasn't yet been loaded -- if (pg.numCells == 0) -- { -- // Bind the page number -- sqlite3_bind_int64(stmt, 1, pg.pgno); -+ stmt = conn.Prepare(DBConnection::GetSampleBlockSize, statement); -+ } - -- // And retrieve the page -- if (sqlite3_step(stmt) != SQLITE_ROW) -+ auto cleanup = finally( -+ [stmt]() { -+ // Clear statement bindings and rewind statement -+ if (stmt != nullptr) - { -- // REVIEW: Likely harmless failure - says size is zero on -- // this error. -- // LLL: Yea, but not much else we can do. -- return 0; -+ sqlite3_clear_bindings(stmt); -+ sqlite3_reset(stmt); - } -+ }); - -- // Copy the page content to the stack frame -- memcpy(&pg.data, -- sqlite3_column_blob(stmt, 0), -- sqlite3_column_bytes(stmt, 0)); -- -- // And retrieve the total number of cells within it -- pg.numCells = get2(&pg.data[3]); -- -- // Reset statement for next usage -- sqlite3_clear_bindings(stmt); -- sqlite3_reset(stmt); -- } -- -- //wxLogDebug("%*.*spgno %lld currentCell %d numCells %d", (stack.size() - 1) * 2, (stack.size() - 1) * 2, "", pg.pgno, pg.currentCell, pg.numCells); -- -- // Process an interior table b-tree page -- if (pg.data[0] == 0x05) -- { -- // Process the next cell if we haven't examined all of them yet -- if (pg.currentCell < pg.numCells) -- { -- // Remember the right-most leaf page number. -- right = get4(&pg.data[8]); -- -- // Iterate over the cells. -- // -- // If we're not looking for a specific blockid, then we always push the -- // target page onto the stack and leave the loop after a single iteration. -- // -- // Otherwise, we match the blockid against the highest integer key contained -- // within the cell and if the blockid falls within the cell, we stack the -- // page and stop the iteration. -- // -- // In theory, we could do a binary search for a specific blockid here, but -- // because our sample blocks are always large, we will get very few cells -- // per page...usually 6 or less. -- // -- // In both cases, the stacked page can be either an internal or leaf page. -- bool stacked = false; -- while (pg.currentCell < pg.numCells) -- { -- // Get the offset to this cell using the offset in the cell pointer -- // array. -- // -- // The cell pointer array starts immediately after the page header -- // at offset 12 and the retrieved offset is from the beginning of -- // the page. -- int celloff = get2(&pg.data[12 + (pg.currentCell * 2)]); -- -- // Bump to the next cell for the next iteration. -- pg.currentCell++; -- -- // Get the page number this cell describes -- int pagenum = get4(&pg.data[celloff]); -- -- // And the highest integer key, which starts at offset 4 within the cell. -- int64_t intkey = 0; -- get_varint(&pg.data[celloff + 4], &intkey); -- -- //wxLogDebug("%*.*sinternal - right %lld celloff %d pagenum %d intkey %lld", (stack.size() - 1) * 2, (stack.size() - 1) * 2, " ", right, celloff, pagenum, intkey); -- -- // Stack the described page if we're not looking for a specific blockid -- // or if this page contains the given blockid. -- if (!blockid || blockid <= intkey) -- { -- stack.push_back({pagenum, 0, 0}); -- stacked = true; -- break; -- } -- } -- -- // If we pushed a new page onto the stack, we need to jump back up -- // to read the page -- if (stacked) -- { -- continue; -- } -- } -+ if (blockid != 0) -+ { -+ int rc = sqlite3_bind_int64(stmt, 1, blockid); - -- // We've exhausted all the cells with this page, so we stack the right-most -- // leaf page. Ensure we only process it once. -- if (right) -- { -- stack.push_back({right, 0, 0}); -- right = 0; -- continue; -- } -- } -- // Process a leaf table b-tree page -- else if (pg.data[0] == 0x0d) -+ if (rc != SQLITE_OK) - { -- // Iterate over the cells -- // -- // If we're not looking for a specific blockid, then just accumulate the -- // payload sizes. We will be reading every leaf page in the sampleblocks -- // table. -- // -- // Otherwise we break out when we find the matching blockid. In this case, -- // we only ever look at 1 leaf page. -- bool stop = false; -- for (int i = 0; i < pg.numCells; i++) -- { -- // Get the offset to this cell using the offset in the cell pointer -- // array. -- // -- // The cell pointer array starts immediately after the page header -- // at offset 8 and the retrieved offset is from the beginning of -- // the page. -- int celloff = get2(&pg.data[8 + (i * 2)]); -- -- // Get the total payload size in bytes of the described row. -- int64_t payload = 0; -- int digits = get_varint(&pg.data[celloff], &payload); -- -- // Get the integer key for this row. -- int64_t intkey = 0; -- get_varint(&pg.data[celloff + digits], &intkey); -- -- //wxLogDebug("%*.*sleaf - celloff %4d intkey %lld payload %lld", (stack.size() - 1) * 2, (stack.size() - 1) * 2, " ", celloff, intkey, payload); -- -- // Add this payload size to the total if we're not looking for a specific -- // blockid -- if (!blockid) -- { -- total += payload; -- } -- // Otherwise, return the payload size for a matching row -- else if (blockid == intkey) -- { -- return payload; -- } -- } -+ conn.ThrowException(false); - } -+ } - -- // Done with the current branch, so pop back up to the previous one (if any) -- stack.pop_back(); -- } while (!stack.empty()); -- -- // Return the total used for all sample blocks -- return total; --} -- --// Retrieves a 2-byte big-endian integer from the page data --unsigned int ProjectFileIO::get2(const unsigned char *ptr) --{ -- return (ptr[0] << 8) | ptr[1]; --} -- --// Retrieves a 4-byte big-endian integer from the page data --unsigned int ProjectFileIO::get4(const unsigned char *ptr) --{ -- return ((unsigned int) ptr[0] << 24) | -- ((unsigned int) ptr[1] << 16) | -- ((unsigned int) ptr[2] << 8) | -- ((unsigned int) ptr[3]); --} -- --// Retrieves a variable length integer from the page data. Returns the --// number of digits used to encode the integer and the stores the --// value at the given location. --int ProjectFileIO::get_varint(const unsigned char *ptr, int64_t *out) --{ -- int64_t val = 0; -- int i; -+ int rc = sqlite3_step(stmt); - -- for (i = 0; i < 8; ++i) -+ if (rc != SQLITE_ROW) - { -- val = (val << 7) + (ptr[i] & 0x7f); -- if ((ptr[i] & 0x80) == 0) -- { -- *out = val; -- return i + 1; -- } -+ conn.ThrowException(false); - } - -- val = (val << 8) + (ptr[i] & 0xff); -- *out = val; -+ const int64_t size = sqlite3_column_int64(stmt, 0); - -- return 9; -+ return size; - } - - InvisibleTemporaryProject::InvisibleTemporaryProject() --- -2.33.1 - diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index 9d4c522edc1..653d5555eb1 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -3,6 +3,7 @@ , fetchFromGitHub , fetchpatch , cmake +, makeWrapper , pkg-config , python3 , gettext @@ -20,14 +21,17 @@ , libsndfile , soxr , flac +, lame , twolame , expat , libid3tag , libopus +, libuuid , ffmpeg_4 , soundtouch , pcre -/*, portaudio - given up fighting their portaudio.patch */ +, portaudio # given up fighting their portaudio.patch? +, portmidi , linuxHeaders , alsa-lib , at-spi2-core @@ -36,11 +40,14 @@ , libXdmcp , libXtst , libpthreadstubs +, libsbsms_2_3_0 , libselinux , libsepol , libxkbcommon , util-linux , wxGTK +, libpng +, libjpeg , AppKit ? null , AudioToolbox ? null , AudioUnit ? null @@ -58,12 +65,14 @@ let inherit (lib) optionals; + pname = "audacity"; + version = "3.1.3"; wxWidgets_src = fetchFromGitHub { - owner = "audacity"; + owner = pname; repo = "wxWidgets"; - rev = "07e7d832c7a337aedba3537b90b2c98c4d8e2985"; - sha256 = "1mawnkcrmqj98jp0jxlnh9xkc950ca033ccb51c7035pzmi9if9a"; + rev = "v${version}-${pname}"; + sha256 = "sha256-KrmYYv23DHBYKIuxMYBioCQ2e4KWdgmuREnimtm0XNU="; fetchSubmodules = true; }; @@ -74,41 +83,20 @@ let wxmac' = wxmac.overrideAttrs (oldAttrs: rec { src = wxWidgets_src; }); - -in -stdenv.mkDerivation rec { - pname = "audacity"; - # nixpkgs-update: no auto update - # Humans too! Let's wait to see how the situation with - # https://github.com/audacity/audacity/issues/1213 develops before - # pulling any updates that are subject to this privacy policy. We - # may wish to switch to a fork, but at the time of writing - # (2021-07-05) it's too early to tell how well any of the forks will - # be maintained. - version = "3.0.2"; +in stdenv.mkDerivation rec { + inherit pname version; src = fetchFromGitHub { - owner = "audacity"; - repo = "audacity"; + owner = pname; + repo = pname; rev = "Audacity-${version}"; - sha256 = "035qq2ff16cdl2cb9iply2bfjmhfl1dpscg79x6c9l0i9m8k41zj"; + sha256 = "sha256-sdI4paxIHDZgoWTCekjrkFR4JFpQC6OatcnJdVXCCZk="; }; - patches = [ - (fetchpatch { - url = "https://github.com/audacity/audacity/commit/7f8135e112a0e1e8e906abab9339680d1e491441.patch"; - sha256 = "0zp2iydd46analda9cfnbmzdkjphz5m7dynrdj5qdnmq6j3px9fw"; - name = "audacity_xdg_paths.patch"; - }) - # This is required to make audacity work with nixpkgs’ sqlite - # https://github.com/audacity/audacity/pull/1802 rebased onto 3.0.2 - ./0001-Use-a-different-approach-to-estimate-the-disk-space-.patch - ]; - postPatch = '' - touch src/RevisionIdent.h + mkdir src/private '' + lib.optionalString stdenv.isLinux '' - substituteInPlace src/FileNames.cpp \ + substituteInPlace libraries/lib-files/FileNames.cpp \ --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h ''; @@ -119,6 +107,7 @@ stdenv.mkDerivation rec { python3 ] ++ optionals stdenv.isLinux [ linuxHeaders + makeWrapper ]; buildInputs = [ @@ -126,15 +115,18 @@ stdenv.mkDerivation rec { ffmpeg_4 file flac + lame libid3tag libjack2 libmad libopus + libsbsms_2_3_0 libsndfile libvorbis lilv lv2 pcre + portmidi serd sord soundtouch @@ -143,6 +135,7 @@ stdenv.mkDerivation rec { sratom suil twolame + portaudio ] ++ optionals stdenv.isLinux [ alsa-lib # for portaudio at-spi2-core @@ -154,6 +147,7 @@ stdenv.mkDerivation rec { libxkbcommon libselinux libsepol + libuuid util-linux wxGTK' wxGTK'.gtk @@ -163,20 +157,49 @@ stdenv.mkDerivation rec { Cocoa CoreAudioKit AudioUnit AudioToolbox CoreAudio CoreServices Carbon # for portaudio + libpng + libjpeg ]; cmakeFlags = [ - "-Daudacity_use_ffmpeg=linked" + "-DAUDACITY_REV_LONG=nixpkgs" + "-DAUDACITY_REV_TIME=nixpkgs" "-DDISABLE_DYNAMIC_LOADING_FFMPEG=ON" + "-Daudacity_conan_enabled=Off" + "-Daudacity_use_ffmpeg=loaded" ]; doCheck = false; # Test fails + # Replace audacity's wrapper, to: + # - put it in the right place, it shouldn't be in "$out/audacity" + # - Add the ffmpeg dynamic dependency + postInstall = lib.optionalString stdenv.isLinux '' + rm "$out/audacity" + wrapProgram "$out/bin/audacity" \ + --prefix LD_LIBRARY_PATH : "$out/lib/audacity":${lib.makeLibraryPath [ ffmpeg_4 ]} \ + --suffix AUDACITY_MODULES_PATH : "$out/lib/audacity/modules" \ + --suffix AUDACITY_PATH : "$out/share/audacity" + ''; + meta = with lib; { description = "Sound editor with graphical UI"; - homepage = "https://www.audacityteam.org/"; - license = licenses.gpl2Plus; + homepage = "https://www.audacityteam.org"; + changelog = "https://github.com/audacity/audacity/releases"; + license = with licenses; [ + gpl2Plus + # Must be GPL3 when building with "technologies that require it, + # such as the VST3 audio plugin interface". + # https://github.com/audacity/audacity/discussions/2142. + gpl3 + # Documentation. + cc-by-30 + ]; maintainers = with maintainers; [ lheckemann veprbl ]; platforms = platforms.unix; + # darwin-aarch due to qtbase broken for it. + # darwin-x86_64 due to + # https://logs.nix.ci/?attempt_id=5cbc4581-09b4-4148-82fe-0326411a56b3&key=nixos%2Fnixpkgs.152273. + broken = stdenv.isDarwin; }; } diff --git a/pkgs/applications/emulators/proton-caller/default.nix b/pkgs/applications/emulators/proton-caller/default.nix index d10c4364232..14c5b7be731 100644 --- a/pkgs/applications/emulators/proton-caller/default.nix +++ b/pkgs/applications/emulators/proton-caller/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "proton-caller"; - version = "2.3.2"; + version = "3.1.0"; src = fetchFromGitHub { owner = "caverym"; repo = pname; rev = version; - sha256 = "sha256-k+cH86atuVoLCQ+I1zu08f4T+y0u8vnjo3VA+Otg+a4="; + sha256 = "sha256-eyHFKAGx8du4osoGDsMFzVE/TC/ZMPsx6mrWUPDCLJ4="; }; - cargoSha256 = "sha256-rkgg96IdIhVXZ5y/ECUxNPyPV9Nv5XGAtlxAkILry2s="; + cargoSha256 = "sha256-/4+r5rvRUqQL8EVIg/22ZytXyE4+SV4UEcXiEw4795U="; meta = with lib; { description = "Run Windows programs with Proton"; diff --git a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix index 674db790f22..58f5dfed851 100644 --- a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix +++ b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix @@ -2,17 +2,16 @@ buildGoModule rec { pname = "argocd-autopilot"; - version = "0.3.0"; - commit = "c8d17bef976649e4dc2428c14c39e30a0f846552"; + version = "0.3.1"; src = fetchFromGitHub { owner = "argoproj-labs"; repo = "argocd-autopilot"; rev = "v${version}"; - sha256 = "sha256-tggE1T+oD/dJS9tD9xOExjhy+T1GDd0vwTerD3P2KvA="; + sha256 = "sha256-L8+sb0lGPuc6smOFwijRGFS+oSCxEqB5c1tG55MPlgE="; }; - vendorSha256 = "sha256-v8UMSObE6w+ULzueEK0UFeebLqoamy/788SQLBmJZ8U="; + vendorSha256 = "sha256-sxPTOao3scTmiVKFyGeWPMzXQz/d0HSVmUYocNGm1vA="; proxyVendor = true; @@ -24,7 +23,7 @@ buildGoModule rec { "-X ${package_url}.binaryName=${pname}" "-X ${package_url}.version=${src.rev}" "-X ${package_url}.buildDate=unknown" - "-X ${package_url}.gitCommit=${commit}" + "-X ${package_url}.gitCommit=${src.rev}" "-X ${package_url}.installationManifestURL=github.com/argoproj-labs/argocd-autopilot/manifests/base?ref=${src.rev}" "-X ${package_url}.installationManifestsNamespacedURL=github.com/argoproj-labs/argocd-autopilot/manifests/insecure?ref=${src.rev}" ]; diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix index 211c2ce211e..9ce9286e610 100644 --- a/pkgs/applications/networking/cluster/argocd/default.nix +++ b/pkgs/applications/networking/cluster/argocd/default.nix @@ -2,20 +2,16 @@ buildGoModule rec { pname = "argocd"; - version = "2.3.2"; - tag = "v${version}"; - # Update commit to match the tag above - # TODO make updadeScript - commit = "ecc2af9dcaa12975e654cde8cbbeaffbb315f75c"; + version = "2.3.3"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo-cd"; - rev = tag; - sha256 = "sha256-n+C4l4U3cDU+fgCnGWOYLdyjknw7n/xPEtC1i8AaU4o="; + rev = "v${version}"; + sha256 = "sha256-ChgWqhkzVKhbyEA+g2flWK/WMxur7UHWXJUcLzp9RTE="; }; - vendorSha256 = "sha256-Km+1o6yuuxJs+DNTQ/XVTUFurD5gM5ohwDc7MwJuu5s="; + vendorSha256 = "sha256-XrIIMnn65Y10KnVTsmw6vLE53Zra1lWNFgklmaj3gF8="; # Set target as ./cmd per release-cli # https://github.com/argoproj/argo-cd/blob/master/Makefile#L222 @@ -27,8 +23,8 @@ buildGoModule rec { "-s" "-w" "-X ${package_url}.version=${version}" "-X ${package_url}.buildDate=unknown" - "-X ${package_url}.gitCommit=${commit}" - "-X ${package_url}.gitTag=${tag}" + "-X ${package_url}.gitCommit=${src.rev}" + "-X ${package_url}.gitTag=${src.rev}" "-X ${package_url}.gitTreeState=clean" ]; @@ -43,7 +39,7 @@ buildGoModule rec { doInstallCheck = true; installCheckPhase = '' - $out/bin/argocd version --client | grep ${tag} > /dev/null + $out/bin/argocd version --client | grep ${src.rev} > /dev/null ''; postInstall = '' diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix index a820539eb9a..985df6a8f5f 100644 --- a/pkgs/applications/science/logic/z3/default.nix +++ b/pkgs/applications/science/logic/z3/default.nix @@ -18,78 +18,78 @@ assert ocamlBindings -> ocaml != null && findlib != null && zarith != null; with lib; -stdenv.mkDerivation rec { - pname = "z3"; - version = "4.8.14"; +let common = { version, sha256, patches ? [ ] }: + stdenv.mkDerivation rec { + pname = "z3"; + inherit version sha256 patches; + src = fetchFromGitHub { + owner = "Z3Prover"; + repo = pname; + rev = "z3-${version}"; + sha256 = sha256; + }; - src = fetchFromGitHub { - owner = "Z3Prover"; - repo = pname; - rev = "z3-${version}"; - sha256 = "jPSTVSndp/T7n+VxZ/g9Rjco00Up+9xeDIVkeLl1MTw="; - }; + nativeBuildInputs = optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + buildInputs = [ python ] + ++ optional javaBindings jdk + ++ optionals ocamlBindings [ ocaml findlib zarith ] + ; + propagatedBuildInputs = [ python.pkgs.setuptools ]; + enableParallelBuilding = true; - nativeBuildInputs = optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - buildInputs = [ python ] - ++ optional javaBindings jdk - ++ optionals ocamlBindings [ ocaml findlib zarith ] - ; - propagatedBuildInputs = [ python.pkgs.setuptools ]; - enableParallelBuilding = true; - - postPatch = optionalString ocamlBindings '' - export OCAMLFIND_DESTDIR=$ocaml/lib/ocaml/${ocaml.version}/site-lib - mkdir -p $OCAMLFIND_DESTDIR/stublibs - ''; - - configurePhase = concatStringsSep " " - ( - [ "${python.interpreter} scripts/mk_make.py --prefix=$out" ] - ++ optional javaBindings "--java" - ++ optional ocamlBindings "--ml" - ++ optional pythonBindings "--python --pypkgdir=$out/${python.sitePackages}" - ) + "\n" + "cd build"; - - postInstall = '' - mkdir -p $dev $lib - mv $out/lib $lib/lib - mv $out/include $dev/include - '' + optionalString pythonBindings '' - mkdir -p $python/lib - mv $lib/lib/python* $python/lib/ - ln -sf $lib/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary} $python/${python.sitePackages}/z3/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary} - '' + optionalString javaBindings '' - mkdir -p $java/share/java - mv com.microsoft.z3.jar $java/share/java - moveToOutput "lib/libz3java.${stdenv.hostPlatform.extensions.sharedLibrary}" "$java" - ''; - - outputs = [ "out" "lib" "dev" "python" ] - ++ optional javaBindings "java" - ++ optional ocamlBindings "ocaml"; - - passthru = { - updateScript = writeScript "update-z3" '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p common-updater-scripts curl jq - - set -eu -o pipefail - - # Expect tags in format - # [{name: "Nightly", ..., {name: "z3-vv.vv.vv", ...]. - # Below we extract frst "z3-vv.vv" and drop "z3-" prefix. - newVersion="$(curl -s https://api.github.com/repos/Z3Prover/z3/releases | - jq 'first(.[].name|select(startswith("z3-"))|ltrimstr("z3-"))' --raw-output - )" - update-source-version ${pname} "$newVersion" + postPatch = optionalString ocamlBindings '' + export OCAMLFIND_DESTDIR=$ocaml/lib/ocaml/${ocaml.version}/site-lib + mkdir -p $OCAMLFIND_DESTDIR/stublibs ''; - }; - meta = with lib; { - description = "A high-performance theorem prover and SMT solver"; - homepage = "https://github.com/Z3Prover/z3"; - license = licenses.mit; - platforms = platforms.unix; - maintainers = with maintainers; [ thoughtpolice ttuegel ]; + configurePhase = concatStringsSep " " + ( + [ "${python.interpreter} scripts/mk_make.py --prefix=$out" ] + ++ optional javaBindings "--java" + ++ optional ocamlBindings "--ml" + ++ optional pythonBindings "--python --pypkgdir=$out/${python.sitePackages}" + ) + "\n" + "cd build"; + + doCheck = true; + checkPhase = '' + make test + ./test-z3 -a + ''; + + postInstall = '' + mkdir -p $dev $lib + mv $out/lib $lib/lib + mv $out/include $dev/include + '' + optionalString pythonBindings '' + mkdir -p $python/lib + mv $lib/lib/python* $python/lib/ + ln -sf $lib/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary} $python/${python.sitePackages}/z3/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary} + '' + optionalString javaBindings '' + mkdir -p $java/share/java + mv com.microsoft.z3.jar $java/share/java + moveToOutput "lib/libz3java.${stdenv.hostPlatform.extensions.sharedLibrary}" "$java" + ''; + + outputs = [ "out" "lib" "dev" "python" ] + ++ optional javaBindings "java" + ++ optional ocamlBindings "ocaml"; + + meta = with lib; { + description = "A high-performance theorem prover and SMT solver"; + homepage = "https://github.com/Z3Prover/z3"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ thoughtpolice ttuegel ]; + }; + }; +in +{ + z3_4_8 = common { + version = "4.8.15"; + sha256 = "0xkwqz0y5d1lfb6kfqy8wn8n2dqalzf4c8ghmjsajc1bpdl70yc5"; + }; + z3_4_7 = common { + version = "4.7.1"; + sha256 = "1s850r6qifwl83zzgvrb5l0jigvmymzpv18ph71hg2bcpk7kjw3d"; }; } diff --git a/pkgs/development/ocaml-modules/z3/default.nix b/pkgs/development/ocaml-modules/z3/default.nix index b17f29b4353..35709b3105e 100644 --- a/pkgs/development/ocaml-modules/z3/default.nix +++ b/pkgs/development/ocaml-modules/z3/default.nix @@ -7,11 +7,6 @@ else let z3-with-ocaml = (z3.override { ocamlBindings = true; inherit ocaml findlib zarith; -}).overrideAttrs (o: { - patches = (o.patches or []) ++ [ - # Fix build; see: https://github.com/Z3Prover/z3/issues/5776 - ./ocamlfind.patch - ]; }); in stdenv.mkDerivation { diff --git a/pkgs/development/ocaml-modules/z3/ocamlfind.patch b/pkgs/development/ocaml-modules/z3/ocamlfind.patch deleted file mode 100644 index d84907cf793..00000000000 --- a/pkgs/development/ocaml-modules/z3/ocamlfind.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/scripts/mk_util.py b/scripts/mk_util.py -index 042e6af46..1e105b002 100644 ---- a/scripts/mk_util.py -+++ b/scripts/mk_util.py -@@ -1995,7 +1995,7 @@ class MLComponent(Component): - - LIBZ3 = LIBZ3 + ' ' + ' '.join(map(lambda x: '-cclib ' + x, LDFLAGS.split())) - -- stubs_install_path = '$$(%s printconf path)/stublibs' % OCAMLFIND -+ stubs_install_path = '$$(%s printconf destdir)/stublibs' % OCAMLFIND - if not STATIC_LIB: - loadpath = '-ccopt -L' + stubs_install_path - dllpath = '-dllpath ' + stubs_install_path diff --git a/pkgs/development/python-modules/aplpy/default.nix b/pkgs/development/python-modules/aplpy/default.nix index 682ef6e17fd..7461c502a31 100644 --- a/pkgs/development/python-modules/aplpy/default.nix +++ b/pkgs/development/python-modules/aplpy/default.nix @@ -11,6 +11,7 @@ , pyregion , pillow , scikitimage +, cython , shapely , pytest , pytest-astropy @@ -18,39 +19,18 @@ buildPythonPackage rec { pname = "aplpy"; - version = "2.0.3"; + version = "2.1.0"; format = "pyproject"; src = fetchPypi { - pname = "APLpy"; + pname = "aplpy"; inherit version; - sha256 = "239f3d83635ca4251536aeb577df7c60df77fc4d658097b92094719739aec3f3"; + sha256 = "sha256-KCdmBwQWt7IfHsjq7pWlbSISEpfQZDyt+SQSTDaUCV4="; }; - patches = [ - # Fixes compatibility with astropy-helpers. This patch has been merged into - # the master branch as of May 2020, and should be part of the next - # upstream release (v2.0.3 was tagged in Feb. 2019). - (fetchpatch { - url = "https://github.com/aplpy/aplpy/pull/448.patch"; - sha256 = "1pnzh7ykjc8hwahzbzyryrzv5a8fddgd1bmzbhagkrn6lmvhhpvq"; - excludes = [ "tox.ini" "azure-pipelines.yml" ".circleci/config.yml" "MANIFEST.in" ".gitignore" - "setup.cfg" "appveyor.yml" "readthedocs.yml" "CHANGES.rst" ".gitmodules" ".travis.yml" "astropy_helpers" ]; - }) - # Fix for matplotlib >= 3.4 (https://github.com/aplpy/aplpy/pull/466) - # Note: because of a security thing, github will refuse to serve this patch from the - # "normal" location - # (https://github.com/aplpy/aplpy/commit/56c1cc694fdea69e7da8506d3212c4495adb0ca5.patch) - # due to the fact that it contains the PDF magic bytes, but it will serve it from - # this githubusercontent domain. - (fetchpatch { - url = "https://patch-diff.githubusercontent.com/raw/aplpy/aplpy/pull/466/commit/56c1cc694fdea69e7da8506d3212c4495adb0ca5.patch"; - sha256 = "0jna2n1cgfzr0a27m5z94wwph7qg25hs7lycrdb2dp3943rb35g4"; - }) - ]; - propagatedBuildInputs = [ numpy + cython astropy matplotlib reproject diff --git a/pkgs/development/python-modules/databricks-connect/default.nix b/pkgs/development/python-modules/databricks-connect/default.nix index d242c59acdb..5442ba7e8cf 100644 --- a/pkgs/development/python-modules/databricks-connect/default.nix +++ b/pkgs/development/python-modules/databricks-connect/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "databricks-connect"; - version = "9.1.10"; + version = "9.1.12"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-OR3TXO6IzqwqbBbfFf+FGIUbwTa0DoKry84e1hL0I3Q="; + sha256 = "sha256-o3r2qZbSAAzyxfPdf9JNDhd/WKRhDdJFfnjCI8eTEE0="; }; sourceRoot = "."; diff --git a/pkgs/development/python-modules/doc8/default.nix b/pkgs/development/python-modules/doc8/default.nix index 61c4ca6890a..c02100e379e 100644 --- a/pkgs/development/python-modules/doc8/default.nix +++ b/pkgs/development/python-modules/doc8/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "doc8"; - version = "0.10.1"; + version = "0.11.1"; format = "pyproject"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "376e50f4e70a1ae935416ddfcf93db35dd5d4cc0e557f2ec72f0667d0ace4548"; + sha256 = "sha256-bby1Ry79Mydj/7KGK0/e7EDIpv3Gu2fmhxOtdJylgIw="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/pkgs/development/python-modules/google-cloud-bigtable/default.nix index 9763cd4e0ba..d6cc1f35e61 100644 --- a/pkgs/development/python-modules/google-cloud-bigtable/default.nix +++ b/pkgs/development/python-modules/google-cloud-bigtable/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "google-cloud-bigtable"; - version = "2.7.1"; + version = "2.8.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-TUMgrv1JNt8h6DzCNtk0Fm4LQFC73/FNfpgTs9jhkYs="; + hash = "sha256-FLnEEsbTie1Z/9Y8nLzvLFbxiexUL4GFa8jCcEAYK1s="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/hg-git/default.nix b/pkgs/development/python-modules/hg-git/default.nix index be3edd37218..6ccde29313b 100644 --- a/pkgs/development/python-modules/hg-git/default.nix +++ b/pkgs/development/python-modules/hg-git/default.nix @@ -3,24 +3,34 @@ , fetchPypi , dulwich , mercurial +, pythonOlder }: buildPythonPackage rec { pname = "hg-git"; - version = "0.10.4"; + version = "1.0.0"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-guJlIm9HPTgKw5cg/s7rFST/crAXfPxGYGeZxEJ+hcw="; + hash = "sha256-ORGDOWLrnImca+qPtJZmyC8hGxJNCEC+tq2V4jpGIbY="; }; - propagatedBuildInputs = [ dulwich mercurial ]; + propagatedBuildInputs = [ + dulwich + mercurial + ]; + + pythonImportsCheck = [ + "hggit" + ]; meta = with lib; { description = "Push and pull from a Git server using Mercurial"; homepage = "https://hg-git.github.io/"; - maintainers = with maintainers; [ koral ]; license = licenses.gpl2Only; + maintainers = with maintainers; [ koral ]; }; - } diff --git a/pkgs/development/python-modules/inquirer/default.nix b/pkgs/development/python-modules/inquirer/default.nix index dd2db106ace..0fb7a245121 100644 --- a/pkgs/development/python-modules/inquirer/default.nix +++ b/pkgs/development/python-modules/inquirer/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "inquirer"; - version = "2.9.1"; + version = "2.9.2"; format = "pyproject"; src = fetchFromGitHub rec { owner = "magmax"; repo = "python-inquirer"; rev = "v${version}"; - sha256 = "sha256:0vdly2k4i7bfcqc8zh2miv9dbpmqvayxk72qn9d4hr7z15wph233"; + sha256 = "sha256-TQEZeZDl4N78dE7CXy5OwquUoHuxxjmDAC3wdxqydaQ="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/jupytext/default.nix b/pkgs/development/python-modules/jupytext/default.nix index 6e0668de147..a7a7d48c9d1 100644 --- a/pkgs/development/python-modules/jupytext/default.nix +++ b/pkgs/development/python-modules/jupytext/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "jupytext"; - version = "1.13.7"; + version = "1.13.8"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -26,8 +26,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "mwouts"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-DWK5ZoPL6Ek3dXHOlZfecQKLNwBqDjMZ77XZ7YLCXKI="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-ebe5sQJxA8QE6eJp6vPUyMaEvZUPqzCmQ6damzo1BVo="; }; buildInputs = [ diff --git a/pkgs/development/python-modules/karton-core/default.nix b/pkgs/development/python-modules/karton-core/default.nix index 07f317a8aba..562d8880692 100644 --- a/pkgs/development/python-modules/karton-core/default.nix +++ b/pkgs/development/python-modules/karton-core/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "karton-core"; - version = "4.3.0"; + version = "4.4.0"; src = fetchFromGitHub { owner = "CERT-Polska"; repo = "karton"; - rev = "v${version}"; - sha256 = "sha256-pIYDY+pie4xqH11UHBal7/+MVmJDgNCFVpSD9we9ZPA="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-TwTq44l/Nx+FQ6tFZHat4SPGOmHSwYfg7ShbGnxpkVw="; }; propagatedBuildInputs = [ minio redis ]; diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix index 918cbd2591c..020506d5191 100644 --- a/pkgs/development/python-modules/lektor/default.nix +++ b/pkgs/development/python-modules/lektor/default.nix @@ -1,58 +1,84 @@ { lib -, buildPythonPackage -, fetchFromGitHub -, click -, filetype -, watchdog -, exifread -, requests -, mistune -, inifile , Babel -, jinja2 +, buildPythonPackage +, click +, exifread +, fetchFromGitHub +, filetype , flask +, inifile +, jinja2 +, marshmallow +, marshmallow-dataclass +, mistune +, pip , pyopenssl -, ndg-httpsclient -, pytestCheckHook -, pytest-cov +, pytest-click , pytest-mock , pytest-pylint -, pytest-click +, pytestCheckHook +, pythonOlder , python-slugify -, isPy27 -, functools32 +, requests , setuptools +, watchdog +, werkzeug }: buildPythonPackage rec { pname = "lektor"; - version = "3.3.2"; + version = "3.3.3"; format = "pyproject"; + disabled = pythonOlder "3.7"; + src = fetchFromGitHub { owner = "lektor"; - repo = "lektor"; - rev = "v${version}"; - sha256 = "sha256-PNHQ87aO+b1xseupIOsO7MXdr16s0gjoHGnZhPlKKRY="; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-3jPN4VQdIUVjSSGJxPek2RrnXzCwkDxoEBqk4vuL+nc="; }; propagatedBuildInputs = [ - click filetype watchdog exifread requests mistune inifile Babel jinja2 - flask pyopenssl python-slugify ndg-httpsclient setuptools - ] ++ lib.optionals isPy27 [ functools32 ]; - - checkInputs = [ - pytestCheckHook pytest-cov pytest-mock pytest-pylint pytest-click + Babel + click + exifread + filetype + flask + inifile + jinja2 + marshmallow + marshmallow-dataclass + mistune + pip + pyopenssl + python-slugify + requests + setuptools + watchdog + werkzeug ]; - # many errors -- tests assume inside of git repo, linting errors 13/317 fail - doCheck = false; + checkInputs = [ + pytest-click + pytest-mock + pytest-pylint + pytestCheckHook + ]; + + pythonImportsCheck = [ + "lektor" + ]; + + disabledTests = [ + # Test requires network access + "test_path_installed_plugin_is_none" + ]; meta = with lib; { description = "A static content management system"; - homepage = "https://www.getlektor.com/"; - license = licenses.bsd0; + homepage = "https://www.getlektor.com/"; + license = licenses.bsd0; maintainers = with maintainers; [ costrouc ]; }; - } diff --git a/pkgs/development/python-modules/mergedb/default.nix b/pkgs/development/python-modules/mergedb/default.nix new file mode 100644 index 00000000000..b31d4ddf192 --- /dev/null +++ b/pkgs/development/python-modules/mergedb/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, colorama +, fetchPypi +, jinja2 +, pytestCheckHook +, pythonOlder +, pyyaml +, setuptools +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "mergedb"; + version = "0.1.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "2034c18dca23456c5b166b63d94300bcd8ec9f386e6cd639c2f66e141c0313f9"; + }; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + pyyaml + colorama + jinja2 + setuptools + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "mergedb" + ]; + + meta = with lib; { + description = "A tool/library for deep merging YAML files"; + homepage = "https://github.com/graysonhead/mergedb"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ graysonhead ]; + }; +} + diff --git a/pkgs/development/python-modules/nats-py/default.nix b/pkgs/development/python-modules/nats-py/default.nix index f87eb269da7..3cc92514bd6 100644 --- a/pkgs/development/python-modules/nats-py/default.nix +++ b/pkgs/development/python-modules/nats-py/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "nats-py"; - version = "2.0.0"; + version = "2.1.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,8 +18,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "nats-io"; repo = "nats.py"; - rev = "v${version}"; - hash = "sha256-BraT30J7OIcW2NXAwjcg9PYu+kgf8f1iDjKiN9J6l7Y="; + rev = "refs/tags/v${version}"; + hash = "sha256-OwxTcjHB1YLijEtTA+QFjEmihqXsiitIcCtdl/3uipI="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/oslo-log/default.nix b/pkgs/development/python-modules/oslo-log/default.nix index a2e6eac8e38..c2b11dd3167 100644 --- a/pkgs/development/python-modules/oslo-log/default.nix +++ b/pkgs/development/python-modules/oslo-log/default.nix @@ -11,16 +11,20 @@ , pyinotify , python-dateutil , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "oslo-log"; - version = "4.6.1"; + version = "4.7.0"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchPypi { pname = "oslo.log"; inherit version; - sha256 = "0dlnxjci9mpwhgfv19fy1z7xrdp8m95skrj5dr60all3pr7n22f6"; + hash = "sha256-ycLEyW098LLuuTG0djvbCpBbqvKbiVgW2Vd41p+hJwc="; }; propagatedBuildInputs = [ @@ -44,7 +48,9 @@ buildPythonPackage rec { "test_logging_handle_error" ]; - pythonImportsCheck = [ "oslo_log" ]; + pythonImportsCheck = [ + "oslo_log" + ]; meta = with lib; { description = "oslo.log library"; diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix index 4d6085e6deb..305f47a17f0 100644 --- a/pkgs/development/python-modules/pex/default.nix +++ b/pkgs/development/python-modules/pex/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "pex"; - version = "2.1.76"; + version = "2.1.77"; format = "flit"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-a/e0tz67QR7SSYQRt3tJqgCGJLn6oi0+3HMpg8NKRH8="; + hash = "sha256-lvzRb+m3a3DmimzVIroobJaNe2PuMoadb48YwhxCVvA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pyhaversion/default.nix b/pkgs/development/python-modules/pyhaversion/default.nix index 6028f19bdab..ff59ccd9c9c 100644 --- a/pkgs/development/python-modules/pyhaversion/default.nix +++ b/pkgs/development/python-modules/pyhaversion/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "pyhaversion"; - version = "22.02.0"; + version = "22.04.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -19,8 +19,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "ludeeus"; repo = pname; - rev = version; - sha256 = "sha256-7cBUsTEZ9yVlWsUdKs4YWm647baN09AQJI+7CTORhLc="; + rev = "refs/tags/${version}"; + sha256 = "sha256-ItemkSm85Sq3utEG28mvfS7gq95veeYwhHG6BpOUJJY="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pyisy/default.nix b/pkgs/development/python-modules/pyisy/default.nix index 5daadce41f4..40371467100 100644 --- a/pkgs/development/python-modules/pyisy/default.nix +++ b/pkgs/development/python-modules/pyisy/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "pyisy"; - version = "3.0.5"; + version = "3.0.6"; src = fetchFromGitHub { owner = "automicus"; repo = "PyISY"; - rev = "v${version}"; - hash = "sha256-lVutG/xJvVP0qS0UnEyS/9KwwqdRX6ownTKek8/VXbU="; + rev = "refs/tags/v${version}"; + hash = "sha256-4thCP9Xc3dtL6IaP863sW/L4aj4+QIPFv6p0kFLGh7E="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pynetgear/default.nix b/pkgs/development/python-modules/pynetgear/default.nix index 1e93ebdc486..1eabc9daaee 100644 --- a/pkgs/development/python-modules/pynetgear/default.nix +++ b/pkgs/development/python-modules/pynetgear/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "pynetgear"; - version = "0.9.3"; + version = "0.9.4"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -15,8 +15,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "MatMaul"; repo = pname; - rev = version; - sha256 = "sha256-zydSx2OZowf+1KZ5ZJ/1FDVqDZQZ4U0+q62eB1+s+WY="; + rev = "refs/tags/${version}"; + sha256 = "sha256-/oxwUukYq/a0WeO/XhkMW3Jj7I1icZZUDwh1mdbGi08="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pyplaato/default.nix b/pkgs/development/python-modules/pyplaato/default.nix index d4e91a985ef..46168b87116 100644 --- a/pkgs/development/python-modules/pyplaato/default.nix +++ b/pkgs/development/python-modules/pyplaato/default.nix @@ -7,11 +7,11 @@ buildPythonPackage rec { pname = "pyplaato"; - version = "0.0.15"; + version = "0.0.16"; src = fetchPypi { inherit pname version; - sha256 = "1nykbkv2fg1x5min07cbi44x6am48f5gw3mnyj7x2kpmj6sqfpqp"; + sha256 = "sha256-0hbdwgkQhcjD9YbpG+bczAAi9u1QfrJdMn1g14EBPac="; }; propagatedBuildInputs = [ aiohttp python-dateutil ]; diff --git a/pkgs/development/python-modules/pyscss/default.nix b/pkgs/development/python-modules/pyscss/default.nix index bbf4ee712c6..3b91236a6cc 100644 --- a/pkgs/development/python-modules/pyscss/default.nix +++ b/pkgs/development/python-modules/pyscss/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "pyScss"; - version = "1.3.7"; + version = "1.4.0"; src = fetchFromGitHub { repo = "pyScss"; owner = "Kronuz"; - rev = version; - sha256 = "0701hziiiw67blafgpmjhzspmrss8mfvif7fw0rs8fikddwwc9g6"; + rev = "refs/tags/v${version}"; + sha256 = "sha256-z0y4z+/JE6rZWHAvps/taDZvutyVhxxs2gMujV5rNu4="; }; checkInputs = [ pytest ]; diff --git a/pkgs/development/python-modules/pysimplegui/default.nix b/pkgs/development/python-modules/pysimplegui/default.nix index d645a068d29..31e40fcb12d 100644 --- a/pkgs/development/python-modules/pysimplegui/default.nix +++ b/pkgs/development/python-modules/pysimplegui/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "pysimplegui"; - version = "4.57.0"; + version = "4.59.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "PySimpleGUI"; inherit version; - sha256 = "sha256-+Dcrv+esnthI74AFLK47sS2qI4sPvihuQlL54Zo32RM="; + sha256 = "sha256-GW6BwKQ36sSJNZXy7mlRW5hB5gjTUb08V33XqRNFT1E="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix index 6adfbf5745d..46ee0ad00fb 100644 --- a/pkgs/development/python-modules/python-kasa/default.nix +++ b/pkgs/development/python-modules/python-kasa/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "python-kasa"; - version = "0.4.2"; + version = "0.4.3"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -21,8 +21,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = pname; repo = pname; - rev = version; - sha256 = "sha256-5Ohks3yfqAAe+CiLEucibezmibl6TtktDXMHAhecXzA="; + rev = "refs/tags/${version}"; + sha256 = "sha256-r1PoOxFPA4zYFEpw+BakzDAJ13IMfcZpTJWkRt/q4go="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix index 73f170b90b1..1a587d8d61a 100644 --- a/pkgs/development/python-modules/rdflib/default.nix +++ b/pkgs/development/python-modules/rdflib/default.nix @@ -2,16 +2,23 @@ , stdenv , buildPythonPackage , fetchFromGitHub -, html5lib -, isodate -, networkx -, nose -, pyparsing -, tabulate -, pandas -, pytestCheckHook , pythonOlder -, SPARQLWrapper + +# propagates +, isodate +, pyparsing + +# propagates <3.8 +, importlib-metadata + +# extras: networkx +, networkx + +# extras: html +, html5lib + +# tests +, pytestCheckHook }: buildPythonPackage rec { @@ -32,34 +39,37 @@ buildPythonPackage rec { isodate html5lib pyparsing - SPARQLWrapper + ] ++ lib.optionals (pythonOlder "3.8") [ + importlib-metadata ]; + passthru.extra-requires = { + html = [ + html5lib + ]; + networkx = [ + networkx + ]; + }; + checkInputs = [ - networkx - pandas - nose - tabulate pytestCheckHook - ]; + ] + ++ passthru.extra-requires.networkx + ++ passthru.extra-requires.html; pytestFlagsArray = [ # requires network access - "--deselect rdflib/__init__.py::rdflib" - "--deselect test/jsonld/test_onedotone.py::test_suite" + "--deselect=rdflib/__init__.py::rdflib" + "--deselect=test/jsonld/test_onedotone.py::test_suite" ]; disabledTests = [ # Requires network access - "api_key" - "BerkeleyDBTestCase" - "test_bad_password" "test_service" "testGuessFormatForParse" ] ++ lib.optional stdenv.isDarwin [ # Require loopback network access - "test_sparqlstore" - "test_sparqlupdatestore_mock" "TestGraphHTTP" ]; diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix index 5cdc1dafc03..83d1e1780b0 100644 --- a/pkgs/development/python-modules/teslajsonpy/default.nix +++ b/pkgs/development/python-modules/teslajsonpy/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "teslajsonpy"; - version = "1.9.0"; + version = "2.0.1"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -23,8 +23,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "zabuldon"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-Q/ltNdr2Huvfj1RmKFopJbaR4FSM7ziWadmDKPS26vc="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-cplx6Zhqc/ft7l9dy1ian3zzgDqEfpO/0AF7ErX4wqk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index 4404b743bc5..13bbff916cf 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "twilio"; - version = "7.7.0"; + version = "7.8.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -21,8 +21,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "twilio"; repo = "twilio-python"; - rev = version; - sha256 = "sha256-PxLDAP/6Ddvf58eEyX3DHkdBNuLE5DlLdCEaRguqOy0="; + rev = "refs/tags/${version}"; + sha256 = "sha256-r28iKUv+i8D6JLvsJA7x8T2KFzK26limIwqsXC5jjSE="; }; propagatedBuildInputs = [ diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix index 51261ac1de8..b77cad3d12b 100644 --- a/pkgs/shells/nushell/default.nix +++ b/pkgs/shells/nushell/default.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage rec { pname = "nushell"; - version = "0.44.0"; + version = "0.60.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-LMG72XfDHA9dKiBbaB09v0rDdUKRy/Czu/lsYw6jUog="; + sha256 = "1qfqn2q2bam0jrr4yqq9rb29k8qj9w9g0j9x4n8h0zp28vn7c2bq"; }; - cargoSha256 = "sha256-wgaRTf+ZQ7alibCdeCjSQhhR9MC77qM1n0jakDgr114="; + cargoSha256 = "sha256-gZ9r1Ryp5a7MjG9yM0pGCBYtM4GylZg7Sg9wCiB+SW0="; nativeBuildInputs = [ pkg-config ] ++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ python3 ]; diff --git a/pkgs/shells/nushell/use-system-zstd-lib.diff b/pkgs/shells/nushell/use-system-zstd-lib.diff index 271ad6c692e..232ee942010 100644 --- a/pkgs/shells/nushell/use-system-zstd-lib.diff +++ b/pkgs/shells/nushell/use-system-zstd-lib.diff @@ -1,32 +1,32 @@ diff --git a/Cargo.lock b/Cargo.lock -index 8833c3e5..0c90d2fe 100644 +index 4261c06..6d6e537 100644 --- a/Cargo.lock +++ b/Cargo.lock -@@ -3188,6 +3188,7 @@ dependencies = [ - "nu_plugin_xpath", +@@ -2166,6 +2166,7 @@ dependencies = [ "rstest", "serial_test", + "tempfile", + "zstd-sys", ] - + [[package]] -@@ -6954,4 +6955,5 @@ checksum = "615120c7a2431d16cf1cf979e7fc31ba7a5b5e5707b29c8a99e5dbf8a8392a33" +@@ -4962,4 +4963,5 @@ checksum = "fc49afa5c8d634e75761feda8c592051e7eeb4683ba827211eb0d731d3402ea8" dependencies = [ "cc", "libc", + "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml -index 89e8a311..4cc2331a 100644 +index e214da1..b78919a 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -63,6 +63,9 @@ serial_test = "0.5.1" - hamcrest2 = "0.3.0" - rstest = "0.10.0" - +@@ -67,6 +69,9 @@ hamcrest2 = "0.3.0" + rstest = "0.12.0" + itertools = "0.10.3" + +# Specify that the indirect dependency ztsd-sys should pick up the system zstd C library +zstd-sys = { version = "1", features = [ "pkg-config" ] } + - [build-dependencies] - - [features] + [target.'cfg(windows)'.build-dependencies] + embed-resource = "1" + diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix index 63d36e99032..d36a1fa8a4a 100644 --- a/pkgs/tools/security/cosign/default.nix +++ b/pkgs/tools/security/cosign/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "cosign"; - version = "1.6.0"; + version = "1.7.1"; src = fetchFromGitHub { owner = "sigstore"; repo = pname; rev = "v${version}"; - sha256 = "sha256-jAkTIO+tmb1vjS2eRWU9Fau7qzPCBlXJCk00iwNpULE="; + sha256 = "sha256-TyU5aznt3xra23Q52LUmvWlHYkw0s7E3Wqw9ppmzScw="; }; buildInputs = lib.optional (stdenv.isLinux && pivKeySupport) (lib.getDev pcsclite) @@ -16,7 +16,7 @@ buildGoModule rec { nativeBuildInputs = [ pkg-config installShellFiles ]; - vendorSha256 = "sha256-E9zeRlPIIoXo/EfagHC3aDnW747SdsPiqIA384D7NQI="; + vendorSha256 = "sha256-WhixkCKW/vQ6J3vJp+KX0JmZxHN38nzzAi5TS2lF3CM="; subPackages = [ "cmd/cosign" diff --git a/pkgs/tools/security/whatweb/Gemfile b/pkgs/tools/security/whatweb/Gemfile new file mode 100644 index 00000000000..a376a3baae3 --- /dev/null +++ b/pkgs/tools/security/whatweb/Gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' +gem 'ipaddr' +gem 'addressable' +gem 'json' +gem 'mongo' +gem 'rchardet' diff --git a/pkgs/tools/security/whatweb/Gemfile.lock b/pkgs/tools/security/whatweb/Gemfile.lock new file mode 100644 index 00000000000..7bfd24112b1 --- /dev/null +++ b/pkgs/tools/security/whatweb/Gemfile.lock @@ -0,0 +1,25 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + bson (4.14.1) + ipaddr (1.2.4) + json (2.6.1) + mongo (2.17.1) + bson (>= 4.8.2, < 5.0.0) + public_suffix (4.0.6) + rchardet (1.8.0) + +PLATFORMS + ruby + +DEPENDENCIES + addressable + ipaddr + json + mongo + rchardet + +BUNDLED WITH + 2.1.4 diff --git a/pkgs/tools/security/whatweb/default.nix b/pkgs/tools/security/whatweb/default.nix new file mode 100644 index 00000000000..30d866da869 --- /dev/null +++ b/pkgs/tools/security/whatweb/default.nix @@ -0,0 +1,50 @@ +{ lib, stdenv, fetchFromGitHub, bundlerEnv, ruby }: + +let + gems = bundlerEnv { + name = "whatweb-env"; + inherit ruby; + gemdir = ./.; + }; + +in stdenv.mkDerivation rec { + pname = "whatweb"; + version = "0.5.5"; + + src = fetchFromGitHub { + owner = "urbanadventurer"; + repo = "whatweb"; + rev = "v${version}"; + sha256 = "sha256-HLF55x4C8n8aPO4SI0d6Z9wZe80krtUaGUFmMaYRBIE="; + }; + + prePatch = '' + substituteInPlace Makefile \ + --replace "/usr/local" "$out" \ + --replace "/usr" "$out" + ''; + + buildInputs = [ gems ]; + + installPhase = '' + runHook preInstall + + raw=$out/share/whatweb/whatweb + rm $out/bin/whatweb + cat << EOF >> $out/bin/whatweb + #!/bin/sh -e + exec ${gems}/bin/bundle exec ${ruby}/bin/ruby "$raw" "\$@" + EOF + chmod +x $out/bin/whatweb + + runHook postInstall + ''; + + meta = with lib; { + description = "Next generation web scanner"; + homepage = "https://github.com/urbanadventurer/whatweb"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ wolfangaukang ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/security/whatweb/gemset.nix b/pkgs/tools/security/whatweb/gemset.nix new file mode 100644 index 00000000000..22d469b53e2 --- /dev/null +++ b/pkgs/tools/security/whatweb/gemset.nix @@ -0,0 +1,74 @@ +{ + addressable = { + dependencies = ["public_suffix"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp"; + type = "gem"; + }; + version = "2.8.0"; + }; + bson = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03n3w96vpblaxvk1qk8hq7sbsmg4nv7qdkdr8f7nfvalgpakp5i5"; + type = "gem"; + }; + version = "4.14.1"; + }; + ipaddr = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13qd34nzpgp3fxfjbvaqg3dcnfr0cgl5vjvcqy0hfllbvfcklnbq"; + type = "gem"; + }; + version = "1.2.4"; + }; + json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z9grvjyfz16ag55hg522d3q4dh07hf391sf9s96npc0vfi85xkz"; + type = "gem"; + }; + version = "2.6.1"; + }; + mongo = { + dependencies = ["bson"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19sihy8ihi3hmdg3gxbf4qvzmjnzx8xygg9534012j9z0wmhs7h1"; + type = "gem"; + }; + version = "2.17.1"; + }; + public_suffix = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; + type = "gem"; + }; + version = "4.0.6"; + }; + rchardet = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9"; + type = "gem"; + }; + version = "1.8.0"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5db71a9f768..dc988f50d0e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11069,6 +11069,8 @@ with pkgs; wf-recorder = callPackage ../applications/video/wf-recorder { }; + whatweb = callPackage ../tools/security/whatweb { }; + whipper = callPackage ../applications/audio/whipper { }; whitebophir = callPackage ../servers/web-apps/whitebophir { }; @@ -32801,7 +32803,11 @@ with pkgs; gmp-static = gmp.override { withStatic = true; }; }; - z3 = callPackage ../applications/science/logic/z3 { python = python2; }; + + inherit (callPackages ../applications/science/logic/z3 { python = python2; }) + z3_4_8 + z3_4_7; + z3 = z3_4_8; z3_4_4_0 = callPackage ../applications/science/logic/z3/4.4.0.nix { python = python2; stdenv = gcc49Stdenv; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 48cae4598d5..e58dc412d49 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5106,6 +5106,8 @@ in { python3Packages = self; }); + mergedb = callPackage ../development/python-modules/mergedb { }; + mergedeep = callPackage ../development/python-modules/mergedeep { }; merkletools = callPackage ../development/python-modules/merkletools { };