Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-04-30 12:26:14 +00:00 committed by GitHub
commit d7882499f8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
59 changed files with 741 additions and 642 deletions

View file

@ -171,7 +171,8 @@
- Arguments should be listed in the order they are used, with the exception of `lib`, which always goes first. - Arguments should be listed in the order they are used, with the exception of `lib`, which always goes first.
- Prefer using the top-level `lib` over its alias `stdenv.lib`. `lib` is unrelated to `stdenv`, and so `stdenv.lib` should only be used as a convenience alias when developing to avoid having to modify the function inputs just to test something out. - The top-level `lib` must be used in the master and 21.05 branch over its alias `stdenv.lib` as it now causes evaluation errors when aliases are disabled which is the case for ofborg.
`lib` is unrelated to `stdenv`, and so `stdenv.lib` should only be used as a convenience alias when developing locally to avoid having to modify the function inputs just to test something out.
## Package naming {#sec-package-naming} ## Package naming {#sec-package-naming}

View file

@ -70,6 +70,7 @@ in {
users.users = mkIf (cfg.user == "ombi") { users.users = mkIf (cfg.user == "ombi") {
ombi = { ombi = {
isSystemUser = true;
group = cfg.group; group = cfg.group;
home = cfg.dataDir; home = cfg.dataDir;
}; };

View file

@ -45,6 +45,7 @@ in
Open source source code editor developed by Microsoft for Windows, Open source source code editor developed by Microsoft for Windows,
Linux and macOS Linux and macOS
''; '';
mainProgram = "code";
longDescription = '' longDescription = ''
Open source source code editor developed by Microsoft for Windows, Open source source code editor developed by Microsoft for Windows,
Linux and macOS. It includes support for debugging, embedded Git Linux and macOS. It includes support for debugging, embedded Git

View file

@ -7,7 +7,7 @@
, curl , curl
, doxygen , doxygen
, fetchFromGitHub , fetchFromGitHub
, ffmpeg_3 , ffmpeg
, libmediainfo , libmediainfo
, libraw , libraw
, libsodium , libsodium
@ -52,7 +52,7 @@ mkDerivation rec {
c-ares c-ares
cryptopp cryptopp
curl curl
ffmpeg_3 ffmpeg
libmediainfo libmediainfo
libraw libraw
libsodium libsodium

View file

@ -0,0 +1,26 @@
{ lib, stdenv, fetchFromGitHub, rofi }:
stdenv.mkDerivation rec {
pname = "rofi-power-menu";
version = "3.0.2";
src = fetchFromGitHub {
owner = "jluttine";
repo = "rofi-power-menu";
rev = version;
sha256 = "sha256-Bkc87BXSnAR517wCkyOAfoACYx/5xprDGJQhLWGUNns=";
};
installPhase = ''
mkdir -p $out/bin
cp rofi-power-menu $out/bin/rofi-power-menu
cp dmenu-power-menu $out/bin/dmenu-power-menu
'';
meta = with lib; {
description = "Shows a Power/Lock menu with Rofi";
homepage = "https://github.com/jluttine/rofi-power-menu";
maintainers = with maintainers; [ ikervagyok ];
platforms = platforms.linux;
};
}

View file

@ -44,9 +44,9 @@
} }
}, },
"ungoogled-chromium": { "ungoogled-chromium": {
"version": "90.0.4430.85", "version": "90.0.4430.93",
"sha256": "08j9shrc6p0vpa3x7av7fj8wapnkr7h6m8ag1gh6gaky9d6mki81", "sha256": "0zimr975vp0v12zz1nqjwag3f0q147wrmdhpzgi4yf089rgwfbjk",
"sha256bin64": "0li9w6zfsmx5r90jm5v5gfv3l2a76jndg6z5jvb9yx9xvrp9gpir", "sha256bin64": "1vifcrrfv69i0q7qnnml43xr0c20bi22hfw6lygq3k2x70zdzgl6",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-02-09", "version": "2021-02-09",
@ -55,8 +55,8 @@
"sha256": "1941bzg37c4dpsk3sh6ga3696gpq6vjzpcw9rsnf6kdr9mcgdxvn" "sha256": "1941bzg37c4dpsk3sh6ga3696gpq6vjzpcw9rsnf6kdr9mcgdxvn"
}, },
"ungoogled-patches": { "ungoogled-patches": {
"rev": "90.0.4430.85-1", "rev": "90.0.4430.93-1",
"sha256": "04nrx6fgkizmza50xj236m4rb1j8yaw0cw5790df1vlmbsc81667" "sha256": "11adnd96iwkkri3yyzvxsq43gqsc12fvd87rvqqflj0irrdk98a0"
} }
} }
} }

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lagrange"; pname = "lagrange";
version = "1.3.2"; version = "1.3.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "skyjake"; owner = "skyjake";
repo = "lagrange"; repo = "lagrange";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-90MN7JH84h10dSXt5Kwc2V3FKVutQ7AmNcR4TK2bpBY="; sha256 = "sha256-hPNqyTH2oMPytvYAF9sjEQ9ibaJYDODA33ZrDuWnloU=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "tanka"; pname = "tanka";
version = "0.15.0"; version = "0.15.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "grafana"; owner = "grafana";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-ckXvDB3TU9HAXowAAr/fRmX3mylVvPKW8I74R/vUaRY="; sha256 = "sha256-aCgr56nXZCkG8k/ZGH2/cDOaqkznnyb6JLEcImqLH64=";
}; };
vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw="; vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw=";

View file

@ -0,0 +1,42 @@
{ stdenv, lib, fetchFromGitHub, cacert, python3 }:
stdenv.mkDerivation {
pname = "matrix-commander";
version = "unstable-2021-04-18";
src = fetchFromGitHub {
owner = "8go";
repo = "matrix-commander";
rev = "3e89a5f4c98dd191880ae371cc63eb9282d7d91f";
sha256 = "08nwwszp1kv5b7bgf6mmfn42slxkyhy98x18xbn4pglc4bj32iql";
};
buildInputs = [
cacert
(python3.withPackages(ps: with ps; [
matrix-nio
magic
markdown
pillow
urllib3
aiofiles
]))];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp $src/matrix-commander.py $out/bin/matrix-commander
chmod +x $out/bin/matrix-commander
runHook postInstall
'';
meta = with lib; {
description = "Simple but convenient CLI-based Matrix client app for sending and receiving";
homepage = "https://github.com/8go/matrix-commander";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = [ maintainers.seb314 ];
};
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv, nixosTests, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, gtk3, wrapGAppsHook }: { lib, stdenv, nixosTests, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, gtk3, libxshmfence, wrapGAppsHook }:
let let
description = "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases"; description = "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases";
@ -19,16 +19,16 @@ let
maintainers = with maintainers; [ fliegendewurst ]; maintainers = with maintainers; [ fliegendewurst ];
}; };
version = "0.46.9"; version = "0.47.2";
desktopSource = { desktopSource = {
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz"; url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
sha256 = "1qpk5z8w4wbkxs1lpnz3g8w30zygj4wxxlwj6gp1pip09xgiksm9"; sha256 = "04fyi0gbih6iw61b6d8lprf9qhxb6zb1pgckmi016wgv8x5ck02p";
}; };
serverSource = { serverSource = {
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz"; url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
sha256 = "1n8g7l6hiw9bhzylvzlfcn2pk4i8pqkqp9lj3lcxwwqb8va52phg"; sha256 = "1f8csjgqq4yw1qcnlrfy5ysarazmvj2fnmnxj4sr1xjbfa78y2rr";
}; };
in { in {
@ -55,7 +55,7 @@ in {
wrapGAppsHook wrapGAppsHook
]; ];
buildInputs = atomEnv.packages ++ [ gtk3 ]; buildInputs = atomEnv.packages ++ [ gtk3 libxshmfence ];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall

View file

@ -67,6 +67,7 @@ stdenv.mkDerivation rec {
R_SHELL="${stdenv.shell}" R_SHELL="${stdenv.shell}"
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
--disable-R-framework --disable-R-framework
--without-x
OBJC="clang" OBJC="clang"
CPPFLAGS="-isystem ${libcxx}/include/c++/v1" CPPFLAGS="-isystem ${libcxx}/include/c++/v1"
LDFLAGS="-L${libcxx}/lib" LDFLAGS="-L${libcxx}/lib"

View file

@ -1,12 +1,12 @@
{ lib, stdenv, fetchurl, makeWrapper, jre, ncurses }: { lib, stdenv, fetchurl, makeWrapper, jre, ncurses }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.26.0-RC1"; version = "3.0.0-RC3";
pname = "dotty-bare"; pname = "dotty-bare";
src = fetchurl { src = fetchurl {
url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz"; url = "https://github.com/lampepfl/dotty/releases/download/${version}/scala3-${version}.tar.gz";
sha256 = "16njy9f0lk7q5x5w1k4yqy644005w4cxhq20r8i2qslhxjndz66f"; sha256 = "1xp9nql2l62fra8p29fgk3srdbvza9g5inxr8p0sihsrp0bgxa0m";
}; };
propagatedBuildInputs = [ jre ncurses.dev ] ; propagatedBuildInputs = [ jre ncurses.dev ] ;

View file

@ -13,9 +13,10 @@ stdenv.mkDerivation {
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
ln -s ${dotty-bare}/bin/dotc $out/bin/dotc ln -s ${dotty-bare}/bin/scalac $out/bin/scalac
ln -s ${dotty-bare}/bin/dotd $out/bin/dotd ln -s ${dotty-bare}/bin/scaladoc $out/bin/scaladoc
ln -s ${dotty-bare}/bin/dotr $out/bin/dotr ln -s ${dotty-bare}/bin/scala $out/bin/scala
ln -s ${dotty-bare}/bin/common $out/bin/common
''; '';
inherit (dotty-bare) meta; inherit (dotty-bare) meta;

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libosmium"; pname = "libosmium";
version = "2.16.0"; version = "2.17.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "osmcode"; owner = "osmcode";
repo = "libosmium"; repo = "libosmium";
rev = "v${version}"; rev = "v${version}";
sha256 = "1na51g6xfm1bx0d0izbg99cwmqn0grp0g41znn93xnhs202qnb2h"; sha256 = "sha256-q938WA+vJDqGVutVzWdEP7ujDAmfj3vluliomVd0om0=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -185,14 +185,14 @@ self = stdenv.mkDerivation {
postFixup = optionalString stdenv.isLinux '' postFixup = optionalString stdenv.isLinux ''
# set the default search path for DRI drivers; used e.g. by X server # set the default search path for DRI drivers; used e.g. by X server
substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace "$drivers" "${libglvnd.driverLink}" substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace "$drivers" "${libglvnd.driverLink}"
substituteInPlace "$dev/lib/pkgconfig/d3d.pc" --replace "$drivers" "${libglvnd.driverLink}" [ -f "$dev/lib/pkgconfig/d3d.pc" ] && substituteInPlace "$dev/lib/pkgconfig/d3d.pc" --replace "$drivers" "${libglvnd.driverLink}"
# remove pkgconfig files for GL/EGL; they are provided by libGL. # remove pkgconfig files for GL/EGL; they are provided by libGL.
rm -f $dev/lib/pkgconfig/{gl,egl}.pc rm -f $dev/lib/pkgconfig/{gl,egl}.pc
# Move development files for libraries in $drivers to $driversdev # Move development files for libraries in $drivers to $driversdev
mkdir -p $driversdev/include mkdir -p $driversdev/include
mv $dev/include/xa_* $dev/include/d3d* $driversdev/include mv $dev/include/xa_* $dev/include/d3d* -t $driversdev/include || true
mkdir -p $driversdev/lib/pkgconfig mkdir -p $driversdev/lib/pkgconfig
for pc in lib/pkgconfig/{xatracker,d3d}.pc; do for pc in lib/pkgconfig/{xatracker,d3d}.pc; do
if [ -f "$dev/$pc" ]; then if [ -f "$dev/$pc" ]; then

View file

@ -1,18 +1,18 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew { stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew
, xorg , ffmpeg_3, python3 , libjpeg, libpng, libtiff, eigen , xorg, ffmpeg, libjpeg, libpng, libtiff, eigen
, Carbon ? null, Cocoa ? null , Carbon ? null, Cocoa ? null
}: }:
stdenv.mkDerivation { stdenv.mkDerivation rec {
pname = "pangolin"; pname = "pangolin";
version = "2017-08-02"; version = "0.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stevenlovegrove"; owner = "stevenlovegrove";
repo = "Pangolin"; repo = "Pangolin";
rev = "f05a8cdc4f0e32cc1664a430f1f85e60e233c407"; rev = "v${version}";
sha256 = "0pfbaarlsw7f7cmsppm7m13nz0k530wwwyczy2l9k448p3v7x9j0"; sha256 = "0abjajxj7lc2yajshimar4w8kf8115prsjnhy83s6jc7cbz63wj8";
}; };
nativeBuildInputs = [ cmake pkg-config doxygen ]; nativeBuildInputs = [ cmake pkg-config doxygen ];
@ -21,8 +21,7 @@ stdenv.mkDerivation {
libGL libGL
glew glew
xorg.libX11 xorg.libX11
ffmpeg_3 ffmpeg
python3
libjpeg libjpeg
libpng libpng
libtiff libtiff

View file

@ -1,15 +1,16 @@
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, xorg, alsaLib, libGLU, libGL, aalib { lib, stdenv, fetchurl, pkg-config, xorg, alsaLib, libGLU, libGL, aalib
, libvorbis, libtheora, speex, zlib, perl, ffmpeg_3 , libvorbis, libtheora, speex, zlib, perl, ffmpeg_3
, flac, libcaca, libpulseaudio, libmng, libcdio, libv4l, vcdimager , flac, libcaca, libpulseaudio, libmng, libcdio, libv4l, vcdimager
, libmpcdec , libmpcdec, ncurses
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xine-lib-1.2.9"; pname = "xine-lib";
version = "1.2.11";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/xine/${name}.tar.xz"; url = "mirror://sourceforge/xine/xine-lib-${version}.tar.xz";
sha256 = "13clir4qxl2zvsvvjd9yv3yrdhsnvcn5s7ambbbn5dzy9604xcrj"; sha256 = "01bhq27g5zbgy6y36hl7lajz1nngf68vs4fplxgh98fx20fv4lgg";
}; };
nativeBuildInputs = [ pkg-config perl ]; nativeBuildInputs = [ pkg-config perl ];
@ -17,15 +18,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
xorg.libX11 xorg.libXv xorg.libXinerama xorg.libxcb xorg.libXext xorg.libX11 xorg.libXv xorg.libXinerama xorg.libxcb xorg.libXext
alsaLib libGLU libGL aalib libvorbis libtheora speex perl ffmpeg_3 flac alsaLib libGLU libGL aalib libvorbis libtheora speex perl ffmpeg_3 flac
libcaca libpulseaudio libmng libcdio libv4l vcdimager libmpcdec libcaca libpulseaudio libmng libcdio libv4l vcdimager libmpcdec ncurses
];
patches = [
(fetchpatch {
name = "0001-fix-XINE_PLUGIN_PATH-splitting.patch";
url = "https://sourceforge.net/p/xine/mailman/attachment/32394053-5e27-6558-f0c9-49e0da0bc3cc%40gmx.de/1/";
sha256 = "0nrsdn7myvjs8fl9rj6k4g1bnv0a84prsscg1q9n49gwn339v5rc";
})
]; ];
NIX_LDFLAGS = "-lxcb-shm"; NIX_LDFLAGS = "-lxcb-shm";
@ -35,9 +28,9 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with lib; { meta = with lib; {
homepage = "http://www.xine-project.org/"; homepage = "http://xine.sourceforge.net/home";
description = "A high-performance, portable and reusable multimedia playback engine"; description = "A high-performance, portable and reusable multimedia playback engine";
platforms = platforms.linux; platforms = platforms.linux;
license = with licenses; [ gpl2 lgpl2 ]; license = with licenses; [ gpl2Plus lgpl2Plus ];
}; };
} }

