Merge branch 'master' into staging-next

This commit is contained in:
Vladimír Čunát 2021-04-23 09:10:50 +02:00
commit ca65d6f7d2
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
47 changed files with 769 additions and 169 deletions

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "starboard"; pname = "starboard";
version = "0.10.0"; version = "0.10.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aquasecurity"; owner = "aquasecurity";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-hieenhe3HsMqg7dMhvOUcvVGzBedYXqJRxEUkw4DG6o="; sha256 = "sha256-cDqZo0GTpvvkEiccP42u9X2ydHkSBuoD8Zfp+i+/qjo=";
}; };
vendorSha256 = "sha256-Vj8t4v2o6x+tFLWy84W3tVaIf6WtFWXpvLQfeTbeGbM="; vendorSha256 = "sha256-noK4fF9wCP1dYfDgmJVZehcF+eunzP+d9n1SiPO9UEU=";
subPackages = [ "cmd/starboard" ]; subPackages = [ "cmd/starboard" ];

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "dnscontrol"; pname = "dnscontrol";
version = "3.8.0"; version = "3.8.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "StackExchange"; owner = "StackExchange";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-VSNvyigaGfGDbcng6ltdq+X35zT2tb2p4j/4KAjd1Yk="; sha256 = "sha256-x002p7wPKbcmr4uE04mgKBagHQV/maEo99Y2Jr7xgK4=";
}; };
vendorSha256 = "sha256-VU0uJDp5koVU+wDwr3ctrDY0R3vd/JmpA7gtWWpwpfw="; vendorSha256 = "sha256-lR5+xVi/ROOFoRWyK0h/8uiSP/joQ9Zr9kMaQ+sWNhM=";
subPackages = [ "." ]; subPackages = [ "." ];

View File

@ -11,11 +11,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "jitsi-meet-electron"; pname = "jitsi-meet-electron";
version = "2.7.0"; version = "2.8.5";
src = fetchurl { src = fetchurl {
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage"; url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
sha256 = "1g8was4anrsdpv4h11z544mi0v79him2xjyknixyrqfy87cbh97n"; sha256 = "0r3jj3qjx38l1g733vhrwcm2yg7ppp23ciz84x2kqq51mlzr84c6";
name = "${pname}-${version}.AppImage"; name = "${pname}-${version}.AppImage";
}; };

View File

