Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2022-04-06 12:01:50 +00:00 committed by GitHub
commit 241b3652c3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
42 changed files with 545 additions and 647 deletions

View file

@ -20,7 +20,7 @@ Below is a short excerpt of some points in there:
```
(pkg-name | nixos/<module>): (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.

View file

@ -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";

View file

@ -1,355 +0,0 @@
From deeb435829d73524df851f6f4c2d4be552c99230 Mon Sep 17 00:00:00 2001
From: Dmitry Vedenko <dmitry@crsib.me>
Date: Fri, 1 Oct 2021 16:21:22 +0300
Subject: [PATCH] Use a different approach to estimate the disk space usage
New a approach is a bit less precise, but removes the requirement for the "private" SQLite3 table and allows Audacity to be built against system SQLite3.
---
cmake-proxies/sqlite/CMakeLists.txt | 5 -
src/DBConnection.h | 4 +-
src/ProjectFileIO.cpp | 269 +++++-----------------------
3 files changed, 44 insertions(+), 234 deletions(-)
diff --git a/cmake-proxies/sqlite/CMakeLists.txt b/cmake-proxies/sqlite/CMakeLists.txt
index 63d70637c..d7b9b95ef 100644
--- a/cmake-proxies/sqlite/CMakeLists.txt
+++ b/cmake-proxies/sqlite/CMakeLists.txt
@@ -19,11 +19,6 @@ list( APPEND INCLUDES
list( APPEND DEFINES
PRIVATE
- #
- # We need the dbpage table for space calculations.
- #
- SQLITE_ENABLE_DBPAGE_VTAB=1
-
# Can't be set after a WAL mode database is initialized, so change
# the default here to ensure all project files get the same page
# size.
diff --git a/src/DBConnection.h b/src/DBConnection.h
index 16a7fc9d4..07d3af95e 100644
--- a/src/DBConnection.h
+++ b/src/DBConnection.h
@@ -75,8 +75,8 @@ public:
LoadSampleBlock,
InsertSampleBlock,
DeleteSampleBlock,
- GetRootPage,
- GetDBPage
+ GetSampleBlockSize,
+ GetAllSampleBlocksSize
};
sqlite3_stmt *Prepare(enum StatementID id, const char *sql);
diff --git a/src/ProjectFileIO.cpp b/src/ProjectFileIO.cpp
index 3b3e2e1fd..c9bc45af4 100644
--- a/src/ProjectFileIO.cpp
+++ b/src/ProjectFileIO.cpp
@@ -35,6 +35,7 @@ Paul Licameli split from AudacityProject.cpp
#include "widgets/ProgressDialog.h"
#include "wxFileNameWrapper.h"
#include "xml/XMLFileReader.h"
+#include "MemoryX.h"`
#undef NO_SHM
#if !defined(__WXMSW__)
@@ -2357,255 +2358,69 @@ int64_t ProjectFileIO::GetTotalUsage()
}
//
-// Returns the amount of disk space used by the specified sample blockid or all
-// of the sample blocks if the blockid is 0. It does this by using the raw SQLite
-// pages available from the "sqlite_dbpage" virtual table to traverse the SQLite
-// table b-tree described here: https://www.sqlite.org/fileformat.html
+// Returns the estimation of disk space used by the specified sample blockid or all
+// of the sample blocks if the blockid is 0. This does not include small overhead
+// of the internal SQLite structures, only the size used by the data
//
int64_t ProjectFileIO::GetDiskUsage(DBConnection &conn, SampleBlockID blockid /* = 0 */)
{
- // Information we need to track our travels through the b-tree
- typedef struct
- {
- int64_t pgno;
- int currentCell;
- int numCells;
- unsigned char data[65536];
- } page;
- std::vector<page> stack;
-
- int64_t total = 0;
- int64_t found = 0;
- int64_t right = 0;
- int rc;
+ sqlite3_stmt* stmt = nullptr;
- // Get the rootpage for the sampleblocks table.
- sqlite3_stmt *stmt =
- conn.Prepare(DBConnection::GetRootPage,
- "SELECT rootpage FROM sqlite_master WHERE tbl_name = 'sampleblocks';");
- if (stmt == nullptr || sqlite3_step(stmt) != SQLITE_ROW)
+ if (blockid == 0)
{
- return 0;
- }
-
- // And store it in our first stack frame
- stack.push_back({sqlite3_column_int64(stmt, 0)});
+ static const char* statement =
+R"(SELECT
+ sum(length(blockid) + length(sampleformat) +
+ length(summin) + length(summax) + length(sumrms) +
+ length(summary256) + length(summary64k) +
+ length(samples))
+FROM sampleblocks;)";
- // All done with the statement
- sqlite3_clear_bindings(stmt);
- sqlite3_reset(stmt);
-
- // Prepare/retrieve statement to read raw database page
- stmt = conn.Prepare(DBConnection::GetDBPage,
- "SELECT data FROM sqlite_dbpage WHERE pgno = ?1;");
- if (stmt == nullptr)
- {
- return 0;
+ stmt = conn.Prepare(DBConnection::GetAllSampleBlocksSize, statement);
}
-
- // Traverse the b-tree until we've visited all of the leaf pages or until
- // we find the one corresponding to the passed in sample blockid. Because we
- // use an integer primary key for the sampleblocks table, the traversal will
- // be in ascending blockid sequence.
- do
+ else
{
- // Acces the top stack frame
- page &pg = stack.back();
+ static const char* statement =
+R"(SELECT
+ length(blockid) + length(sampleformat) +
+ length(summin) + length(summax) + length(sumrms) +
+ length(summary256) + length(summary64k) +
+ length(samples)
+FROM sampleblocks WHERE blockid = ?1;)";
- // Read the page from the sqlite_dbpage table if it hasn't yet been loaded
- if (pg.numCells == 0)
- {
- // Bind the page number
- sqlite3_bind_int64(stmt, 1, pg.pgno);
+ stmt = conn.Prepare(DBConnection::GetSampleBlockSize, statement);
+ }
- // And retrieve the page
- if (sqlite3_step(stmt) != SQLITE_ROW)
+ auto cleanup = finally(
+ [stmt]() {
+ // Clear statement bindings and rewind statement
+ if (stmt != nullptr)
{
- // REVIEW: Likely harmless failure - says size is zero on
- // this error.
- // LLL: Yea, but not much else we can do.
- return 0;
+ sqlite3_clear_bindings(stmt);
+ sqlite3_reset(stmt);
}
+ });
- // Copy the page content to the stack frame
- memcpy(&pg.data,
- sqlite3_column_blob(stmt, 0),
- sqlite3_column_bytes(stmt, 0));
-
- // And retrieve the total number of cells within it
- pg.numCells = get2(&pg.data[3]);
-
- // Reset statement for next usage
- sqlite3_clear_bindings(stmt);
- sqlite3_reset(stmt);
- }
-
- //wxLogDebug("%*.*spgno %lld currentCell %d numCells %d", (stack.size() - 1) * 2, (stack.size() - 1) * 2, "", pg.pgno, pg.currentCell, pg.numCells);
-
- // Process an interior table b-tree page
- if (pg.data[0] == 0x05)
- {
- // Process the next cell if we haven't examined all of them yet
- if (pg.currentCell < pg.numCells)
- {
- // Remember the right-most leaf page number.
- right = get4(&pg.data[8]);
-
- // Iterate over the cells.
- //
- // If we're not looking for a specific blockid, then we always push the
- // target page onto the stack and leave the loop after a single iteration.
- //
- // Otherwise, we match the blockid against the highest integer key contained
- // within the cell and if the blockid falls within the cell, we stack the
- // page and stop the iteration.
- //
- // In theory, we could do a binary search for a specific blockid here, but
- // because our sample blocks are always large, we will get very few cells
- // per page...usually 6 or less.
- //
- // In both cases, the stacked page can be either an internal or leaf page.
- bool stacked = false;
- while (pg.currentCell < pg.numCells)
- {
- // Get the offset to this cell using the offset in the cell pointer
- // array.
- //
- // The cell pointer array starts immediately after the page header
- // at offset 12 and the retrieved offset is from the beginning of
- // the page.
- int celloff = get2(&pg.data[12 + (pg.currentCell * 2)]);
-
- // Bump to the next cell for the next iteration.
- pg.currentCell++;
-
- // Get the page number this cell describes
- int pagenum = get4(&pg.data[celloff]);
-
- // And the highest integer key, which starts at offset 4 within the cell.
- int64_t intkey = 0;
- get_varint(&pg.data[celloff + 4], &intkey);
-
- //wxLogDebug("%*.*sinternal - right %lld celloff %d pagenum %d intkey %lld", (stack.size() - 1) * 2, (stack.size() - 1) * 2, " ", right, celloff, pagenum, intkey);
-
- // Stack the described page if we're not looking for a specific blockid
- // or if this page contains the given blockid.
- if (!blockid || blockid <= intkey)
- {
- stack.push_back({pagenum, 0, 0});
- stacked = true;
- break;
- }
- }
-
- // If we pushed a new page onto the stack, we need to jump back up
- // to read the page
- if (stacked)
- {
- continue;
- }
- }
+ if (blockid != 0)
+ {
+ int rc = sqlite3_bind_int64(stmt, 1, blockid);
- // We've exhausted all the cells with this page, so we stack the right-most
- // leaf page. Ensure we only process it once.
- if (right)
- {
- stack.push_back({right, 0, 0});
- right = 0;
- continue;
- }
- }
- // Process a leaf table b-tree page
- else if (pg.data[0] == 0x0d)
+ if (rc != SQLITE_OK)
{
- // Iterate over the cells
- //
- // If we're not looking for a specific blockid, then just accumulate the
- // payload sizes. We will be reading every leaf page in the sampleblocks
- // table.
- //
- // Otherwise we break out when we find the matching blockid. In this case,
- // we only ever look at 1 leaf page.
- bool stop = false;
- for (int i = 0; i < pg.numCells; i++)
- {
- // Get the offset to this cell using the offset in the cell pointer
- // array.
- //
- // The cell pointer array starts immediately after the page header
- // at offset 8 and the retrieved offset is from the beginning of
- // the page.
- int celloff = get2(&pg.data[8 + (i * 2)]);
-
- // Get the total payload size in bytes of the described row.
- int64_t payload = 0;
- int digits = get_varint(&pg.data[celloff], &payload);
-
- // Get the integer key for this row.
- int64_t intkey = 0;
- get_varint(&pg.data[celloff + digits], &intkey);
-
- //wxLogDebug("%*.*sleaf - celloff %4d intkey %lld payload %lld", (stack.size() - 1) * 2, (stack.size() - 1) * 2, " ", celloff, intkey, payload);
-
- // Add this payload size to the total if we're not looking for a specific
- // blockid
- if (!blockid)
- {
- total += payload;
- }
- // Otherwise, return the payload size for a matching row
- else if (blockid == intkey)
- {
- return payload;
- }
- }
+ conn.ThrowException(false);
}
+ }
- // Done with the current branch, so pop back up to the previous one (if any)
- stack.pop_back();
- } while (!stack.empty());
-
- // Return the total used for all sample blocks
- return total;
-}
-
-// Retrieves a 2-byte big-endian integer from the page data
-unsigned int ProjectFileIO::get2(const unsigned char *ptr)
-{
- return (ptr[0] << 8) | ptr[1];
-}
-
-// Retrieves a 4-byte big-endian integer from the page data
-unsigned int ProjectFileIO::get4(const unsigned char *ptr)
-{
- return ((unsigned int) ptr[0] << 24) |
- ((unsigned int) ptr[1] << 16) |
- ((unsigned int) ptr[2] << 8) |
- ((unsigned int) ptr[3]);
-}
-
-// Retrieves a variable length integer from the page data. Returns the
-// number of digits used to encode the integer and the stores the
-// value at the given location.
-int ProjectFileIO::get_varint(const unsigned char *ptr, int64_t *out)
-{
- int64_t val = 0;
- int i;
+ int rc = sqlite3_step(stmt);
- for (i = 0; i < 8; ++i)
+ if (rc != SQLITE_ROW)
{
- val = (val << 7) + (ptr[i] & 0x7f);
- if ((ptr[i] & 0x80) == 0)
- {
- *out = val;
- return i + 1;
- }
+ conn.ThrowException(false);
}
- val = (val << 8) + (ptr[i] & 0xff);
- *out = val;
+ const int64_t size = sqlite3_column_int64(stmt, 0);
- return 9;
+ return size;
}
InvisibleTemporaryProject::InvisibleTemporaryProject()
--
2.33.1

View file

@ -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;
};
}

View file

@ -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";

View file

@ -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}"
];

View file

@ -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 = ''

View file

@ -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";
};
}

View file

@ -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 {

View file

@ -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

View file

@ -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

View file

@ -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 = ".";

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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 ];
};
}

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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 ];

View file

@ -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 ];
};
}

View file

@ -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 ];
};
}

View file

@ -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 = [

View file

@ -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";

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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 = ''

View file

@ -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 = [

View file

@ -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 ];

View file

@ -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 ];

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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"
];

View file

@ -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 = [

View file

@ -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 = [

View file

@ -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 ];

View file

@ -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"

View file

@ -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"

View file

@ -0,0 +1,6 @@
source 'https://rubygems.org'
gem 'ipaddr'
gem 'addressable'
gem 'json'
gem 'mongo'
gem 'rchardet'

View file

@ -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

View file

@ -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;
};
}

View file

@ -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";
};
}

View file

@ -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;

View file

@ -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 { };