View file

@ -1,11 +1,11 @@
{ lib, buildPythonPackage, fetchPypi, pythonOlder { lib, buildPythonPackage, fetchPypi, pythonOlder
, isPy27, isPyPy, python, pycares, typing ? null , python, pycares, typing ? null
, trollius ? null
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiodns"; pname = "aiodns";
version = "2.0.0"; version = "2.0.0";
disabled = pythonOlder "3.5";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
@ -13,8 +13,7 @@ buildPythonPackage rec {
}; };
propagatedBuildInputs = [ pycares ] propagatedBuildInputs = [ pycares ]
++ lib.optional (pythonOlder "3.7") typing ++ lib.optional (pythonOlder "3.7") typing;
++ lib.optional (isPy27 || isPyPy) trollius;
checkPhase = '' checkPhase = ''
${python.interpreter} tests.py ${python.interpreter} tests.py

View file

@ -1,35 +0,0 @@
{ lib
, buildPythonPackage
, fetchPypi
, eventlet
, trollius ? null
, mock
, python
}:
buildPythonPackage rec {
pname = "aioeventlet";
# version is called 0.5.1 on PyPI, but the filename is aioeventlet-0.5.2.tar.gz
version = "0.5.2";
src = fetchPypi {
inherit pname version;
sha256 = "cecb51ea220209e33b53cfb95124d90e4fcbee3ff8ba8a179a57120b8624b16a";
};
propagatedBuildInputs = [ eventlet trollius ];
buildInputs = [ mock ];
# 2 tests error out
doCheck = false;
checkPhase = ''
${python.interpreter} runtests.py
'';
meta = with lib; {
description = "aioeventlet implements the asyncio API (PEP 3156) on top of eventlet. It makes";
homepage = "https://pypi.org/project/aioeventlet/";
license = licenses.asl20;
};
}

View file

@ -1,19 +1,18 @@
{ lib, buildPythonPackage, fetchPypi, isPy3k, { lib, buildPythonPackage, fetchPypi, isPy3k,
six, txaio, twisted, zope_interface, cffi, six, txaio, twisted, zope_interface, cffi,
trollius ? null, futures ? null,
mock, pytest, cryptography, pynacl mock, pytest, cryptography, pynacl
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "autobahn"; pname = "autobahn";
version = "21.3.1"; version = "21.3.1";
disabled = !isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "e126c1f583e872fb59e79d36977cfa1f2d0a8a79f90ae31f406faae7664b8e03"; sha256 = "e126c1f583e872fb59e79d36977cfa1f2d0a8a79f90ae31f406faae7664b8e03";
}; };
propagatedBuildInputs = [ six txaio twisted zope_interface cffi cryptography pynacl ] ++ propagatedBuildInputs = [ six txaio twisted zope_interface cffi cryptography pynacl ];
(lib.optionals (!isPy3k) [ trollius futures ]);
checkInputs = [ mock pytest ]; checkInputs = [ mock pytest ];
checkPhase = '' checkPhase = ''

View file

@ -1,17 +1,15 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchPypi
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "btrfs"; pname = "btrfs";
version = "12"; version = "13";
src = fetchFromGitHub { src = fetchPypi {
owner = "knorrie"; inherit pname version;
repo = "python-btrfs"; sha256 = "sha256-NSyzhpHYDkunuU104XnbVCcVRNDoVBz4KuJRrE7WMO0=";
rev = "v${version}";
sha256 = "sha256-ZQSp+pbHABgBTrCwC2YsUUXAf/StP4ny7MEhBgCRqgE=";
}; };
# no tests (in v12) # no tests (in v12)
@ -23,6 +21,6 @@ buildPythonPackage rec {
homepage = "https://github.com/knorrie/python-btrfs"; homepage = "https://github.com/knorrie/python-btrfs";
license = licenses.lgpl3Plus; license = licenses.lgpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.evils ]; maintainers = with maintainers; [ evils Luflosi ];
}; };
} }

View file

@ -33,7 +33,7 @@ buildPythonPackage rec {
inherit src; inherit src;
sourceRoot = "${pname}-${version}/${cargoRoot}"; sourceRoot = "${pname}-${version}/${cargoRoot}";
name = "${pname}-${version}"; name = "${pname}-${version}";
sha256 = "1wisxmq26b8ml144m2458sgcbk8jpv419j01qmffsrfy50x9i1yw"; sha256 = "1m6smky4nahwlp4hn6yzibrcxlbsw4nx162dsq48vlw8h1lgjl62";
}; };
cargoRoot = "src/rust"; cargoRoot = "src/rust";

View file

@ -1,27 +1,21 @@
{ buildPythonPackage { lib
, buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, lib
, pythonOlder
, coveralls
, promise
, pytestCheckHook
, pytest-benchmark , pytest-benchmark
, pytest-mock , pytestCheckHook
, rx , pythonOlder
, six
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "graphql-core"; pname = "graphql-core";
version = "3.1.3"; version = "3.1.4";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "graphql-python"; owner = "graphql-python";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0qy1i6vffwad74ymdsh1qjf5b6ph4z0vyxzkkc6yppwczhzmi1ps"; sha256 = "sha256-lamV5Rd37WvFBJ+zJUb+UhqxoNUrRhoMJx1NodbQUjs=";
}; };
checkInputs = [ checkInputs = [
@ -29,12 +23,12 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pythonImportsCheck = [ "graphql" ];
meta = with lib; { meta = with lib; {
description = "Port of graphql-js to Python"; description = "Port of graphql-js to Python";
homepage = "https://github.com/graphql-python/graphql-core"; homepage = "https://github.com/graphql-python/graphql-core";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ maintainers = with maintainers; [ kamadorueda ];
kamadorueda
];
}; };
} }

View file