@ -7,7 +7,6 @@
, atk , atk
, cairo , cairo
, dbus , dbus
, dpkg
, libGL , libGL
, fontconfig , fontconfig
, freetype , freetype
@ -33,8 +32,8 @@ let
version = "5.6.16775.0418"; version = "5.6.16775.0418";
srcs = { srcs = {
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_amd64.deb"; url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
sha256 = "1fmzwxq8jv5k1b2kvg1ij9g6cdp1hladd8vm3cxzd8fywdjcndim"; sha256 = "twtxzniojgyLTx6Kda8Ej96uyw2JQB/jIhLdTgTqpCo=";
}; };
}; };
@ -71,21 +70,17 @@ in stdenv.mkDerivation rec {
inherit version; inherit version;
src = srcs.${stdenv.hostPlatform.system}; src = srcs.${stdenv.hostPlatform.system};
dontUnpack = true;
nativeBuildInputs = [ nativeBuildInputs = [
dpkg
makeWrapper makeWrapper
]; ];
unpackCmd = ''
mkdir out
dpkg -x $curSrc out
'';
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir $out mkdir $out
mv usr/* $out/ tar -C $out -xf ${src}
mv opt $out/ mv $out/usr/* $out/
runHook postInstall runHook postInstall
''; '';

View File

@ -1,37 +1,29 @@
{ lib { lib
, buildPythonApplication , buildPythonApplication
, copyDesktopItems
, fetchPypi , fetchPypi
, makeDesktopItem
, flask
, jellyfin-apiclient-python , jellyfin-apiclient-python
, jinja2 , jinja2
, mpv , mpv
, pillow , pillow
, pydantic
, pyqtwebengine
, pystray , pystray
, python-mpv-jsonipc , python-mpv-jsonipc
, pywebview , pywebview
, qt5
, tkinter , tkinter
, werkzeug
}: }:
buildPythonApplication rec { buildPythonApplication rec {
pname = "jellyfin-mpv-shim"; pname = "jellyfin-mpv-shim";
version = "1.10.4"; version = "2.0.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-QMyb69S8Ln4X0oUuLpL6vtgxJwq8f+Q4ReNckrN4E+E="; sha256 = "sha256-NXDLqQzCUfDPoKNPrmIn5FMedMKYxtDhkawRE2lg/vI=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
jellyfin-apiclient-python jellyfin-apiclient-python
mpv mpv
pillow pillow
pydantic
python-mpv-jsonipc python-mpv-jsonipc
# gui dependencies # gui dependencies
@ -41,28 +33,6 @@ buildPythonApplication rec {
# display_mirror dependencies # display_mirror dependencies
jinja2 jinja2
pywebview pywebview
# desktop dependencies
flask
pyqtwebengine
werkzeug
];
nativeBuildInputs = [
copyDesktopItems
qt5.wrapQtAppsHook
];
desktopItems = [
(makeDesktopItem {
name = "Jellyfin Desktop";
exec = "jellyfin-desktop";
icon = "jellyfin-desktop";
desktopName = "jellyfin-desktop";
comment = "MPV-based desktop and cast client for Jellyfin";
genericName = "MPV-based desktop and cast client for Jellyfin";
categories = "Video;AudioVideo;TV;Player";
})
]; ];
# override $HOME directory: # override $HOME directory:
@ -82,24 +52,33 @@ buildPythonApplication rec {
--replace "notify_updates: bool = True" "notify_updates: bool = False" --replace "notify_updates: bool = True" "notify_updates: bool = False"
''; '';
postInstall = ''
mkdir -p $out/share/pixmaps
cp jellyfin_mpv_shim/integration/jellyfin-256.png $out/share/pixmaps/jellyfin-desktop.png
'';
postFixup = ''
wrapQtApp $out/bin/jellyfin-desktop
wrapQtApp $out/bin/jellyfin-mpv-desktop
'';
# no tests # no tests
doCheck = false; doCheck = false;
pythonImportsCheck = [ "jellyfin_mpv_shim" ]; pythonImportsCheck = [ "jellyfin_mpv_shim" ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/jellyfin/jellyfin-desktop"; homepage = "https://github.com/jellyfin/jellyfin-mpv-shim";
description = "Allows casting of videos to MPV via the jellyfin mobile and web app"; description = "Allows casting of videos to MPV via the jellyfin mobile and web app";
license = licenses.gpl3; longDescription = ''
Jellyfin MPV Shim is a client for the Jellyfin media server which plays media in the
MPV media player. The application runs in the background and opens MPV only
when media is cast to the player. The player supports most file formats, allowing you
to prevent needless transcoding of your media files on the server. The player also has
advanced features, such as bulk subtitle updates and launching commands on events.
'';
license = with licenses; [
# jellyfin-mpv-shim
gpl3Only
mit
# shader-pack licenses (github:iwalton3/default-shader-pack)
# KrigBilateral, SSimDownscaler, NNEDI3
gpl3Plus
# Anime4K, FSRCNNX
mit
# Static Grain
unlicense
];
maintainers = with maintainers; [ jojosch ]; maintainers = with maintainers; [ jojosch ];
}; };
} }

View File

@ -12,15 +12,17 @@ stdenvNoCC.mkDerivation {
patches = [ ./convert.patch ]; patches = [ ./convert.patch ];
postPatch = postPatch = ''
let substituteInPlace convert_script.lua \
t = k: v: '' 'local ${k} = "${v}"' ''; --replace 'mkvpropedit_exe = "mkvpropedit"' \
subs = var: orig: repl: "--replace " + t var orig + t var repl; 'mkvpropedit_exe = "${mkvtoolnix-cli}/bin/mkvpropedit"' \
in '' --replace 'mkvmerge_exe = "mkvmerge"' \
substituteInPlace convert_script.lua \ 'mkvmerge_exe = "${mkvtoolnix-cli}/bin/mkvmerge"' \
${subs "NOTIFY_CMD" "notify-send" "${libnotify}/bin/notify-send"} \ --replace 'yad_exe = "yad"' \
${subs "YAD_CMD" "yad" "${yad}/bin/yad"} \ 'yad_exe = "${yad}/bin/yad"' \
${subs "MKVMERGE_CMD" "mkvmerge" "${mkvtoolnix-cli}/bin/mkvmerge"} --replace 'notify_send_exe = "notify-send"' \
'notify_send_exe = "${libnotify}/bin/notify-send"' \
''; '';
dontBuild = true; dontBuild = true;
@ -38,9 +40,7 @@ stdenvNoCC.mkDerivation {
When this script is loaded into mpv, you can hit Alt+W to mark the beginning When this script is loaded into mpv, you can hit Alt+W to mark the beginning
and Alt+W again to mark the end of the clip. Then a settings window opens. and Alt+W again to mark the end of the clip. Then a settings window opens.
''; '';
# author was asked to add a license https://gist.github.com/Zehkul/25ea7ae77b30af959be0#gistcomment-3715700
license = licenses.unfree; license = licenses.unfree;
# script crashes mpv. See https://github.com/NixOS/nixpkgs/issues/113202
broken = true;
}; };
} }

View File

@ -1,17 +1,45 @@
--- convert/convert_script.lua 2016-03-18 19:30:49.675401969 +0100 diff --git "a/Convert Script \342\200\223 README.md" "b/Convert Script \342\200\223 README.md"
+++ convert_script.lua 2016-03-19 01:18:00.801897043 +0100 index 8e062c1..6e0d798 100644
@@ -3,6 +3,10 @@ --- "a/Convert Script \342\200\223 README.md"
+++ "b/Convert Script \342\200\223 README.md"
@@ -68,7 +68,7 @@ and set some options in ``mpv/lua-settings/convert_script.conf`` or with ``--scr
If you dont want to upgrade your yad. Features like appending segments wont be available.
libvpx_fps
- Default: --oautofps
+ Default: ""
FPS settings (or any other settings really) for libvpx encoding. Set it to --ofps=24000/1001 for example.
-Warning: Some of these options arent very robust and setting them to bogus values will break the script.
\ No newline at end of file
+Warning: Some of these options arent very robust and setting them to bogus values will break the script.
diff --git a/convert_script.lua b/convert_script.lua
index 17d3100..90f88ec 100644
--- a/convert_script.lua
+++ b/convert_script.lua
@@ -3,6 +3,12 @@ local msg = require 'mp.msg'
local opt = require 'mp.options' local opt = require 'mp.options'
local utils = require 'mp.utils' local utils = require 'mp.utils'
+local NOTIFY_CMD = "notify-send" +-- executables
+local YAD_CMD = "yad" +local mkvpropedit_exe = "mkvpropedit"
+local MKVMERGE_CMD = "mkvmerge" +local mkvmerge_exe = "mkvmerge"
+local yad_exe = "yad"
+local notify_send_exe = "notify-send"
+ +
-- default options, convert_script.conf is read -- default options, convert_script.conf is read
local options = { local options = {
bitrate_multiplier = 0.975, -- to make sure the file wont go over the target file size, set it to 1 if you dont care bitrate_multiplier = 0.975, -- to make sure the file wont go over the target file size, set it to 1 if you dont care
@@ -247,12 +247,12 @@ @@ -14,7 +20,7 @@ local options = {
libvpx_options = "--ovcopts-add=cpu-used=0,auto-alt-ref=1,lag-in-frames=25,quality=good",
libvpx_vp9_options = "",
legacy_yad = false, -- if you dont want to upgrade to at least yad 0.18
- libvpx_fps = "--oautofps", -- --ofps=24000/1001 for example
+ libvpx_fps = "", -- --ofps=24000/1001 for example
audio_bitrate = 112, -- mpv default, in kbps
}
@@ -247,12 +253,12 @@ function encode(enc)
if string.len(vf) > 0 then if string.len(vf) > 0 then
vf = vf .. "," vf = vf .. ","
end end
@ -26,42 +54,49 @@
local audio_file = "" local audio_file = ""
for index, param in pairs(audio_file_table) do for index, param in pairs(audio_file_table) do
audio_file = audio_file .. " --audio-file='" .. string.gsub(tostring(param), "'", "'\\''") .. "'" audio_file = audio_file .. " --audio-file='" .. string.gsub(tostring(param), "'", "'\\''") .. "'"
@@ -354,9 +358,9 @@ @@ -354,9 +360,9 @@ function encode(enc)
if ovc == "gif" then if ovc == "gif" then
full_command = full_command .. ' --vf-add=lavfi=graph=\\"framestep=' .. framestep .. '\\" && convert ' full_command = full_command .. ' --vf-add=lavfi=graph=\\"framestep=' .. framestep .. '\\" && convert '
.. tmpfolder .. '/*.png -set delay ' .. delay .. ' -loop 0 -fuzz ' .. fuzz .. '% ' .. dither .. ' -layers optimize ' .. tmpfolder .. '/*.png -set delay ' .. delay .. ' -loop 0 -fuzz ' .. fuzz .. '% ' .. dither .. ' -layers optimize '
- .. full_output_path .. ' && rm -rf ' .. tmpfolder .. ' && notify-send "Gif done") & disown' - .. full_output_path .. ' && rm -rf ' .. tmpfolder .. ' && notify-send "Gif done") & disown'
+ .. full_output_path .. ' && rm -rf ' .. tmpfolder .. ' && ' .. NOTIFY_CMD .. ' "Gif done") & disown' + .. full_output_path .. ' && rm -rf ' .. tmpfolder .. ' && ' .. notify_send_exe .. ' "Gif done") & disown'
else else
- full_command = full_command .. ' && notify-send "Encoding done"; mkvpropedit ' - full_command = full_command .. ' && notify-send "Encoding done"; mkvpropedit '
+ full_command = full_command .. ' && ' .. NOTIFY_CMD .. ' "Encoding done"; mkvpropedit ' + full_command = full_command .. ' && ' .. notify_send_exe .. ' "Encoding done"; ' .. mkvpropedit_exe .. ' '
.. full_output_path .. ' -s title="' .. metadata_title .. '") & disown' .. full_output_path .. ' -s title="' .. metadata_title .. '") & disown'
end end
@@ -409,7 +413,7 @@ @@ -409,7 +415,7 @@ function encode_copy(enc)
sep = ",+" sep = ",+"
if enc then if enc then
- local command = "mkvmerge '" .. video .. "' " .. mkvmerge_parts .. " -o " .. full_output_path - local command = "mkvmerge '" .. video .. "' " .. mkvmerge_parts .. " -o " .. full_output_path
+ local command = MKVMERGE_CMD .. " '" .. video .. "' " .. mkvmerge_parts .. " -o " .. full_output_path + local command = mkvmerge_exe .. " '" .. video .. "' " .. mkvmerge_parts .. " -o " .. full_output_path
msg.info(command) msg.info(command)
os.execute(command) os.execute(command)
clear() clear()
@@ -508,7 +512,7 @@ @@ -508,7 +514,7 @@ function call_gui ()
end end
- local yad_command = [[LC_NUMERIC=C yad --title="Convert Script" --center --form --fixed --always-print-result \ - local yad_command = [[LC_NUMERIC=C yad --title="Convert Script" --center --form --fixed --always-print-result \
+ local yad_command = [[LC_NUMERIC=C ]] .. YAD_CMD .. [[ --title="Convert Script" --center --form --fixed --always-print-result \ + local yad_command = [[LC_NUMERIC=C ]] .. yad_exe .. [[ --title="Convert Script" --center --form --fixed --always-print-result \
--name "convert script" --class "Convert Script" --field="Resize to height:NUM" "]] .. scale_sav --yad_table 1 --name "convert script" --class "Convert Script" --field="Resize to height:NUM" "]] .. scale_sav --yad_table 1
.. [[" --field="Resize to width instead:CHK" ]] .. resize_to_width_instead .. " " --yad_table 2 .. [[" --field="Resize to width instead:CHK" ]] .. resize_to_width_instead .. " " --yad_table 2
if options.legacy_yad then if options.legacy_yad then
@@ -543,7 +547,7 @@ @@ -524,7 +530,7 @@ function call_gui ()
yad_command = yad_command .. [[ --button="Crop:1" --button="gtk-cancel:2" --button="gtk-ok:0"; ret=$? && echo $ret]] yad_command = yad_command
.. [[--field="2pass:CHK" "false" ]] --yad_table 5
.. [[--field="Encode options::CBE" '! --ovcopts=b=2000,cpu-used=0,auto-alt-ref=1,lag-in-frames=25,quality=good,threads=4' ]] --yad_table 6
- .. [[--field="Output format::CBE" ' --ovc=libx264! --oautofps --of=webm --ovc=libvpx' ]]
+ .. [[--field="Output format::CBE" ' --ovc=libx264! --of=webm --ovc=libvpx' ]]
.. [[--field="Simple:FBTN" 'bash -c "echo \"simple\" && kill -s SIGUSR1 \"$YAD_PID\""' ]]
advanced = true
else
@@ -734,4 +740,4 @@ mp.set_key_bindings({
if gif_dialog then mp.add_key_binding("alt+w", "convert_script", convert_script_hotkey_call)
- yad_command = [[echo $(LC_NUMERIC=C yad --title="Gif settings" --name "convert script" --class "Convert Script" \
+ yad_command = [[echo $(LC_NUMERIC=C ]] .. YAD_CMD .. [[ --title="Gif settings" --name "convert script" --class "Convert Script" \ -mp.register_event("tick", tick)
--center --form --always-print-result --separator="…" \ \ No newline at end of file
--field="Fuzz Factor:NUM" '1!0..100!0.5!1' \ +mp.register_event("tick", tick)
--field="Framestep:NUM" '3!1..3!1' \

View File

@ -9,7 +9,7 @@ mixRelease rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elixir-lsp"; owner = "elixir-lsp";
repo = "elixir-ls"; repo = "elixir-ls";
rev = "v{version}"; rev = "v${version}";
sha256 = "0d0hqc35hfjkpm88vz21mnm2a9rxiqfrdi83whhhh6d2ba216b7s"; sha256 = "0d0hqc35hfjkpm88vz21mnm2a9rxiqfrdi83whhhh6d2ba216b7s";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -8,13 +8,13 @@ let
pkg = self: stdenv.mkDerivation rec { pkg = self: stdenv.mkDerivation rec {
pname = "hex"; pname = "hex";
version = "0.21.1"; version = "0.21.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hexpm"; owner = "hexpm";
repo = "hex"; repo = "hex";
rev = "v${version}"; rev = "v${version}";
sha256 = "3V7hp+gK+ixEX+v9vkzQ5y81LN+CSzOIlSkCJB2RFb8="; sha256 = "18vwrc5b7pyi3nifmx5hd5wbz8fy3h6sfvkmskjg5acmz66fys0g";
}; };
setupHook = writeText "setupHook.sh" '' setupHook = writeText "setupHook.sh" ''

View File

@ -6,19 +6,18 @@ stdenv.mkDerivation rec {
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "libeigen"; owner = "libeigen";
repo = "eigen"; repo = pname;
rev = version; rev = version;
sha256 = "0d4knrcz04pxmxaqs5r3wv092950kl1z9wsw87vdzi9kgvc6wl0b"; hash = "sha256-C1Bu2H4zxd/2QVzz9AOdoCSRwOYjF41Vr/0S8Fm2kzQ=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
meta = with lib; { meta = with lib; {
homepage = "https://eigen.tuxfamily.org";
description = "C++ template library for linear algebra: vectors, matrices, and related algorithms"; description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
license = licenses.lgpl3Plus; license = licenses.lgpl3Plus;
homepage = "https://eigen.tuxfamily.org"; maintainers = with maintainers; [ sander raskin ];
maintainers = with lib.maintainers; [ sander raskin ]; platforms = platforms.unix;
branch = "2";
platforms = with lib.platforms; unix;
}; };
} }

View File

@ -1,4 +1,8 @@
{ lib, stdenv, fetchFromGitLab, cmake }: { lib
, stdenv
, fetchFromGitLab
, cmake
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "eigen"; pname = "eigen";
@ -6,9 +10,9 @@ stdenv.mkDerivation rec {
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "libeigen"; owner = "libeigen";
repo = "eigen"; repo = pname;
rev = version; rev = version;
sha256 = "1i3cvg8d70dk99fl3lrv3wqhfpdnm5kx01fl7r2bz46sk9bphwm1"; hash = "sha256-oXJ4V5rakL9EPtQF0Geptl0HMR8700FdSrOB09DbbMQ=";
}; };
patches = [ patches = [
@ -18,11 +22,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
meta = with lib; { meta = with lib; {
homepage = "https://eigen.tuxfamily.org";
description = "C++ template library for linear algebra: vectors, matrices, and related algorithms"; description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
license = licenses.lgpl3Plus; license = licenses.lgpl3Plus;
homepage = "https://eigen.tuxfamily.org"; maintainers = with maintainers; [ sander raskin ];
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with lib.maintainers; [ sander raskin ];
inherit version;
}; };
} }

View File

@ -1,8 +1,64 @@
{ lib, fetchzip }: { lib
, stdenv
, fetchFromGitHub
, python
, cmake
}:
fetchzip { let
url = "https://github.com/lief-project/LIEF/releases/download/0.9.0/LIEF-0.9.0-Linux.tar.gz"; pyEnv = python.withPackages (ps: [ ps.setuptools ]);
sha256 = "1c47hwd00bp4mqd4p5b6xjfl89c3wwk9ccyc3a2gk658250g2la6"; in
stdenv.mkDerivation rec {
pname = "lief";
version = "0.11.4";
src = fetchFromGitHub {
owner = "lief-project";
repo = "LIEF";
rev = version;
sha256 = "DgsTrJ2+zdXJK6CdDOan7roakaaxQiwrVeiQnzJnk0A=";
};
outputs = [ "out" "py" ];
nativeBuildInputs = [
cmake
];
# Not a propagatedBuildInput because only the $py output needs it; $out is
# just the library itself (e.g. C/C++ headers).
buildInputs = [
python
];
dontUseCmakeConfigure = true;
buildPhase = ''
runHook preBuild
substituteInPlace setup.py \
--replace 'cmake_args = []' "cmake_args = [ \"-DCMAKE_INSTALL_PREFIX=$prefix\" ]"
${pyEnv.interpreter} setup.py --sdk build --parallel=$NIX_BUILD_CORES
runHook postBuild
'';
# I was unable to find a way to build the library itself and have it install
# to $out, while also installing the Python bindings to $py without building
# the project twice (using cmake), so this is the best we've got. It uses
# something called CPack to create the tarball, but it's not obvious to me
# *how* that happens, or how to intercept it to just get the structured
# library output.
installPhase = ''
runHook preInstall
mkdir -p $out $py/nix-support
echo "${python}" >> $py/nix-support/propagated-build-inputs
tar xf build/*.tar.gz --directory $out --strip-components 1
${pyEnv.interpreter} setup.py install --skip-build --root=/ --prefix=$py
runHook postInstall
'';
meta = with lib; { meta = with lib; {
description = "Library to Instrument Executable Formats"; description = "Library to Instrument Executable Formats";

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "opencascade-occt"; pname = "opencascade-occt";
version = "7.5.0"; version = "7.5.1";
commit = "V${builtins.replaceStrings ["."] ["_"] version}"; commit = "V${builtins.replaceStrings ["."] ["_"] version}";
src = fetchurl { src = fetchurl {
name = "occt-${commit}.tar.gz"; name = "occt-${commit}.tar.gz";
url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz"; url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz";
sha256 = "0bpzpaqki3k6i7xmhan0f1c1fr05smpcmgrp4vh572j61lwpq1r3"; sha256 = "sha256-1whKU+7AMVYabfs15x8MabohKonn5oM54ZEtxF93wAo=";
}; };
nativeBuildInputs = [ cmake ninja ]; nativeBuildInputs = [ cmake ninja ];

View File

@ -6,15 +6,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libupnp"; pname = "libupnp";
version = "1.14.4"; version = "1.14.6";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mrjimenez"; owner = "pupnp";
repo = "pupnp"; repo = "pupnp";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "sha256-4VuTbcEjr9Ffrowb3eOtXFU8zPNu1NXS531EOZpI07A="; sha256 = "1f9861q5dicp6rx3jnp1j788xfjfaf3k4620p9r0b0k0lj2gk38c";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,26 @@
{ lib
, buildPythonPackage
, fetchPypi
}:
buildPythonPackage rec {
pname = "css-html-js-minify";
version = "2.5.5";
src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "4a9f11f7e0496f5284d12111f3ba4ff5ff2023d12f15d195c9c48bd97013746c";
};
doCheck = false; # Tests are useless and broken
pythonImportsCheck = [ "css_html_js_minify" ];
meta = with lib; {
description = "StandAlone Async cross-platform Minifier for the Web";
homepage = "https://github.com/juancarlospaco/css-html-js-minify";
license = with licenses; [ gpl3Plus lgpl3Plus mit ];
maintainers = with maintainers; [ FlorianFranzen ];
};
}

View File

@ -0,0 +1,33 @@
{ lib
, buildPythonPackage
, fetchPypi
, gcc-unwrapped
}:
buildPythonPackage rec {
pname = "cxxfilt";
version = "0.2.2";
src = fetchPypi {
inherit pname version;
sha256 = "ef6810e76d16c95c11b96371e2d8eefd1d270ec03f9bcd07590e8dcc2c69e92b";
};
postPatch = ''
substituteInPlace cxxfilt/__init__.py \
--replace "find_any_library('stdc++', 'c++')" '"${lib.getLib gcc-unwrapped}/lib/libstdc++.so"'
'';
# no tests
doCheck = false;
pythonImportsCheck = [
"cxxfilt"
];
meta = with lib; {
description = "Demangling C++ symbols in Python / interface to abi::__cxa_demangle ";
homepage = "https://github.com/afq984/python-cxxfilt";
license = licenses.bsd2;
maintainers = teams.determinatesystems.members;
};
}

View File

@ -0,0 +1,47 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, requests
, tornado
, poetry-core
, pytestCheckHook
, pytest-cov
, pytest-vcr
}:
buildPythonPackage rec {
pname = "deezer-python";
version = "2.2.2";
disabled = pythonOlder "3.6";
format = "pyproject";
src = fetchFromGitHub {
owner = "browniebroke";
repo = pname;
rev = "v${version}";
sha256 = "1l8l4lxlqsj921gk1mxcilp11jx31addiyd9pk604aldgqma709y";
};
nativeBuildInputs = [
poetry-core
];
checkInputs = [
pytestCheckHook
pytest-cov
pytest-vcr
];
propagatedBuildInputs = [
requests
tornado
];
meta = with lib; {
description = "A friendly Python wrapper around the Deezer API";
homepage = "https://github.com/browniebroke/deezer-python";
license = licenses.mit;
maintainers = with maintainers; [ synthetica ];
};
}

View File

@ -0,0 +1,31 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytestCheckHook
, pytest-cov
}:
buildPythonPackage rec {
pname = "multimethod";
version = "1.5";
src = fetchPypi {
inherit pname version;
sha256 = "b9c6f85ecf187f14a3951fff319643e1fac3086d757dec64f2469e1fd136b65d";
};
checkInputs = [
pytestCheckHook
pytest-cov
];
pythomImportsCheck = [
"multimethod"
];
meta = with lib; {
description = "Multiple argument dispatching";
homepage = "https://github.com/coady/multimethod";
license = licenses.asl20;
maintainers = teams.determinatesystems.members;
};
}

View File

@ -8,19 +8,22 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pg8000"; pname = "pg8000";
version = "1.19.0"; version = "1.19.2";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-EexwwLIOpECAfiyGmUDxSE7qk9cbQ1gHtjhW3YK3RN0="; sha256 = "sha256-RMu008kS8toWfKAr+YoAQPfpMmDk7xFMKNXWFSAS6gc=";
}; };
propagatedBuildInputs = [passlib scramp ]; propagatedBuildInputs = [
passlib
scramp
];
postPatch = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace "scramp==1.3.0" "scramp>=1.3.0" --replace "scramp==1.4.0" "scramp>=1.4.0"
''; '';
# Tests require a running PostgreSQL instance # Tests require a running PostgreSQL instance

View File

@ -0,0 +1,27 @@
{ lib
, buildPythonPackage
, fetchPypi
}:
buildPythonPackage rec {
pname = "plugnplay";
version = "0.5.4";
src = fetchPypi {
inherit pname version;
sha256 = "877e2d2500a45aaf31e5175f9f46182088d3e2d64c1c6b9ff6c778ae0ee594c8";
};
# no tests
doCheck = false;
pythonImportsCheck = [
"plugnplay"
];
meta = with lib; {
description = "A Generic plug-in system for python applications";
homepage = "https://github.com/daltonmatos/plugnplay";
license = licenses.gpl2Only;
maintainers = teams.determinatesystems.members;
};
}

View File

@ -1,4 +1,5 @@
{ buildPythonPackage { buildPythonPackage
, addOpenGLRunpath
, fetchPypi , fetchPypi
, fetchFromGitHub , fetchFromGitHub
, Mako , Mako
@ -40,6 +41,13 @@ buildPythonPackage rec {
ln -s ${compyte} $out/${python.sitePackages}/pycuda/compyte ln -s ${compyte} $out/${python.sitePackages}/pycuda/compyte
''; '';
postFixup = ''
find $out/lib -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
echo "setting opengl runpath for $lib..."
addOpenGLRunpath "$lib"
done
'';
# Requires access to libcuda.so.1 which is provided by the driver # Requires access to libcuda.so.1 which is provided by the driver
doCheck = false; doCheck = false;
@ -47,6 +55,10 @@ buildPythonPackage rec {
py.test py.test
''; '';
nativeBuildInputs = [
addOpenGLRunpath
];
propagatedBuildInputs = [ propagatedBuildInputs = [
numpy numpy
pytools pytools

View File

@ -2,22 +2,27 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pymavlink"; pname = "pymavlink";
version = "2.4.14"; version = "2.4.15";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "3bc3709c735ebb3f98f19e96c8887868f4671077d4808076cfc5445912633881"; sha256 = "106va20k0ahy0l2qvxf8k5pvqkgdmxbgzd9kij9fkrahlba5mx3v";
}; };
propagatedBuildInputs = [ future lxml ]; propagatedBuildInputs = [ future lxml ];
# No tests included in PyPI tarball # No tests included in PyPI tarball. We cannot use the GitHub tarball because
# we would like to use the same commit of the mavlink messages repo as
# included in the PyPI tarball, and there is no easy way to determine what
# commit is included.
doCheck = false; doCheck = false;
pythonImportsCheck = [ "pymavlink" ];
meta = with lib; { meta = with lib; {
description = "Python MAVLink interface and utilities"; description = "Python MAVLink interface and utilities";
homepage = "https://github.com/ArduPilot/pymavlink"; homepage = "https://github.com/ArduPilot/pymavlink";
license = licenses.lgpl3; license = with licenses; [ lgpl3Only mit ];
maintainers = with maintainers; [ lopsided98 ]; maintainers = with maintainers; [ lopsided98 ];
}; };
} }

View File

@ -18,7 +18,7 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-slackclient"; pname = "slackclient";
version = "2.9.3"; version = "2.9.3";
disabled = !isPy3k; disabled = !isPy3k;

View File

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchPypi
, sphinx
, beautifulsoup4
, python-slugify
, unidecode
, css-html-js-minify
, lxml
}:
buildPythonPackage rec {
pname = "sphinx-material";
version = "0.0.32";
src = fetchPypi {
pname = "sphinx_material";
inherit version;
sha256 = "ec02825a1bbe8b662fe624c11b87f1cd8d40875439b5b18c38649cf3366201fa";
};
propagatedBuildInputs = [
sphinx
beautifulsoup4
python-slugify
unidecode
css-html-js-minify
lxml
];
doCheck = false; # no tests
pythonImportsCheck = [ "sphinx_material" ];
meta = with lib; {
description = "A material-based, responsive theme inspired by mkdocs-material";
homepage = "https://bashtage.github.io/sphinx-material";
license = licenses.mit;
maintainers = with maintainers; [ FlorianFranzen ];
};
}

View File

@ -0,0 +1,49 @@
{ lib
, buildPythonPackage
, isPy3k
, fetchFromGitHub
, funcy
, pefile
, vivisect
, intervaltree
, setuptools
}:
buildPythonPackage rec {
pname = "viv-utils";
version = "0.3.17";
disabled = isPy3k;
src = fetchFromGitHub {
owner = "williballenthin";
repo = "viv-utils";
rev = "v${version}";
sha256 = "wZWp6PMn1to/jP6lzlY/x0IhS/0w0Ys7AdklNQ+Vmyc=";
};
# argparse is provided by Python itself
preBuild = ''
sed '/"argparse",/d' -i setup.py
'';
propagatedBuildInputs = [
funcy
pefile
vivisect
intervaltree
setuptools
];
# no tests
doCheck = false;
pythonImportsCheck = [
"viv_utils"
];
meta = with lib; {
description = "Utilities for working with vivisect";
homepage = "https://github.com/williballenthin/viv-utils";
license = licenses.asl20;
maintainers = teams.determinatesystems.members;
};
}

View File

@ -0,0 +1,46 @@
{ lib
, buildPythonPackage
, isPy3k
, fetchPypi
, pyasn1
, pyasn1-modules
, cxxfilt
, msgpack
, pycparser
}:
buildPythonPackage rec {
pname = "vivisect";
version = "0.1.0";
disabled = isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "ed5e8c24684841d30dc7b41f2bee87c0198816a453417ae2e130b7845ccb2629";
};
propagatedBuildInputs = [
pyasn1
pyasn1-modules
cxxfilt
msgpack
pycparser
];
preBuild = ''
sed "s@==.*'@'@" -i setup.py
'';
# requires another repo for test files
doCheck = false;
pythonImportsCheck = [
"vivisect"
];
meta = with lib; {
description = "Pure python disassembler, debugger, emulator, and static analysis framework";
homepage = "https://github.com/vivisect/vivisect";
license = licenses.asl20;
maintainers = teams.determinatesystems.members;
};
}

View File

@ -1,19 +1,18 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pytestCheckHook
, inetutils , inetutils
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "whois"; pname = "whois";
version = "0.9.7"; version = "0.9.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "DannyCork"; owner = "DannyCork";
repo = "python-whois"; repo = "python-whois";
rev = version; rev = version;
sha256 = "1rbc4xif4dn455vc8dhxdvwszrb0nik5q9fy12db6mxfx6zikb7z"; sha256 = "0y2sfs6nkr2j2crrn81wkfdzn9aphb3iaddya5zd2midlgdqq7bw";
}; };
# whois is needed # whois is needed

View File

@ -0,0 +1,36 @@
{ lib
, buildPythonPackage
, fetchPypi
, click
, multimethod
, numpy
}:
buildPythonPackage rec {
pname = "woodblock";
version = "0.1.7";
src = fetchPypi {
inherit pname version;
sha256 = "c0347ece920b7009d94551983a01f42db02920ca8d7b0ff36d24a337e2c937f7";
};
propagatedBuildInputs = [
click
multimethod
numpy
];
# no tests
doCheck = false;
pythonImportsCheck = [
"woodblock"
];
meta = with lib; {
description = "A framework to generate file carving test data";
homepage = "https://github.com/fkie-cad/woodblock";
license = licenses.mit;
maintainers = teams.determinatesystems.members;
};
}

View File

@ -2,18 +2,18 @@
buildGoModule rec { buildGoModule rec {
pname = "azure-storage-azcopy"; pname = "azure-storage-azcopy";
version = "10.9.0"; version = "10.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Azure"; owner = "Azure";
repo = "azure-storage-azcopy"; repo = "azure-storage-azcopy";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-IVbvBqp/7Y3La0pP6gbWl0ATfEvkCuR4J9ChTDPNhB0="; sha256 = "sha256-gWU219QlV+24RxnTHqQzQeGZHzVwmBXNKU+3QI6WvHI=";
}; };
subPackages = [ "." ]; subPackages = [ "." ];
vendorSha256 = "sha256-mj1TvNuFFPJGAJCBTQtU5WWPhHbiXUxRiMZQ/XvEy0U="; vendorSha256 = "sha256-d965Rt8W74bsIZAZPZLe3twuUpp4wrnNc0qwjsKikOE=";
doCheck = false; doCheck = false;

View File

@ -90,7 +90,7 @@
"blueprint" = ps: with ps; [ ]; "blueprint" = ps: with ps; [ ];
"bluesound" = ps: with ps; [ xmltodict ]; "bluesound" = ps: with ps; [ xmltodict ];
"bluetooth_le_tracker" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL] "bluetooth_le_tracker" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL]
"bluetooth_tracker" = ps: with ps; [ bt_proximity ]; # missing inputs: pybluez "bluetooth_tracker" = ps: with ps; [ bt_proximity pybluez ];
"bme280" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense "bme280" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense
"bme680" = ps: with ps; [ bme680 smbus-cffi ]; "bme680" = ps: with ps; [ bme680 smbus-cffi ];
"bmp280" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-bmp280 "bmp280" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-bmp280
@ -750,7 +750,7 @@
"sky_hub" = ps: with ps; [ ]; # missing inputs: pyskyqhub "sky_hub" = ps: with ps; [ ]; # missing inputs: pyskyqhub
"skybeacon" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL] "skybeacon" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL]
"skybell" = ps: with ps; [ skybellpy ]; "skybell" = ps: with ps; [ skybellpy ];
"slack" = ps: with ps; [ ]; # missing inputs: slackclient "slack" = ps: with ps; [ slackclient ];
"sleepiq" = ps: with ps; [ sleepyq ]; "sleepiq" = ps: with ps; [ sleepyq ];
"slide" = ps: with ps; [ ]; # missing inputs: goslide-api "slide" = ps: with ps; [ ]; # missing inputs: goslide-api
"sma" = ps: with ps; [ pysma ]; "sma" = ps: with ps; [ pysma ];

View File

@ -362,6 +362,7 @@ in with py.pkgs; buildPythonApplication rec {
"sleepiq" "sleepiq"
"sma" "sma"
"sensor" "sensor"
"slack"
"smarttub" "smarttub"
"smtp" "smtp"
"smappee" "smappee"

View File

@ -124,7 +124,10 @@ def name_to_attr_path(req: str, packages: Dict[str, Dict[str, str]]) -> Optional
for name in names: for name in names:
# treat "-" and "_" equally # treat "-" and "_" equally
name = re.sub("[-_]", "[-_]", name) name = re.sub("[-_]", "[-_]", name)
pattern = re.compile("^python\\d\\.\\d-{}-\\d".format(name), re.I) # python(minor).(major)-(pname)-(version or unstable-date)
# we need the version qualifier, or we'll have multiple matches
# (e.g. pyserial and pyserial-asyncio when looking for pyserial)
pattern = re.compile("^python\\d\\.\\d-{}-(?:\\d|unstable-.*)".format(name), re.I)
for attr_path, package in packages.items(): for attr_path, package in packages.items():
if pattern.match(package["name"]): if pattern.match(package["name"]):
attr_paths.add(attr_path) attr_paths.add(attr_path)

View File

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub, postgresql }:
stdenv.mkDerivation rec {
pname = "pgvector";
version = "0.1.0";
src = fetchFromGitHub {
owner = "ankane";
repo = pname;
rev = "v${version}";
sha256 = "03i8rq9wp9j2zdba82q31lzbrqpnhrqc8867pxxy3z505fxsvfzb";
};
buildInputs = [ postgresql ];
installPhase = ''
install -D -t $out/lib vector.so
install -D -t $out/share/postgresql/extension vector-*.sql
install -D -t $out/share/postgresql/extension vector.control
'';
meta = with lib; {
description = "Open-source vector similarity search for PostgreSQL";
homepage = "https://github.com/ankane/pgvector";
license = licenses.postgresql;
platforms = postgresql.meta.platforms;
maintainers = [ maintainers.marsam ];
};
}

View File

@ -25,6 +25,8 @@ self: super: {
pgroonga = super.callPackage ./ext/pgroonga.nix { }; pgroonga = super.callPackage ./ext/pgroonga.nix { };
pgvector = super.callPackage ./ext/pgvector.nix { };
plpgsql_check = super.callPackage ./ext/plpgsql_check.nix { }; plpgsql_check = super.callPackage ./ext/plpgsql_check.nix { };
plr = super.callPackage ./ext/plr.nix { }; plr = super.callPackage ./ext/plr.nix { };

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "chezmoi"; pname = "chezmoi";
version = "2.0.9"; version = "2.0.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "twpayne"; owner = "twpayne";
repo = "chezmoi"; repo = "chezmoi";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-yDd9u9cwC+bjB0ZQW0EgEDaHmWwkUprwXIiVrOVP2nk="; sha256 = "sha256-WVG4rww9Wd1H6zw5lRBErX9VwnA21dhvith9BQFYqxw=";
}; };
vendorSha256 = "sha256-c6YIWpC8sQA/gbgD2vuuFvwccEE00aUrj6gcPpJsn0k="; vendorSha256 = "sha256-khYcNP3xAXeQR9vaghkGq8x6KB1k5hLEcE7Zx8H+CfA=";
doCheck = false; doCheck = false;

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "goreleaser"; pname = "goreleaser";
version = "0.162.0"; version = "0.163.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "goreleaser"; owner = "goreleaser";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-nhl6GATzFsfEQjKVxz65REn9QTvOH49omU00ZCfO6CY="; sha256 = "sha256-2SDy/Mk4TkXkJKF1gFW7/FH4Y31TE2X38I0r/Ng/BjU=";
}; };
vendorSha256 = "sha256-zq/RIOK/Hs1GJ2yLE7pe0UoDuR6LGUrPQAuQzrTvuKs="; vendorSha256 = "sha256-+Qdxnd+IhBNfZ0R2lCfPGJSjpTw1TA6uPjykCfrYtMk=";
buildFlagsArray = [ buildFlagsArray = [
"-ldflags=" "-ldflags="

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pcb2gcode"; pname = "pcb2gcode";
version = "2.3.0"; version = "2.3.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pcb2gcode"; owner = "pcb2gcode";
repo = "pcb2gcode"; repo = "pcb2gcode";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-BELugmnnedqXTnSwiQN3XbqkWKTKF27ElQAwrEWNSao="; sha256 = "sha256-blbfpMBe7X3OrNbBiz8fNzKcS/bbViQUTXtdxZpXPBk=";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config ];

View File

@ -11,13 +11,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "starship"; pname = "starship";
version = "0.51.0"; version = "0.52.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "starship"; owner = "starship";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1bmnwvjhw2ba7yqn9if83d57b8qbrbqgy2br8q2drz4ylk0gjirg"; sha256 = "sha256-BX+NUF7mgZyrloj3h9YcG2r6ZZWO20hXQYbBvaK34JQ=";
}; };
nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ]; nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
done done
''; '';
cargoSha256 = "1d4ca8yzx437x53i7z2kddv9db89zy6ywbgl6y1cwwd6wscbrxcq"; cargoSha256 = "sha256-8xqbPkdIVfAkeG1WZFq56N0rcF+uh2FeMKzz4FgMFYs=";
preCheck = '' preCheck = ''
HOME=$TMPDIR HOME=$TMPDIR

View File

@ -18,16 +18,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "vector"; pname = "vector";
version = "0.12.2"; version = "0.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "timberio"; owner = "timberio";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-LutCzpJo47wvEze7bAObRVraNhVuQFc9NQ79NzKA9CM="; sha256 = "sha256-Sur5QfPIoJXkcYdyNlIHOvmV2yBedhNm7UinmaFEc2E=";
}; };
cargoSha256 = "sha256-GU5p9DB5Bk8eQc1B/WA87grbVJVcT1ELJ0WzmRYgDzc="; cargoSha256 = "sha256-1Xm1X1pfx9J0tBck2WA+zt2OxtQsqustcWPazsPyKPY=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl protobuf rdkafka ] buildInputs = [ openssl protobuf rdkafka ]
++ lib.optional stdenv.isDarwin [ Security libiconv coreutils CoreServices ]; ++ lib.optional stdenv.isDarwin [ Security libiconv coreutils CoreServices ];

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "croc"; pname = "croc";
version = "8.6.12"; version = "9.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "schollz"; owner = "schollz";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Oad0JpeeCpIHfH9e1pTKtrnvZ+eFx3dR5GP6g6piFS0="; sha256 = "sha256-teH4Y6PrUSE7Rxw0WV7Ka+CB44nwYXy9q09wOAhC8Bc=";
}; };
vendorSha256 = "sha256-LYMZFaCNlJg+9Hoh2VbY6tMHv6oT7r+JHBcQYpOceRQ="; vendorSha256 = "sha256-HPUvL22BrVH9/j41VFaystZWs0LO6KNIf2cNYqKxWnY=";
doCheck = false; doCheck = false;

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "lychee"; pname = "lychee";
version = "0.5.0"; version = "0.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lycheeverse"; owner = "lycheeverse";
repo = pname; repo = pname;
rev = "v${version}"; rev = version;
sha256 = "03dsp0384mwr51dkqfl25xba0m17sppabiz7slhxcig89b0ksykm"; sha256 = "0kpwpbv0dqb0p4bxjlcjas6x1n91rdsvy2psrc1nyr1sh6gb1q5j";
}; };
cargoSha256 = "08y2wpm2qgm2jsy257b2p2anxy4q3bj2kfdr5cnb6wnaz9g4ypq2"; cargoSha256 = "1b915zkg41n3azk4hhg6fgc83n7iq8p7drvdyil2m2a4qdjvp9r3";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View File

@ -0,0 +1,46 @@
{ lib
, python2
, fetchFromGitHub
}:
python2.pkgs.buildPythonPackage rec {
pname = "flare-floss";
version = "1.7.0";
src = fetchFromGitHub {
owner = "fireeye";
repo = "flare-floss";
rev = "v${version}";
sha256 = "GMOA1+qM2A/Qw33kOTIINEvjsfqjWQWBXHNemh3IK8w=";
};
propagatedBuildInputs = with python2.pkgs; [
pyyaml
simplejson
tabulate
vivisect
plugnplay
viv-utils
enum34
];
checkInputs = [
python2.pkgs.pytestCheckHook
];
disabledTests = [
# test data is in a submodule
"test_main"
];
pythonImportsCheck = [
"floss"
"floss.plugins"
];
meta = with lib; {
description = "Automatically extract obfuscated strings from malware";
homepage = "https://github.com/fireeye/flare-floss";
license = licenses.asl20;
maintainers = teams.determinatesystems.members;
};
}

View File

@ -1,6 +1,7 @@
{ lib { lib
, python3 , python3
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "yarGen"; pname = "yarGen";
@ -14,18 +15,24 @@ python3.pkgs.buildPythonApplication rec {
sha256 = "6PJNAeeLAyUlZcIi0g57sO1Ex6atn7JhbK9kDbNrZ6A="; sha256 = "6PJNAeeLAyUlZcIi0g57sO1Ex6atn7JhbK9kDbNrZ6A=";
}; };
patches = [
# https://github.com/Neo23x0/yarGen/pull/33
(fetchpatch {
name = "use-built-in-scandir.patch";
url = "https://github.com/Neo23x0/yarGen/commit/cae14ac8efeb5536885792cae99d1d0f7fb6fde3.patch";
sha256 = "0z6925r7n1iysld5c8li5nkm1dbxg8j7pn0626a4vic525vf8ndl";
})
];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/bin install -Dt "$out/bin" yarGen.py
chmod +x yarGen.py
mv yarGen.py $out/bin/yargen
runHook postInstall runHook postInstall
''; '';
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python3.pkgs; [
scandir
pefile pefile
lxml lxml
]; ];

View File

@ -0,0 +1,48 @@
{ lib
, buildGoModule
, fetchFromGitHub
, python3Packages
, perl
, zopfli
, stdenv
}:
buildGoModule {
pname = "dcs";
version = "unstable-2021-04-07";
src = fetchFromGitHub {
owner = "Debian";
repo = "dcs";
rev = "da46accc4d55e9bfde1a6852ac5a9e730fcbbb2c";
sha256 = "N+6BXlKn1YTlh0ZdPNWa0nuJNcQtlUIc9TocM8cbzQk=";
};
vendorSha256 = "l2mziuisx0HzuP88rS5M+Wha6lu8P036wJYZlmzjWfs=";
# Depends on dcs binaries
doCheck = false;
nativeBuildInputs = [
python3Packages.slimit
(perl.withPackages (p: [ p.CSSMinifier ]))
zopfli
];
postBuild = ''
make -C static -j$NIX_BUILD_CORES
'';
postInstall = ''
mkdir -p $out/share/dcs
cp -r cmd/dcs-web/templates $out/share/dcs
cp -r static $out/share/dcs
'';
meta = with lib; {
description = "Debian Code Search";
homepage = "https://github.com/Debian/dcs";
license = licenses.bsd3;
maintainers = teams.determinatesystems.members;
broken = stdenv.isAarch64;
};
}

View File

@ -404,6 +404,8 @@ in
find-cursor = callPackage ../tools/X11/find-cursor { }; find-cursor = callPackage ../tools/X11/find-cursor { };
flare-floss = callPackage ../tools/security/flare-floss { };
prefer-remote-fetch = import ../build-support/prefer-remote-fetch; prefer-remote-fetch = import ../build-support/prefer-remote-fetch;
global-platform-pro = callPackage ../development/tools/global-platform-pro/default.nix { }; global-platform-pro = callPackage ../development/tools/global-platform-pro/default.nix { };
@ -2725,7 +2727,9 @@ in
lexicon = callPackage ../tools/admin/lexicon { }; lexicon = callPackage ../tools/admin/lexicon { };
lief = callPackage ../development/libraries/lief {}; lief = callPackage ../development/libraries/lief {
python = python3;
};
libnbd = callPackage ../development/libraries/libnbd { }; libnbd = callPackage ../development/libraries/libnbd { };
@ -3780,6 +3784,8 @@ in
dcraw = callPackage ../tools/graphics/dcraw { }; dcraw = callPackage ../tools/graphics/dcraw { };
dcs = callPackage ../tools/text/dcs { };
dcfldd = callPackage ../tools/system/dcfldd { }; dcfldd = callPackage ../tools/system/dcfldd { };
debianutils = callPackage ../tools/misc/debianutils { }; debianutils = callPackage ../tools/misc/debianutils { };
@ -12648,6 +12654,8 @@ in
csslint = callPackage ../development/web/csslint { }; csslint = callPackage ../development/web/csslint { };
css-html-js-minify = with python3Packages; toPythonApplication css-html-js-minify;
cvise = python3Packages.callPackage ../development/tools/misc/cvise { cvise = python3Packages.callPackage ../development/tools/misc/cvise {
inherit (llvmPackages_11) llvm clang-unwrapped; inherit (llvmPackages_11) llvm clang-unwrapped;
}; };
@ -29060,9 +29068,7 @@ in
aspino = callPackage ../applications/science/logic/aspino {}; aspino = callPackage ../applications/science/logic/aspino {};
beluga = callPackage ../applications/science/logic/beluga { beluga = callPackage ../applications/science/logic/beluga {};
ocamlPackages = ocaml-ng.ocamlPackages_4_07;
};
boogie = dotnetPackages.Boogie; boogie = dotnetPackages.Boogie;

View File

@ -4481,6 +4481,20 @@ let
propagatedBuildInputs = [ Clone ]; propagatedBuildInputs = [ Clone ];
}; };
CSSMinifier = buildPerlPackage {
pname = "CSS-Minifier";
version = "0.01";
src = fetchurl {
url = "mirror://cpan/authors/id/P/PM/PMICHAUX/CSS-Minifier-0.01.tar.gz";
sha256 = "0Kk0m46LfoOrcM+IVM+7Qv8pwfbHyCmPIlfdIaoMf+8=";
};
meta = with lib; {
description = "Perl extension for minifying CSS";
license = licenses.artistic1;
maintainers = teams.determinatesystems.members;
};
};
CSSMinifierXS = buildPerlModule { CSSMinifierXS = buildPerlModule {
pname = "CSS-Minifier-XS"; pname = "CSS-Minifier-XS";
version = "0.09"; version = "0.09";

View File

@ -1566,6 +1566,8 @@ in {
cssmin = callPackage ../development/python-modules/cssmin { }; cssmin = callPackage ../development/python-modules/cssmin { };
css-html-js-minify = callPackage ../development/python-modules/css-html-js-minify { };
css-parser = callPackage ../development/python-modules/css-parser { }; css-parser = callPackage ../development/python-modules/css-parser { };
cssselect2 = callPackage ../development/python-modules/cssselect2 { }; cssselect2 = callPackage ../development/python-modules/cssselect2 { };
@ -1603,6 +1605,8 @@ in {
cx_oracle = callPackage ../development/python-modules/cx_oracle { }; cx_oracle = callPackage ../development/python-modules/cx_oracle { };
cxxfilt = callPackage ../development/python-modules/cxxfilt { };
cycler = callPackage ../development/python-modules/cycler { }; cycler = callPackage ../development/python-modules/cycler { };
cymem = callPackage ../development/python-modules/cymem { }; cymem = callPackage ../development/python-modules/cymem { };
@ -1719,6 +1723,8 @@ in {
deeptoolsintervals = callPackage ../development/python-modules/deeptoolsintervals { }; deeptoolsintervals = callPackage ../development/python-modules/deeptoolsintervals { };
deezer-python = callPackage ../development/python-modules/deezer-python { };
defcon = callPackage ../development/python-modules/defcon { }; defcon = callPackage ../development/python-modules/defcon { };
deform = callPackage ../development/python-modules/deform { }; deform = callPackage ../development/python-modules/deform { };
@ -3789,6 +3795,10 @@ in {
license-expression = callPackage ../development/python-modules/license-expression { }; license-expression = callPackage ../development/python-modules/license-expression { };
lief = (toPythonModule (pkgs.lief.override {
inherit python;
})).py;
lightgbm = callPackage ../development/python-modules/lightgbm { }; lightgbm = callPackage ../development/python-modules/lightgbm { };
lightning = callPackage ../development/python-modules/lightning { }; lightning = callPackage ../development/python-modules/lightning { };
@ -4221,6 +4231,8 @@ in {
multi_key_dict = callPackage ../development/python-modules/multi_key_dict { }; multi_key_dict = callPackage ../development/python-modules/multi_key_dict { };
multimethod = callPackage ../development/python-modules/multimethod { };
multipledispatch = callPackage ../development/python-modules/multipledispatch { }; multipledispatch = callPackage ../development/python-modules/multipledispatch { };
multiprocess = callPackage ../development/python-modules/multiprocess { }; multiprocess = callPackage ../development/python-modules/multiprocess { };
@ -4950,6 +4962,8 @@ in {
pluginbase = callPackage ../development/python-modules/pluginbase { }; pluginbase = callPackage ../development/python-modules/pluginbase { };
plugnplay = callPackage ../development/python-modules/plugnplay { };
plugwise = callPackage ../development/python-modules/plugwise { }; plugwise = callPackage ../development/python-modules/plugwise { };
plum-py = callPackage ../development/python-modules/plum-py { }; plum-py = callPackage ../development/python-modules/plum-py { };
@ -7533,6 +7547,8 @@ in {
sphinx-jinja = callPackage ../development/python-modules/sphinx-jinja { }; sphinx-jinja = callPackage ../development/python-modules/sphinx-jinja { };
sphinx-material = callPackage ../development/python-modules/sphinx-material { };
sphinx-navtree = callPackage ../development/python-modules/sphinx-navtree { }; sphinx-navtree = callPackage ../development/python-modules/sphinx-navtree { };
sphinx_pypi_upload = callPackage ../development/python-modules/sphinx_pypi_upload { }; sphinx_pypi_upload = callPackage ../development/python-modules/sphinx_pypi_upload { };
@ -8306,6 +8322,10 @@ in {
vispy = callPackage ../development/python-modules/vispy { }; vispy = callPackage ../development/python-modules/vispy { };
vivisect = callPackage ../development/python-modules/vivisect { };
viv-utils = callPackage ../development/python-modules/viv-utils { };
vmprof = callPackage ../development/python-modules/vmprof { }; vmprof = callPackage ../development/python-modules/vmprof { };
vncdo = callPackage ../development/python-modules/vncdo { }; vncdo = callPackage ../development/python-modules/vncdo { };
@ -8456,6 +8476,8 @@ in {
woob = callPackage ../development/python-modules/woob { }; woob = callPackage ../development/python-modules/woob { };
woodblock = callPackage ../development/python-modules/woodblock { };
word2vec = callPackage ../development/python-modules/word2vec { }; word2vec = callPackage ../development/python-modules/word2vec { };
wordcloud = callPackage ../development/python-modules/wordcloud { }; wordcloud = callPackage ../development/python-modules/wordcloud { };