Merge staging-next into staging
This commit is contained in:
commit
241b3652c3
42 changed files with 545 additions and 647 deletions
|
@ -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.
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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}"
|
||||
];
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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 = ".";
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
51
pkgs/development/python-modules/mergedb/default.nix
Normal file
51
pkgs/development/python-modules/mergedb/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -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 = [
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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"
|
||||
];
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
6
pkgs/tools/security/whatweb/Gemfile
Normal file
6
pkgs/tools/security/whatweb/Gemfile
Normal file
|
@ -0,0 +1,6 @@
|
|||
source 'https://rubygems.org'
|
||||
gem 'ipaddr'
|
||||
gem 'addressable'
|
||||
gem 'json'
|
||||
gem 'mongo'
|
||||
gem 'rchardet'
|
25
pkgs/tools/security/whatweb/Gemfile.lock
Normal file
25
pkgs/tools/security/whatweb/Gemfile.lock
Normal 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
|
50
pkgs/tools/security/whatweb/default.nix
Normal file
50
pkgs/tools/security/whatweb/default.nix
Normal 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;
|
||||
};
|
||||
}
|
74
pkgs/tools/security/whatweb/gemset.nix
Normal file
74
pkgs/tools/security/whatweb/gemset.nix
Normal 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";
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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 { };
|
||||
|
|
Loading…
Reference in a new issue