@ -1,19 +1,32 @@
{ lib { lib
, buildPythonPackage, fetchPypi , buildPythonPackage
, numpy, requests, six, pyglet, scipy, cloudpickle , fetchFromGitHub
, numpy
, requests
, pyglet
, scipy
, pillow
, cloudpickle
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "gym"; pname = "gym";
version = "0.18.0"; version = "0.18.1";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "openai";
sha256 = "a0dcd25c1373f3938f4cb4565f74f434fba6faefb73a42d09c9dddd0c08af53e"; repo = pname;
rev = version;
sha256 = "0mv4af2y9d1y97bsda94f21nis2jm1zkzv7c806vmvzh5s4r8nfn";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
numpy requests six pyglet scipy cloudpickle cloudpickle
numpy
pillow
pyglet
requests
scipy
]; ];
# The test needs MuJoCo that is not free library. # The test needs MuJoCo that is not free library.
@ -22,7 +35,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "gym" ]; pythonImportsCheck = [ "gym" ];
meta = with lib; { meta = with lib; {
description = "A toolkit by OpenAI for developing and comparing your reinforcement learning agents"; description = "A toolkit for developing and comparing your reinforcement learning agents";
homepage = "https://gym.openai.com/"; homepage = "https://gym.openai.com/";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ hyphon81 ]; maintainers = with maintainers; [ hyphon81 ];

View file

@ -7,13 +7,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "karton-config-extractor"; pname = "karton-config-extractor";
version = "1.0.0"; version = "1.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "CERT-Polska"; owner = "CERT-Polska";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1v0zqa81yjz6hm17x9hp0iwkllymqzn84dd6r2yrhillbwnjg9bb"; sha256 = "14592b9vq2iza5agxr29z1mh536if7a9p9hvyjnibsrv22mzwz7l";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -23,7 +23,9 @@ buildPythonPackage rec {
postPatch = '' postPatch = ''
substituteInPlace requirements.txt \ substituteInPlace requirements.txt \
--replace "karton.core==4.0.5" "karton-core" --replace "karton-core==4.2.0" "karton-core"
substituteInPlace requirements.txt \
--replace "malduck==4.1.0" "malduck"
''; '';
# Project has no tests # Project has no tests

View file

@ -8,13 +8,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "karton-yaramatcher"; pname = "karton-yaramatcher";
version = "1.0.0"; version = "1.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "CERT-Polska"; owner = "CERT-Polska";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "093h5hbx2ss4ly523gvf10a5ky3vvin6wipigvhx13y1rdxl6c9n"; sha256 = "0yb9l5z826zli5cpcj234dmjdjha2g1lcwxyvpxm95whkhapc2cf";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -38,7 +38,7 @@ buildPythonPackage rec {
postPatch = '' postPatch = ''
substituteInPlace pyproject.toml \ substituteInPlace pyproject.toml \
--replace 'importlib-metadata = {version = "^1.6.0", python = "<3.8"}' \ --replace 'importlib-metadata = {version = "^1.6.0", python = "<3.8"}' \
'importlib-metadata = {version = ">=1.6,<2", python = "<3.8"}' \ 'importlib-metadata = {version = ">=1.6", python = "<3.8"}' \
--replace 'version = "^21.2.0"' 'version = ">=21.2"' --replace 'version = "^21.2.0"' 'version = ">=21.2"'
''; '';

View file

@ -4,7 +4,6 @@
, nose , nose
, msgpack , msgpack
, greenlet , greenlet
, trollius ? null
, pythonOlder , pythonOlder
, isPyPy , isPyPy
, pytestrunner , pytestrunner
@ -13,6 +12,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pynvim"; pname = "pynvim";
version = "0.4.3"; version = "0.4.3";
disabled = pythonOlder "3.4";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
@ -28,8 +28,7 @@ buildPythonPackage rec {
doCheck = false; doCheck = false;
propagatedBuildInputs = [ msgpack ] propagatedBuildInputs = [ msgpack ]
++ lib.optional (!isPyPy) greenlet ++ lib.optional (!isPyPy) greenlet;
++ lib.optional (pythonOlder "3.4") trollius;
meta = { meta = {
description = "Python client for Neovim"; description = "Python client for Neovim";

View file

@ -0,0 +1,40 @@
{ buildPythonPackage, fetchFromGitHub, lib, passlib, pytestCheckHook, setuptools
, setuptools-git, twine, webtest }:
buildPythonPackage rec {
pname = "pypiserver";
version = "1.4.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "1z5rsmqgin98m6ihy1ww42fxxr6jb4hzldn8vlc9ssv7sawdz8vz";
};
nativeBuildInputs = [ setuptools-git ];
propagatedBuildInputs = [ setuptools ];
preCheck = ''
export HOME=$TMPDIR
'';
checkInputs = [ passlib pytestCheckHook twine webtest ];
# These tests try to use the network
disabledTests = [
"test_pipInstall_openOk"
"test_pipInstall_authedOk"
"test_hash_algos"
];
pythonImportsCheck = [ "pypiserver" ];
meta = with lib; {
homepage = "https://github.com/pypiserver/pypiserver";
description = "Minimal PyPI server for use with pip/easy_install";
license = with licenses; [ mit zlib ];
maintainers = [ maintainers.austinbutler ];
};
}

View file

@ -1,30 +1,28 @@
{ buildPythonPackage { buildPythonPackage
, fetchFromGitHub , fetchPypi
, pytest , pytestCheckHook
, isPy27
, lib , lib
, setuptools
, setuptools-declarative-requirements
, setuptools-scm
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pytest-helpers-namespace"; pname = "pytest-helpers-namespace";
version = "2021.3.24"; version = "2021.3.24";
disabled = isPy27;
src = fetchFromGitHub { src = fetchPypi {
owner = "saltstack"; inherit pname version;
repo = pname; sha256 = "0pyj2d45zagmzlajzqdnkw5yz8k49pkihbydsqkzm413qnkzb38q";
rev = version;
sha256 = "0ikwiwp9ycgg7px78nxdkqvg7j97krb6vzqlb8fq8fvbwrj4q4v2";
}; };
buildInputs = [ pytest ]; nativeBuildInputs = [ setuptools setuptools-declarative-requirements setuptools-scm ];
checkInputs = [ pytest ]; checkInputs = [ pytestCheckHook ];
checkPhase = '' pythonImportsCheck = [ "pytest_helpers_namespace" ];
pytest
'';
# The tests fail with newest pytest. They passed with pytest_3, which no longer exists
doCheck = false;
meta = with lib; { meta = with lib; {
homepage = "https://github.com/saltstack/pytest-helpers-namespace"; homepage = "https://github.com/saltstack/pytest-helpers-namespace";

View file

@ -0,0 +1,28 @@
{ buildPythonPackage, fetchPypi, lib, pypiserver, pytestCheckHook
, setuptools-scm, virtualenv }:
buildPythonPackage rec {
pname = "setuptools-declarative-requirements";
version = "1.2.0";
src = fetchPypi {
inherit pname version;
sha256 = "1l8zmcnp9h8sp8hsw7b81djaa1a9yig0y7i4phh5pihqz1gdn7yi";
};
buildInputs = [ setuptools-scm ];
checkInputs = [ pypiserver pytestCheckHook virtualenv ];
# Tests use network
doCheck = false;
pythonImportsCheck = [ "declarative_requirements" ];
meta = with lib; {
homepage = "https://github.com/s0undt3ch/setuptools-declarative-requirements";
description = "Declarative setuptools Config Requirements Files Support";
license = licenses.asl20;
maintainers = [ maintainers.austinbutler ];
};
}

View file

@ -1,52 +0,0 @@
{ lib, stdenv, buildPythonPackage, fetchPypi, isPy3k, mock, unittest2, six, futures }:
buildPythonPackage rec {
pname = "trollius";
version = "2.2.post1";
src = fetchPypi {
inherit pname version;
sha256 = "06s44k6pcq35vl5j4i2pgkpb848djal818qypcvx44gyn4azjrqn";
};
checkInputs = [ mock ] ++ lib.optional (!isPy3k) unittest2;
propagatedBuildInputs = [ six ] ++ lib.optional (!isPy3k) futures;
patches = [
./tests.patch
];
disabled = isPy3k;
postPatch = ''
# Overrides PYTHONPATH causing dependencies not to be found
sed -i -e "s|test_env_var_debug|skip_test_env_var_debug|g" tests/test_tasks.py
'' + lib.optionalString stdenv.isDarwin ''
# Some of the tests fail on darwin with `error: AF_UNIX path too long'
# because of the *long* path names for sockets
sed -i -e "s|test_create_ssl_unix_connection|skip_test_create_ssl_unix_connection|g" tests/test_events.py
sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|g" tests/test_events.py
sed -i -e "s|test_create_unix_server_existing_path_nonsock|skip_test_create_unix_server_existing_path_nonsock|g" tests/test_unix_events.py
sed -i -e "s|test_create_unix_server_existing_path_sock|skip_test_create_unix_server_existing_path_sock|g" tests/test_unix_events.py
sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|g" tests/test_events.py
sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|g" tests/test_events.py
sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|g" tests/test_events.py
sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|g" tests/test_events.py
sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|g" tests/test_streams.py
sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|g" tests/test_streams.py
sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|g" tests/test_streams.py
sed -i -e "s|test_pause_reading|skip_test_pause_reading|g" tests/test_subprocess.py
sed -i -e "s|test_read_pty_output|skip_test_read_pty_output|g" tests/test_events.py
sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|g" tests/test_streams.py
sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|g" tests/test_events.py
sed -i -e "s|test_write_pty|skip_test_write_pty|g" tests/test_events.py
'';
meta = with lib; {
description = "Port of the asyncio project to Python 2.7";
homepage = "https://github.com/vstinner/trollius";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};
}

View file

@ -1,13 +0,0 @@
diff --git i/tests/test_asyncio.py w/tests/test_asyncio.py
index 39d9e1a..05b7e6f 100644
--- i/tests/test_asyncio.py
+++ w/tests/test_asyncio.py
@@ -69,7 +69,7 @@ class AsyncioTests(test_utils.TestCase):
def step_future():
future = asyncio.Future()
self.loop.call_soon(future.set_result, "asyncio.Future")
- return (yield from future)
+ return (yield From(future))
# test in release mode
trollius.coroutines._DEBUG = False

View file

@ -2,16 +2,15 @@
assert jdk != null; assert jdk != null;
let version = "3.6.3"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "apache-maven"; pname = "apache-maven";
inherit version; version = "3.8.1";
builder = ./builder.sh; builder = ./builder.sh;
src = fetchurl { src = fetchurl {
url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz"; url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz";
sha256 = "1i9qlj3vy4j1yyf22nwisd0pg88n9qzp9ymfhwqabadka7br3b96"; sha256 = "00pgmc9v2s2970wgl2ksvpqy4lxx17zhjm9fgd10fkamxc2ik2mr";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "just"; pname = "just";
version = "0.9.0"; version = "0.9.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "casey"; owner = "casey";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-orHUovyFFOPRvbfLKQhkfZzM0Gs2Cpe1uJg/6+P8HKY="; sha256 = "sha256-5W/5HgXjDmr2JGYGy5FPmCNIuAagmzEHnskDUg+FzjY=";
}; };
cargoSha256 = "sha256-YDIGZRbszhgWM7iAc2i89jyndZvZZsg63ADQfqFxfXw="; cargoSha256 = "sha256-4lLWtj/MLaSZU7nC4gVn7TyhaLtO1FUSinQejocpiuY=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
@ -32,15 +32,21 @@ rustPlatform.buildRustPackage rec {
export USER=just-user export USER=just-user
export USERNAME=just-user export USERNAME=just-user
# Prevent string.rs from being changed
cp tests/string.rs $TMPDIR/string.rs
sed -i src/justfile.rs \ sed -i src/justfile.rs \
-i tests/*.rs \ -i tests/*.rs \
-e "s@/bin/echo@${coreutils}/bin/echo@g" \ -e "s@/bin/echo@${coreutils}/bin/echo@g" \
-e "s@#!/usr/bin/env sh@#!${bash}/bin/sh@g" \ -e "s@#!/usr/bin/env sh@#!${bash}/bin/sh@g" \
-e "s@#!/usr/bin/env cat@#!${coreutils}/bin/cat@g" \ -e "s@#!/usr/bin/env cat@#!${coreutils}/bin/cat@g" \
-e "s@#!/usr/bin/env bash@#!${bash}/bin/sh@g" -e "s@#!/usr/bin/env bash@#!${bash}/bin/sh@g"
# Return unchanged string.rs
cp $TMPDIR/string.rs tests/string.rs
''; '';
# Skip "edit" when running "cargo test", since this test case needs "cat". # Skip "edit" when running "cargo test", since this test case needs "cat" and "vim".
# Skip "choose" when running "cargo test", since this test case needs "fzf". # Skip "choose" when running "cargo test", since this test case needs "fzf".
checkFlags = [ "--skip=choose" "--skip=edit" ]; checkFlags = [ "--skip=choose" "--skip=edit" ];

View file

@ -1,52 +1,57 @@
{ lib, stdenv, requireFile, makeDesktopItem, libicns, imagemagick, jre, fetchzip }: { lib, stdenv, makeDesktopItem, copyDesktopItems, icoutils, fdupes, imagemagick, jdk11, fetchzip }:
# TODO: JDK16 causes STM32CubeMX to crash right now, so we fixed the version to JDK11
# This may be fixed in a future version of STM32CubeMX. This issue has been reported to ST:
# https://community.st.com/s/question/0D53W00000jnOzPSAU/stm32cubemx-crashes-on-launch-with-openjdk16
# If you're updating this derivation, check the link above to see if it's been fixed upstream
# and try replacing all occurrences of jdk11 with jre and test whether it works.
let let
version = "6.0.1"; iconame = "STM32CubeMX";
desktopItem = makeDesktopItem {
name = "stm32CubeMX";
exec = "stm32cubemx";
desktopName = "STM32CubeMX";
categories = "Development;";
icon = "stm32cubemx";
};
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "stm32cubemx"; pname = "stm32cubemx";
inherit version; version = "6.2.1";
src = fetchzip { src = fetchzip {
url = "https://sw-center.st.com/packs/resource/library/stm32cube_mx_v${builtins.replaceStrings ["."] [""] version}.zip"; url = "https://sw-center.st.com/packs/resource/library/stm32cube_mx_v${builtins.replaceStrings ["."] [""] version}-lin.zip";
sha256 = "15vxca1pgpgxgiz4wisrw0lylffdwnn4n46z9n0q37f8hmzlrk8f"; sha256 = "0m5h01iq0mgrr9svj4gmykfi9lsyjpqzrkvlizff26c8dqad59c5";
stripRoot= false; stripRoot = false;
}; };
nativeBuildInputs = [ libicns imagemagick ]; nativeBuildInputs = [ icoutils fdupes imagemagick copyDesktopItems];
desktopItems = [
(makeDesktopItem {
name = "stm32CubeMX";
exec = "stm32cubemx";
desktopName = "STM32CubeMX";
categories = "Development;";
comment = "STM32Cube initialization code generator";
icon = "stm32cubemx";
})
];
buildCommand = '' buildCommand = ''
mkdir -p $out/{bin,opt/STM32CubeMX,share/applications} mkdir -p $out/{bin,opt/STM32CubeMX}
cp -r $src/. $out/opt/STM32CubeMX/ cp -r $src/MX/. $out/opt/STM32CubeMX/
chmod +rx $out/opt/STM32CubeMX/STM32CubeMX.exe chmod +rx $out/opt/STM32CubeMX/STM32CubeMX
cat << EOF > $out/bin/${pname} cat << EOF > $out/bin/${pname}
#!${stdenv.shell} #!${stdenv.shell}
${jre}/bin/java -jar $out/opt/STM32CubeMX/STM32CubeMX.exe ${jdk11}/bin/java -jar $out/opt/STM32CubeMX/STM32CubeMX
EOF EOF
chmod +x $out/bin/${pname} chmod +x $out/bin/${pname}
icns2png --extract $out/opt/STM32CubeMX/${pname}.icns icotool --extract $out/opt/STM32CubeMX/help/${iconame}.ico
fdupes -dN . > /dev/null
ls ls
for size in 16 24 32 48 64 128 256; do for size in 16 24 32 48 64 128 256; do
mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps
if [ -e ${pname}_"$size"x"$size"x32.png ]; then if [ $size -eq 256 ]; then
mv ${pname}_"$size"x"$size"x32.png \ mv ${iconame}_*_"$size"x"$size"x32.png \
$out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
else else
convert -resize "$size"x"$size" ${pname}_256x256x32.png \ convert -resize "$size"x"$size" ${iconame}_*_256x256x32.png \
$out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
fi fi
done; done;
ln -s ${desktopItem}/share/applications/* $out/share/applications
''; '';
meta = with lib; { meta = with lib; {

View file

@ -10,16 +10,16 @@ in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "rustup"; pname = "rustup";
version = "1.23.1"; version = "1.24.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rust-lang"; owner = "rust-lang";
repo = "rustup"; repo = "rustup";
rev = version; rev = version;
sha256 = "1i3ipkq6j47bf9dh9j3axzj6z443jm4j651g38cxyrrx8b2s15x0"; sha256 = "sha256-GKvKawvfm/4eBU4mn/Q9fhu3Ml+j+BsxVNPvbvcnMLU=";
}; };
cargoSha256 = "1zkrrg5m0j9rk65g51v2zh404529p9z84qqb7bfyjmgiqlnh48ig"; cargoSha256 = "sha256-tWww+rR4DQgRacVeLqnOBcuXA7o/NYmJBcJgWX3aLRY=";
nativeBuildInputs = [ makeWrapper pkg-config ]; nativeBuildInputs = [ makeWrapper pkg-config ];

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, fpc, zip, makeWrapper { lib, stdenv, fetchFromGitHub, fpc, zip, makeWrapper
, SDL2, freetype, physfs, openal, gamenetworkingsockets , SDL2, freetype, physfs, openal, gamenetworkingsockets
, xorg, autoPatchelfHook , xorg, autoPatchelfHook
}: }:
@ -39,14 +39,14 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "soldat"; pname = "soldat";
version = "unstable-2021-02-09"; version = "unstable-2021-04-27";
src = fetchFromGitHub { src = fetchFromGitHub {
name = "soldat"; name = "soldat";
owner = "Soldat"; owner = "Soldat";
repo = "soldat"; repo = "soldat";
rev = "c304c3912ca7a88461970a859049d217a44c6375"; rev = "4d17667c316ff08934e97448b7f290a8dc434e81";
sha256 = "09sl2zybfcmnl2n3qghp0gylmr71y01534l6nq0y9llbdy0bf306"; sha256 = "1pf557psmhfaagblfwdn36cw80j7bgs0lgjq8hmjbv58dysw3jdb";
}; };
nativeBuildInputs = [ fpc makeWrapper autoPatchelfHook ]; nativeBuildInputs = [ fpc makeWrapper autoPatchelfHook ];
@ -54,15 +54,6 @@ stdenv.mkDerivation rec {
buildInputs = [ SDL2 freetype physfs openal gamenetworkingsockets ]; buildInputs = [ SDL2 freetype physfs openal gamenetworkingsockets ];
runtimeDependencies = [ xorg.libX11 ]; runtimeDependencies = [ xorg.libX11 ];
patches = [
# fix an argument parsing issue which prevents
# us from passing nix store paths to soldat
(fetchpatch {
url = "https://github.com/sternenseemann/soldat/commit/9f7687430f5fe142c563b877d2206f5c9bbd5ca0.patch";
sha256 = "0wsrazb36i7v4idg06jlzfhqwf56q9szzz7jp5cg4wsvcky3wajf";
})
];
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild

View file

@ -2,13 +2,13 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "frescobaldi"; pname = "frescobaldi";
version = "3.1.1"; version = "3.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wbsoft"; owner = "wbsoft";
repo = "frescobaldi"; repo = "frescobaldi";
rev = "v${version}"; rev = "v${version}";
sha256 = "07hjlq29npasn2bsb3qrzr1gikyvcc85avx0sxybfih329bvjk03"; sha256 = "1p8f4vn2dpqndw1dylmg7wms6vi69zcfj544c908s4r8rrmbycyf";
}; };
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
@ -19,6 +19,12 @@ buildPythonApplication rec {
nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ]; nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
# Needed because source is fetched from git
preBuild = ''
make -C i18n
make -C linux
'';
# no tests in shipped with upstream # no tests in shipped with upstream
doCheck = false; doCheck = false;

View file

@ -10,12 +10,12 @@
buildGoModule rec { buildGoModule rec {
pname = "oci-seccomp-bpf-hook"; pname = "oci-seccomp-bpf-hook";
version = "1.2.2"; version = "1.2.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = "oci-seccomp-bpf-hook"; repo = "oci-seccomp-bpf-hook";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-SRphs8zwKz6jlAixVZkHdww0jroaBNK82kSLj1gs6Wg="; sha256 = "sha256-EKD6tkdQCPlVlb9ScvRwDxYAtbbv9PIqBHH6SvtPDsE=";
}; };
vendorSha256 = null; vendorSha256 = null;
@ -56,6 +56,5 @@ buildGoModule rec {
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ saschagrunert ]; maintainers = with maintainers; [ saschagrunert ];
platforms = platforms.linux; platforms = platforms.linux;
badPlatforms = [ "aarch64-linux" ];
}; };
} }

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, makeWrapper, patchelf, openssl, libunwind, zlib, krb5, icu, nixosTests }: { lib, stdenv, fetchurl, makeWrapper, autoPatchelfHook, fixDarwinDylibNames, zlib, krb5, openssl, icu, nixosTests }:
let let
os = if stdenv.isDarwin then "osx" else "linux"; os = if stdenv.isDarwin then "osx" else "linux";
@ -10,20 +10,14 @@ let
"Unsupported system: ${stdenv.hostPlatform.system}"); "Unsupported system: ${stdenv.hostPlatform.system}");
hash = { hash = {
x64-linux_hash = "sha256-Cuvz9Mhwpg8RIaiSXib+QW00DM66qPRQulrchRL2BSk="; x64-linux_hash = "sha256-9m5vWobkibqOHsuIJmvEHuwsuJogvQQe8h0dvFj62tw=";
arm64-linux_hash = "sha256-uyVwa73moHWMZScNNSOU17lALuK3PC/cvTZPJ9qg7JQ="; arm64-linux_hash = "sha256-OBm4j5Ez04XLjp4DHyOrwSOSGanuuI8g2y2wZaotH8M=";
x64-osx_hash = "sha256-FGXLsfEuCW94D786LJ/wvA9TakOn5sG2M1rDXPQicYw="; x64-osx_hash = "sha256-UPf6Yl0nbhmiWq9oGyi7sRhlahB6zHL7nTj7GRlKoII=";
}."${arch}-${os}_hash"; }."${arch}-${os}_hash";
rpath = lib.makeLibraryPath [
stdenv.cc.cc openssl libunwind zlib krb5 icu
];
dynamicLinker = stdenv.cc.bintools.dynamicLinker;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "ombi"; pname = "ombi";
version = "4.0.1292"; version = "4.0.1345";
sourceRoot = "."; sourceRoot = ".";
@ -32,25 +26,20 @@ in stdenv.mkDerivation rec {
sha256 = hash; sha256 = hash;
}; };
buildInputs = [ makeWrapper patchelf ]; nativeBuildInputs = [ makeWrapper autoPatchelfHook ]
++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
propagatedBuildInputs = [ stdenv.cc.cc zlib krb5 ];
installPhase = '' installPhase = ''
mkdir -p $out/{bin,share/${pname}-${version}} mkdir -p $out/{bin,share/${pname}-${version}}
cp -r * $out/share/${pname}-${version} cp -r * $out/share/${pname}-${version}
makeWrapper $out/share/${pname}-${version}/Ombi $out/bin/Ombi \ makeWrapper $out/share/${pname}-${version}/Ombi $out/bin/Ombi \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl icu ]} \
--run "cd $out/share/${pname}-${version}" --run "cd $out/share/${pname}-${version}"
''; '';
dontPatchELF = true;
postFixup = ''
patchelf --set-interpreter "${dynamicLinker}" \
--set-rpath "$ORIGIN:${rpath}" $out/share/${pname}-${version}/Ombi
find $out -type f -name "*.so" -exec \
patchelf --set-rpath '$ORIGIN:${rpath}' {} ';'
'';
passthru = { passthru = {
updateScript = ./update.sh; updateScript = ./update.sh;
tests.smoke-test = nixosTests.ombi; tests.smoke-test = nixosTests.ombi;

View file

@ -1,4 +1,10 @@
{ buildGoModule, lib, fetchFromGitHub, installShellFiles }: { buildGoModule
, fetchFromGitHub
, installShellFiles
, lib
, makeWrapper
, xdg-utils
}:
buildGoModule rec { buildGoModule rec {
pname = "aws-vault"; pname = "aws-vault";
version = "6.3.1"; version = "6.3.1";
@ -12,9 +18,10 @@ buildGoModule rec {
vendorSha256 = "sha256-Lb5iiuT/Fd3RMt98AafIi9I0FHJaSpJ8pH7r4yZiiiw="; vendorSha256 = "sha256-Lb5iiuT/Fd3RMt98AafIi9I0FHJaSpJ8pH7r4yZiiiw=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles makeWrapper ];
postInstall = '' postInstall = ''
wrapProgram $out/bin/aws-vault --prefix PATH : ${lib.makeBinPath [ xdg-utils ]}
installShellCompletion --cmd aws-vault \ installShellCompletion --cmd aws-vault \
--bash $src/contrib/completions/bash/aws-vault.bash \ --bash $src/contrib/completions/bash/aws-vault.bash \
--fish $src/contrib/completions/fish/aws-vault.fish \ --fish $src/contrib/completions/fish/aws-vault.fish \
@ -32,6 +39,12 @@ buildGoModule rec {
-X main.Version=v${version} -X main.Version=v${version}
''; '';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/aws-vault --version 2>&1 | grep ${version} > /dev/null
'';
meta = with lib; { meta = with lib; {
description = description =
"A vault for securely storing and accessing AWS credentials in development environments"; "A vault for securely storing and accessing AWS credentials in development environments";

View file

@ -1,178 +1,186 @@
# DO NOT EDIT! This file is generated automatically by update.sh # DO NOT EDIT! This file is generated automatically by update.sh
{ }: { }:
{ {
version = "2.24.1"; version = "3.1.0";
pulumiPkgs = { pulumiPkgs = {
x86_64-linux = [ x86_64-linux = [
{ {
url = "https://get.pulumi.com/releases/sdk/pulumi-v2.24.1-linux-x64.tar.gz"; url = "https://get.pulumi.com/releases/sdk/pulumi-v3.1.0-linux-x64.tar.gz";
sha256 = "1c3a0ibwchl0lmcb8hr4j0x9b7hfsd0pfg6ay808zg1v8ddrj3xm"; sha256 = "103r0rih8qzpswij3bxls9gsb832n4ykwrzbki9b21w2ymj7k3x1";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.10.0-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.0.0-linux-amd64.tar.gz";
sha256 = "1gqbs33mqqssymn48glm9h5qfkc1097ygk0mdanfigyhwv6rdmnc"; sha256 = "1f6r59qk48x73nm17swcs3cp3qw616m7p36bvgsc1s96h23k805w";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.36.0-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.0.0-linux-amd64.tar.gz";
sha256 = "0dg5szlslp863slv6lfd8g98946ljvxhvq64b3j4zk6rsn0badvh"; sha256 = "12rnb18p7z709gvw50hvmx9v7f2wd3pwcncwz4g3ragd7f6a4kja";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.14.2-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.0.0-linux-amd64.tar.gz";
sha256 = "00ibqxb1qzwi93dsq56av0vxq80lx2rr8wll4q6d8wlph215hlqs"; sha256 = "0xs7i9l871x5kr22jg7jjw0rgyvs4j4hazr4n9375xgzc8ysrk09";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.9.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.0.0-linux-amd64.tar.gz";
sha256 = "04sk6km29ssqkv0xw26vq3iik2kfzc3dnzacn324m7fddv3p9wx9"; sha256 = "08588m5s6j1xhig4jprlkjgxk1sif4h3f6as7ixnvssin2vhhhl9";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.17.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v3.0.0-linux-amd64.tar.gz";
sha256 = "0b3bz952wz7fsbk51j0mlfsyyg9ymc9wnq8kgm7dvs1p5zgzv4ni"; sha256 = "01dqah12p23658awcp0sx5h696rdyjl79vd9dm5075jdaix1f648";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.7.0-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.0.0-linux-amd64.tar.gz";
sha256 = "0l1y8fckx7k3lasb6rzy3v58cl1x3qzbb999wi14z16z2a63zwsw"; sha256 = "0m8q1cswdml0hsc4vkq38pm2izs3lig57fg4a8ghqqi3ykni344d";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.9.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.0.0-linux-amd64.tar.gz";
sha256 = "178l4h7wj9pn1283zajaqm7fwcfwzpzq7swrgr8q880qsa611gjs"; sha256 = "06j5k599i8giy5v6scggw8zx1pyfm6w20biwcizv81zk0zkg3fzp";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.19.0-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.0.0-linux-amd64.tar.gz";
sha256 = "0iliagpyvzn63pwcdq74w8ag9vc7asqpq658b19zly4jd6z3cwkd"; sha256 = "1bzy4zf473w49fz2n9lg5ncgblq2a5jh70nf6cfwc7kcla407in0";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.4.0-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.0.0-linux-amd64.tar.gz";
sha256 = "0zp3rwhngj009a9s6w2vyvgyhj7nd03mwm44x62ikhnz6f414kr9"; sha256 = "0d17ccf84jj6a9hpdrnsziyw790i0y5zk18qgqh4qq79irwz6df2";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.8.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.0.0-linux-amd64.tar.gz";
sha256 = "1xhrj950lk6qdazg4flymn3dmkbivc2rd71k8sdy9zfanyxnq8vv"; sha256 = "1j8232vw457fl0jhy08abs5hcx8nd2lll3zg9bp3s352wz2r5xl4";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.7.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.0.0-linux-amd64.tar.gz";
sha256 = "0n2p14iam44icms4c8qrjfy1z7p4m6igxckvqxr0gphi8ngk4ggh"; sha256 = "0lqnb1xrb5ma8ssvn63lh92ihja6zx4nrx40pici1ggaln4sphn0";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.8.3-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.0.0-linux-amd64.tar.gz";
sha256 = "0l9r0gqhhjbkv4vn4cxm2s9zf93005w8vrb103w101h1gc5gh93l"; sha256 = "0s7an3qvczhajs54i0ir3jjmwxpv9w94viqrik506k198j0qnl3b";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.5.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.0.0-linux-amd64.tar.gz";
sha256 = "0clck5cra6bplfxd0nb6vkji50gg4ah4yfvc7202hi3w2b9hfjjg"; sha256 = "0ljxjv8rm4li61vgjbpmxw8w6d2pym5li3w61dqi3kka4ix25aww";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.5.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.0.0-linux-amd64.tar.gz";
sha256 = "1cd2bm030fa9spv7bx817id419lz1c54i8h84ifinkx88ig7ngyx"; sha256 = "1mxkwcricqnnbj0dp3wqidci6rgfn7daxkjprcnrndhgcdghq7sv";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.17.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-linux-amd64.tar.gz";
sha256 = "1q9sx2lszmkcgphp3vwx0lvs5vc67sk98rn8s6ywhz0p426wakmr"; sha256 = "04gaimdzh04v7f11xw1b7p95rbb142kbnix1zqas68wd6vpw9kyp";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.0.0-linux-amd64.tar.gz";
sha256 = "1535c95ncgdifyz5m29gagpcr7lhhddlffmj9lmwch55w2xlk86k";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3"; sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.9.0-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.0.0-linux-amd64.tar.gz";
sha256 = "0n486h5f683yq6z53s9l9x5air1vk4nz1skiirsprz7a12cy2xkn"; sha256 = "13j13kp0sbwp65l73mdcqiv4cszslxin567ccdkk2rw8vs1ni7x0";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.1.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.0.0-linux-amd64.tar.gz";
sha256 = "1zpwlvdgjvhnhlzyppqg76csma8kan33amxa1svlhcai8b168878"; sha256 = "0pah7s9wwaj8zp371blmj4c1bgyhh0dgsfr9axj0k4lhpqlyikmj";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.5.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.0.0-linux-amd64.tar.gz";
sha256 = "16b1449vb6inlyjpb1iyr5j5mwg1g2d6bcd5g2kmxcsw4yhc7ai7"; sha256 = "0bk26k1igqljjpwkkvri6dp14cfw9l9a2dvg2as3v5930w4jxql8";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.13.1-linux-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v3.0.0-linux-amd64.tar.gz";
sha256 = "1z6v5vz0p9g3hrrgrchx2wnbparkbf5b8vn9pwnw69nkplr1qzff"; sha256 = "1lxb03z80r8a2vfckyw5yf036ii30gdi3rch4sriksfv30il9kbc";
} }
]; ];
x86_64-darwin = [ x86_64-darwin = [
{ {
url = "https://get.pulumi.com/releases/sdk/pulumi-v2.24.1-darwin-x64.tar.gz"; url = "https://get.pulumi.com/releases/sdk/pulumi-v3.1.0-darwin-x64.tar.gz";
sha256 = "1x6z0drvaxrps47nisvw513vgskaf86mz8fzlhqfkddp2k5la5j1"; sha256 = "1lfqm4s72bwrycspr9nbgfvf5i6p50x8lk81pcs6zbzz6iff4x7z";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.10.0-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.0.0-darwin-amd64.tar.gz";
sha256 = "05cz7b738bcai4aiya4rkjhmkh9pg6za4xp2snb9nx0jkw2vw2ms"; sha256 = "0nycqlz3lkwirr8rs4sqdqbzn2igv51hjyfjjsgnhx85kjzlkas6";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.36.0-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.0.0-darwin-amd64.tar.gz";
sha256 = "0k74x9a6b9xngrp1cgdal86h23m95r5sa3q036ms4py0phq47r2w"; sha256 = "1kim1lk9dycsanc2vcsr4fgfhk90zyjf24vvwmmkk70nq1lnwqp3";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.14.2-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v3.0.0-darwin-amd64.tar.gz";
sha256 = "05ggw10z0pp45yqq8bl32l3xjxvgwbs58czpw74whydqbd3qy8av"; sha256 = "0kvr057hdwcxf7gj788sv6ysz25ap3z0akqhhb20mlzv3shwiiji";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.9.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.0.0-darwin-amd64.tar.gz";
sha256 = "022458yxscfg56s2nqdr95wp2ffm7sni4kaksj87i6c5ddc9f1gx"; sha256 = "14d530fbzmq5m3njl31qkgwwfyipad9iqjhv3cd8pcl87blaxxki";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.17.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v3.0.0-darwin-amd64.tar.gz";
sha256 = "09nd5nfvjqgpbjs82bm5ym5wdg37mg863wvdp8s3fd8id4gdqb24"; sha256 = "0q29dyrnramr2bl89503gnbm4zq2x3bn7kaiwbhg6r17xa6rkji4";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.7.0-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.0.0-darwin-amd64.tar.gz";
sha256 = "0iflll8lkk3s3dx3xl0iqmxac9nlspjnv8gmjfqwpryzk8h1fmzy"; sha256 = "0v8iha0n1kqvaxrjll2mv9znc9lzqj7mqxgxig2g89qqjs6p69ql";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.9.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.0.0-darwin-amd64.tar.gz";
sha256 = "10vp75fc41yk9lg5x7wyhs4mn2f4krfnw4jn5xys7dd475blm6rh"; sha256 = "0ffic6mqr1zyskrv60q9wg7jc0hq23l5g0pdh3clpnn2m1xnxnxm";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.19.0-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v5.0.0-darwin-amd64.tar.gz";
sha256 = "061s8snsgz044ilh2s48810bmayypdyq9aqkhgal6v3l86jl8m95"; sha256 = "1793qry84bch32zbc70c777y04qgys6n0vxsxzxqgz2j4r9vmi6a";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.4.0-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.0.0-darwin-amd64.tar.gz";
sha256 = "1p6xxhy30qzprxk3kwiwimw5m0c73fk7c9j4vrzj2z4kpgj8qx7w"; sha256 = "1lzjjk2da1xla012xrs9jfcdsbpmkh48n6lypmbr2ixh13pdwk1b";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.8.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.0.0-darwin-amd64.tar.gz";
sha256 = "14gqwz5nalbv97vl9apwda0xxl7cgkp5mixrc10xvx6a94w5758p"; sha256 = "1i3zmflwjjfc13j7w9acavgrbblm9fri041z6qpb3ikcq5s9lqcm";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.7.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.0.0-darwin-amd64.tar.gz";
sha256 = "0i0h1iz999pbz23gbs75bj3lxfg9a6044g4bwdwf3agxf3k9pji3"; sha256 = "1lkrx2cayhhv432dvzvz8q4i1gfi659rkl59c0y0dkwbs8x425zb";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.8.3-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.0.0-darwin-amd64.tar.gz";
sha256 = "1nwwqq1nn1zr6mia2wd82lzqsa8l3rr50hl1mf6l6ffyxz1q1lzj"; sha256 = "10439p96wpxr13pxhii7li2cjq53pgr8c48ir63d2n4b8fn8iklr";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.5.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.0.0-darwin-amd64.tar.gz";
sha256 = "0zkd3rm6z8bc7pcbwl0bbbn0zb3jrl69b84g62ma9vzskccrxxpr"; sha256 = "1n35b1cqglpwvcxdcgxwmv5j1qp8gwrjzh25884l0b72krna9alr";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.5.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.0.0-darwin-amd64.tar.gz";
sha256 = "0v4qqp1x8xi0fqiczmmh2qbf3azbgf09cphia5w8r2kkrn4i0jxn"; sha256 = "0qx4p0jz3n66r3kgpgs25qbzlmwdqf80353nywyijv3ham6hpicf";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.17.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v3.0.0-darwin-amd64.tar.gz";
sha256 = "1788ayj5zwlmvhd1qp6rzrcbman5i0hy1hw2fmgcrf66v5qc1f18"; sha256 = "18vrp0zzi92x4l5nkjszvd0zr7pk6nl6s3h5a3hvsz5qrj2830q3";
}
{
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v3.0.0-darwin-amd64.tar.gz";
sha256 = "0159ng9c9hshmng8ipss7hncqs5qp8plmr1qjadka6vyp1mxn2c3";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5"; sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.9.0-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.0.0-darwin-amd64.tar.gz";
sha256 = "08af55rrzpm42vx7w1i1cmfk48czjfwln737prp5mwcvddmg5s1g"; sha256 = "0h9zdiaanvm2yds9z0c5fmz0f05apdhm4w28d2i929djxh57jqrr";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.1.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.0.0-darwin-amd64.tar.gz";
sha256 = "1j30gkz1m9ap8pd2r3lb3nl82bq5bq3h7y6jq2c0dmv3ksnp197f"; sha256 = "15pzcymjr9bzx47sq86llzfg0hydyf4cn0bb95zxjqrx8y37rql8";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.5.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v4.0.0-darwin-amd64.tar.gz";
sha256 = "1s5kbqri9k7cpajkgnl2s5l0nznzridj5iscwd9n1nj4bsr44lap"; sha256 = "1wkak84yg5a4b5791pdwcl0fr089yjk853hwp44x3rhdh8xrdq1p";
} }
{ {
url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.13.1-darwin-amd64.tar.gz"; url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v3.0.0-darwin-amd64.tar.gz";
sha256 = "133xspppmydjri5ba2yxc331ljzd8wj88q3hzmgvp0m50il1ks71"; sha256 = "1g2q3zbhxmpk2qp3c9hz0vn0xh95pnl7pd5b5kcizbrdfgjlaabq";
} }
]; ];
}; };

View file

@ -3,31 +3,32 @@
# Version of Pulumi from # Version of Pulumi from
# https://www.pulumi.com/docs/get-started/install/versions/ # https://www.pulumi.com/docs/get-started/install/versions/
VERSION="2.24.1" VERSION="3.1.0"
# Grab latest release ${VERSION} from # Grab latest release ${VERSION} from
# https://github.com/pulumi/pulumi-${NAME}/releases # https://github.com/pulumi/pulumi-${NAME}/releases
plugins=( plugins=(
"auth0=1.10.0" "auth0=2.0.0"
"aws=3.36.0" "aws=4.0.0"
"cloudflare=2.14.2" "cloudflare=3.0.0"
"consul=2.9.1" "consul=3.0.0"
"datadog=2.17.1" "datadog=3.0.0"
"digitalocean=3.7.0" "digitalocean=4.0.0"
"docker=2.9.1" "docker=3.0.0"
"gcp=4.19.0" "gcp=5.0.0"
"github=3.4.0" "github=4.0.0"
"gitlab=3.8.1" "gitlab=4.0.0"
"hcloud=0.7.1" "hcloud=1.0.0"
"kubernetes=2.8.3" "kubernetes=3.0.0"
"mailgun=2.5.1" "linode=3.0.0"
"mysql=2.5.1" "mailgun=3.0.0"
"openstack=2.17.1" "mysql=3.0.0"
"openstack=3.0.0"
"packet=3.2.2" "packet=3.2.2"
"postgresql=2.9.0" "postgresql=3.0.0"
"random=3.1.1" "random=4.0.0"
"vault=3.5.1" "vault=4.0.0"
"vsphere=2.13.1" "vsphere=3.0.0"
) )
function genMainSrc() { function genMainSrc() {

View file

@ -2,27 +2,26 @@
buildGoModule rec { buildGoModule rec {
pname = "trivy"; pname = "trivy";
version = "0.16.0"; version = "0.17.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aquasecurity"; owner = "aquasecurity";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-E/tPjVc+XLDCFYzloAipwWjB4I86kAe/6NVoJSCrY2M="; sha256 = "sha256-5TOKYxH1Tnsd1t2yoUflFUSW0QGS9l5+0JtS2Fo6vL0=";
}; };
vendorSha256 = "sha256-YoQF0Eug747LhsR3V0IplwXgm0ndDqK1pUVjguOhjOU="; vendorSha256 = "sha256-zVe1bTTLOHxfdbb6VcztOCWMbCbzT6igNpvPytktMWs=";
subPackages = [ "cmd/trivy" ]; excludedPackages = "misc";
buildFlagsArray = [ preBuild = ''
"-ldflags=" buildFlagsArray+=("-ldflags" "-s -w -X main.version=v${version}")
"-s" '';
"-w"
"-X main.version=v${version}"
];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/aquasecurity/trivy";
changelog = "https://github.com/aquasecurity/trivy/releases/tag/v${version}";
description = "A simple and comprehensive vulnerability scanner for containers, suitable for CI"; description = "A simple and comprehensive vulnerability scanner for containers, suitable for CI";
longDescription = '' longDescription = ''
Trivy is a simple and comprehensive vulnerability scanner for containers Trivy is a simple and comprehensive vulnerability scanner for containers
@ -31,8 +30,6 @@ buildGoModule rec {
vulnerabilities of OS packages (Alpine, RHEL, CentOS, etc.) and vulnerabilities of OS packages (Alpine, RHEL, CentOS, etc.) and
application dependencies (Bundler, Composer, npm, yarn, etc.). application dependencies (Bundler, Composer, npm, yarn, etc.).
''; '';
homepage = src.meta.homepage;
changelog = "${src.meta.homepage}/releases/tag/v${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ jk ]; maintainers = with maintainers; [ jk ];
}; };

View file

@ -18,16 +18,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "vector"; pname = "vector";
version = "0.13.0"; version = "0.13.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "timberio"; owner = "timberio";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Sur5QfPIoJXkcYdyNlIHOvmV2yBedhNm7UinmaFEc2E="; sha256 = "sha256-ige0138alZ0KAmPakPVmDVydz5qco6m0xK7AEzScyXc=";
}; };
cargoSha256 = "sha256-1Xm1X1pfx9J0tBck2WA+zt2OxtQsqustcWPazsPyKPY="; cargoSha256 = "sha256-oK4M6zTfI0QVW9kQTgpP/vSxFt2VlRABmKvQ4aAqC74=";
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 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "zellij"; pname = "zellij";
version = "0.5.1"; version = "0.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zellij-org"; owner = "zellij-org";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "102zw4napzx05rpmx6scl6il55syf3lw1gzmy1y66cg1f70sij4d"; sha256 = "sha256-spESDjX7scihVQrr/f6KMCI9VfdTxxPWP7FcJ965FYk=";
}; };
cargoSha256 = "121fsch0an6d2hqaq0ws9cm7g5ppzfrycmmhajfacfg6wbiax1m5"; cargoSha256 = "0rm31sfcj2d85w1l4hhfmva3j828dfhiv5br1mnpaqaa01zzs1q1";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
@ -22,13 +22,16 @@ rustPlatform.buildRustPackage rec {
''; '';
postInstall = '' postInstall = ''
installShellCompletion assets/completions/zellij.{bash,fish} --zsh assets/completions/_zellij installShellCompletion --cmd $pname \
--bash <($out/bin/zellij generate-completion bash) \
--fish <($out/bin/zellij generate-completion fish) \
--zsh <($out/bin/zellij generate-completion zsh)
''; '';
meta = with lib; { meta = with lib; {
description = "A terminal workspace with batteries included"; description = "A terminal workspace with batteries included";
homepage = "https://zellij.dev/"; homepage = "https://zellij.dev/";
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = with maintainers; [ therealansh ]; maintainers = with maintainers; [ therealansh _0x4A6F ];
}; };
} }

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bgpq4"; pname = "bgpq4";
version = "0.0.6"; version = "0.0.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bgp"; owner = "bgp";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1n6d6xq7vafx1la0fckqv0yjr245ka9dgbcqaz9m6dcdk0fdlkks"; sha256 = "sha256-iEm4BYlJi56Y4OBCdEDgRQ162F65PLZyvHSEQzULFww=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,16 +1,16 @@
{ stdenv, lib, rustPlatform, fetchFromGitHub, openssl, pkg-config, Security, libiconv }: { stdenv, lib, rustPlatform, fetchFromGitHub, openssl, pkg-config, Security, libiconv }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-audit"; pname = "cargo-audit";
version = "0.14.0"; version = "0.14.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RustSec"; owner = "RustSec";
repo = "cargo-audit"; repo = "cargo-audit";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-w3wKUAAp9z4iQbx16z5chpKHYxCDLZzJesnIct2Qy4g="; sha256 = "sha256-apIhTgS7xzDGq2OE1o46bEQxGwkV7bTmzSxy85wHwyo=";
}; };
cargoSha256 = "sha256-ychF3qbwEjumLyqc+xDI8bbKzvdoRYF/X/idlk+JxDE="; cargoSha256 = "sha256-b4x5IxoT5KZnY6Pw3VEs/DuCPen6MlgQ2lSIxRDU+5U=";
buildInputs = [ openssl libiconv ] ++ lib.optionals stdenv.isDarwin [ Security ]; buildInputs = [ openssl libiconv ] ++ lib.optionals stdenv.isDarwin [ Security ];
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -3,6 +3,7 @@
, fetchFromGitHub , fetchFromGitHub
, setuptools_scm , setuptools_scm
, vdf , vdf
, bash
, steam-run , steam-run
, winetricks , winetricks
, zenity , zenity
@ -11,13 +12,13 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "protontricks"; pname = "protontricks";
version = "1.4.4"; version = "1.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Matoking"; owner = "Matoking";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0i7p0jj7avmq3b2qlcpwcflipndrnwsvwvhc5aal7rm95aa7xhja"; hash = "sha256-IHgoi5VUN3ORbufkruPb6wR7pTekJFQHhhDrnjOWzWM=";
}; };
patches = [ patches = [
@ -34,6 +35,7 @@ buildPythonApplication rec {
makeWrapperArgs = [ makeWrapperArgs = [
"--prefix PATH : ${lib.makeBinPath [ "--prefix PATH : ${lib.makeBinPath [
bash
steam-run steam-run
(winetricks.override { (winetricks.override {
# Remove default build of wine to reduce closure size. # Remove default build of wine to reduce closure size.
@ -45,15 +47,7 @@ buildPythonApplication rec {
]; ];
checkInputs = [ pytestCheckHook ]; checkInputs = [ pytestCheckHook ];
disabledTests = [ pythonImportsCheck = [ "protontricks" ];
# Steam runtime is hard-coded with steam-run.patch and can't be configured
"test_run_steam_runtime_not_found"
"test_unknown_steam_runtime_detected"
# Steam runtime 2 currently isn't supported
# See https://github.com/NixOS/nixpkgs/issues/100655
"test_run_winetricks_steam_runtime_v2"
];
meta = with lib; { meta = with lib; {
description = "A simple wrapper for running Winetricks commands for Proton-enabled games"; description = "A simple wrapper for running Winetricks commands for Proton-enabled games";

View file

@ -1,16 +1,18 @@
diff --git a/src/protontricks/cli.py b/src/protontricks/cli.py diff --git a/src/protontricks/cli.py b/src/protontricks/cli.py
index fec0563..d158b96 100755 index 9641970..6a2b268 100755
--- a/src/protontricks/cli.py --- a/src/protontricks/cli.py
+++ b/src/protontricks/cli.py +++ b/src/protontricks/cli.py
@@ -14,7 +14,7 @@ import os @@ -15,8 +15,8 @@ import sys
import logging
from . import __version__ from . import __version__
-from .steam import (find_proton_app, find_steam_path, find_steam_runtime_path,
+from .steam import (find_proton_app, find_steam_path,
get_steam_apps, get_steam_lib_paths)
from .winetricks import get_winetricks_path
from .gui import select_steam_app_with_gui from .gui import select_steam_app_with_gui
-from .steam import (find_legacy_steam_runtime_path, find_proton_app,
- find_steam_path, get_steam_apps, get_steam_lib_paths)
+from .steam import (find_proton_app, find_steam_path, get_steam_apps,
+ get_steam_lib_paths)
from .util import run_command
from .winetricks import get_winetricks_path
@@ -75,8 +75,7 @@ def main(args=None): @@ -75,8 +75,7 @@ def main(args=None):
"WINE: path to a custom 'wine' executable\n" "WINE: path to a custom 'wine' executable\n"
"WINESERVER: path to a custom 'wineserver' executable\n" "WINESERVER: path to a custom 'wineserver' executable\n"
@ -21,70 +23,73 @@ index fec0563..d158b96 100755
), ),
formatter_class=argparse.RawTextHelpFormatter formatter_class=argparse.RawTextHelpFormatter
) )
@@ -133,14 +132,10 @@ def main(args=None): @@ -138,18 +137,9 @@ def main(args=None):
)
sys.exit(-1) sys.exit(-1)
# 2. Find Steam Runtime if enabled - # 2. Find the pre-installed legacy Steam Runtime if enabled
- steam_runtime_path = None - legacy_steam_runtime_path = None
+ steam_runtime = False - use_steam_runtime = True
if os.environ.get("STEAM_RUNTIME", "") != "0" and not args.no_runtime:
- steam_runtime_path = find_steam_runtime_path(steam_root=steam_root)
- -
- if not steam_runtime_path: + # 2. Use Steam Runtime if enabled
if os.environ.get("STEAM_RUNTIME", "") != "0" and not args.no_runtime:
- legacy_steam_runtime_path = find_legacy_steam_runtime_path(
- steam_root=steam_root
- )
-
- if not legacy_steam_runtime_path:
- print("Steam Runtime was enabled but couldn't be found!") - print("Steam Runtime was enabled but couldn't be found!")
- sys.exit(-1) - sys.exit(-1)
+ steam_runtime = True + use_steam_runtime = True
else: else:
use_steam_runtime = False
logger.info("Steam Runtime disabled.") logger.info("Steam Runtime disabled.")
@@ -212,7 +202,6 @@ def main(args=None):
@@ -201,7 +196,7 @@ def main(args=None):
winetricks_path=winetricks_path,
proton_app=proton_app, proton_app=proton_app,
steam_app=steam_app, steam_app=steam_app,
- steam_runtime_path=steam_runtime_path, use_steam_runtime=use_steam_runtime,
+ steam_runtime=steam_runtime, - legacy_steam_runtime_path=legacy_steam_runtime_path,
command=[winetricks_path, "--gui"] command=[winetricks_path, "--gui"],
use_bwrap=use_bwrap
) )
@@ -282,7 +271,6 @@ def main(args=None):
@@ -269,7 +264,7 @@ def main(args=None):
winetricks_path=winetricks_path,
proton_app=proton_app, proton_app=proton_app,
steam_app=steam_app, steam_app=steam_app,
- steam_runtime_path=steam_runtime_path, use_steam_runtime=use_steam_runtime,
+ steam_runtime=steam_runtime, - legacy_steam_runtime_path=legacy_steam_runtime_path,
use_bwrap=use_bwrap,
command=[winetricks_path] + args.winetricks_command) command=[winetricks_path] + args.winetricks_command)
elif args.command: elif args.command:
run_command( @@ -292,7 +280,6 @@ def main(args=None):
@@ -277,7 +272,7 @@ def main(args=None):
proton_app=proton_app,
steam_app=steam_app, steam_app=steam_app,
command=args.command, command=args.command,
- steam_runtime_path=steam_runtime_path, use_steam_runtime=use_steam_runtime,
+ steam_runtime=steam_runtime, - legacy_steam_runtime_path=legacy_steam_runtime_path,
use_bwrap=use_bwrap,
# Pass the command directly into the shell *without* # Pass the command directly into the shell *without*
# escaping it # escaping it
cwd=steam_app.install_path,
diff --git a/src/protontricks/steam.py b/src/protontricks/steam.py diff --git a/src/protontricks/steam.py b/src/protontricks/steam.py
index fa5772d..4f30cd3 100644 index 8554e24..509afb6 100644
--- a/src/protontricks/steam.py --- a/src/protontricks/steam.py
+++ b/src/protontricks/steam.py +++ b/src/protontricks/steam.py
@@ -11,7 +11,7 @@ from .util import lower_dict @@ -13,8 +13,8 @@ from .util import lower_dict
__all__ = ( __all__ = (
"COMMON_STEAM_DIRS", "SteamApp", "find_steam_path", "COMMON_STEAM_DIRS", "SteamApp", "find_steam_path",
- "find_steam_proton_app", "find_proton_app", "find_steam_runtime_path", "find_steam_proton_app", "find_proton_app",
+ "find_steam_proton_app", "find_proton_app", - "find_legacy_steam_runtime_path", "find_appid_proton_prefix",
"find_appid_proton_prefix", "get_steam_lib_paths", "get_steam_apps", - "get_steam_lib_paths", "get_steam_apps", "get_custom_proton_installations"
"get_custom_proton_installations" + "find_appid_proton_prefix", "get_steam_lib_paths",
+ "get_steam_apps", "get_custom_proton_installations"
) )
@@ -254,37 +254,6 @@ def find_steam_path():
COMMON_STEAM_DIRS = [
@@ -283,37 +283,6 @@ def find_steam_path():
return None, None return None, None
-def find_steam_runtime_path(steam_root): -def find_legacy_steam_runtime_path(steam_root):
- """ - """
- Find the Steam Runtime either using the STEAM_RUNTIME env or - Find the legacy Steam Runtime either using the STEAM_RUNTIME env or
- steam_root - steam_root
- """ - """
- env_steam_runtime = os.environ.get("STEAM_RUNTIME", "") - env_steam_runtime = os.environ.get("STEAM_RUNTIME", "")
@ -117,162 +122,149 @@ index fa5772d..4f30cd3 100644
APPINFO_STRUCT_SECTION = "<LLLLQ20sL" APPINFO_STRUCT_SECTION = "<LLLLQ20sL"
diff --git a/src/protontricks/util.py b/src/protontricks/util.py diff --git a/src/protontricks/util.py b/src/protontricks/util.py
index d513b46..c48e41f 100644 index 40fa752..9da5509 100644
--- a/src/protontricks/util.py --- a/src/protontricks/util.py
+++ b/src/protontricks/util.py +++ b/src/protontricks/util.py
@@ -6,7 +6,7 @@ import stat @@ -25,24 +25,6 @@ def lower_dict(d):
from pathlib import Path
from subprocess import check_output, run, PIPE
-__all__ = ("get_runtime_library_paths", "create_wine_bin_dir", "run_command")
+__all__ = ("create_wine_bin_dir", "run_command")
logger = logging.getLogger("protontricks")
@@ -25,93 +25,10 @@ def lower_dict(d):
return {k.lower(): v for k, v in d.items()} return {k.lower(): v for k, v in d.items()}
-def get_host_library_paths(): -def get_legacy_runtime_library_paths(legacy_steam_runtime_path, proton_app):
- """ - """
- Get host library paths to use when creating the LD_LIBRARY_PATH environment - Get LD_LIBRARY_PATH value to use when running a command using Steam Runtime
- variable for use with newer Steam Runtime installations
- """ - """
- # The traditional Steam Runtime does the following when running the
- # `run.sh --print-steam-runtime-library-paths` command.
- # Since that command is unavailable with newer Steam Runtime releases,
- # do it ourselves here.
- result = run(
- ["/sbin/ldconfig", "-XNv"],
- check=True, stdout=PIPE, stderr=PIPE
- )
- lines = result.stdout.decode("utf-8").split("\n")
- paths = [
- line.split(":")[0] for line in lines
- if line.startswith("/") and ":" in line
- ]
-
- return ":".join(paths)
-
-
-RUNTIME_ROOT_GLOB_PATTERNS = (
- "var/*/files/",
- "*/files/"
-)
-
-
-def get_runtime_library_paths(steam_runtime_path, proton_app):
- """
- Get LD_LIBRARY_PATH value to run a command using Steam Runtime
- """
- def find_runtime_app_root(runtime_app):
- """
- Find the runtime root (the directory containing the root fileystem
- used for the container) for separately installed Steam Runtime app
- """
- for pattern in RUNTIME_ROOT_GLOB_PATTERNS:
- try:
- return next(
- runtime_app.install_path.glob(pattern)
- )
- except StopIteration:
- pass
-
- raise RuntimeError(
- "Could not find Steam Runtime runtime root for {}".format(
- runtime_app.name
- )
- )
-
- if proton_app.required_tool_appid:
- # bwrap based Steam Runtime is used for Proton installations that
- # use separate Steam runtimes
- # TODO: Try to run the Wine binaries inside an user namespace somehow.
- # Newer Steam Runtime environments may rely on a newer glibc than what
- # is available on the host system, which may cause potential problems
- # otherwise.
- runtime_root = find_runtime_app_root(proton_app.required_tool_app)
- return "".join([
- str(proton_app.install_path / "dist" / "lib"), os.pathsep,
- str(proton_app.install_path / "dist" / "lib64"), os.pathsep,
- get_host_library_paths(), os.pathsep,
- str(runtime_root / "lib" / "i386-linux-gnu"), os.pathsep,
- str(runtime_root / "lib" / "x86_64-linux-gnu")
- ])
-
- # Traditional LD_LIBRARY_PATH based Steam Runtime is used otherwise
- steam_runtime_paths = check_output([ - steam_runtime_paths = check_output([
- str(steam_runtime_path / "run.sh"), - str(legacy_steam_runtime_path / "run.sh"),
- "--print-steam-runtime-library-paths" - "--print-steam-runtime-library-paths"
- ]) - ])
- steam_runtime_paths = str(steam_runtime_paths, "utf-8") - steam_runtime_paths = str(steam_runtime_paths, "utf-8")
- # Add Proton installation directory first into LD_LIBRARY_PATH - # Add Proton installation directory first into LD_LIBRARY_PATH
- # so that libwine.so.1 is picked up correctly (see issue #3) - # so that libwine.so.1 is picked up correctly (see issue #3)
- return "".join([ - return "".join([
- str(proton_app.install_path / "dist" / "lib"), os.pathsep, - str(proton_app.proton_dist_path / "lib"), os.pathsep,
- str(proton_app.install_path / "dist" / "lib64"), os.pathsep, - str(proton_app.proton_dist_path / "lib64"), os.pathsep,
- steam_runtime_paths - steam_runtime_paths
- ]) - ])
- -
- -
WINE_SCRIPT_TEMPLATE = ( def get_host_library_paths():
- "#!/bin/bash\n" """
+ "#!/bin/sh\n" Get host library paths to use when creating the LD_LIBRARY_PATH environment
"# Helper script created by Protontricks to run Wine binaries using Steam Runtime\n" @@ -54,7 +36,7 @@ def get_host_library_paths():
- "export LD_LIBRARY_PATH=\"$PROTON_LD_LIBRARY_PATH\"\n" # Since that command is unavailable with newer Steam Runtime releases,
- "exec \"$PROTON_PATH\"/dist/bin/{name} \"$@\"" # do it ourselves here.
+ "exec steam-run \"$PROTON_PATH\"/dist/bin/{name} \"$@\"" result = run(
- ["/sbin/ldconfig", "-XNv"],
+ ["steam-run", "ldconfig", "-XNv"],
check=True, stdout=PIPE, stderr=PIPE
)
lines = result.stdout.decode("utf-8").split("\n")
@@ -72,7 +54,7 @@ RUNTIME_ROOT_GLOB_PATTERNS = (
) )
@@ -172,7 +89,7 @@ def create_wine_bin_dir(proton_app): -def get_runtime_library_paths(proton_app, use_bwrap=True):
+def get_runtime_library_paths(proton_app, proton_app_only=True):
"""
Get LD_LIBRARY_PATH value to use when running a command using Steam Runtime
"""
@@ -95,7 +77,7 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
)
)
- if use_bwrap:
+ if proton_app_only:
return "".join([
str(proton_app.proton_dist_path / "lib"), os.pathsep,
str(proton_app.proton_dist_path / "lib64"), os.pathsep
@@ -111,14 +93,19 @@ def get_runtime_library_paths(proton_app, use_bwrap=True):
])
-WINE_SCRIPT_RUNTIME_V1_TEMPLATE = (
- "#!/bin/bash\n"
- "# Helper script created by Protontricks to run Wine binaries using Steam Runtime\n"
- "export LD_LIBRARY_PATH=\"$PROTON_LD_LIBRARY_PATH\"\n"
- "exec \"$PROTON_DIST_PATH\"/bin/{name} \"$@\""
-)
+# Add Proton installation directory first into LD_LIBRARY_PATH
+# so that libwine.so.1 is picked up correctly (see issue #3)
+WINE_SCRIPT_RUNTIME_V1_TEMPLATE = """#!/usr/bin/env -S steam-run bash
+# Helper script created by Protontricks to run Wine binaries using Steam Runtime
+export LD_LIBRARY_PATH="$PROTON_LD_LIBRARY_PATH":"$LD_LIBRARY_PATH"
+exec "$PROTON_DIST_PATH"/bin/{name} "$@"
+"""
-WINE_SCRIPT_RUNTIME_V2_TEMPLATE = """#!/bin/bash
+# The run script calls pressure-vessel-unruntime which will unset
+# LD_LIBRARY_PATH defined by steam-run. This will cause Pressure
+# Vessel to segfault, so just call pressure-vessel-wrap directly
+# instead.
+WINE_SCRIPT_RUNTIME_V2_TEMPLATE = """#!/usr/bin/env bash
# Helper script created by Protontricks to run Wine binaries using Steam Runtime
PROTONTRICKS_PROXY_SCRIPT_PATH="{script_path}"
if [[ -n "$PROTONTRICKS_INSIDE_STEAM_RUNTIME" ]]; then
@@ -127,9 +114,13 @@ if [[ -n "$PROTONTRICKS_INSIDE_STEAM_RUNTIME" ]]; then
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PROTON_LD_LIBRARY_PATH"
"$PROTON_DIST_PATH"/bin/{name} "$@"
else
- exec "$STEAM_RUNTIME_PATH"/run --share-pid --batch --filesystem=/mnt \
- --filesystem=/tmp --filesystem=/run/media --filesystem=/etc \
- --filesystem=/opt --filesystem=/home --filesystem=/usr -- \
+ exec steam-run "$STEAM_RUNTIME_PATH"/pressure-vessel/bin/pressure-vessel-wrap \
+ --runtime-archive=$(echo "$STEAM_RUNTIME_PATH"/*runtime.tar.gz) \
+ --variable-dir="${{PRESSURE_VESSEL_VARIABLE_DIR:-$STEAM_RUNTIME_PATH/var}}" \
+ --share-pid --batch \
+ --filesystem=/mnt --filesystem=/tmp --filesystem=/run/media \
+ --filesystem=/etc --filesystem=/opt --filesystem=/home \
+ --filesystem=/usr -- \
env PROTONTRICKS_INSIDE_STEAM_RUNTIME=1 \
"$PROTONTRICKS_PROXY_SCRIPT_PATH" "$@"
fi
@@ -194,7 +185,6 @@ def create_wine_bin_dir(proton_app, use_bwrap=True):
def run_command( def run_command(
winetricks_path, proton_app, steam_app, command, winetricks_path, proton_app, steam_app, command,
- steam_runtime_path=None, use_steam_runtime=False,
+ steam_runtime=False, - legacy_steam_runtime_path=None,
use_bwrap=True,
**kwargs): **kwargs):
"""Run an arbitrary command with the correct environment variables """Run an arbitrary command with the correct environment variables
for the given Proton app @@ -271,7 +261,7 @@ def run_command(
@@ -180,13 +97,13 @@ def run_command( os.environ["STEAM_RUNTIME_PATH"] = \
The environment variables are set for the duration of the call str(proton_app.required_tool_app.install_path)
and restored afterwards os.environ["PROTON_LD_LIBRARY_PATH"] = \
- get_runtime_library_paths(proton_app, use_bwrap=use_bwrap)
+ get_runtime_library_paths(proton_app, proton_app_only=use_bwrap)
- If 'steam_runtime_path' is provided, run the command using Steam Runtime
+ If 'steam_runtime' is provided, run the command using Steam Runtime
"""
# Check for incomplete Steam Runtime installation
runtime_install_incomplete = \
proton_app.required_tool_appid and not proton_app.required_tool_app
- if steam_runtime_path and runtime_install_incomplete:
+ if steam_runtime and runtime_install_incomplete:
raise RuntimeError(
"{} is missing the required Steam Runtime. You may need to launch "
"a Steam app using this Proton version to finish the "
@@ -234,7 +151,7 @@ def run_command(
os.environ.pop("WINEARCH", "")
wine_bin_dir = None
- if steam_runtime_path:
+ if steam_runtime:
if proton_app.required_tool_app:
runtime_name = proton_app.required_tool_app.name runtime_name = proton_app.required_tool_app.name
logger.info( logger.info(
@@ -251,8 +168,6 @@ def run_command( @@ -294,11 +284,8 @@ def run_command(
"Current Steam Runtime not recognized by Protontricks."
)
else:
- # Legacy Steam Runtime requires a different LD_LIBRARY_PATH
os.environ["PROTON_LD_LIBRARY_PATH"] = \
- get_legacy_runtime_library_paths(
- legacy_steam_runtime_path, proton_app
- )
+ get_runtime_library_paths(proton_app, proton_app_only=True)
# When Steam Runtime is enabled, create a set of helper scripts
# that load the underlying Proton Wine executables with Steam Runtime # that load the underlying Proton Wine executables with Steam Runtime
# and Proton libraries instead of system libraries @@ -306,8 +293,6 @@ def run_command(
wine_bin_dir = create_wine_bin_dir(proton_app=proton_app) wine_bin_dir = create_wine_bin_dir(
- os.environ["PROTON_LD_LIBRARY_PATH"] = \ proton_app=proton_app, use_bwrap=use_bwrap
- get_runtime_library_paths(steam_runtime_path, proton_app) )
- os.environ["LEGACY_STEAM_RUNTIME_PATH"] = \
- str(legacy_steam_runtime_path)
os.environ["PATH"] = "".join([ os.environ["PATH"] = "".join([
str(wine_bin_dir), os.pathsep, os.environ["PATH"] str(wine_bin_dir), os.pathsep, os.environ["PATH"]
])
diff --git a/tests/test_cli.py b/tests/test_cli.py diff --git a/tests/test_cli.py b/tests/test_cli.py
index b612dfa..c4d1de0 100644 index 1955d81..1de44b3 100644
--- a/tests/test_cli.py --- a/tests/test_cli.py
+++ b/tests/test_cli.py +++ b/tests/test_cli.py
@@ -115,9 +115,6 @@ class TestCLIRun: @@ -117,15 +117,10 @@ class TestCLIRun:
assert str(command.args[0]).endswith(".local/bin/winetricks") assert str(command.args[0]).endswith(".local/bin/winetricks")
assert command.args[1] == "winecfg" assert command.args[1] == "winecfg"
assert command.env["PATH"].startswith(str(wine_bin_dir)) assert command.env["PATH"].startswith(str(wine_bin_dir))
@ -282,3 +274,61 @@ index b612dfa..c4d1de0 100644
assert command.env["WINE"] == str(wine_bin_dir / "wine") assert command.env["WINE"] == str(wine_bin_dir / "wine")
assert command.env["WINELOADER"] == str(wine_bin_dir / "wine") assert command.env["WINELOADER"] == str(wine_bin_dir / "wine")
assert command.env["WINESERVER"] == str(wine_bin_dir / "wineserver") assert command.env["WINESERVER"] == str(wine_bin_dir / "wineserver")
- assert command.env["LEGACY_STEAM_RUNTIME_PATH"] == \
- str(steam_runtime_dir / "steam-runtime")
assert "STEAM_RUNTIME_PATH" not in command.env
for name in ("wine", "wineserver"):
@@ -166,16 +161,14 @@ class TestCLIRun:
assert command.env["PATH"].startswith(str(wine_bin_dir))
# Compared to the traditional Steam Runtime, PROTON_LD_LIBRARY_PATH
- # will be different
+ # will be the same (it would be different without steam-run.patch)
proton_install_path = Path(proton_app.install_path)
assert command.env["PROTON_LD_LIBRARY_PATH"] == "".join([
str(proton_install_path / "dist" / "lib"), os.pathsep,
str(proton_install_path / "dist" / "lib64"), os.pathsep
])
- # Environment variables for both legacy and new Steam Runtime exist
- assert command.env["LEGACY_STEAM_RUNTIME_PATH"] == \
- str(steam_runtime_dir / "steam-runtime")
+ # Environment variable for new Steam Runtime exists
assert command.env["STEAM_RUNTIME_PATH"] == \
str(steam_runtime_soldier.install_path)
@@ -238,10 +231,7 @@ class TestCLIRun:
str(runtime_root / "lib" / "i386-linux-gnu"), os.pathsep,
str(runtime_root / "lib" / "x86_64-linux-gnu")
]))
-
- # Environment variables for both legacy and new Steam Runtime exist
- assert command.env["LEGACY_STEAM_RUNTIME_PATH"] == \
- str(steam_runtime_dir / "steam-runtime")
+ # Environment variable for new Steam Runtime exists
assert command.env["STEAM_RUNTIME_PATH"] == \
str(steam_runtime_soldier.install_path)
@@ -324,20 +314,6 @@ class TestCLIRun:
assert "Zenity is not installed" in result
- def test_run_steam_runtime_not_found(
- self, cli, steam_dir, steam_app_factory):
- """
- Try performing a command with Steam Runtime enabled but no
- available Steam Runtime installation
- """
- steam_app_factory(name="Fake game 1", appid=10)
- result = cli(
- ["10", "winecfg"], env={"STEAM_RUNTIME": "invalid/path"},
- expect_exit=True
- )
-
- assert "Steam Runtime was enabled but couldn't be found" in result
-
def test_run_proton_not_found(self, cli, steam_dir, steam_app_factory):
steam_app_factory(name="Fake game 1", appid=10)
result = cli(["10", "winecfg"], expect_exit=True)

View file

@ -1,4 +1,4 @@
# frozen_string_literal: true # frozen_string_literal: true
source "https://rubygems.org" source "https://rubygems.org"
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.41" gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.42"

View file

@ -1,9 +1,9 @@
GIT GIT
remote: https://github.com/rapid7/metasploit-framework remote: https://github.com/rapid7/metasploit-framework
revision: 451fe6ffdb90fffe3df6b788e6410217a511a3f4 revision: 57fda58cdde0909e975394b34a8daa39c97f7e1c
ref: refs/tags/6.0.41 ref: refs/tags/6.0.42
specs: specs:
metasploit-framework (6.0.41) metasploit-framework (6.0.42)
actionpack (~> 5.2.2) actionpack (~> 5.2.2)
activerecord (~> 5.2.2) activerecord (~> 5.2.2)
activesupport (~> 5.2.2) activesupport (~> 5.2.2)
@ -30,7 +30,7 @@ GIT
metasploit-concern (~> 3.0.0) metasploit-concern (~> 3.0.0)
metasploit-credential (~> 4.0.0) metasploit-credential (~> 4.0.0)
metasploit-model (~> 3.1.0) metasploit-model (~> 3.1.0)
metasploit-payloads (= 2.0.43) metasploit-payloads (= 2.0.44)
metasploit_data_models (~> 4.1.0) metasploit_data_models (~> 4.1.0)
metasploit_payloads-mettle (= 1.0.9) metasploit_payloads-mettle (= 1.0.9)
mqtt mqtt
@ -123,13 +123,13 @@ GEM
arel-helpers (2.12.0) arel-helpers (2.12.0)
activerecord (>= 3.1.0, < 7) activerecord (>= 3.1.0, < 7)
aws-eventstream (1.1.1) aws-eventstream (1.1.1)
aws-partitions (1.446.0) aws-partitions (1.449.0)
aws-sdk-core (3.114.0) aws-sdk-core (3.114.0)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0) aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
jmespath (~> 1.0) jmespath (~> 1.0)
aws-sdk-ec2 (1.234.0) aws-sdk-ec2 (1.235.0)
aws-sdk-core (~> 3, >= 3.112.0) aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-iam (1.52.0) aws-sdk-iam (1.52.0)
@ -138,7 +138,7 @@ GEM
aws-sdk-kms (1.43.0) aws-sdk-kms (1.43.0)
aws-sdk-core (~> 3, >= 3.112.0) aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.93.1) aws-sdk-s3 (1.94.0)
aws-sdk-core (~> 3, >= 3.112.0) aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
@ -198,11 +198,11 @@ GEM
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
metasm (1.0.4) metasm (1.0.4)
metasploit-concern (3.0.1) metasploit-concern (3.0.2)
activemodel (~> 5.2.2) activemodel (~> 5.2.2)
activesupport (~> 5.2.2) activesupport (~> 5.2.2)
railties (~> 5.2.2) railties (~> 5.2.2)
metasploit-credential (4.0.3) metasploit-credential (4.0.5)
metasploit-concern metasploit-concern
metasploit-model metasploit-model
metasploit_data_models (>= 3.0.0) metasploit_data_models (>= 3.0.0)
@ -212,12 +212,12 @@ GEM
rex-socket rex-socket
rubyntlm rubyntlm
rubyzip rubyzip
metasploit-model (3.1.3) metasploit-model (3.1.4)
activemodel (~> 5.2.2) activemodel (~> 5.2.2)
activesupport (~> 5.2.2) activesupport (~> 5.2.2)
railties (~> 5.2.2) railties (~> 5.2.2)
metasploit-payloads (2.0.43) metasploit-payloads (2.0.44)
metasploit_data_models (4.1.3) metasploit_data_models (4.1.4)
activerecord (~> 5.2.2) activerecord (~> 5.2.2)
activesupport (~> 5.2.2) activesupport (~> 5.2.2)
arel-helpers arel-helpers
@ -229,7 +229,7 @@ GEM
webrick webrick
metasploit_payloads-mettle (1.0.9) metasploit_payloads-mettle (1.0.9)
method_source (1.0.0) method_source (1.0.0)
mini_portile2 (2.5.0) mini_portile2 (2.5.1)
minitest (5.14.4) minitest (5.14.4)
mqtt (0.5.0) mqtt (0.5.0)
msgpack (1.4.2) msgpack (1.4.2)
@ -245,7 +245,7 @@ GEM
nokogiri (1.11.3) nokogiri (1.11.3)
mini_portile2 (~> 2.5.0) mini_portile2 (~> 2.5.0)
racc (~> 1.4) racc (~> 1.4)
octokit (4.20.0) octokit (4.21.0)
faraday (>= 0.9) faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3) sawyer (~> 0.8.0, >= 0.5.3)
openssl-ccm (1.2.2) openssl-ccm (1.2.2)
@ -316,7 +316,7 @@ GEM
rex-arch rex-arch
rex-ole (0.1.7) rex-ole (0.1.7)
rex-text rex-text
rex-powershell (0.1.89) rex-powershell (0.1.90)
rex-random_identifier rex-random_identifier
rex-text rex-text
ruby-rc4 ruby-rc4

View file

@ -8,13 +8,13 @@ let
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "metasploit-framework"; pname = "metasploit-framework";
version = "6.0.41"; version = "6.0.42";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rapid7"; owner = "rapid7";
repo = "metasploit-framework"; repo = "metasploit-framework";
rev = version; rev = version;
sha256 = "sha256-6oaTc3UQayZ/ThurwFXdI1prwriz/XVS9zoeD427mj8="; sha256 = "sha256-L4P6QUERoH0JnaTpzrA0UWUYqRepBS97fSexKa8JZQU=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -114,10 +114,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1n7cr44r7fvmc3rpk5kwwsz34ym2cmih76ij5xh2w1mmfyh3bgry"; sha256 = "18d990l9mraf8j1akfn1f4l3y6n7shhnr9x5naj6pzv5z3y3dzf4";
type = "gem"; type = "gem";
}; };
version = "1.446.0"; version = "1.449.0";
}; };
aws-sdk-core = { aws-sdk-core = {
groups = ["default"]; groups = ["default"];
@ -134,10 +134,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1rlq8vifcmz24v1aw8vj2czqj4dnf00smm5ndfpaxz5k6550lbz4"; sha256 = "1kcnfr5rw80d46hwp185jniqvbrxcdjy7srh24x7gjm2gpxmm234";
type = "gem"; type = "gem";
}; };
version = "1.234.0"; version = "1.235.0";
}; };
aws-sdk-iam = { aws-sdk-iam = {
groups = ["default"]; groups = ["default"];
@ -164,10 +164,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1x424hn32ipwxy21bhqn2wziz890w2gdr1xsli9lv2rrs1ibpnq7"; sha256 = "119f1nf2q1k7xg7h2agm7g8i87abfdkad0l78hhk6y4f3v02niv9";
type = "gem"; type = "gem";
}; };
version = "1.93.1"; version = "1.94.0";
}; };
aws-sigv4 = { aws-sigv4 = {
groups = ["default"]; groups = ["default"];
@ -514,62 +514,62 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "19cz0g463wl35gpdy1630n88a9m7fhhlcylspvvwc0m01sipc33g"; sha256 = "0zbcnhji80cyj19jkdp8wpi1msg9xfm0lacpm8ggm8fca56234zv";
type = "gem"; type = "gem";
}; };
version = "3.0.1"; version = "3.0.2";
}; };
metasploit-credential = { metasploit-credential = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1f6cjvk68yypciycp8vdvhc5hrwmc8qi4y06s1cd77zj4m2skkmn"; sha256 = "0wflb4r5mz2g29bzjpwc004h6vca9kd0z02v27wc378jgg6q0gna";
type = "gem"; type = "gem";
}; };
version = "4.0.3"; version = "4.0.5";
}; };
metasploit-framework = { metasploit-framework = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
fetchSubmodules = false; fetchSubmodules = false;
rev = "451fe6ffdb90fffe3df6b788e6410217a511a3f4"; rev = "57fda58cdde0909e975394b34a8daa39c97f7e1c";
sha256 = "0gwspf6hy7isyx97bzdkp316nni3vmaw1aqv9rzjcsqhfmrr71pa"; sha256 = "01b516pjkc97gmxjy1d92ylihrai6jqcxsd4kl4pv80i850zm0rg";
type = "git"; type = "git";
url = "https://github.com/rapid7/metasploit-framework"; url = "https://github.com/rapid7/metasploit-framework";
}; };
version = "6.0.41"; version = "6.0.42";
}; };
metasploit-model = { metasploit-model = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0gmh23c3hc4my244m5lpd4kiysrsprag4rn6kvnnphxiflxvi4f7"; sha256 = "10ndgv4c30rq211f5lyngfcp87lxzgc9h8a7jx40wih43dj6faxq";
type = "gem"; type = "gem";
}; };
version = "3.1.3"; version = "3.1.4";
}; };
metasploit-payloads = { metasploit-payloads = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1rr6g3gqjsvdjkqfbgpc3wfzpq367dk9zn3rzm8h9kd09hy3i760"; sha256 = "0z0cgg4fghcpj3pvjyqnnzll5zvhwpv68dvpz2y0zgij14cvfg7y";
type = "gem"; type = "gem";
}; };
version = "2.0.43"; version = "2.0.44";
}; };
metasploit_data_models = { metasploit_data_models = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0li8lphplsmv9x1f14c22w95gjx2lscas3x5py7x7kc05pfv33bg"; sha256 = "1gzfvfqs9mf50dcnirc1944a25920s1swjd9g97d1x340651xmmr";
type = "gem"; type = "gem";
}; };
version = "4.1.3"; version = "4.1.4";
}; };
metasploit_payloads-mettle = { metasploit_payloads-mettle = {
groups = ["default"]; groups = ["default"];
@ -596,10 +596,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7"; sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2";
type = "gem"; type = "gem";
}; };
version = "2.5.0"; version = "2.5.1";
}; };
minitest = { minitest = {
groups = ["default"]; groups = ["default"];
@ -726,10 +726,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1fl517ld5vj0llyshp3f9kb7xyl9iqy28cbz3k999fkbwcxzhlyq"; sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27";
type = "gem"; type = "gem";
}; };
version = "4.20.0"; version = "4.21.0";
}; };
openssl-ccm = { openssl-ccm = {
groups = ["default"]; groups = ["default"];
@ -1046,10 +1046,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1wza4g3kkscc17kaw44hnq8qs2nmvppb9awaf27lp4v1c1kdxixs"; sha256 = "08a9s82y4bv2bis0szasrrqvz6imwx94ckg259f7w39ng1fbc7b1";
type = "gem"; type = "gem";
}; };
version = "0.1.89"; version = "0.1.90";
}; };
rex-random_identifier = { rex-random_identifier = {
groups = ["default"]; groups = ["default"];

View file

@ -2,15 +2,14 @@
buildGoModule rec { buildGoModule rec {
pname = "chroma"; pname = "chroma";
version = "0.8.2"; version = "0.9.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alecthomas"; owner = "alecthomas";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0vzxd0jvjaakwjvkkkjppakjb00z44k7gb5ng1i4924agh24n5ka"; sha256 = "0zzk4wcjgxa9lsx8kwpmxvcw67f2fr7ai37jxmdahnws0ai2c2f7";
leaveDotGit = true; leaveDotGit = true;
fetchSubmodules = true;
}; };
nativeBuildInputs = [ git ]; nativeBuildInputs = [ git ];
@ -27,7 +26,7 @@ buildGoModule rec {
--replace 'date = "?"' "date = \"$date\"" --replace 'date = "?"' "date = \"$date\""
''; '';
vendorSha256 = "16cnc4scgkx8jan81ymha2q1kidm6hzsnip5mmgbxpqcc2h7hv9m"; vendorSha256 = "0y8mp08zccn9qxrsj9j7vambz8dwzsxbbgrlppzam53rg8rpxhrg";
subPackages = [ "cmd/chroma" ]; subPackages = [ "cmd/chroma" ];

View file

@ -24542,6 +24542,8 @@ in
canonicaljson; canonicaljson;
}; };
matrix-commander = callPackage ../applications/networking/instant-messengers/matrix-commander { };
matrix-dl = callPackage ../applications/networking/instant-messengers/matrix-dl { }; matrix-dl = callPackage ../applications/networking/instant-messengers/matrix-dl { };
matrix-recorder = callPackage ../applications/networking/instant-messengers/matrix-recorder {}; matrix-recorder = callPackage ../applications/networking/instant-messengers/matrix-recorder {};
@ -24765,6 +24767,8 @@ in
rofi-file-browser = callPackage ../applications/misc/rofi-file-browser { }; rofi-file-browser = callPackage ../applications/misc/rofi-file-browser { };
rofi-power-menu = callPackage ../applications/misc/rofi-power-menu { };
ympd = callPackage ../applications/audio/ympd { }; ympd = callPackage ../applications/audio/ympd { };
# a somewhat more maintained fork of ympd # a somewhat more maintained fork of ympd

View file

@ -247,8 +247,6 @@ in {
aioesphomeapi = callPackage ../development/python-modules/aioesphomeapi { }; aioesphomeapi = callPackage ../development/python-modules/aioesphomeapi { };
aioeventlet = callPackage ../development/python-modules/aioeventlet { };
aioextensions = callPackage ../development/python-modules/aioextensions { }; aioextensions = callPackage ../development/python-modules/aioextensions { };
aiofiles = callPackage ../development/python-modules/aiofiles { }; aiofiles = callPackage ../development/python-modules/aiofiles { };
@ -5896,6 +5894,8 @@ in {
pypinyin = callPackage ../development/python-modules/pypinyin { }; pypinyin = callPackage ../development/python-modules/pypinyin { };
pypiserver = callPackage ../development/python-modules/pypiserver { };
pyplaato = callPackage ../development/python-modules/pyplaato { }; pyplaato = callPackage ../development/python-modules/pyplaato { };
pyplatec = callPackage ../development/python-modules/pyplatec { }; pyplatec = callPackage ../development/python-modules/pyplatec { };
@ -7344,6 +7344,8 @@ in {
setproctitle = callPackage ../development/python-modules/setproctitle { }; setproctitle = callPackage ../development/python-modules/setproctitle { };
setuptools-declarative-requirements = callPackage ../development/python-modules/setuptools-declarative-requirements { };
setuptools-git = callPackage ../development/python-modules/setuptools-git { }; setuptools-git = callPackage ../development/python-modules/setuptools-git { };
setuptools-lint = callPackage ../development/python-modules/setuptools-lint { }; setuptools-lint = callPackage ../development/python-modules/setuptools-lint { };

View file

@ -604,8 +604,6 @@ with self; with super; {
traitlets = callPackage ../development/python-modules/traitlets/4.nix { }; traitlets = callPackage ../development/python-modules/traitlets/4.nix { };
trollius = callPackage ../development/python-modules/trollius { };
ttystatus = callPackage ../development/python-modules/ttystatus { }; ttystatus = callPackage ../development/python-modules/ttystatus { };
TurboCheetah = callPackage ../development/python-modules/TurboCheetah { }; TurboCheetah = callPackage ../development/python-modules/TurboCheetah { };