Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-04-22 00:13:51 +00:00 committed by GitHub
commit 4d528f22b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
138 changed files with 1921 additions and 783 deletions

View File

@ -1043,8 +1043,8 @@
name = "Kirill Boltaev";
};
ashley = {
email = "personavinny@protonmail.com";
github = "paranoidcat";
email = "ashley@kira64.xyz";
github = "kira64xyz";
githubId = 84152630;
name = "Ashley Chiara";
};
@ -7190,6 +7190,13 @@
githubId = 714;
name = "Lily Ballard";
};
lilyinstarlight = {
email = "lily@lily.flowers";
matrix = "@lily:lily.flowers";
github = "lilyinstarlight";
githubId = 298109;
name = "Lily Foster";
};
limeytexan = {
email = "limeytexan@gmail.com";
github = "limeytexan";
@ -8850,6 +8857,12 @@
githubId = 3747396;
name = "Nathan Isom";
};
neilmayhew = {
email = "nix@neil.mayhew.name";
github = "neilmayhew";
githubId = 166791;
name = "Neil Mayhew";
};
nelsonjeppesen = {
email = "nix@jeppesen.io";
github = "NelsonJeppesen";

View File

@ -2347,6 +2347,15 @@
generating host-global NNCP configuration.
</para>
</listitem>
<listitem>
<para>
The option <literal>services.snapserver.openFirewall</literal>
will no longer default to <literal>true</literal> starting
with NixOS 22.11. Enable it explicitly if you need to control
Snapserver remotely or connect streamig clients from other
hosts.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View File

@ -830,4 +830,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `programs.nncp` options were added for generating host-global NNCP configuration.
- The option `services.snapserver.openFirewall` will no longer default to
`true` starting with NixOS 22.11. Enable it explicitly if you need to control
Snapserver remotely or connect streamig clients from other hosts.
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View File

@ -1,7 +1,7 @@
{
x86_64-linux = "/nix/store/0n2wfvi1i3fg97cjc54wslvk0804y0sn-nix-2.7.0";
i686-linux = "/nix/store/4p27c1k9z99pli6x8cxfph20yfyzn9nh-nix-2.7.0";
aarch64-linux = "/nix/store/r9yr8ijsb0gi9r7y92y3yzyld59yp0kj-nix-2.7.0";
x86_64-darwin = "/nix/store/hyfj5imsd0c4amlcjpf8l6w4q2draaj3-nix-2.7.0";
aarch64-darwin = "/nix/store/9l96qllhbb6xrsjaai76dn74ap7rq92n-nix-2.7.0";
x86_64-linux = "/nix/store/yx36yzxpw1hn4fz8iyf1rfyd56jg3yf4-nix-2.8.0";
i686-linux = "/nix/store/c0hg806zvwg800qbszzj8ff4a224kjgf-nix-2.8.0";
aarch64-linux = "/nix/store/wic2832ll53q392r2wks4xr2nrk7p8p5-nix-2.8.0";
x86_64-darwin = "/nix/store/5yqdvnkmkrhl36xh0qy31pymdphjimdd-nix-2.8.0";
aarch64-darwin = "/nix/store/izc9592szrnpv8n86hr88bhpyc9g6b4s-nix-2.8.0";
}

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }:
{ config, options, lib, pkgs, ... }:
with lib;
@ -101,6 +101,8 @@ in {
openFirewall = mkOption {
type = types.bool;
# Make the behavior consistent with other services. Set the default to
# false and remove the accompanying warning after NixOS 22.05 is released.
default = true;
description = ''
Whether to automatically open the specified ports in the firewall.
@ -273,10 +275,16 @@ in {
config = mkIf cfg.enable {
# https://github.com/badaix/snapcast/blob/98ac8b2fb7305084376607b59173ce4097c620d8/server/streamreader/stream_manager.cpp#L85
warnings = filter (w: w != "") (mapAttrsToList (k: v: if v.type == "spotify" then ''
services.snapserver.streams.${k}.type = "spotify" is deprecated, use services.snapserver.streams.${k}.type = "librespot" instead.
'' else "") cfg.streams);
warnings =
# https://github.com/badaix/snapcast/blob/98ac8b2fb7305084376607b59173ce4097c620d8/server/streamreader/stream_manager.cpp#L85
filter (w: w != "") (mapAttrsToList (k: v: if v.type == "spotify" then ''
services.snapserver.streams.${k}.type = "spotify" is deprecated, use services.snapserver.streams.${k}.type = "librespot" instead.
'' else "") cfg.streams)
# Remove this warning after NixOS 22.05 is released.
++ optional (options.services.snapserver.openFirewall.highestPrio >= (mkOptionDefault null).priority) ''
services.snapserver.openFirewall will no longer default to true starting with NixOS 22.11.
Enable it explicitly if you need to control Snapserver remotely.
'';
systemd.services.snapserver = {
after = [ "network.target" ];
@ -304,8 +312,8 @@ in {
networking.firewall.allowedTCPPorts =
optionals cfg.openFirewall [ cfg.port ]
++ optional cfg.tcp.enable cfg.tcp.port
++ optional cfg.http.enable cfg.http.port;
++ optional (cfg.openFirewall && cfg.tcp.enable) cfg.tcp.port
++ optional (cfg.openFirewall && cfg.http.enable) cfg.http.port;
};
meta = {

View File

@ -80,13 +80,21 @@ in
The name of the interface to pull the bind_addr from.
'';
};
};
forceAddrFamily = mkOption {
type = types.enum [ "any" "ipv4" "ipv6" ];
default = "any";
description = ''
Whether to bind ipv4/ipv6 or both kind of addresses.
'';
};
forceIpv4 = mkOption {
type = types.bool;
default = false;
type = types.nullOr types.bool;
default = null;
description = ''
Deprecated: Use consul.forceAddrFamily instead.
Whether we should force the interfaces to only pull ipv4 addresses.
'';
};
@ -175,6 +183,13 @@ in
systemPackages = [ cfg.package ];
};
warnings = lib.flatten [
(lib.optional (cfg.forceIpv4 != null) ''
The option consul.forceIpv4 is deprecated, please use
consul.forceAddrFamily instead.
'')
];
systemd.services.consul = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ] ++ systemdDevices;
@ -196,15 +211,21 @@ in
});
path = with pkgs; [ iproute2 gnugrep gawk consul ];
preStart = ''
preStart = let
family = if cfg.forceAddrFamily == "ipv6" then
"-6"
else if cfg.forceAddrFamily == "ipv4" then
"-4"
else
"";
in ''
mkdir -m 0700 -p ${dataDir}
chown -R consul ${dataDir}
# Determine interface addresses
getAddrOnce () {
ip addr show dev "$1" \
| grep 'inet${optionalString (cfg.forceIpv4) " "}.*scope global' \
| awk -F '[ /\t]*' '{print $3}' | head -n 1
ip ${family} addr show dev "$1" scope global \
| awk -F '[ /\t]*' '/inet/ {print $3}' | head -n 1
}
getAddr () {
ADDR="$(getAddrOnce $1)"
@ -234,6 +255,11 @@ in
};
}
# deprecated
(mkIf (cfg.forceIpv4 != null && cfg.forceIpv4) {
services.consul.forceAddrFamily = "ipv4";
})
(mkIf (cfg.alerts.enable) {
systemd.services.consul-alerts = {
wantedBy = [ "multi-user.target" ];

View File

@ -22,6 +22,9 @@ let
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ]
'';
nixos-background-ligtht = pkgs.nixos-artwork.wallpapers.simple-blue;
nixos-background-dark = pkgs.nixos-artwork.wallpapers.simple-dark-gray;
nixos-gsettings-desktop-schemas = let
defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome.gnome-shell ];
in
@ -42,11 +45,11 @@ let
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
[org.gnome.desktop.background]
picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-blue.gnomeFilePath}'
picture-uri-dark='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}'
picture-uri='file://${nixos-background-ligtht.gnomeFilePath}'
picture-uri-dark='file://${nixos-background-dark.gnomeFilePath}'
[org.gnome.desktop.screensaver]
picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}'
picture-uri='file://${nixos-background-dark.gnomeFilePath}'
${cfg.favoriteAppsOverride}
@ -56,6 +59,26 @@ let
${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/
'';
nixos-background-info = pkgs.writeTextFile rec {
name = "nixos-background-info";
text = ''
<?xml version="1.0"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
<wallpaper deleted="false">
<name>Blobs</name>
<filename>${nixos-background-ligtht.gnomeFilePath}</filename>
<filename-dark>${nixos-background-dark.gnomeFilePath}</filename-dark>
<options>zoom</options>
<shade_type>solid</shade_type>
<pcolor>#3a4ba0</pcolor>
<scolor>#2f302f</scolor>
</wallpaper>
</wallpapers>
'';
destination = "/share/gnome-background-properties/nixos.xml";
};
flashbackEnabled = cfg.flashback.enableMetacity || length cfg.flashback.customSessions > 0;
flashbackWms = optional cfg.flashback.enableMetacity {
wmName = "metacity";
@ -431,6 +454,7 @@ in
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-shell.bst
environment.systemPackages = with pkgs.gnome; [
adwaita-icon-theme
nixos-background-info
gnome-backgrounds
gnome-bluetooth
gnome-color-manager
@ -439,8 +463,6 @@ in
gnome-shell-extensions
gnome-themes-extra
pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in.
pkgs.nixos-artwork.wallpapers.simple-dark-gray
pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom
pkgs.gnome-user-docs
pkgs.orca
pkgs.glib # for gsettings

View File

@ -420,7 +420,7 @@ let
${lib.optionalString (config.boot.initrd.secrets == {})
"exit 0"}
export PATH=${pkgs.coreutils}/bin:${pkgs.cpio}/bin:${pkgs.gzip}/bin:${pkgs.findutils}/bin
export PATH=${pkgs.coreutils}/bin:${pkgs.libarchive}/bin:${pkgs.gzip}/bin:${pkgs.findutils}/bin
function cleanup {
if [ -n "$tmp" -a -d "$tmp" ]; then
@ -440,7 +440,7 @@ let
) config.boot.initrd.secrets)
}
(cd "$tmp" && find . -print0 | sort -z | cpio --quiet -o -H newc -R +0:+0 --reproducible --null) | \
(cd "$tmp" && find . -print0 | sort -z | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @-) | \
${compressorExe} ${lib.escapeShellArgs initialRamdisk.compressorArgs} >> "$1"
'';

View File

@ -19,6 +19,7 @@ in {
port = port;
tcp.port = tcpPort;
http.port = httpPort;
openFirewall = true;
buffer = bufferSize;
streams = {
mpd = {

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "ft2-clone";
version = "1.52";
version = "1.54";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "ft2-clone";
rev = "v${version}";
sha256 = "sha256-RyZ3PV7jaTN3DEYMT0BqKDHbb+7/IgiRaCra1xA0h1A=";
sha256 = "sha256-lNiQ0X2vvPGubb4Pde+eh0Z6ClCQgigIUM+PddaiVUg=";
};
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)

View File

@ -2,18 +2,31 @@
, mkDerivation
, fetchFromGitHub
, pipewire
, pulseaudio
, gst_all_1
, glibmm
, qmake
, qtbase
, qtsvg
, wrapQtAppsHook
, makeDesktopItem
, pkg-config
, libarchive
, fetchpatch
, copyDesktopItems
, usePipewire ? true
, usePulseaudio ? false
}:
mkDerivation rec{
assert lib.asserts.assertMsg (usePipewire != usePulseaudio) "You need to enable one and only one of pulseaudio or pipewire support";
let
pluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]);
in
mkDerivation rec {
pname = "jamesdsp";
version = "2.3";
src = fetchFromGitHub rec{
src = fetchFromGitHub rec {
owner = "Audio4Linux";
repo = "JDSP4Linux";
fetchSubmodules = true;
@ -29,13 +42,30 @@ mkDerivation rec{
})
];
nativeBuildInputs = [ qmake pkg-config ];
nativeBuildInputs = [
qmake
pkg-config
copyDesktopItems
wrapQtAppsHook
];
buildInputs = [
glibmm
libarchive
pipewire
qtbase
qtsvg
] ++ lib.optional usePipewire pipewire
++ lib.optionals usePulseaudio [
pulseaudio
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gstreamer
];
qtWrapperArgs = lib.optionals usePulseaudio [ "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${pluginPath}" ];
qmakeFlags = lib.optionals usePulseaudio [ "CONFIG+=USE_PULSEAUDIO" ];
desktopItems = [
(makeDesktopItem {
name = "jamesdsp";
@ -54,7 +84,7 @@ mkDerivation rec{
description = "An audio effect processor for PipeWire clients";
homepage = "https://github.com/Audio4Linux/JDSP4Linux";
license = licenses.gpl3Only;
maintainers = with maintainers;[ pasqui23 ];
maintainers = with maintainers; [ pasqui23 rewine ];
platforms = platforms.linux;
};
}

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "pt2-clone";
version = "1.43";
version = "1.46";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "pt2-clone";
rev = "v${version}";
sha256 = "sha256-+sHGjgDqizv/9n0dDj8knsl+4MBfO3/pMkmD+MPsuNM=";
sha256 = "sha256-xRq37hjuMiGxsWRnZ/ryXYLvQpjbfQEjQkMjjuqL7r8=";
};
nativeBuildInputs = [ cmake ];

View File

@ -14,16 +14,16 @@
rustPlatform.buildRustPackage rec {
pname = "alfis";
version = "0.6.11";
version = "0.7.0";
src = fetchFromGitHub {
owner = "Revertron";
repo = "Alfis";
rev = "v${version}";
sha256 = "sha256-vm/JBJh58UaSem18RpJuPUzM2GCy4RfCb6Hr1B7KWQA=";
sha256 = "sha256-lamobXaDY+v8NpoI+TuuBO5Cdol9+7VPhdmLEH6sZIo=";
};
cargoSha256 = "sha256-8ijGO8up0qVQ/kVX5/DveKyovYLh7jm+d7vooS1waAA=";
cargoSha256 = "sha256-C5MCT4EG/lI4s2rVGSm9DgBu43FKpp3iTBbCf7N1jOA=";
checkFlags = [
# these want internet access, disable them

View File

@ -10,19 +10,23 @@
, zlib
, protobuf
}:
let
pinData = lib.importJSON ./pin.json;
version = pinData.version;
sha256 = pinData.sha256;
cargoSha256 = pinData.cargoSha256;
in
rustPlatform.buildRustPackage rec {
pname = "solana-testnet-cli";
version = "1.9.2";
inherit version cargoSha256;
src = fetchFromGitHub {
owner = "solana-labs";
repo = "solana";
rev = "v${version}";
sha256 = "sha256-wrv35vBohLztMZPb6gfZdCaXcjj/Y7vnQqINaI6dBM4=";
inherit sha256;
};
cargoSha256 = "sha256-A5uVa+cRmrkVyw7MFH4QAr0VIFi18wcc2VPFvQyT9EM=";
buildAndTestSubdir = "cli";
nativeBuildInputs = lib.optionals stdenv.isLinux [ protobuf pkg-config ];
@ -53,4 +57,5 @@ rustPlatform.buildRustPackage rec {
maintainers = with maintainers; [ happysalada ];
platforms = platforms.unix;
};
passthru.updateScript = ./update.sh;
}

View File

@ -0,0 +1,5 @@
{
"version": "1.10.9",
"sha256": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=",
"cargoSha256": "sha256-7EULmmztt+INvSdluvvX5xbE2hWKAmHiW0MEYIPNPw4="
}

View File

@ -0,0 +1,33 @@
#!/usr/bin/env nix-shell
#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep
# TODO set to `verbose` or `extdebug` once implemented in oil
shopt --set xtrace
# we need failures inside of command subs to get the correct cargoSha256
shopt --unset inherit_errexit
const directory = $(dirname $0 | xargs realpath)
const owner = "solana-labs"
const repo = "solana"
const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \
jq -r '.tag_name')
const latest_version = $(echo $latest_rev | sd 'v' '')
const current_version = $(jq -r '.version' $directory/pin.json)
if ("$latest_version" === "$current_version") {
echo "solana is already up-to-date"
return 0
} else {
const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev")
const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')"
jq ".version = \"$latest_version\" | \
.\"sha256\" = \"$tarball_hash\" | \
.\"cargoSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json
const new_cargo_sha256 = $(nix-build -A solana-testnet 2>&1 | \
tail -n 2 | \
head -n 1 | \
sd '\s+got:\s+' '')
jq ".cargoSha256 = \"$new_cargo_sha256\"" $directory/pin.json | sponge $directory/pin.json
}

View File

@ -10629,6 +10629,18 @@ final: prev:
meta.homepage = "https://github.com/tpope/vim-scriptease/";
};
vim-search-pulse = buildVimPluginFrom2Nix {
pname = "vim-search-pulse";
version = "2017-01-05";
src = fetchFromGitHub {
owner = "inside";
repo = "vim-search-pulse";
rev = "9f8f473e3813bd76ecb66e8d6182d96bda39b6df";
sha256 = "1xr90a8wvjfkgw1yrh0zcvpvp9ma6z0wqkl8v8pabf20vckgy2q0";
};
meta.homepage = "https://github.com/inside/vim-search-pulse/";
};
vim-sensible = buildVimPluginFrom2Nix {
pname = "vim-sensible";
version = "2022-04-11";

View File

@ -891,6 +891,7 @@ https://github.com/mhinz/vim-sayonara/,7e774f58c5865d9c10d40396850b35ab95af17c5,
https://github.com/derekwyatt/vim-scala/,,
https://github.com/thinca/vim-scouter/,,
https://github.com/tpope/vim-scriptease/,,
https://github.com/inside/vim-search-pulse/,,
https://github.com/tpope/vim-sensible/,,
https://github.com/guns/vim-sexp/,,
https://github.com/tpope/vim-sexp-mappings-for-regular-people/,,

View File

@ -1,8 +1,8 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, cmake
, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext
, libXrandr, libusb1, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama
, libXrandr, libusb1, libpthreadstubs, libXext, libXxf86vm, libXinerama
, libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsa-lib
, miniupnpc, enet, mbedtls, soundtouch, sfml, writeScript
, miniupnpc, enet, mbedtls, soundtouch, sfml, xz, writeScript
, vulkan-loader ? null, libpulseaudio ? null
# - Inputs used for Darwin
@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
buildInputs = [
curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio
libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo
portaudio libusb1 libpng hidapi miniupnpc enet mbedtls soundtouch sfml
libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp
portaudio libusb1 libpng hidapi miniupnpc enet mbedtls soundtouch sfml xz
qtbase
] ++ lib.optionals stdenv.isLinux [
bluez udev libevdev alsa-lib vulkan-loader

View File

@ -14,7 +14,6 @@
, gettext
, libXrandr
, libusb1
, lzo
, libpthreadstubs
, libXext
, libXxf86vm
@ -34,6 +33,7 @@
, soundtouch
, sfml
, fmt
, xz
, vulkan-loader
, libpulseaudio
@ -81,7 +81,6 @@ stdenv.mkDerivation rec {
readline
openal
libXdmcp
lzo
portaudio
libusb1
libpng
@ -92,6 +91,7 @@ stdenv.mkDerivation rec {
soundtouch
sfml
fmt
xz
qtbase
] ++ lib.optionals stdenv.isLinux [
bluez

View File

@ -1,86 +0,0 @@
{ pname, version, src, branchName
, stdenv, lib, wrapQtAppsHook
, cmake, pkg-config
, libpulseaudio, libjack2, alsa-lib, sndio
, vulkan-loader, vulkan-headers
, qtbase, qtwebengine, qttools
, nlohmann_json, rapidjson
, zlib, zstd, libzip, lz4
, glslang
, boost173
, catch2
, fmt_8
, SDL2
, udev
, libusb1
, ffmpeg
}:
stdenv.mkDerivation rec {
inherit pname version src;
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
buildInputs = [
libpulseaudio libjack2 alsa-lib sndio
vulkan-loader vulkan-headers
qtbase qtwebengine qttools
nlohmann_json rapidjson
zlib zstd libzip lz4
glslang
boost173
catch2
fmt_8
SDL2
udev
libusb1
ffmpeg
];
cmakeFlags = [
"-DYUZU_USE_BUNDLED_QT=OFF"
"-DYUZU_USE_BUNDLED_SDL2=OFF"
"-DYUZU_USE_BUNDLED_FFMPEG=OFF"
"-DENABLE_QT_TRANSLATION=ON"
"-DYUZU_USE_QT_WEB_ENGINE=ON"
"-DUSE_DISCORD_PRESENCE=ON"
];
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
# making the build fail, as that path does not exist
dontFixCmake = true;
preConfigure = ''
# Trick the configure system. This prevents a check for submodule directories.
rm -f .gitmodules
# see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work.
cmakeFlagsArray+=(
"-DTITLE_BAR_FORMAT_IDLE=yuzu ${branchName} ${version}"
"-DTITLE_BAR_FORMAT_RUNNING=yuzu ${branchName} ${version} | {3}"
)
'';
# Fix vulkan detection
postFixup = ''
wrapProgram $out/bin/yuzu --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
wrapProgram $out/bin/yuzu-cmd --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
'';
meta = with lib; {
homepage = "https://yuzu-emu.org";
description = "The ${branchName} branch of an experimental Nintendo Switch emulator written in C++";
longDescription = ''
An experimental Nintendo Switch emulator written in C++.
Using the mainline branch is recommanded for general usage.
Using the early-access branch is recommanded if you would like to try out experimental features, with a cost of stability.
'';
license = with licenses; [
gpl2Plus
# Icons
cc-by-nd-30 cc0
];
maintainers = with maintainers; [ ivar joshuafern sbruder ];
platforms = platforms.linux;
broken = stdenv.isAarch64; # Currently aarch64 is not supported.
};
}

File diff suppressed because one or more lines are too long

View File

@ -1,28 +1,40 @@
{ branch ? "mainline", libsForQt5, fetchFromGitHub }:
{ branch ? "mainline"
, libsForQt5
, fetchFromGitHub
}:
let
inherit libsForQt5 fetchFromGitHub;
# Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-03-23.
# Please make sure to update this when updating yuzu!
compat-list = ./compatibility-list.json;
in {
mainline = libsForQt5.callPackage ./base.nix rec {
mainline = libsForQt5.callPackage ./generic.nix rec {
pname = "yuzu-mainline";
version = "953";
branchName = branch;
version = "992";
src = fetchFromGitHub {
owner = "yuzu-emu";
repo = "yuzu-mainline";
rev = "mainline-0-${version}";
sha256 = "0p07gybyhr6flzmhz92qlrwcq7l37c2wmcxw8sbrvhj2pgaaw9ic";
sha256 = "1x3fwwdw86jvygbzy9k99j6avfsd867ywm2x25izw10jznpsaixs";
fetchSubmodules = true;
};
inherit branch compat-list;
};
early-access = libsForQt5.callPackage ./base.nix rec {
early-access = libsForQt5.callPackage ./generic.nix rec {
pname = "yuzu-ea";
version = "2557";
branchName = branch;
version = "2690";
src = fetchFromGitHub {
owner = "pineappleEA";
repo = "pineapple-src";
rev = "EA-${version}";
sha256 = "013xxgyn8y5fv0xbrm0zfl9xmi0gx4hpflrbjskg1hcvb2bjqyvj";
sha256 = "0zm06clbdh9cccq9932q9v976q7sjknynkdvvp04h1wcskmrxi3c";
fetchSubmodules = true;
};
inherit branch compat-list;
};
}.${branch}

View File

@ -0,0 +1,157 @@
{ pname
, version
, src
, branch
, compat-list
, lib
, stdenv
, runCommandLocal
, substituteAll
, wrapQtAppsHook
, alsa-lib
, boost
, catch2
, cmake
, doxygen
, ffmpeg
, fmt_8
, glslang
, libjack2
, libopus
, libpulseaudio
, libusb1
, libva
, libzip
, lz4
, nlohmann_json
, perl
, pkg-config
, python3
, qtbase
, qttools
, qtwebengine
, rapidjson
, SDL2
, sndio
, speexdsp
, udev
, vulkan-headers
, vulkan-loader
, zlib
, zstd
}:
stdenv.mkDerivation rec {
inherit pname version src;
nativeBuildInputs = [
cmake
doxygen
perl
pkg-config
python3
wrapQtAppsHook
];
buildInputs = [
alsa-lib
boost
catch2
ffmpeg
fmt_8
glslang
libjack2
libopus
libpulseaudio
libusb1
libva
libzip
lz4
nlohmann_json
qtbase
qttools
qtwebengine
rapidjson
SDL2
sndio
speexdsp
udev
zlib
zstd
];
doCheck = true;
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
# making the build fail, as that path does not exist
dontFixCmake = true;
cmakeFlags = [
"-DYUZU_USE_BUNDLED_QT=OFF"
"-DYUZU_USE_BUNDLED_FFMPEG=OFF"
"-DYUZU_USE_BUNDLED_OPUS=OFF"
"-DYUZU_USE_EXTERNAL_SDL2=OFF"
"-DENABLE_QT_TRANSLATION=ON"
"-DYUZU_USE_QT_WEB_ENGINE=ON"
"-DUSE_DISCORD_PRESENCE=ON"
# We dont want to bother upstream with potentially outdated compat reports
"-DYUZU_ENABLE_COMPATIBILITY_REPORTING=OFF"
"-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" # We provide this deterministically
];
preConfigure = ''
# This prevents a check for submodule directories.
rm -f .gitmodules
# see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work.
cmakeFlagsArray+=(
"-DTITLE_BAR_FORMAT_IDLE=yuzu ${branch} ${version}"
"-DTITLE_BAR_FORMAT_RUNNING=yuzu ${branch} ${version} | {3}"
)
'';
# This must be done after cmake finishes as it overwrites the file
postConfigure = ''
ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json
'';
# Fix vulkan detection
postFixup = ''
for bin in $out/bin/yuzu $out/bin/yuzu-cmd; do
wrapProgram $bin --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
done
'';
passthru.updateScript = runCommandLocal "yuzu-${branch}-updateScript" {
script = substituteAll {
src = ./update.sh;
inherit branch;
};
} "install -Dm755 $script $out";
meta = with lib; {
homepage = "https://yuzu-emu.org";
changelog = "https://yuzu-emu.org/entry";
description = "The ${branch} branch of an experimental Nintendo Switch emulator written in C++";
longDescription = ''
An experimental Nintendo Switch emulator written in C++.
Using the mainline branch is recommanded for general usage.
Using the early-access branch is recommanded if you would like to try out experimental features, with a cost of stability.
'';
mainProgram = "yuzu";
platforms = [ "x86_64-linux" ];
license = with licenses; [
gpl3Plus
# Icons
cc-by-nd-30 cc0
];
maintainers = with maintainers; [
ivar
joshuafern
sbruder
];
};
}

View File

@ -0,0 +1,102 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p nix nix-prefetch-git coreutils curl jq gnused
set -e
# Will be replaced with the actual branch when running this from passthru.updateScript
BRANCH="@branch@"
if [[ ! "$(basename $PWD)" = "yuzu" ]]; then
echo "error: Script must be ran from yuzu's directory!"
exit 1
fi
getLocalVersion() {
pushd ../../../.. >/dev/null
nix eval --raw -f default.nix "$1".version
popd >/dev/null
}
getLocalHash() {
pushd ../../../.. >/dev/null
nix eval --raw -f default.nix "$1".src.drvAttrs.outputHash
popd >/dev/null
}
updateCompatList() {
NEW_COMPAT_LIST="$(curl -s "https://api.yuzu-emu.org/gamedb")"
if [[ "$(cat ./compatibility-list.json)" = "${NEW_COMPAT_LIST}" ]]; then
echo "Compatibility list is already up to date!"
else
local TODAY="$(date +"%Y-%m-%d")"
echo "Compatibility list: updated to $TODAY"
echo "${NEW_COMPAT_LIST}" > ./compatibility-list.json
sed -i -e "s/last updated .*/last updated $TODAY./" ./default.nix
fi
}
updateMainline() {
OLD_MAINLINE_VERSION="$(getLocalVersion "yuzu-mainline")"
OLD_MAINLINE_HASH="$(getLocalHash "yuzu-mainline")"
NEW_MAINLINE_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
"https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases?per_page=1" | jq -r '.[0].name' | cut -d" " -f2)"
if [[ "${OLD_MAINLINE_VERSION}" = "${NEW_MAINLINE_VERSION}" ]]; then
echo "yuzu-mainline is already up to date!"
[ "$KEEP_GOING" ] && return || exit
else
echo "yuzu-mainline: ${OLD_MAINLINE_VERSION} -> ${NEW_MAINLINE_VERSION}"
fi
echo " Fetching source code..."
NEW_MAINLINE_HASH="$(nix-prefetch-git --quiet --fetch-submodules --rev "mainline-0-${NEW_MAINLINE_VERSION}" "https://github.com/yuzu-emu/yuzu-mainline" | jq -r '.sha256')"
echo " Succesfully fetched. hash: ${NEW_MAINLINE_HASH}"
sed -i "s/${OLD_MAINLINE_VERSION}/${NEW_MAINLINE_VERSION}/" ./default.nix
sed -i "s/${OLD_MAINLINE_HASH}/${NEW_MAINLINE_HASH}/" ./default.nix
}
updateEarlyAccess() {
OLD_EA_VERSION="$(getLocalVersion "yuzu-ea")"
OLD_EA_HASH="$(getLocalHash "yuzu-ea")"
NEW_EA_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
"https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=1" | jq -r '.[0].name' | cut -d"-" -f2 | cut -d" " -f1)"
if [[ "${OLD_EA_VERSION}" = "${NEW_EA_VERSION}" ]]; then
echo "yuzu-ea is already up to date!"
[ "$KEEP_GOING" ] && return || exit
else
echo "yuzu-ea: ${OLD_EA_VERSION} -> ${NEW_EA_VERSION}"
fi
echo " Fetching source code..."
NEW_EA_HASH="$(nix-prefetch-git --quiet --fetch-submodules --rev "EA-${NEW_EA_VERSION}" "https://github.com/pineappleEA/pineapple-src" | jq -r '.sha256')"
echo " Succesfully fetched. hash: ${NEW_EA_HASH}"
sed -i "s/${OLD_EA_VERSION}/${NEW_EA_VERSION}/" ./default.nix
sed -i "s/${OLD_EA_HASH}/${NEW_EA_HASH}/" ./default.nix
}
if [[ "$BRANCH" = "mainline" ]]; then
updateMainline
updateCompatList
elif [[ "$BRANCH" = "early-access" ]]; then
updateEarlyAccess
updateCompatList
else
KEEP_GOING=1
updateMainline
updateEarlyAccess
updateCompatList
fi

View File

@ -45,13 +45,13 @@ in
stdenv.mkDerivation rec {
pname = "imagemagick";
version = "7.1.0-29";
version = "7.1.0-30";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = version;
hash = "sha256-46fJMOIGnK5aNIcG7+8mJdZDcSFyFmhmkLcuVlnupSU=";
hash = "sha256-FfZJfjuQmYvYuOi18cZdr3Nam98/j+ZTGRwsd1sslsY=";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big

View File

@ -10,14 +10,14 @@
python3Packages.buildPythonPackage rec {
pname = "hydrus";
version = "481";
version = "482";
format = "other";
src = fetchFromGitHub {
owner = "hydrusnetwork";
repo = "hydrus";
rev = "refs/tags/v${version}";
sha256 = "sha256-6I4vLJj5WzC2bCtQYnoLGOL6N6pKFU+PZQqaOqhZhWU=";
sha256 = "sha256-b7zMHwsyZv4dCn4Gd/2a+MHhT3IHISJup/zm95pEcQ4=";
};
nativeBuildInputs = [

View File

@ -1,10 +1,15 @@
{ lib, stdenv, fetchurl
{ lib
, stdenv
, fetchurl
# Build-time dependencies
# Build-time dependencies
, makeWrapper
, file
, makeDesktopItem
, imagemagick
, copyDesktopItems
# Runtime dependencies
# Runtime dependencies
, fontconfig
, freetype
, libX11
@ -12,104 +17,120 @@
, libXinerama
, libXrandr
, libXrender
, libGL
, openal}:
, libglvnd
, openal
}:
let
version = "1.0";
arch = if stdenv.hostPlatform.system == "x86_64-linux" then
"x64"
else if stdenv.hostPlatform.system == "i686-linux" then
"x86"
else
throw "Unsupported platform ${stdenv.hostPlatform.system}";
arch =
if stdenv.hostPlatform.system == "x86_64-linux" then
"x64"
else if stdenv.hostPlatform.system == "i686-linux" then
"x86"
else
throw "Unsupported platform ${stdenv.hostPlatform.system}";
in
stdenv.mkDerivation rec {
pname = "unigine-valley";
inherit version;
src = fetchurl {
url = "http://assets.unigine.com/d/Unigine_Valley-${version}.run";
sha256 = "5f0c8bd2431118551182babbf5f1c20fb14e7a40789697240dcaf546443660f4";
};
stdenv.mkDerivation rec {
pname = "unigine-valley";
inherit version;
sourceRoot = "Unigine_Valley-${version}";
instPath = "lib/unigine/valley";
src = fetchurl {
url = "https://m11-assets.unigine.com/d/Unigine_Valley-${version}.run";
sha256 = "5f0c8bd2431118551182babbf5f1c20fb14e7a40789697240dcaf546443660f4";
};
nativeBuildInputs = [file makeWrapper];
sourceRoot = "Unigine_Valley-${version}";
instPath = "lib/unigine/valley";
libPath = lib.makeLibraryPath [
stdenv.cc.cc # libstdc++.so.6
fontconfig
freetype
libX11
libXext
libXinerama
libXrandr
libXrender
libGL
openal
];
nativeBuildInputs = [ file makeWrapper imagemagick copyDesktopItems ];
unpackPhase = ''
runHook preUnpack
libPath = lib.makeLibraryPath [
stdenv.cc.cc # libstdc++.so.6
fontconfig
freetype
libX11
libXext
libXinerama
libXrandr
libXrender
libglvnd
openal
];
cp $src extractor.run
chmod +x extractor.run
./extractor.run --target $sourceRoot
unpackPhase = ''
runHook preUnpack
runHook postUnpack
'';
cp $src extractor.run
chmod +x extractor.run
./extractor.run --target $sourceRoot
patchPhase = ''
runHook prePatch
runHook postUnpack
'';
# Patch ELF files.
elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1)
for elf in $elfs; do
patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true
done
postPatch = ''
# Patch ELF files.
elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1)
for elf in $elfs; do
patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true
done
'';
runHook postPatch
'';
installPhase = ''
runHook preInstall
installPhase = ''
runHook preInstall
instdir=$out/${instPath}
mkdir -p $out/share/icons/hicolor $out/share/applications $out/bin $instdir/bin
instdir=$out/${instPath}
# Install executables and libraries
install -m 0755 bin/browser_${arch} $instdir/bin
install -m 0755 bin/libApp{Stereo,Surround,Wall}_${arch}.so $instdir/bin
install -m 0755 bin/libGPUMonitor_${arch}.so $instdir/bin
install -m 0755 bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $instdir/bin
install -m 0755 bin/libUnigine_${arch}.so $instdir/bin
install -m 0755 bin/valley_${arch} $instdir/bin
install -m 0755 valley $instdir
install -m 0755 valley $out/bin/valley
# Install executables and libraries
mkdir -p $instdir/bin
install -m 0755 bin/browser_${arch} $instdir/bin
install -m 0755 bin/libApp{Stereo,Surround,Wall}_${arch}.so $instdir/bin
install -m 0755 bin/libGPUMonitor_${arch}.so $instdir/bin
install -m 0755 bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $instdir/bin
install -m 0755 bin/libUnigine_${arch}.so $instdir/bin
install -m 0755 bin/valley_${arch} $instdir/bin
install -m 0755 valley $instdir
# Install other files
cp -R data documentation $instdir
# Install other files
cp -R data documentation $instdir
# Install and wrap executable
wrapProgram $out/bin/valley \
--chdir "$instdir" \
--prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath
# Install and wrap executable
mkdir -p $out/bin
install -m 0755 valley $out/bin/valley
wrapProgram $out/bin/valley \
--chdir "$instdir" \
--prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath
# Make desktop Icon
convert $out/lib/unigine/valley/data/launcher/icon.png -resize 128x128 $out/share/icons/Valley.png
for RES in 16 24 32 48 64 128 256
do
mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps
convert $out/lib/unigine/valley/data/launcher/icon.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/Valley.png
done
runHook postInstall
'';
runHook postInstall
'';
stripDebugList = ["${instPath}/bin"];
desktopItems = [
(makeDesktopItem {
name = "Valley";
exec = "valley";
genericName = "A GPU Stress test tool from the UNIGINE";
icon = "Valley";
desktopName = "Valley Benchmark";
})
];
stripDebugList = [ "${instPath}/bin" ];
meta = {
description = "The Unigine Valley GPU benchmarking tool";
homepage = "https://unigine.com/products/benchmarks/valley/";
license = lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf
maintainers = [ lib.maintainers.kierdavis ];
platforms = [ "x86_64-linux" "i686-linux" ];
};
}
meta = {
description = "The Unigine Valley GPU benchmarking tool";
homepage = "https://unigine.com/products/benchmarks/valley/";
license = lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf
maintainers = [ lib.maintainers.kierdavis ];
platforms = ["x86_64-linux" "i686-linux"];
};
}

View File

@ -84,13 +84,13 @@ let
in
buildPythonApplication rec {
pname = "lutris-original";
version = "0.5.10";
version = "0.5.10.1";
src = fetchFromGitHub {
owner = "lutris";
repo = "lutris";
rev = "v${version}";
sha256 = "sha256-PrnULCdQXNZ9OTa00NVyqiTdKRRkAYBcDj7lMwEqkw4=";
rev = "refs/tags/v${version}";
sha256 = "sha256-Bf8UEGEM6M4PKoX/qKQNb9XxrxLcjKZD1vR3R2/PykI=";
};
nativeBuildInputs = [ wrapGAppsHook ];

View File

@ -28,13 +28,13 @@
}:
mkDerivation rec {
pname = "megasync";
version = "4.6.3.0";
version = "4.6.5.0";
src = fetchFromGitHub {
owner = "meganz";
repo = "MEGAsync";
rev = "v${version}_Linux";
sha256 = "1j86vr8n2a17my61vkmx83cay1ibllzjprl5bfwaby5ibh4zclz4";
sha256 = "sha256-2gsJmMnt0+4vknd2HgOtCYCjVWT7eD0WBimmtsFEhvY=";
fetchSubmodules = true;
};

View File

@ -18,7 +18,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "metadata-cleaner";
version = "2.2.1";
version = "2.2.2";
format = "other";
@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "rmnvgr";
repo = "metadata-cleaner";
rev = "v${version}";
hash = "sha256-clCCVOoiInaxg9++GiHMLaD+k0gAvt3oOmqQ/a+WgCE=";
hash = "sha256-V3qcQQwc2ykVTVgUJuNnVQ9iSPD0tv4C2hSILLxuE70=";
};
nativeBuildInputs = [

View File

@ -2,52 +2,45 @@
, stdenv
, fetchFromGitHub
, gtk4
, hicolor-icon-theme
, json-glib
, libadwaita
, libgee
, desktop-file-utils
, meson
, ninja
, nix-update-script
, pkg-config
, python3
, vala
, wrapGAppsHook4
}:
stdenv.mkDerivation rec {
pname = "notejot";
version = "3.4.9";
version = "3.5.1";
src = fetchFromGitHub {
owner = "lainsce";
repo = pname;
rev = version;
hash = "sha256-42k9CAnXAb7Ic580SIa95MDCkCWtso1F+0eD69HX8WI=";
hash = "sha256-p5F0OITgfZyvHwndI5r5BE524+nft7A2XfR3BJZFamU=";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkg-config
python3
vala
wrapGAppsHook4
];
buildInputs = [
gtk4
hicolor-icon-theme
json-glib
libadwaita
libgee
];
postPatch = ''
chmod +x build-aux/post_install.py
patchShebangs build-aux/post_install.py
'';
passthru.updateScript = nix-update-script {
attrPath = pname;
};

View File

@ -17,7 +17,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "portfolio";
version = "0.9.12";
version = "0.9.14";
format = "other";
@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "tchx84";
repo = "Portfolio";
rev = "v${version}";
sha256 = "sha256-P+XQRIL2DepoOSVElxVxMihqxdxwLVnvXuraZN8L7z8=";
hash = "sha256-mrb202ON0B6VlY+U+jN0jJmbT36jQ8krNnuODynaCUA=";
};
postPatch = ''
@ -56,6 +56,10 @@ python3.pkgs.buildPythonApplication rec {
pygobject3
];
checkPhase = ''
meson test
'';
postInstall = ''
ln -s dev.tchx84.Portfolio "$out/bin/portfolio"
'';

View File

@ -2,26 +2,23 @@
rustPlatform.buildRustPackage rec {
pname = "sigi";
version = "3.0.3";
version = "3.2.1";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-tjhNE20GE1L8kvhdI5Mc90I75q8szOIV40vq2CBt98U=";
sha256 = "sha256-1eZ6i0CvjNyYlWb7c0OPlGtvVSFpi8hiOl/7qeeE9wA=";
};
cargoSha256 = "sha256-Tyrcu/BYt9k4igiEIiZ2I7VIGiBZ3D2i6XfT/XGlU+U=";
nativeBuildInputs = [ installShellFiles ];
# As part of its tests, sigi hard-codes a location to BATS based on git
# submodules. The tests are recommeded to skip for Linux packaging. They'll
# move to Rust after this issue: https://github.com/hiljusti/sigi/issues/19
checkFlags = [ "SKIP_BATS_TESTS=1" ];
# In case anything goes wrong.
checkFlags = [ "RUST_BACKTRACE=1" ];
postInstall = ''
installManPage sigi.1
'';
cargoSha256 = "sha256-0e0r6hfXGJmrc6tgCqq2dQXu2MhkThViZwdG3r3g028=";
passthru.tests.version = testVersion { package = sigi; };
meta = with lib; {

View File

@ -18,11 +18,11 @@ with lib;
stdenv.mkDerivation rec {
pname = "veracrypt";
version = "1.24-Update7";
version = "1.25.9";
src = fetchurl {
url = "https://launchpad.net/${pname}/trunk/${toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2";
sha256 = "0i7h44zn2mjzgh416l7kfs0dk6qc7b1bxsaxqqqcvgrpl453n7bc";
sha256 = "sha256-drbhgYS8IaQdKUn/Y9ch1JBUpxbO/zpL13tcNRC3lK8=";
};
patches = [

View File

@ -0,0 +1,34 @@
{ buildGoModule
, fetchFromGitHub
, lib
}:
buildGoModule rec {
pname = "alpnpass";
version = "0.1";
src = fetchFromGitHub {
owner = "VerSprite";
repo = "alpnpass";
rev = version;
hash = "sha256-hNZqGTV17rFSKLhZzNqH2E4SSb6Jhk7YQ4TN0HnE+9g=";
};
vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
meta = with lib; {
description = "Inspect the plaintext payload inside of proxied TLS connections";
longDescription = ''
This tool will listen on a given port, strip SSL encryption,
forward traffic through a plain TCP proxy,
then encrypt the returning traffic again
and send it to the target of your choice.
Unlike most SSL stripping solutions this tool will negotiate ALPN and
preserve the negotiated protocol all the way to the target.
'';
homepage = "https://github.com/VerSprite/alpnpass";
license = licenses.unlicense;
maintainers = [ maintainers.raboof ];
};
}

View File

@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
installShellCompletion --cmd kubectl \
--bash <($out/bin/kubectl completion bash) \
--fish <($out/bin/kubectl completion fish) \
--zsh <($out/bin/kubectl completion zsh)
runHook postInstall
'';

View File

@ -32,6 +32,7 @@ let
CGO_ENABLED = 0;
ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${rev}" ];
src = fetchFromGitHub {
name = "source-${rev}";
inherit owner repo rev sha256;
};

View File

@ -5,12 +5,12 @@
let
pname = "zulip";
version = "5.9.1";
version = "5.9.2";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
hash = "sha256-hUi4t7WdZG6GmNQfUcG4E9qGJDdPIMbglJzwR7tFNVQ=";
hash = "sha256-PJ7/KOtfjH1RHMzAKSr9Y/82Z0vL2wBy3GgI/0JrlpM=";
name="${pname}-${version}.AppImage";
};

View File

@ -2,11 +2,11 @@
mkDerivation rec {
pname = "owncloud-client";
version = "2.10.0.6519";
version = "2.10.1.7187";
src = fetchurl {
url = "https://download.owncloud.com/desktop/ownCloud/stable/${version}/source/ownCloud-${version}.tar.xz";
sha256 = "sha256-HDH8s/VPeOAbkyrfE7hbhePhtWcx1IUdlhDCnodomh8=";
sha256 = "sha256-SNabKv5z7viDI3XDQ2mWjEgFKAGSR5K9sI3Tu5eZbwU=";
};
nativeBuildInputs = [ pkg-config cmake extra-cmake-modules ];

View File

@ -7,7 +7,6 @@
, vala
, pkg-config
, desktop-file-utils
, python3
, glib
, gtk4
, json-glib
@ -18,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "khronos";
version = "3.6.6";
version = "3.7.0";
src = fetchFromGitHub {
owner = "lainsce";
repo = pname;
rev = version;
sha256 = "sha256-EFoW/2IZuCo6sg7q87XRrJJ7dmYtVZr2bJQUEiiMiVI=";
sha256 = "sha256-k3U8ICnwMbR6vN+gELWytI2Etri5lvbE6AX6lUpr7dQ=";
};
nativeBuildInputs = [
@ -33,7 +32,6 @@ stdenv.mkDerivation rec {
ninja
vala
pkg-config
python3
wrapGAppsHook4
];
@ -45,11 +43,6 @@ stdenv.mkDerivation rec {
libgee
];
postPatch = ''
chmod +x build-aux/post_install.py
patchShebangs build-aux/post_install.py
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;

View File

@ -1,6 +1,6 @@
{ stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, lapack, blas
, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty
, readline, gettext, libpng, libao, gfortran, perl
, autoreconfHook, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty
, buildPackages, readline, gettext, libpng, libao, gfortran, perl
, enableGUI ? false, libGL, libGLU, xorg, fltk
, enableMicroPy ? false, python3
}:
@ -9,11 +9,11 @@ assert (!blas.isILP64) && (!lapack.isILP64);
stdenv.mkDerivation rec {
pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
version = "1.6.0-47"; # TODO try to remove preCheck phase on upgrade
version = "1.9.0-5"; # TODO try to remove preCheck phase on upgrade
src = fetchurl {
url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz";
sha256 = "sha256-c5A9/I6L/o3Y3dxEPoTKpw/fJqYMr6euLldaQ1HWT5c=";
sha256 = "sha256-EP8wRi8QZPrr1lfKN6da87s1FCy8AuDYbzcvsJCWyLE=";
};
patches = [
@ -32,18 +32,21 @@ stdenv.mkDerivation rec {
})
];
# 1.9.0-5's tarball contains a binary (src/mkjs) which is executed
# at build time. we will delete and rebuild it.
depsBuildBuild = [ buildPackages.stdenv.cc ];
postPatch = ''
for i in doc/*/Makefile* micropython*/xcas/Makefile*; do
substituteInPlace "$i" --replace "/bin/cp" "cp";
done;
'' +
# workaround for 1.6.0-47, should not be necessary in future versions
lib.optionalString (!enableMicroPy) ''
sed -i -e 's/micropython-[0-9.]* //' Makefile*
rm src/mkjs
substituteInPlace src/Makefile.am --replace "g++ mkjs.cc" \
"${buildPackages.stdenv.cc.targetPrefix}c++ mkjs.cc"
'';
nativeBuildInputs = [
texlive.combined.scheme-small bison flex
autoreconfHook texlive.combined.scheme-small bison flex
];
# perl is only needed for patchShebangs fixup.
@ -58,13 +61,6 @@ stdenv.mkDerivation rec {
libGL libGLU fltk xorg.libX11
] ++ lib.optional enableMicroPy python3;
/* fixes:
configure:16211: checking for main in -lntl
configure:16230: g++ -o conftest -g -O2 conftest.cpp -lntl -llapack -lblas -lgfortran -ldl -lpng16 -lm -lmpfi -lmpfr -lgmp >&5
/nix/store/y9c1v4x7y39j2rfbg17agjwqdzxpsn18-ntl-11.3.2/lib/libntl.so: undefined reference to `pthread_key_create'
*/
NIX_CFLAGS_LINK="-lpthread";
# xcas Phys and Turtle menus are broken with split outputs
# and interactive use is likely to need docs
outputs = [ "out" ] ++ lib.optional (!enableGUI) "doc";

View File

@ -0,0 +1,13 @@
diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
index 4c56aea078..e51a77ae8a 100644
--- a/src/sage/misc/sagedoc.py
+++ b/src/sage/misc/sagedoc.py
@@ -1402,6 +1402,8 @@ class _sage_doc:
sage: identity_matrix.__doc__ in browse_sage_doc(identity_matrix, 'rst')
True
sage: browse_sage_doc(identity_matrix, 'html', False) # optional - sphinx
+ ...
+ FutureWarning: The configuration setting "embed_images" will be removed in Docutils 1.2. Use "image_loading: link".
'...div...File:...Type:...Definition:...identity_matrix...'
In the 'text' version, double colons have been replaced with

View File

@ -13,9 +13,14 @@ let
# Fetch a diff between `base` and `rev` on sage's git server.
# Used to fetch trac tickets by setting the `base` to the last release and the
# `rev` to the last commit of the ticket.
fetchSageDiff = { base, name, rev, sha256, squashed ? false, ...}@args: (
#
# We don't use sage's own build system (which builds all its
# dependencies), so we exclude changes to "build/" from patches by
# default to avoid conflicts.
fetchSageDiff = { base, name, rev, sha256, squashed ? false, excludes ? [ "build/*" ]
, ...}@args: (
fetchpatch ({
inherit name sha256;
inherit name sha256 excludes;
# There are three places to get changes from:
#
@ -49,11 +54,7 @@ let
"https://github.com/sagemath/sagetrac-mirror/compare/${base}...${rev}.diff"
]
else [ "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}" ];
# We don't care about sage's own build system (which builds all its dependencies).
# Exclude build system changes to avoid conflicts.
excludes = [ "build/*" ];
} // builtins.removeAttrs args [ "rev" "base" "sha256" "squashed" ])
} // builtins.removeAttrs args [ "rev" "base" "sha256" "squashed" "excludes" ])
);
in
stdenv.mkDerivation rec {
@ -172,6 +173,29 @@ stdenv.mkDerivation rec {
rev = "8452003846a7303100847d8d0ed642fc642c11d6";
sha256 = "sha256-A/XMouPlc2sjFp30L+56fBGJXydS2EtzfPOV98FCDqI=";
})
# https://trac.sagemath.org/ticket/33226
(fetchSageDiff {
base = "9.6.beta0";
name = "giac-1.7.0-45-update.patch";
rev = "33ea2adf01e9e2ce9f1e33779f0b1ac0d9d1989c";
sha256 = "sha256-DOyxahf3+IaYdkgmAReNDCorRzMgO8+yiVrJ5TW1km0=";
})
# https://trac.sagemath.org/ticket/33398
(fetchSageDiff {
base = "9.6.beta4";
name = "sympy-1.10-update.patch";
rev = "6b7c3a28656180e42163dc10f7b4a571b93e5f27";
sha256 = "sha256-fnUyM2yjHkCykKRfzQQ4glcUYmCS/fYzDzmCf0nuebk=";
# The patch contains a whitespace change to a file that didn't exist in Sage 9.5.
excludes = [ "build/*" "src/sage/manifolds/vector_bundle_fiber_element.py" ];
})
# docutils 0.18.1 now triggers Sphinx warnings. tolerate them for
# now, because patching Sphinx is not feasible.
# https://github.com/sphinx-doc/sphinx/issues/9777#issuecomment-1104481271
./patches/docutils-0.18.1-deprecation.patch
];
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;

View File

@ -16,12 +16,12 @@ with lib;
buildGoPackage rec {
pname = "gitea";
version = "1.16.5";
version = "1.16.6";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "sha256-2aqy6DV8oaIur/syg1bk41Wo+FGk3m+05+tUyoDwGHs=";
sha256 = "sha256-LlAnTTFuqbMa7QPf51D6+RalWuYqTKlSlxGXyt4h0aE=";
};
unpackPhase = ''

View File

@ -18,7 +18,7 @@ let
# compression type and filename extension.
compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1;
in
{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost
{ stdenvNoCC, perl, libarchive, ubootTools, lib, pkgsBuildHost
# Name of the derivation (not of the resulting file!)
, name ? "initrd"
@ -82,7 +82,7 @@ in stdenvNoCC.mkDerivation rec {
builder = ./make-initrd.sh;
nativeBuildInputs = [ perl cpio ]
nativeBuildInputs = [ perl libarchive ]
++ lib.optional makeUInitrd ubootTools;
compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}";

View File

@ -40,7 +40,7 @@ for PREP in $prepend; do
cat $PREP >> $out/initrd
done
(cd root && find * .[^.*] -exec touch -h -d '@1' '{}' +)
(cd root && find * .[^.*] -print0 | sort -z | cpio -o -H newc -R +0:+0 --reproducible --null | eval -- $compress >> "$out/initrd")
(cd root && find * .[^.*] -print0 | sort -z | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @- | eval -- $compress >> "$out/initrd")
if [ -n "$makeUInitrd" ]; then
mkimage -A "$uInitrdArch" -O linux -T ramdisk -C "$uInitrdCompression" -d "$out/initrd" $out/initrd.img

View File

@ -1,14 +1,14 @@
{ lib, fetchurl, libarchive }:
let
version = "0.36.1";
version = "0.36.2";
in fetchurl {
name = "sarasa-gothic-${version}";
# Use the 'ttc' files here for a smaller closure size.
# (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
sha256 = "sha256-w8PVDvbnHFZF7/X4EzO0IJsEKMC7c+GPng1sn8Q8G14=";
sha256 = "sha256-hUQi8mbtQC+peslaz+AVINjELVXseuVi44qbDBtJ+fc=";
recursiveHash = true;
downloadToTemp = true;

View File

@ -14,6 +14,22 @@ let
mkdir -p $out/share/backgrounds/nixos
ln -s $src $out/share/backgrounds/nixos/${src.name}
mkdir -p $out/share/gnome-background-properties/
cat <<EOF > $out/share/gnome-background-properties/${name}.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
<wallpaper deleted="false">
<name>${name}</name>
<filename>${src}</filename>
<options>zoom</options>
<shade_type>solid</shade_type>
<pcolor>#ffffff</pcolor>
<scolor>#000000</scolor>
</wallpaper>
</wallpapers>
EOF
# TODO: is this path still needed?
mkdir -p $out/share/artwork/gnome
ln -s $src $out/share/artwork/gnome/${src.name}

View File

@ -25,11 +25,11 @@
stdenv.mkDerivation rec {
pname = "simple-scan";
version = "42.0";
version = "42.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "sha256-rB+Fev0LyIl90gRQI618VxPlzu/KVrCzzF6aR5UylYY=";
sha256 = "sha256-hZvAYRwXabW9q6ljne7TWfUEdMLuz1i7v9fOIZEbIiY=";
};
nativeBuildInputs = [
@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
wrapGAppsHook
libxml2
gobject-introspection # For setup hook
vala
];
buildInputs = [
@ -49,14 +50,12 @@ stdenv.mkDerivation rec {
gdk-pixbuf
colord
glib
gnome.adwaita-icon-theme
gusb
gtk3
libhandy
libwebp
packagekit
sane-backends
vala
];
postPatch = ''

View File

@ -9,7 +9,6 @@
"gsconnect@andyholmes.github.io" = callPackage ./gsconnect { };
"icon-hider@kalnitsky.org" = callPackage ./icon-hider { };
"impatience@gfxmonk.net" = callPackage ./impatience { };
"nightthemeswitcher@romainvigier.fr" = callPackage ./night-theme-switcher { };
"no-title-bar@jonaspoehler.de" = callPackage ./no-title-bar { };
"paperwm@hedning:matrix.org" = callPackage ./paperwm { };
"pidgin@muffinmad" = callPackage ./pidgin-im-integration { };

View File

@ -1,35 +0,0 @@
{ lib, stdenv, fetchFromGitLab, glib, gnome, unzip }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-night-theme-switcher";
version = "53";
src = fetchFromGitLab {
owner = "rmnvgr";
repo = "nightthemeswitcher-gnome-shell-extension";
rev = version;
sha256 = "0dgnh1aj0y89jzfkpj8zs4gdbmyc1v8lbki2q30gld17ljv4l6lh";
};
nativeBuildInputs = [ unzip ];
buildInputs = [ glib gnome.gnome-shell ];
passthru = {
extensionUuid = "nightthemeswitcher@romainvigier.fr";
extensionPortalSlug = "night-theme-switcher";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/
unzip "build/nightthemeswitcher@romainvigier.fr.shell-extension.zip" -d "$out/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr"
runHook postInstall
'';
meta = with lib; {
description = "Automatically change the GTK theme to dark variant when Night Light activates";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ jonafato ];
homepage = "https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension/";
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, lib, fetchFromGitHub
}:
stdenv.mkDerivation rec {
pname = "alan2";
version = "2.8.7";
src = fetchFromGitHub {
owner = "alan-if";
repo = "alan";
rev = "71f23ec79f7f5d66aa5ae9fd3f9b8dae41a89f15";
sha256 = "066jknqz1v6sismvfxjfffl35h14v8qwgcq99ibhp08dy2fwraln";
};
makefile = "Makefile.unix";
installPhase = ''
mkdir -p $out/bin $out/share/alan2
cp compiler/alan $out/bin/alan2
cp interpreter/arun $out/bin/arun2
cp alan.readme ChangeLog $out/share/alan2
'';
meta = with lib; {
homepage = "https://www.alanif.se/";
description = "The Alan interactive fiction language (legacy version)";
license = licenses.artistic2;
platforms = platforms.linux;
maintainers = with maintainers; [ neilmayhew ];
};
}

View File

@ -0,0 +1,48 @@
{ stdenv, lib, fetchFromGitHub
, cgreen, openjdk, pkg-config, which
}:
stdenv.mkDerivation rec {
pname = "alan";
version = "3.0beta8";
src = fetchFromGitHub {
owner = "alan-if";
repo = "alan";
rev = "v${version}";
sha256 = "0zfg1frmb4yl39hk8h733bmlwk4rkikzfhvv7j34cxpdpsp7spzl";
};
postPatch = ''
patchShebangs --build bin
# The Makefiles have complex CFLAGS that don't allow separate control of optimization
sed -i 's/-O0/-O2/g' compiler/Makefile.common
sed -i 's/-Og/-O2/g' interpreter/Makefile.common
'';
installPhase = ''
mkdir -p $out/bin $out/share/alan/examples
# Build the release tarball
make package
# The release tarball isn't split up into subdirectories
tar -xf alan*.tgz --strip-components=1 -C $out/share/alan
mv $out/share/alan/*.alan $out/share/alan/examples
chmod a-x $out/share/alan/examples/*.alan
mv $out/share/alan/{alan,arun} $out/bin
# a2a3 isn't included in the release tarball
cp bin/a2a3 $out/bin
'';
nativeBuildInputs = [
cgreen
openjdk pkg-config which
];
meta = with lib; {
homepage = "https://www.alanif.se/";
description = "The Alan interactive fiction language";
license = licenses.artistic2;
platforms = platforms.linux;
maintainers = with maintainers; [ neilmayhew ];
};
}

View File

@ -44,13 +44,15 @@ gcc = "gcc9"
version = "11.4.2"
url = "https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run"
sha256 = "sha256-u9h8oOkT+DdFSnljZ0c1E83e9VUILk2G7Zo4ZZzIHwo="
gcc = "gcc11"
gcc = "gcc10"
["11.5"]
version = "11.5.0"
url = "https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run"
sha256 = "sha256-rgoWk9lJfPPYHmlIlD43lGNpANtxyY1Y7v2sr38aHkw="
gcc = "gcc11"
# cuda 11.5 has problems with glibc 2.4 -> keeping gcc10
# cf. https://forums.developer.nvidia.com/t/cuda-11-5-samples-throw-multiple-error-attribute-malloc-does-not-take-arguments/192750/15
gcc = "gcc10"
["11.6"]
version = "11.6.1"

View File

@ -169,6 +169,8 @@ let
outputs = [ "out" "lib" ];
installPhase = ''
# ensure that $lib/lib exists to avoid breaking builds
mkdir -p "$lib/lib"
# jni.h expects jni_md.h to be in the header search path.
ln -s $out/include/linux/*_md.h $out/include/
@ -194,7 +196,6 @@ let
# `native-image -H:CLibraryPath=''${lib.getLib graalvmXX-ce}/lib ...` and reduce
# closure size by not depending on GraalVM $out (that is much bigger)
# we always use glibc here, since musl is only supported for static compilation
mkdir -p "$lib/lib"
for f in "${glibc}/lib/"*; do
ln -s "$f" "$lib/lib/$(basename $f)"
done

View File

@ -12,14 +12,14 @@
stdenv.mkDerivation rec {
pname = "open-watcom-v2";
version = "unstable-2022-04-18";
version = "unstable-2022-04-21";
name = "${pname}-unwrapped-${version}";
src = fetchFromGitHub {
owner = "open-watcom";
repo = "open-watcom-v2";
rev = "3e762ff7342f9d82b7d8df54db9558158332ac02";
sha256 = "KMFvLIUqor2wxeO03Uh/jycvnCTOd1ySxYTq4PJ0tHk=";
rev = "bec9e74cdcd048db527ccacc8894493d2ec6e12a";
sha256 = "iJG7+OQYZCRyKO/NXkM3gJjgWRbQk26O+66QaAIJAcc=";
};
postPatch = ''

View File

@ -6,12 +6,12 @@
stdenv.mkDerivation rec {
pname = "qbe";
version = "unstable-2022-03-17";
version = "unstable-2022-04-11";
src = fetchgit {
url = "git://c9x.me/qbe.git";
rev = "c6b41eb8c8cece8266b2173a83216e1ce77eb2be";
sha256 = "sha256-vpNZNED+C9VMzWyyyntQuBgTvbpZpJ/EwOztdOEP7vI=";
rev = "2caa26e388b1c904d2f12fb09f84df7e761d8331";
sha256 = "sha256-TNKHKX/PbrNIQJ+Q50KemfcigEBKe7gmJzTjB6ofYL8=";
};
makeFlags = [ "PREFIX=$(out)" ];

View File

@ -49,7 +49,7 @@
, enableLTO ? stdenv.is64bit && stdenv.isLinux
, reproducibleBuild ? false
, pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}"
}:
} @ inputs:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
@ -83,7 +83,11 @@ let
tzdataSupport = tzdata != null && passthru.pythonAtLeast "3.9";
passthru = passthruFun rec {
passthru = let
# When we override the interpreter we also need to override the spliced versions of the interpreter
inputs' = lib.filterAttrs (_: v: ! lib.isDerivation v) inputs;
override = attr: let python = attr.override (inputs' // { self = python; }); in python;
in passthruFun rec {
inherit self sourceVersion packageOverrides;
implementation = "cpython";
libPrefix = "python${pythonVersion}";
@ -91,11 +95,11 @@ let
pythonVersion = with sourceVersion; "${major}.${minor}";
sitePackages = "lib/${libPrefix}/site-packages";
inherit hasDistutilsCxxPatch;
pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr};
pythonOnBuildForHost = pkgsBuildHost.${pythonAttr};
pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr};
pythonOnHostForHost = pkgsHostHost.${pythonAttr};
pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or {};
pythonOnBuildForBuild = override pkgsBuildBuild.${pythonAttr};
pythonOnBuildForHost = override pkgsBuildHost.${pythonAttr};
pythonOnBuildForTarget = override pkgsBuildTarget.${pythonAttr};
pythonOnHostForHost = override pkgsHostHost.${pythonAttr};
pythonOnTargetForTarget = if lib.hasAttr pythonAttr pkgsTargetTarget then (override pkgsTargetTarget.${pythonAttr}) else {};
};
version = with sourceVersion; "${major}.${minor}.${patch}${suffix}";

View File

@ -1,12 +1,11 @@
{ lib, stdenv, mkDerivation, fetchurl, cmake, pkg-config, alsa-lib
, libjack2, libsndfile, fftw, curl, gcc
, libXt, qtbase, qttools, qtwebengine
{ lib, stdenv, mkDerivation, fetchurl, cmake
, pkg-config, alsa-lib, libjack2, libsndfile, fftw
, curl, gcc, libXt, qtbase, qttools, qtwebengine
, readline, qtwebsockets, useSCEL ? false, emacs
, supercollider-with-plugins, supercolliderPlugins
, writeText, runCommand
}:
let
inherit (lib) optional;
in
mkDerivation rec {
pname = "supercollider";
version = "3.12.2";
@ -16,6 +15,17 @@ mkDerivation rec {
sha256 = "sha256-1QYorCgSwBK+SVAm4k7HZirr1j+znPmVicFmJdvO3g4=";
};
patches = [
# add support for SC_DATA_DIR and SC_PLUGIN_DIR env vars to override compile-time values
./supercollider-3.12.0-env-dirs.patch
];
nativeBuildInputs = [ cmake pkg-config qttools ];
buildInputs = [ gcc libjack2 libsndfile fftw curl libXt qtbase qtwebengine qtwebsockets readline ]
++ lib.optional (!stdenv.isDarwin) alsa-lib
++ lib.optional useSCEL emacs;
hardeningDisable = [ "stackprotector" ];
cmakeFlags = [
@ -23,17 +33,30 @@ mkDerivation rec {
"-DSC_EL=${if useSCEL then "ON" else "OFF"}"
];
nativeBuildInputs = [ cmake pkg-config qttools ];
buildInputs = [
gcc libjack2 libsndfile fftw curl libXt qtbase qtwebengine qtwebsockets readline ]
++ optional (!stdenv.isDarwin) alsa-lib
++ optional useSCEL emacs;
passthru.tests = {
# test to make sure sclang runs and included plugins are successfully found
sclang-sc3-plugins = let
supercollider-with-test-plugins = supercollider-with-plugins.override {
plugins = with supercolliderPlugins; [ sc3-plugins ];
};
testsc = writeText "test.sc" ''
var err = 0;
try {
MdaPiano.name.postln;
} {
err = 1;
};
err.exit;
'';
in runCommand "sclang-sc3-plugins-test" {} ''
timeout 60s env XDG_CONFIG_HOME="$(mktemp -d)" QT_QPA_PLATFORM=minimal ${supercollider-with-test-plugins}/bin/sclang ${testsc} >$out
'';
};
meta = with lib; {
description = "Programming language for real time audio synthesis";
homepage = "https://supercollider.github.io";
maintainers = with maintainers; [ mrmebelman ];
maintainers = with maintainers; [ lilyinstarlight ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
};

View File

@ -0,0 +1,33 @@
{ stdenv, lib, fetchurl, cmake, supercollider, fftw }:
stdenv.mkDerivation rec {
pname = "sc3-plugins";
version = "3.11.1";
src = fetchurl {
url = "https://github.com/supercollider/sc3-plugins/releases/download/Version-${version}/sc3-plugins-${version}-Source.tar.bz2";
sha256 = "sha256-JjUmu7PJ+x3yRibr+Av2gTREng51fPo7Rk+B4y2JvkQ=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
supercollider
fftw
];
cmakeFlags = [
"-DSC_PATH=${supercollider}/include/SuperCollider"
"-DSUPERNOVA=ON"
];
stripDebugList = [ "lib" "share" ];
meta = with lib; {
description = "Community plugins for SuperCollider";
homepage = "https://supercollider.github.io/sc3-plugins/";
maintainers = with maintainers; [ lilyinstarlight ];
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,65 @@
diff --git a/common/SC_Filesystem_unix.cpp b/common/SC_Filesystem_unix.cpp
index 52dc1fd2d..aae09ed9c 100644
--- a/common/SC_Filesystem_unix.cpp
+++ b/common/SC_Filesystem_unix.cpp
@@ -94,6 +94,10 @@ bool SC_Filesystem::isNonHostPlatformDirectoryName(const std::string& s) {
}
Path SC_Filesystem::defaultSystemAppSupportDirectory() {
+ const char* sc_data_dir = getenv("SC_DATA_DIR");
+ if (sc_data_dir)
+ return Path(sc_data_dir);
+
# ifdef SC_DATA_DIR
return Path(SC_DATA_DIR);
# else
@@ -125,6 +129,10 @@ Path SC_Filesystem::defaultUserConfigDirectory() {
}
Path SC_Filesystem::defaultResourceDirectory() {
+ const char* sc_data_dir = getenv("SC_DATA_DIR");
+ if (sc_data_dir)
+ return Path(sc_data_dir);
+
# ifdef SC_DATA_DIR
return Path(SC_DATA_DIR);
# else
diff --git a/server/scsynth/SC_Lib_Cintf.cpp b/server/scsynth/SC_Lib_Cintf.cpp
index f6219307e..28e13eb98 100644
--- a/server/scsynth/SC_Lib_Cintf.cpp
+++ b/server/scsynth/SC_Lib_Cintf.cpp
@@ -178,9 +178,13 @@ void initialize_library(const char* uGensPluginPath) {
using DirName = SC_Filesystem::DirName;
if (loadUGensExtDirs) {
+ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR");
+ if (sc_plugin_dir) {
+ PlugIn_LoadDir(sc_plugin_dir, true);
+ }
#ifdef SC_PLUGIN_DIR
// load globally installed plugins
- if (bfs::is_directory(SC_PLUGIN_DIR)) {
+ else if (bfs::is_directory(SC_PLUGIN_DIR)) {
PlugIn_LoadDir(SC_PLUGIN_DIR, true);
}
#endif // SC_PLUGIN_DIR
diff --git a/server/supernova/server/main.cpp b/server/supernova/server/main.cpp
index b2b5adf4e..6cb8c411c 100644
--- a/server/supernova/server/main.cpp
+++ b/server/supernova/server/main.cpp
@@ -224,8 +224,14 @@ void set_plugin_paths(server_arguments const& args, nova::sc_ugen_factory* facto
}
}
} else {
+ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR");
+ if (sc_plugin_dir) {
+ factory->load_plugin_folder(sc_plugin_dir);
+ }
#ifdef SC_PLUGIN_DIR
- factory->load_plugin_folder(SC_PLUGIN_DIR);
+ else {
+ factory->load_plugin_folder(SC_PLUGIN_DIR);
+ }
#endif
factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::Resource) / SC_PLUGIN_DIR_NAME);
factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::SystemExtension));

View File

@ -0,0 +1,18 @@
{ symlinkJoin, makeWrapper, supercollider, plugins }:
symlinkJoin {
name = "supercollider-with-plugins-${supercollider.version}";
paths = [ supercollider ] ++ plugins;
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
for exe in $out/bin/*; do
wrapProgram $exe \
--set SC_PLUGIN_DIR "$out/lib/SuperCollider/plugins" \
--set SC_DATA_DIR "$out/share/SuperCollider"
done
'';
inherit (supercollider) pname version meta;
}

View File

@ -2,17 +2,17 @@
rustPlatform.buildRustPackage rec {
pname = "wasmtime";
version = "0.35.2";
version = "0.36.0";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = pname;
rev = "v${version}";
sha256 = "sha256-4oZglk7MInLIsvbeCfs4InAcmSmzZp16XL5+8eoYXJk=";
sha256 = "sha256-nSA78eQRbJ5JTDquaRqRgFU0V8RVCzvWUONgHxGj+Mc=";
fetchSubmodules = true;
};
cargoSha256 = "sha256-IqFOw9bGdM3IEoMeqDlxKfLnZvR80PSnwP9kr1tI/h0=";
cargoSha256 = "sha256-/+uioJRXiugsV7SUwsDNHGaPxrxrhscQUGyXOzzwG/g=";
# This environment variable is required so that when wasmtime tries
# to run tests by using the rusty_v8 crate, it does not try to

View File

@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
sha256 = "sha256-aQrfsiPuNrEMscZrOoONiN665KlNmnOiYj9ZIyzW304=";
};
postPatch = ''
for F in tools/discoverer_acceptance_tests.c tools/discoverer.c; do
substituteInPlace "$F" --replace "/usr/bin/nm" "nm"
done
'';
nativeBuildInputs = [ cmake ];
meta = with lib; {

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "libraspberrypi";
version = "unstable-2021-10-25";
version = "unstable-2022-03-23";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "userland";
rev = "0093675e4aa6e152a3ffc318b51a124e96eb287b";
sha256 = "qpooQy9k2UZ94KaqlFwurV+tt0GrBSRffGdlvMcn1XU=";
rev = "c4fd1b8986c6d6d4ae5cd51e65a8bbeb495dfa4e";
hash = "sha256-sAfpfq7C9HXVS7ym3UFIO6bpEIWFCOfVCSN2n5q1RNg=";
};
patches = [

View File

@ -8,7 +8,7 @@ assert let majorIs = lib.versions.major cudatoolkit.version;
in majorIs == "9" || majorIs == "10" || majorIs == "11";
let
version = "2.5.4";
version = "2.6.2";
# We define a specific set of CUDA compute capabilities here,
# because CUDA 11 does not support compute capability 3.0. Also,
@ -45,7 +45,7 @@ in stdenv.mkDerivation {
inherit version;
src = fetchurl {
url = "https://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-${version}.tar.gz";
sha256 = "0rrvd21hczxlm8awc9z54fj7iqpjmsb518fy32s6ghz0g90znd3p";
hash = "sha256-dbVU2rAJA+LRC5cskT5Q5/iMvGLzrkMrWghsfk7aCnE=";
name = "magma-${version}.tar.gz";
};
@ -64,23 +64,6 @@ in stdenv.mkDerivation {
enableParallelBuilding=true;
buildFlags = [ "magma" "magma_sparse" ];
# MAGMA's default CMake setup does not care about installation. So we copy files directly.
installPhase = ''
mkdir -p $out
mkdir -p $out/include
mkdir -p $out/lib
mkdir -p $out/lib/pkgconfig
cp -a ../include/*.h $out/include
#cp -a sparse-iter/include/*.h $out/include
cp -a lib/*.so $out/lib
cat ../lib/pkgconfig/magma.pc.in | \
sed -e s:@INSTALL_PREFIX@:"$out": | \
sed -e s:@CFLAGS@:"-I$out/include": | \
sed -e s:@LIBS@:"-L$out/lib -lmagma -lmagma_sparse": | \
sed -e s:@MAGMA_REQUIRED@:: \
> $out/lib/pkgconfig/magma.pc
'';
meta = with lib; {
description = "Matrix Algebra on GPU and Multicore Architectures";
license = licenses.bsd3;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "nccl-${version}-cuda-${cudatoolkit.majorVersion}";
version = "2.7.8-1";
version = "2.12.10-1";
src = fetchFromGitHub {
owner = "NVIDIA";
repo = "nccl";
rev = "v${version}";
sha256 = "0xxiwaw239dc9g015fka3k1nvm5zyl00dzgxnwzkang61dys9wln";
sha256 = "sha256-QqORzm0gD+QG+P8rId8bQn2oZsxL5YyxCIobUVs85wE=";
};
outputs = [ "out" "dev" ];

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "adafruit-io";
version = "2.6.0";
version = "2.7.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -18,8 +18,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "adafruit";
repo = "Adafruit_IO_Python";
rev = version;
hash = "sha256-tjm+HvUuLK3IxXwuxPidJaBetj+n0BzKOuLj75bM7a8=";
rev = "refs/tags/${version}";
hash = "sha256-BIquSrhtRv2NEOn/G6TTfYMrL2OBwwJQYZ455fznwdU=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;

View File

@ -40,6 +40,8 @@ buildPythonPackage rec {
disabledTests = [
"test_interact_syntax_error"
# Output and the sandbox don't work well together
"test_interact_multiple_indented_lines"
];
pythonImportsCheck = [

View File

@ -0,0 +1,40 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aioqsw";
version = "0.0.5";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "Noltari";
repo = pname;
rev = version;
hash = "sha256-2MuJrWrjcRkdeVkKfv/nUVfHyBtKKsq1sC5ISSEtyEE=";
};
propagatedBuildInputs = [
aiohttp
];
# Module has no tests
doCheck = false;
pythonImportsCheck = [
"aioqsw"
];
meta = with lib; {
description = "Library to fetch data from QNAP QSW switches";
homepage = "https://github.com/Noltari/aioqsw";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "boschshcpy";
version = "0.2.31";
version = "0.2.32";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "tschamm";
repo = pname;
rev = version;
sha256 = "sha256-04qTjwnPckBHKBs9+BFWtTJ9uVc0U1oJAiLIE1nqQdE=";
sha256 = "sha256-tJlgmxa6HppLLTs4ZggnJ5H6NOH3v+C9pUfLBmxr4XY=";
};
propagatedBuildInputs = [

View File

@ -1,22 +1,28 @@
{ lib
, buildPythonPackage
, fetchPypi
, sqlalchemy
, alembic
, banal
, buildPythonPackage
, fetchPypi
, pythonOlder
, sqlalchemy
}:
buildPythonPackage rec {
pname = "dataset";
version = "1.5.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-TDZ6fAqFxOdI79o07uMAw/zD8HbHXDKQt0mnoFM1yEc=";
hash = "sha256-TDZ6fAqFxOdI79o07uMAw/zD8HbHXDKQt0mnoFM1yEc=";
};
propagatedBuildInputs = [
sqlalchemy alembic banal
alembic
banal
sqlalchemy
];
# checks attempt to import nonexistent module 'test.test' and fail
@ -30,6 +36,6 @@ buildPythonPackage rec {
description = "Toolkit for Python-based database access";
homepage = "https://dataset.readthedocs.io";
license = licenses.mit;
maintainers = [ maintainers.xfnw ];
maintainers = with maintainers; [ xfnw ];
};
}

View File

@ -1,15 +1,19 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, dill
, filelock
, fetchFromGitHub
, fsspec
, huggingface-hub
, importlib-metadata
, multiprocess
, numpy
, packaging
, pandas
, pyarrow
, pythonOlder
, requests
, responses
, tqdm
, xxhash
}:
@ -17,26 +21,33 @@
buildPythonPackage rec {
pname = "datasets";
version = "1.18.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "huggingface";
repo = pname;
rev = version;
sha256 = "sha256-2x6DpsDcVF2O5iJKeMEGw/aJwZPc7gSGaK2947c3B6s=";
hash = "sha256-2x6DpsDcVF2O5iJKeMEGw/aJwZPc7gSGaK2947c3B6s=";
};
propagatedBuildInputs = [
aiohttp
dill
filelock
fsspec
huggingface-hub
multiprocess
numpy
packaging
pandas
pyarrow
requests
responses
tqdm
xxhash
] ++ lib.optionals (pythonOlder "3.8") [
importlib-metadata
];
# Tests require pervasive internet access.
@ -45,11 +56,13 @@ buildPythonPackage rec {
# Module import will attempt to create a cache directory.
postFixup = "export HF_MODULES_CACHE=$TMPDIR";
pythonImportsCheck = [ "datasets" ];
pythonImportsCheck = [
"datasets"
];
meta = with lib; {
description = "Open-access datasets and evaluation metrics for natural language processing";
homepage = "https://github.com/huggingface/datasets";
description = "Fast, efficient, open-access datasets and evaluation metrics for natural language processing";
changelog = "https://github.com/huggingface/datasets/releases/tag/${version}";
license = licenses.asl20;
platforms = platforms.unix;

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "dropbox";
version = "11.29.0";
version = "11.30.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "dropbox";
repo = "dropbox-sdk-python";
rev = "v${version}";
sha256 = "sha256-TKJb34hJYzZtQcqgopLpN8c1utWCNjmev9epY+hYU7M=";
sha256 = "sha256-pq/LkyOCS0PnujfN9aIx42aeZ8tw4XvRQ4Vid/nXgWE=";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchPypi
, pythonOlder
, requests
}:
buildPythonPackage rec {
pname = "eagle100";
version = "0.1.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-i9ZvbjxSENJlQ+9sqWnIl1fL6tVbG3E/IUhe7b59sBk=";
};
propagatedBuildInputs = [
requests
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"eagle100"
];
meta = with lib; {
description = "Python library for interacting with Rainforest EAGLE devices";
homepage = "https://github.com/hastarin/eagle100";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -8,7 +8,7 @@
}:
buildPythonPackage rec {
version = "3.0.1";
version = "3.1.0";
pname = "fints";
disabled = isPy27;
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "raphaelm";
repo = "python-fints";
rev = "v${version}";
sha256 = "sha256-P9+3QuB5c7WMjic2fSp8pwXrOUHIrLThvfodtbBXLMY=";
hash = "sha256-3frJIEZgVnZD2spWYIuEtUt7MVsU/Zj82HOB9fKYQWE=";
};
propagatedBuildInputs = [ requests mt-940 sepaxml bleach ];

View File

@ -58,7 +58,7 @@ buildPythonPackage rec {
repo = "ibis";
owner = "ibis-project";
rev = version;
sha256 = "sha256-n3fR6wvcSfIo7760seB+5SxtoYSqQmqkzZ9VlNQF200=";
hash = "sha256-n3fR6wvcSfIo7760seB+5SxtoYSqQmqkzZ9VlNQF200=";
};
nativeBuildInputs = [ poetry-core ];
@ -94,7 +94,8 @@ buildPythonPackage rec {
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'atpublic = ">=2.3,<3"' 'atpublic = ">=2.3"'
--replace 'atpublic = ">=2.3,<3"' 'atpublic = ">=2.3"' \
--replace 'regex = "^2021.7.6"' 'regex = "*"'
'';
preBuild = ''

View File

@ -1,20 +1,46 @@
{ lib, buildPythonPackage, fetchPypi, flask, ldapdomaindump, pycryptodomex, pyasn1, pyopenssl, chardet, setuptools }:
{ lib
, buildPythonPackage
, chardet
, fetchPypi
, flask
, ldapdomaindump
, pyasn1
, pycryptodomex
, pyopenssl
, pythonOlder
, setuptools
, six
}:
buildPythonPackage rec {
pname = "impacket";
version = "0.9.24";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "18d557d387f4914fafa739813b9172bc3f8bd9c036e93bf589a8e0ebb7304bba";
hash = "sha256-GNVX04f0kU+vpzmBO5FyvD+L2cA26Tv1iajg67cwS7o=";
};
propagatedBuildInputs = [ flask ldapdomaindump pycryptodomex pyasn1 pyopenssl chardet setuptools ];
propagatedBuildInputs = [
chardet
flask
ldapdomaindump
pyasn1
pycryptodomex
pyopenssl
setuptools
six
];
# fail with:
# RecursionError: maximum recursion depth exceeded
doCheck = false;
pythonImportsCheck = [ "impacket" ];
pythonImportsCheck = [
"impacket"
];
meta = with lib; {
description = "Network protocols Constructors and Dissectors";

View File

@ -1,11 +1,12 @@
{ buildPythonPackage
{ lib
, buildPythonPackage
, blessings
, fetchFromGitHub
, invoke
, lib
, releases
, semantic-version
, tabulate
, tqdm
, twine
}:
@ -27,12 +28,22 @@ buildPythonPackage rec {
--replace "tabulate==0.7.5" "tabulate"
'';
propagatedBuildInputs = [ blessings invoke releases semantic-version tabulate twine ];
propagatedBuildInputs = [
blessings
invoke
releases
semantic-version
tabulate
tqdm
twine
];
# There's an error loading the test suite. See https://github.com/pyinvoke/invocations/issues/29.
doCheck = false;
pythonImportsCheck = [ "invocations" ];
pythonImportsCheck = [
"invocations"
];
meta = with lib; {
description = "Common/best-practice Invoke tasks and collections";

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "md-toc";
version = "8.1.2";
version = "8.1.3";
format = "setuptools";
disabled = pythonOlder "3.5";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "frnmst";
repo = pname;
rev = version;
sha256 = "sha256-EmhCZhxUCzBMqScPeawvcWmP9rrthow1vhTZachjCDI=";
sha256 = "sha256-/Hi2CW3aqbvCr7xGHD9lAe9U84waSjVfTfWq76NXNT4=";
};
propagatedBuildInputs = [

View File

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "mdurl";
version = "0.1.0";
version = "0.1.1";
format = "pyproject";
disabled = pythonOlder "3.6";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "hukkin";
repo = pname;
rev = version;
sha256 = "sha256-AVklWFc4o5R9OzS9BYauuOaxm89P/Ih5l3Vrb2P0El4=";
sha256 = "sha256-SBJSs+i+I0jF90i3o6BUgLCDR6Et34fXEmQ7fbDoAbA=";
};
nativeBuildInputs = [

View File

@ -3,6 +3,7 @@
, fetchPypi
, regex
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
@ -10,9 +11,11 @@ buildPythonPackage rec {
version = "0.9.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-sq0a5jovZb149eCorFEKmPNgekPx2yqNRmNqXZ5KMME=";
hash = "sha256-sq0a5jovZb149eCorFEKmPNgekPx2yqNRmNqXZ5KMME=";
};
propagatedBuildInputs = [
@ -23,6 +26,11 @@ buildPythonPackage rec {
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.py \
--replace "regex>=2022.3.15" "regex"
'';
pythonImportsCheck = [
"parsimonious"
"parsimonious.grammar"
@ -30,9 +38,9 @@ buildPythonPackage rec {
];
meta = with lib; {
description = "Arbitrary-lookahead parser";
homepage = "https://github.com/erikrose/parsimonious";
description = "Fast arbitrary-lookahead parser written in pure Python";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}

View File

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "pex";
version = "2.1.81";
version = "2.1.82";
format = "flit";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-EW7kOUTzLjmBVKcdRrcdx+AAMSp1hw2LJ/mHMuKViLE=";
hash = "sha256-VwbpcKPtPH/43E+lfzUken8JvX8QtTa6o0H0S2RXbYk=";
};
nativeBuildInputs = [

View File

@ -2,7 +2,7 @@
let
pname = "phe";
version = "1.4.0";
version = "1.5.0";
in
buildPythonPackage {
@ -13,7 +13,7 @@ buildPythonPackage {
src = fetchPypi {
inherit pname version;
sha256 = "0wzlk7d24kp0f5kpm0kvvc88mm42144f5cg9pcpb1dsfha75qy5m";
sha256 = "sha256-mS+3CR0kJ/DZczlG+PNQrN1NHQEgV/Kq02S6eflwM5w=";
};
buildInputs = [ click gmpy2 numpy ];

View File

@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "policyuniverse";
version = "1.5.0.20220416";
version = "1.5.0.20220420";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-RGXOqhXPsEQR5wcXDWz00J6KcdJOY5ZXSLVXT18wDDk=";
sha256 = "sha256-HWyzwvsn3ikL5cbEPljMHShF2vQEOSP6umk08UZgQsI=";
};
# Tests are not shipped and there are no GitHub tags

View File

@ -27,12 +27,12 @@ let
debuggerName = lib.strings.getName debugger;
in
buildPythonPackage rec {
version = "4.7.0";
version = "4.8.0";
pname = "pwntools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-dDiOKGdeehkp92PfWhzsaj1YlkEEm2z0drscVuxQqI4=";
sha256 = "sha256-QgUuLYg3EOTh2gQekWdabXGftOXvLdJFyyhT2hEmkpA=";
};
postPatch = ''

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "pykeyatome";
version = "1.5.1";
version = "1.5.2";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "jugla";
repo = "pyKeyAtome";
rev = "refs/tags/V${version}";
sha256 = "sha256-LIPNCItD+qmk9NKAYbhEQC/A05Le9CNXECg7X2SlfdI=";
sha256 = "sha256-9J8MaQs3+/Ld+v3WmA98lSu3iMrX4Se4q1jD1KeRTpw=";
};
propagatedBuildInputs = [

View File

@ -2,24 +2,29 @@
, buildPythonPackage
, fetchFromGitHub
, importlib-resources
, proxy_tools
, pygobject3
, pyqtwebengine
, pytest
, pythonOlder
, qt5
, qtpy
, six
, xvfb-run
, proxy_tools
}:
buildPythonPackage rec {
pname = "pywebview";
version = "3.6.1";
version = "3.6.3";
format = "setuptools";
disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "r0x0r";
repo = "pywebview";
rev = version;
sha256 = "sha256-9o9ghqvU9Hnmf2aj/BqX7WBgS9ilRSnicR+qd25OfjI=";
hash = "sha256-qOLK4MHdpmcCazCNfojncD8XH7OJB2H/pIW5XAJAlDo=";
};
nativeBuildInputs = [
@ -29,10 +34,15 @@ buildPythonPackage rec {
propagatedBuildInputs = [
pyqtwebengine
proxy_tools
] ++ lib.optionals (pythonOlder "3.7") [ importlib-resources ];
six
] ++ lib.optionals (pythonOlder "3.7") [
importlib-resources
];
checkInputs = [
pygobject3
pytest
qtpy
xvfb-run
];
@ -54,11 +64,13 @@ buildPythonPackage rec {
popd
'';
pythonImportsCheck = [ "webview" ];
pythonImportsCheck = [
"webview"
];
meta = with lib; {
homepage = "https://github.com/r0x0r/pywebview";
description = "Lightweight cross-platform wrapper around a webview";
homepage = "https://github.com/r0x0r/pywebview";
license = licenses.bsd3;
maintainers = with maintainers; [ jojosch ];
};

View File

@ -2,7 +2,7 @@
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, selectors2
, pythonOlder
}:
buildPythonPackage rec {
@ -10,17 +10,15 @@ buildPythonPackage rec {
version = "0.1.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "sethmlarson";
repo = pname;
rev = "v${version}";
sha256 = "Lmwgusc4EQlF0GHmMTUxWzUCjBk19cvurNwbOnT+1jM=";
hash = "sha256-Lmwgusc4EQlF0GHmMTUxWzUCjBk19cvurNwbOnT+1jM=";
};
propagatedBuildInputs = [
selectors2
];
checkInputs = [
pytestCheckHook
];

View File

@ -0,0 +1,61 @@
{ lib
, aiohttp
, aresponses
, async-timeout
, attrs
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, pytz
}:
buildPythonPackage rec {
pname = "seventeentrack";
version = "2022.04.4";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "McSwindler";
repo = pname;
rev = version;
hash = "sha256-r77UA9NDQ1EQIVXZK6povmp/jIIX/f+NbpH0qmYiHZs=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
async-timeout
attrs
pytz
];
checkInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
disabledTestPaths = [
# Ignore the examples directory as the files are prefixed with test_
"examples/"
];
pythonImportsCheck = [
"seventeentrack"
];
meta = with lib; {
description = "Python library to track package info from 17track.com";
homepage = "https://github.com/McSwindler/seventeentrack";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "types-python-dateutil";
version = "2.8.11";
version = "2.8.12";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-7cBdC5MgGSirC1/ysxRBPdPSsk6xLEcCl++Sned8k+8=";
sha256 = "sha256-7zBTt0XwHERDtRK2s9WwT7ry1HaqUDtsyTIEah7fpWo=";
};
pythonImportsCheck = [ "dateutil-stubs" ];

View File

@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "types-decorator";
version = "5.1.5";
version = "5.1.6";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-CrPgAZyBGRIrXzD0IlUkcbkc8xOLPI69krQb1d3h3QI=";
sha256 = "sha256-OZ+qczvJMstRtQ08odfpV7KuAvPE1xGcdpYxKCo4aKY=";
};
# Modules doesn't have tests

View File

@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "types-requests";
version = "2.27.19";
version = "2.27.20";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-eV43gRcIjR5L9BosAaFTtz1upAqp18CsdTq96EwNOo8=";
sha256 = "sha256-YzRFc83mxO/UTYZ8AVjZ+35r65VyHL6YgvP4V+6KU5g=";
};
propagatedBuildInputs = [

View File

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "west";
version = "0.13.0";
version = "0.13.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-jlOmeIM6NfgYykjhgs7KpnAXFMbT/lpbT/bBaJ2CGY4=";
hash = "sha256-B6B7shZ8FM5pyXzXknJv9mwr+ERq4kiEzRf5jLTCicM=";
};
propagatedBuildInputs = [

View File

@ -1,32 +1,55 @@
{ lib, buildPythonPackage, fetchFromGitHub, isPy27
{ lib
, buildPythonPackage
, click
, pytest
, fetchFromGitHub
, fetchpatch
, pytestCheckHook
, pythonOlder
, six
}:
buildPythonPackage rec {
pname = "xdis";
version = "6.0.3";
disabled = isPy27;
version = "unstable-2022-04-13";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "rocky";
repo = "python-xdis";
rev = version;
sha256 = "1qvg3bwqzqxlzlixz2di3si7siy0ismq93wd57r8cqmxl54gva6h";
# Support for later Python releases is missing in 6.0.3
rev = "f888df7df5cb8839927e9187c258769cc77fb7a3";
hash = "sha256-V1ws5GibRkutFRNcjlP7aW+AshSyWavXIxuwznVbRlU=";
};
checkInputs = [ pytest ];
propagatedBuildInputs = [ six click ];
propagatedBuildInputs = [
click
six
];
checkPhase = ''
make check
'';
pythonImportsCheck = [ "xdis" ];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"xdis"
];
disabledTestPaths = [
# Our Python release is not in the test matrix
"test_unit/test_disasm.py"
];
disabledTests = [
"test_big_linenos"
"test_basic"
];
meta = with lib; {
description = "Python cross-version byte-code disassembler and marshal routines";
homepage = "https://github.com/rocky/python-xdis/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ ];
};
}

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "xknx";
version = "0.20.3";
version = "0.20.4";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -20,8 +20,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "XKNX";
repo = pname;
rev = version;
sha256 = "sha256-RGwo6IH1WDNBanpQ14gB3/75db3NPwNUsFy0wPP1Yok=";
rev = "refs/tags/${version}";
sha256 = "sha256-uqFS/kveWLEmu+8L9dOprcQcO+Odq9lzfTI9lqIhaSw=";
};
propagatedBuildInputs = [

View File

@ -32,13 +32,13 @@ with py.pkgs;
buildPythonApplication rec {
pname = "checkov";
version = "2.0.1068";
version = "2.0.1075";
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = pname;
rev = version;
hash = "sha256-/WJiGWBGcVDoiX+FnEbIFaMRxQSnJTqLqHbKlEoCqWU=";
hash = "sha256-5KAmIJngrs4nvjLJsaUrbgZsMFe0eTTDiwquyguvKLI=";
};
nativeBuildInputs = with py.pkgs; [

View File

@ -32,22 +32,6 @@ let newPython = python3.override {
"test_ec_verify_should_return_false_if_signature_invalid"
];
});
# conan needs jinja2<3
jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
version = "2.11.3";
src = oldAttrs.src.override {
inherit version;
sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6";
};
});
# old jinja2 needs old markupsafe
markupsafe = super.markupsafe.overridePythonAttrs (oldAttrs: rec {
version = "1.1.1";
src = oldAttrs.src.override {
inherit version;
sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b";
};
});
distro = super.distro.overridePythonAttrs (oldAttrs: rec {
version = "1.5.0";
src = oldAttrs.src.override {
@ -59,14 +43,14 @@ let newPython = python3.override {
};
in newPython.pkgs.buildPythonApplication rec {
version = "1.43.1";
version = "1.47.0";
pname = "conan";
src = fetchFromGitHub {
owner = "conan-io";
repo = "conan";
rev = version;
sha256 = "0jwi7smgy2d9m49igijqr2p4ncw5nksjbijj8fzjvf1lgxgnyjhr";
sha256 = "1zs2xb22rsy5fsc0fd7c95vrx1mfz7vasyg1lqkzyfimvn5zah6n";
};
propagatedBuildInputs = with newPython.pkgs; [

View File

@ -1,7 +1,7 @@
{ lib, buildGoModule, fetchFromGitLab, fetchurl }:
let
version = "14.9.1";
version = "14.10.0";
in
buildGoModule rec {
inherit version;
@ -20,7 +20,7 @@ buildGoModule rec {
owner = "gitlab-org";
repo = "gitlab-runner";
rev = "v${version}";
sha256 = "1h6fyhbc154fr6a8brva3clirgvga6sal6ikylf9mbkxbh7d9rcn";
sha256 = "033b68hwqk5hn2by4hk1z7v6p08d505grl9hrx72p4wpyk18c80l";
};
patches = [

Some files were not shown because too many files have changed in this diff Show More