Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-02-14 00:12:36 +00:00 committed by GitHub
commit 319f251f5c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
197 changed files with 3954 additions and 4053 deletions

View File

@ -4800,6 +4800,11 @@
githubId = 32810399;
name = "Diffumist";
};
DimitarNestorov = {
name = "Dimitar Nestorov";
github = "DimitarNestorov";
githubId = 8790386;
};
diogotcorreia = {
name = "Diogo Correia";
email = "me@diogotc.com";
@ -10370,6 +10375,12 @@
githubId = 894884;
name = "Jakub Kozłowski";
};
kud = {
email = "kasa7qi@gmail.com";
github = "KUD-00";
githubId = 70764075;
name = "kud";
};
kupac = {
github = "Kupac";
githubId = 8224569;

View File

@ -13,8 +13,23 @@
./lxd.nix
];
networking.useDHCP = false;
networking.interfaces.eth0.useDHCP = true;
networking = {
dhcpcd.enable = false;
useDHCP = false;
useHostResolvConf = false;
};
systemd.network = {
enable = true;
networks."50-eth0" = {
matchConfig.Name = "eth0";
networkConfig = {
DHCP = "ipv4";
IPv6AcceptRA = true;
};
linkConfig.RequiredForOnline = "routable";
};
};
system.stateVersion = "@stateVersion@"; # Did you read the comment?
}

View File

@ -25,7 +25,21 @@
fi
'';
# Network
networking.useDHCP = false;
networking.interfaces.eth0.useDHCP = true;
networking = {
dhcpcd.enable = false;
useDHCP = false;
useHostResolvConf = false;
};
systemd.network = {
enable = true;
networks."50-eth0" = {
matchConfig.Name = "eth0";
networkConfig = {
DHCP = "ipv4";
IPv6AcceptRA = true;
};
linkConfig.RequiredForOnline = "routable";
};
};
}

View File

@ -14,14 +14,15 @@
];
networking = {
dhcdpcd.enable = false;
dhcpcd.enable = false;
useDHCP = false;
useHostResolvConf = false;
};
systemd.network = {
enable = true;
networks."50-eth0" = {
matchConfig.Name = "eth0";
networks."50-enp5s0" = {
matchConfig.Name = "enp5s0";
networkConfig = {
DHCP = "ipv4";
IPv6AcceptRA = true;

View File

@ -27,8 +27,9 @@
# Network
networking = {
dhcdpcd.enable = false;
dhcpcd.enable = false;
useDHCP = false;
useHostResolvConf = false;
};
systemd.network = {

View File

@ -36,7 +36,8 @@ in {
description = mdDoc ''
Declarative configuration of firewall rules.
All rules will be stored in `/var/lib/opensnitch/rules`.
All rules will be stored in `/var/lib/opensnitch/rules` by default.
Rules path can be configured with `settings.Rules.Path`.
See [upstream documentation](https://github.com/evilsocket/opensnitch/wiki/Rules)
for available options.
'';
@ -79,15 +80,6 @@ in {
'';
};
DefaultDuration = mkOption {
type = types.enum [
"once" "always" "until restart" "30s" "5m" "15m" "30m" "1h"
];
description = mdDoc ''
Default duration of firewall rule.
'';
};
InterceptUnknown = mkOption {
type = types.bool;
description = mdDoc ''
@ -134,6 +126,30 @@ in {
};
};
Ebpf.ModulesPath = mkOption {
type = types.path;
default = if cfg.settings.ProcMonitorMethod == "ebpf" then "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd" else null;
defaultText = literalExpression ''
if cfg.settings.ProcMonitorMethod == "ebpf" then
"\\$\\{config.boot.kernelPackages.opensnitch-ebpf\\}/etc/opensnitchd"
else null;
'';
description = mdDoc ''
Configure eBPF modules path. Used when
`settings.ProcMonitorMethod` is set to `ebpf`.
'';
};
Rules.Path = mkOption {
type = types.path;
default = "/var/lib/opensnitch/rules";
description = mdDoc ''
Path to the directory where firewall rules can be found and will
get stored by the NixOS module.
'';
};
};
};
description = mdDoc ''
@ -151,40 +167,42 @@ in {
systemd = {
packages = [ pkgs.opensnitch ];
services.opensnitchd.wantedBy = [ "multi-user.target" ];
services.opensnitchd = {
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = [
""
"${pkgs.opensnitch}/bin/opensnitchd --config-file ${format.generate "default-config.json" cfg.settings}"
];
};
preStart = mkIf (cfg.rules != {}) (let
rules = flip mapAttrsToList predefinedRules (file: content: {
inherit (content) file;
local = "${cfg.settings.Rules.Path}/${file}.json";
});
in ''
# Remove all firewall rules from rules path (configured with
# cfg.settings.Rules.Path) that are symlinks to a store-path, but aren't
# declared in `cfg.rules` (i.e. all networks that were "removed" from
# `cfg.rules`).
find ${cfg.settings.Rules.Path} -type l -lname '${builtins.storeDir}/*' ${optionalString (rules != {}) ''
-not \( ${concatMapStringsSep " -o " ({ local, ... }:
"-name '${baseNameOf local}*'")
rules} \) \
''} -delete
${concatMapStrings ({ file, local }: ''
ln -sf '${file}' "${local}"
'') rules}
'');
};
tmpfiles.rules = [
"d ${cfg.settings.Rules.Path} 0750 root root - -"
"L+ /etc/opensnitchd/system-fw.json - - - - ${pkgs.opensnitch}/etc/opensnitchd/system-fw.json"
];
};
systemd.services.opensnitchd.preStart = mkIf (cfg.rules != {}) (let
rules = flip mapAttrsToList predefinedRules (file: content: {
inherit (content) file;
local = "/var/lib/opensnitch/rules/${file}.json";
});
in ''
# Remove all firewall rules from `/var/lib/opensnitch/rules` that are symlinks to a store-path,
# but aren't declared in `cfg.rules` (i.e. all networks that were "removed" from
# `cfg.rules`).
find /var/lib/opensnitch/rules -type l -lname '${builtins.storeDir}/*' ${optionalString (rules != {}) ''
-not \( ${concatMapStringsSep " -o " ({ local, ... }:
"-name '${baseNameOf local}*'")
rules} \) \
''} -delete
${concatMapStrings ({ file, local }: ''
ln -sf '${file}' "${local}"
'') rules}
if [ ! -f /etc/opensnitchd/system-fw.json ]; then
cp "${pkgs.opensnitch}/etc/opensnitchd/system-fw.json" "/etc/opensnitchd/system-fw.json"
fi
'');
environment.etc = mkMerge [ ({
"opensnitchd/default-config.json".source = format.generate "default-config.json" cfg.settings;
}) (mkIf (cfg.settings.ProcMonitorMethod == "ebpf") {
"opensnitchd/opensnitch.o".source = "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd/opensnitch.o";
"opensnitchd/opensnitch-dns.o".source = "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd/opensnitch-dns.o";
"opensnitchd/opensnitch-procs.o".source = "${config.boot.kernelPackages.opensnitch-ebpf}/etc/opensnitchd/opensnitch-procs.o";
})];
};
meta.maintainers = with lib.maintainers; [ onny ];
}

View File

@ -1,11 +1,17 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.ttyd;
inherit (lib)
optionals
types
concatLists
mapAttrsToList
mkOption
;
# Command line arguments for the ttyd daemon
args = [ "--port" (toString cfg.port) ]
++ optionals (cfg.socket != null) [ "--interface" cfg.socket ]
@ -14,6 +20,7 @@ let
++ (concatLists (mapAttrsToList (_k: _v: [ "--client-option" "${_k}=${_v}" ]) cfg.clientOptions))
++ [ "--terminal-type" cfg.terminalType ]
++ optionals cfg.checkOrigin [ "--check-origin" ]
++ optionals cfg.writeable [ "--writable" ] # the typo is correct
++ [ "--max-clients" (toString cfg.maxClients) ]
++ optionals (cfg.indexFile != null) [ "--index" cfg.indexFile ]
++ optionals cfg.enableIPv6 [ "--ipv6" ]
@ -30,40 +37,40 @@ in
options = {
services.ttyd = {
enable = mkEnableOption (lib.mdDoc "ttyd daemon");
enable = lib.mkEnableOption ("ttyd daemon");
port = mkOption {
type = types.port;
default = 7681;
description = lib.mdDoc "Port to listen on (use 0 for random port)";
description = "Port to listen on (use 0 for random port)";
};
socket = mkOption {
type = types.nullOr types.path;
default = null;
example = "/var/run/ttyd.sock";
description = lib.mdDoc "UNIX domain socket path to bind.";
description = "UNIX domain socket path to bind.";
};
interface = mkOption {
type = types.nullOr types.str;
default = null;
example = "eth0";
description = lib.mdDoc "Network interface to bind.";
description = "Network interface to bind.";
};
username = mkOption {
type = types.nullOr types.str;
default = null;
description = lib.mdDoc "Username for basic authentication.";
description = "Username for basic http authentication.";
};
passwordFile = mkOption {
type = types.nullOr types.path;
default = null;
apply = value: if value == null then null else toString value;
description = lib.mdDoc ''
File containing the password to use for basic authentication.
description = ''
File containing the password to use for basic http authentication.
For insecurely putting the password in the globally readable store use
`pkgs.writeText "ttydpw" "MyPassword"`.
'';
@ -72,19 +79,46 @@ in
signal = mkOption {
type = types.ints.u8;
default = 1;
description = lib.mdDoc "Signal to send to the command on session close.";
description = "Signal to send to the command on session close.";
};
entrypoint = mkOption {
type = types.listOf types.str;
default = [ "${pkgs.shadow}/bin/login" ];
defaultText = lib.literalExpression ''
[ "''${pkgs.shadow}/bin/login" ]
'';
example = lib.literalExpression ''
[ (lib.getExe pkgs.htop) ]
'';
description = "Which command ttyd runs.";
apply = lib.escapeShellArgs;
};
user = mkOption {
type = types.str;
# `login` needs to be run as root
default = "root";
description = "Which unix user ttyd should run as.";
};
writeable = mkOption {
type = types.nullOr types.bool;
default = null; # null causes an eval error, forcing the user to consider attack surface
example = true;
description = "Allow clients to write to the TTY.";
};
clientOptions = mkOption {
type = types.attrsOf types.str;
default = {};
example = literalExpression ''
example = lib.literalExpression ''
{
fontSize = "16";
fontFamily = "Fira Code";
}
'';
description = lib.mdDoc ''
description = ''
Attribute set of client options for xtermjs.
<https://xtermjs.org/docs/api/terminal/interfaces/iterminaloptions/>
'';
@ -93,50 +127,50 @@ in
terminalType = mkOption {
type = types.str;
default = "xterm-256color";
description = lib.mdDoc "Terminal type to report.";
description = "Terminal type to report.";
};
checkOrigin = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "Whether to allow a websocket connection from a different origin.";
description = "Whether to allow a websocket connection from a different origin.";
};
maxClients = mkOption {
type = types.int;
default = 0;
description = lib.mdDoc "Maximum clients to support (0, no limit)";
description = "Maximum clients to support (0, no limit)";
};
indexFile = mkOption {
type = types.nullOr types.path;
default = null;
description = lib.mdDoc "Custom index.html path";
description = "Custom index.html path";
};
enableIPv6 = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "Whether or not to enable IPv6 support.";
description = "Whether or not to enable IPv6 support.";
};
enableSSL = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "Whether or not to enable SSL (https) support.";
description = "Whether or not to enable SSL (https) support.";
};
certFile = mkOption {
type = types.nullOr types.path;
default = null;
description = lib.mdDoc "SSL certificate file path.";
description = "SSL certificate file path.";
};
keyFile = mkOption {
type = types.nullOr types.path;
default = null;
apply = value: if value == null then null else toString value;
description = lib.mdDoc ''
description = ''
SSL key file path.
For insecurely putting the keyFile in the globally readable store use
`pkgs.writeText "ttydKeyFile" "SSLKEY"`.
@ -146,25 +180,27 @@ in
caFile = mkOption {
type = types.nullOr types.path;
default = null;
description = lib.mdDoc "SSL CA file path for client certificate verification.";
description = "SSL CA file path for client certificate verification.";
};
logLevel = mkOption {
type = types.int;
default = 7;
description = lib.mdDoc "Set log level.";
description = "Set log level.";
};
};
};
###### implementation
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
assertions =
[ { assertion = cfg.enableSSL
-> cfg.certFile != null && cfg.keyFile != null && cfg.caFile != null;
message = "SSL is enabled for ttyd, but no certFile, keyFile or caFile has been specified."; }
{ assertion = cfg.writeable != null;
message = "services.ttyd.writeable must be set"; }
{ assertion = ! (cfg.interface != null && cfg.socket != null);
message = "Cannot set both interface and socket for ttyd."; }
{ assertion = (cfg.username != null) == (cfg.passwordFile != null);
@ -177,21 +213,19 @@ in
wantedBy = [ "multi-user.target" ];
serviceConfig = {
# Runs login which needs to be run as root
# login: Cannot possibly work without effective root
User = "root";
User = cfg.user;
LoadCredential = lib.optionalString (cfg.passwordFile != null) "TTYD_PASSWORD_FILE:${cfg.passwordFile}";
};
script = if cfg.passwordFile != null then ''
PASSWORD=$(cat "$CREDENTIALS_DIRECTORY/TTYD_PASSWORD_FILE")
${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \
--credential ${escapeShellArg cfg.username}:"$PASSWORD" \
${pkgs.shadow}/bin/login
--credential ${lib.escapeShellArg cfg.username}:"$PASSWORD" \
${cfg.entrypoint}
''
else ''
${pkgs.ttyd}/bin/ttyd ${lib.escapeShellArgs args} \
${pkgs.shadow}/bin/login
${cfg.entrypoint}
'';
};
};

View File

@ -31,7 +31,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
enable = true;
settings.DefaultAction = "deny";
rules = {
opensnitch = {
curl = {
name = "curl";
enabled = true;
action = "allow";

View File

@ -2,18 +2,28 @@ import ../make-test-python.nix ({ lib, pkgs, ... }: {
name = "ttyd";
meta.maintainers = with lib.maintainers; [ stunkymonkey ];
nodes.machine = { pkgs, ... }: {
nodes.readonly = { pkgs, ... }: {
services.ttyd = {
enable = true;
entrypoint = [ (lib.getExe pkgs.htop) ];
writeable = false;
};
};
nodes.writeable = { pkgs, ... }: {
services.ttyd = {
enable = true;
username = "foo";
passwordFile = pkgs.writeText "password" "bar";
writeable = true;
};
};
testScript = ''
machine.wait_for_unit("ttyd.service")
machine.wait_for_open_port(7681)
response = machine.succeed("curl -vvv -u foo:bar -s -H 'Host: ttyd' http://127.0.0.1:7681/")
assert '<title>ttyd - Terminal</title>' in response, "Page didn't load successfully"
for machine in [readonly, writeable]:
machine.wait_for_unit("ttyd.service")
machine.wait_for_open_port(7681)
response = machine.succeed("curl -vvv -u foo:bar -s -H 'Host: ttyd' http://127.0.0.1:7681/")
assert '<title>ttyd - Terminal</title>' in response, "Page didn't load successfully"
'';
})

View File

@ -225,20 +225,20 @@ in
name = "stage-trial";
mainProgram = "Pianoteq 8 STAGE";
startupWMClass = "Pianoteq STAGE Trial";
version = "8.1.1";
version = "8.2.0";
src = fetchPianoteqTrial {
name = "pianoteq_stage_linux_trial_v${versionForFile version}.7z";
hash = "sha256-jMGv95WiD7UHAuSzKgauLhlsNvO/RWVrHd2Yf3kiUTo=";
hash = "sha256-66xbcqNrnVJ+C9FQ8Bg8A7nj/bFrjt6jKheusrXVWvI=";
};
};
standard-trial = mkPianoteq rec {
name = "standard-trial";
mainProgram = "Pianoteq 8";
startupWMClass = "Pianoteq Trial";
version = "8.1.1";
version = "8.2.0";
src = fetchPianoteqTrial {
name = "pianoteq_linux_trial_v${versionForFile version}.7z";
hash = "sha256-pL4tJMV8OTVLT4fwABcImWO+iaVe9gCdDN3rbkL+noc=";
hash = "sha256-IFFQMn8EFo5X8sUZV2/vtQOA83NHEFrUsU++CvYbN1c=";
};
};
stage-6 = mkPianoteq rec {
@ -266,10 +266,10 @@ in
name = "standard-8";
mainProgram = "Pianoteq 8";
startupWMClass = "Pianoteq";
version = "8.1.1";
version = "8.2.0";
src = fetchPianoteqWithLogin {
name = "pianoteq_linux_v${versionForFile version}.7z";
hash = "sha256-vWvo+ctJ0yN6XeJZZVhA3Ul9eWJWAh7Qo54w0TpOiVw=";
hash = "sha256-ME0urUc1jwUKpg+5BdawYo9WhvMsrztYTVOrJTVxtkY=";
};
};
# TODO other paid binaries, I don't own that so I don't know their hash.

View File

@ -28,13 +28,13 @@ let
in
stdenv.mkDerivation rec {
pname = "reaper";
version = "7.09";
version = "7.11";
src = fetchurl {
url = url_for_platform version stdenv.hostPlatform.qemuArch;
hash = if stdenv.isDarwin then "sha256-MztA9Azj20tyg/nFtXmvojeABNX11HCkmIcgMhNYyMQ=" else {
x86_64-linux = "sha256-Mo7k8XbKLUkBvo2A73qeqHgDtXD/fBVtSVv74k/WGRo=";
aarch64-linux = "sha256-ttNHMC8Ouin2fNnIb5X5pnKwGrAML192oZdg/Q8SFlg=";
hash = if stdenv.isDarwin then "sha256-8GWfrr+kKF3Ei6Fed9Oei461veRXXbTICvyNJNLBbYM=" else {
x86_64-linux = "sha256-lpgGXHWWhhs1jLllq5C3UhOLgLyMTE6qWFiGkBcuWlo=";
aarch64-linux = "sha256-0iTdrZYjKzPyNLMIM4othtAMox/65HBEy1VickOZFnA=";
}.${stdenv.hostPlatform.system};
};

View File

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchurl
, fetchpatch
, pkg-config
, desktop-file-utils
, SDL
@ -17,6 +18,14 @@ stdenv.mkDerivation rec {
sha256 = "0dfqgid6wzzyyhc0ha94prxax59wx79hqr25r6if6by9cj4vx4ya";
};
patches = [
# Fix segfault
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/sfxr/raw/223e58e68857c2018ced635e8209bb44f3616bf8/f/sfxr-sdl-gcc8x.patch";
hash = "sha256-etn4AutkNrhEDH9Ep8MhH9JSJEd7V/JXwjQua5uhAmg=";
})
];
postPatch = ''
substituteInPlace Makefile --replace "usr/" ""
substituteInPlace sdlkit.h --replace \

View File

@ -36,11 +36,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tidal-hifi";
version = "5.8.0";
version = "5.9.0";
src = fetchurl {
url = "https://github.com/Mastermindzh/tidal-hifi/releases/download/${finalAttrs.version}/tidal-hifi_${finalAttrs.version}_amd64.deb";
sha256 = "sha256-g3CDoFeXGLj/bG0WP8fCF/uphqEHfKA/wmfQfjk52aM=";
sha256 = "sha256-t79GNCqY99JfCT+4wO3CTtLXFdKQudMw4pZNiJzOufo=";
};
nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper ];

View File

@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
aarch64-linux = "sha256-6nXemaGiQjp2stjjKItPJ62VcH5Q5pRf63qKtl2haXI=";
x86_64-darwin = "sha256-jSMAw+AMD63vqPckZjblw4EDngA4E8h0WlsZu3hUShY=";
aarch64-darwin = "sha256-zujXURpIcw7IOw63AW167h6cywYXydhHZMzA2apGZAs=";
}.${stdenv.system} or (throw "Unsupported platform");
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
};
nativeBuildInputs =

View File

@ -15,6 +15,13 @@ stdenv.mkDerivation rec {
sha256 = "sha256-n0/NVClZz6ANgEdPCtdZxsEvllIl32vwDjC2nq5R8Z4=";
};
postPatch = ''
find | fgrep crc.cpp
# Fix gcc-13 build failures due to missing includes
sed -e '1i #include <cstdint>' -i \
blockalign_src/crc.cpp
'';
buildInputs = [
wxGTK32
zlib
@ -25,6 +32,8 @@ stdenv.mkDerivation rec {
"--enable-embedded-cryptopp"
];
enableParallelBuilding = true;
meta = with lib; {
description = "An easy to setup Open Source client/server backup system";
longDescription = "An easy to setup Open Source client/server backup system, that through a combination of image and file backups accomplishes both data safety and a fast restoration time";

View File

@ -5,7 +5,7 @@ let
arch =
if stdenv.isLinux then "linux"
else if stdenv.isDarwin then "darwin"
else throw "Unsupported platform";
else throw "Unsupported system: ${stdenv.system}";
analysisDir = "server/analysis_binaries/${arch}";
in
vscode-utils.buildVscodeMarketplaceExtension rec {

View File

@ -1,4 +1,5 @@
{ lib, stdenv, fetchFromGitHub
, fetchpatch
, addOpenGLRunpath
, wrapGAppsHook
, cmake
@ -47,6 +48,13 @@ stdenv.mkDerivation rec {
# > The following imported targets are referenced, but are missing:
# > SPIRV-Tools-opt
./cmakelists.patch
# Remove on next release
# https://github.com/cemu-project/Cemu/pull/1076
(fetchpatch {
url = "https://github.com/cemu-project/Cemu/commit/72aacbdcecc064ea7c3b158c433e4803496ac296.patch";
hash = "sha256-x+ZVqXgGRSv0VYwJAX35C1p7PnmCHS7iEO+4k8j0/ug=";
})
];
nativeBuildInputs = [

View File

@ -206,8 +206,8 @@
"flycast": {
"owner": "flyinghead",
"repo": "flycast",
"rev": "7029e1615a215bc43e51f8eac605f31dd01ba8cd",
"hash": "sha256-JUXKlUNIg+1vvOfUQpysxUMYIRJqIzj9UNIwb+8HRPo=",
"rev": "44fa364f36c43bed19b055096600f075c656f78c",
"hash": "sha256-UfASq8OXtsfubMUfke7P6HTygM/9fP421IoLQeJvPgY=",
"fetchSubmodules": true,
"date": "unstable-2024-02-09"
},
@ -249,9 +249,9 @@
"gpsp": {
"owner": "libretro",
"repo": "gpsp",
"rev": "85a2ac6c911ffcc77cf1bab418c78fe5218c0b1a",
"hash": "sha256-iHfdsI6E2LQTC9HjqVRBHihVUpagtB8326M8Crll2iY=",
"date": "unstable-2024-02-04"
"rev": "4caf7a167d159866479ea94d6b2d13c26ceb3e72",
"hash": "sha256-1hkxeTjY52YuphQuDMCITn/dIcNx/8w4FkhQjL8DWz8=",
"date": "unstable-2024-02-10"
},
"gw": {
"owner": "libretro",
@ -277,9 +277,9 @@
"mame": {
"owner": "libretro",
"repo": "mame",
"rev": "f55fe47b0997d24048700898195cb66bc0bccfb6",
"hash": "sha256-JUL4ha7UL+hNG5oi178nLT1aUuxqfev0/bRU6y/Mg7A=",
"date": "unstable-2024-02-05"
"rev": "8ebaec4073703f5050dac3f6c8da408943e15938",
"hash": "sha256-CFCem9MiaHW2flEZyJkcC9JEGzx7Ox/uqrTY3jue+Pk=",
"date": "unstable-2024-02-13"
},
"mame2000": {
"owner": "libretro",
@ -298,9 +298,9 @@
"mame2003-plus": {
"owner": "libretro",
"repo": "mame2003-plus-libretro",
"rev": "debcb547ea7ae197433142810e99e1313c58cb14",
"hash": "sha256-l9YmDiUJ+CQP4i8O8W+E9uTLPZZgLqLR9v7e5hFgJhE=",
"date": "unstable-2024-02-09"
"rev": "a4d62997d332acc709c9644641863c5498e01eb0",
"hash": "sha256-9+pxx/fhNsvAMYDqalkkdljaR8/XxuMMSrrz7KeJtDU=",
"date": "unstable-2024-02-13"
},
"mame2010": {
"owner": "libretro",
@ -361,10 +361,10 @@
"mrboom": {
"owner": "Javanaise",
"repo": "mrboom-libretro",
"rev": "865be65118ef70e9a486f872948f4fc805edf643",
"hash": "sha256-jdOthryC1QvVvuPZUh/YyZhJeFWk1XhBuCm4hmAy8+Q=",
"rev": "f688664f024723e00c0d2926e51b45754a25e2da",
"hash": "sha256-t6ArMkyGvHJ9hLc+FFoH2wTk0wRFn5etzdLipTQnGyc=",
"fetchSubmodules": true,
"date": "unstable-2024-02-05"
"date": "unstable-2024-02-09"
},
"mupen64plus": {
"owner": "libretro",
@ -383,9 +383,9 @@
"nestopia": {
"owner": "libretro",
"repo": "nestopia",
"rev": "8050c38e5a1db6927b03510651809e8ef932b888",
"rev": "407df997b65cddbff9b25abae0510e6645205677",
"hash": "sha256-Vlz69ZpXwawdE+bfjlKNrQNmFHhB53FOKhfMgq4viE0=",
"date": "unstable-2024-02-03"
"date": "unstable-2024-02-13"
},
"np2kai": {
"owner": "AZO234",
@ -456,10 +456,10 @@
"ppsspp": {
"owner": "hrydgard",
"repo": "ppsspp",
"rev": "25689c36d9c2f3f1b7aa612d89b86caf1809e376",
"hash": "sha256-hXknMyBNo1vJ49gJsuNef+sccolAovg1I8Wzuw/BnE8=",
"rev": "d832f96010fa378ef0a7f7980524a61803110ad7",
"hash": "sha256-LkngiwjRoYw+N+DCdbbWnTokDAYXbqOMJX+DQGAUl2g=",
"fetchSubmodules": true,
"date": "unstable-2024-02-09"
"date": "unstable-2024-02-13"
},
"prboom": {
"owner": "libretro",
@ -605,9 +605,9 @@
"vecx": {
"owner": "libretro",
"repo": "libretro-vecx",
"rev": "a401c268e425dc8ae6a301e7fdb9a9e96f39b8ea",
"hash": "sha256-24/bcQ5mgLl7zKvpnnSYr5SoLG02al6dP27KoOtnua4=",
"date": "unstable-2023-06-01"
"rev": "56a99fa08a7601b304d752188ca573febf26faeb",
"hash": "sha256-9/d6qzsUJZYZewAbFI4LU2FVpv09uby/5mxCZU7rVzo=",
"date": "unstable-2024-02-10"
},
"virtualjaguar": {
"owner": "libretro",

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation {
pname = "avrdudess";
version = "2.16";
version = "2.17";
src = fetchurl {
url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.16/AVRDUDESS-2.16-portable.zip";
sha256 = "sha256-Ow6WYdQfEDldI9q9CTpd13wtLZGTEkcHxz0Zg7QIZIs=";
url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.17/AVRDUDESS-2.17-portable.zip";
sha256 = "sha256-TcXXGDs75Q2ew+m2B/p00Y24O5aJQlp+3FcAn7GSVyI=";
};
nativeBuildInputs = [ unzip ];

View File

@ -23,13 +23,13 @@
stdenv.mkDerivation rec{
pname = "corectrl";
version = "1.3.9";
version = "1.3.10";
src = fetchFromGitLab {
owner = "corectrl";
repo = "corectrl";
rev = "v${version}";
sha256 = "sha256-6CjN3GXkb7tSzWhphiiB+9bR5bcr0bjtJCEkJldD7Fk=";
sha256 = "sha256-fN4dX0Ya2DvPEkuwtKIw1zT+JEbC2zyJKtcGwLVdAUs=";
};
patches = [
./polkit-dir.patch

View File

@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
description = "An efficient dynamic menu for wayland (wlroots)";
homepage = "https://github.com/nyyManni/dmenu-wayland";
maintainers = with maintainers; [ rewine ];
mainProgram = "dmenu-wl";
};
}

View File

@ -810,8 +810,8 @@ dependencies = [
[[package]]
name = "enolib"
version = "0.3.0"
source = "git+https://codeberg.org/simonrepp/enolib-rs?tag=0.3.0#e5739943579f23d43300f83a06988c47e9719f1a"
version = "0.4.0"
source = "git+https://codeberg.org/simonrepp/enolib-rs?tag=0.4.0#dc22b9114b210a6f3e16815c0d1d43bcbed551d5"
[[package]]
name = "equivalent"
@ -837,7 +837,7 @@ dependencies = [
[[package]]
name = "faircamp"
version = "0.11.0"
version = "0.12.0"
dependencies = [
"actix-files",
"actix-web",

View File

@ -16,20 +16,20 @@
rustPlatform.buildRustPackage rec {
pname = "faircamp";
version = "0.11.0";
version = "0.12.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "simonrepp";
repo = "faircamp";
rev = version;
hash = "sha256-CD5wCvONlgNTXpFcCHCLdJ/lJsC2VTleKt9+ZX5znZo=";
hash = "sha256-AYvykiPdVeWMEoDgPHlTHDcPrk3VgNQJFXulbO/3Ars=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"enolib-0.3.0" = "sha256-nw1nnIh2r4JFcUb3D21BcjeieDTYRIza8Lrq1yD+ZYQ=";
"enolib-0.4.0" = "sha256-lfvQHdQSHAzeOULrvIj7MIYtNaIwc0bXC5q1KK9UGvU=";
};
};

View File

@ -6,46 +6,28 @@
, python3
}:
let
py = python3.override {
packageOverrides = self: super: {
# Doesn't work with latest urwid
urwid = super.urwid.overridePythonAttrs (oldAttrs: rec {
version = "2.1.2";
src = fetchFromGitHub {
owner = "urwid";
repo = "urwid";
rev = "refs/tags/${version}";
hash = "sha256-oPb2h/+gaqkZTXIiESjExMfBNnOzDvoMkXvkZ/+KVwo=";
};
doCheck = false;
});
};
};
in
py.pkgs.buildPythonApplication rec {
python3.pkgs.buildPythonApplication rec {
pname = "khal";
version = "0.11.2";
version = "0.11.3";
pyproject = true;
src = fetchFromGitHub {
owner = "pimutils";
repo = "khal";
rev = "refs/tags/v${version}";
hash = "sha256-yI33pB/t+UISvSbLUzmsZqBxLF6r8R3j9iPNeosKcYw=";
hash = "sha256-YP2kQ/qXPDwvFvlHf+A2Ymvk49dmt5tAnTaOhrOV92M=";
};
nativeBuildInputs = [
glibcLocales
installShellFiles
] ++ (with py.pkgs; [
] ++ (with python3.pkgs; [
setuptools-scm
sphinx
sphinxcontrib-newsfeed
]);
propagatedBuildInputs = with py.pkgs;[
propagatedBuildInputs = with python3.pkgs;[
atomicwrites
click
click-log
@ -63,7 +45,7 @@ py.pkgs.buildPythonApplication rec {
urwid
];
nativeCheckInputs = with py.pkgs;[
nativeCheckInputs = with python3.pkgs;[
freezegun
hypothesis
packaging

View File

@ -25,13 +25,13 @@
stdenv.mkDerivation rec {
pname = "minder";
version = "1.16.2";
version = "1.16.3";
src = fetchFromGitHub {
owner = "phase1geo";
repo = pname;
rev = version;
sha256 = "sha256-/XtJCj1ratUTNXRp7zsBp10tQjyiaDN9623/UChBu9c=";
sha256 = "sha256-YDsWWC4exh+9V87WyjdMdCH1arjBct3oEXbvaFyAaMY=";
};
nativeBuildInputs = [

View File

@ -29,13 +29,13 @@ let
};
in stdenv.mkDerivation rec {
pname = "organicmaps";
version = "2024.01.09-5";
version = "2024.02.06-11";
src = fetchFromGitHub {
owner = "organicmaps";
repo = "organicmaps";
rev = "${version}-android";
hash = "sha256-VIznPMr+XKIobR4eFUVx880MND+EGAHKCYAkdDfgLDA=";
hash = "sha256-/taXiJvVP2WCg/F6I6WiZuPKl+Mhwvex/1JNXqrs0mA=";
fetchSubmodules = true;
};

View File

@ -8,11 +8,11 @@
stdenv.mkDerivation rec {
pname = "snapmaker-luban";
version = "4.9.1";
version = "4.10.2";
src = fetchurl {
url = "https://github.com/Snapmaker/Luban/releases/download/v${version}/snapmaker-luban-${version}-linux-x64.tar.gz";
sha256 = "sha256-qLeF1trBrp53xkiAhybPTHUKuXYHQYfZ3tsmPPJlvUM=";
sha256 = "sha256-unxI0L8pcF6iWWa57GpYv/aYsApKAKfRaes3uXE7izM=";
};
nativeBuildInputs = [

View File

@ -93,11 +93,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.62.156";
version = "1.62.162";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-U+MjXuF3rv5N4juKeIzUfnSNVLx1LGn+Ws+b5p252Qk=";
hash = "sha256-hQG6LHYPhqzfgR0Z7R+hXB1vEVDd6VEyIttSae15Mpo=";
};
dontConfigure = true;

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "atmos";
version = "1.57.0";
version = "1.60.0";
src = fetchFromGitHub {
owner = "cloudposse";
repo = pname;
rev = "v${version}";
sha256 = "sha256-saOEMGZKtlMDZjkzac3j5hu5j0rKCNnDKV3aRnP5TWc=";
sha256 = "sha256-sc0tKOv5J4lF00Zzs2X6ff1EC1xrTRbDvVopq+1Wn6Y=";
};
vendorHash = "sha256-Gjff8341MrUal3fVTDXE6nP9RwxaHYTjhPImaEv/9RU=";
vendorHash = "sha256-wmpFWySQ9MaRGT3yw4gUQEWsF4MNbSDUu68/LHjE28w=";
ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ];

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "talosctl";
version = "1.6.1";
version = "1.6.4";
src = fetchFromGitHub {
owner = "siderolabs";
repo = "talos";
rev = "v${version}";
hash = "sha256-xJKYnKJ0qvgVZ2I7O+qYO/ujuW03B+DykXO/ZYLgoyU=";
hash = "sha256-2ZccpOqddgq51Q1AxV1uK9fThPMtJIL66ZGU51k2eL0=";
};
vendorHash = "sha256-CIDCUIk0QFSHM2gc1XpD6Ih11zXbCDDeSf5vf6loI9w=";
vendorHash = "sha256-BC3RMhpYmyELJDzOva31QsTmrPeptMcfDYNK3q8D+dw=";
ldflags = [ "-s" "-w" ];

File diff suppressed because it is too large Load Diff

View File

@ -21,14 +21,14 @@
stdenv.mkDerivation rec {
pname = "flare";
version = "0.11.2";
version = "0.12.0";
src = fetchFromGitLab {
domain = "gitlab.com";
owner = "schmiddi-on-mobile";
repo = pname;
repo = "flare";
rev = version;
hash = "sha256-p6G+FbSiBkaF/qlUOPdPdgTqrrKFAOuIaCr6DCv+az4=";
hash = "sha256-Dg5UhVTmxiwPIbU8fG/ehX9Zp8WI2V+JoOEI7P1Way4=";
};
cargoDeps = rustPlatform.importCargoLock {
@ -36,8 +36,8 @@ stdenv.mkDerivation rec {
outputHashes = {
"curve25519-dalek-4.0.0" = "sha256-KUXvYXeVvJEQ/+dydKzXWCZmA2bFa2IosDzaBL6/Si0=";
"libsignal-protocol-0.1.0" = "sha256-FCrJO7porlY5FrwZ2c67UPd4tgN7cH2/3DTwfPjihwM=";
"libsignal-service-0.1.0" = "sha256-Ul1mg+oQ8te364Jc2gOBoiq2udYsw9UBret/O9VU9ec=";
"presage-0.6.0-dev" = "sha256-0Z2ySXMZZ4wpyesxOikhra/eN7K3I+ElAh7vAaNSbb0=";
"libsignal-service-0.1.0" = "sha256-lzyUUP1mhxxIU+xCr+5VAoeEO6FlDgeEJtWhm9avJb8=";
"presage-0.6.0-dev" = "sha256-PqMz6jJuL/4LVY3kNFQ9NmKt3D6cwQkGiPs2QJsL01A=";
};
};

View File

@ -80,7 +80,7 @@ let
outputHash = {
x86_64-linux = "sha256-9DHykkvazVBN2kfw1Pbejizk/R18v5w8lRBHZ4aXL5Q=";
aarch64-linux = "sha256-RgAiRbUojBc+9RN/HpAzzpTjkjZ6q+jebDsqvah5XBw=";
}.${stdenv.system} or (throw "Unsupported platform");
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
};
in stdenv.mkDerivation {

File diff suppressed because it is too large Load Diff

View File

@ -15,20 +15,20 @@
rustPlatform.buildRustPackage rec {
pname = "halloy";
version = "2023.5";
version = "2024.1";
src = fetchFromGitHub {
owner = "squidowl";
repo = "halloy";
rev = "refs/tags/${version}";
hash = "sha256-XGNFLfZDDGTT55UAsapUf1B0uSzrNjwSRK+yQSU3wG0=";
hash = "sha256-mOP6Xxo1p3Mi36RmraMe4qpqJGQqHs/7fZzruAODr1E=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"iced-0.9.0" = "sha256-z/tkUdFXNjxR5Si8dnNrkrvFos0VAqGjnFNSs88D/5w=";
"winit-0.28.6" = "sha256-szB1LCOPmPqhZNIWbeO8JMfRMcMRr0+Ze0f4uqyR8AE=";
"iced-0.12.0" = "sha256-LtmAJDUMp42S4E+CjOM6Q7doAKOZkmJCN/49gsq3v/A=";
"winit-0.29.10" = "sha256-YoXJEvEhMvk3pK5EbXceVFeJEJLL6KTjiw0kBJxgHIE=";
};
};

View File

@ -38,13 +38,13 @@
let
pname = "pcloud";
version = "1.14.3";
code = "XZ7IM70ZtWFon9pgEbk4XuvzJsTduQUyGFwV";
version = "1.14.4";
code = "XZDh750ZBgJa45xqQ8H1ztdMFX2wVhOCTOFk";
# Archive link's codes: https://www.pcloud.com/release-notes/linux.html
src = fetchzip {
url = "https://api.pcloud.com/getpubzip?code=${code}&filename=${pname}-${version}.zip";
hash = "sha256-huv1XXghWwh/oTtOsukffZP3nnHS2K5VcsuVs6CjFYc=";
url = "https://api.pcloud.com/getpubzip?code=${code}&filename=pcloud-${version}.zip";
hash = "sha256-1KF3tF62lkT6tfeP/dMaZITXp4Vyegp3lFYdLJ49OR8=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -27,14 +27,14 @@
buildPythonApplication rec {
pname = "protonvpn-gui";
version = "4.1.0-unstable-2023-10-25";
version = "4.1.10";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "proton-vpn-gtk-app";
rev = "713324e9e4ee9f030c8115072cae379eb3340c42";
hash = "sha256-DfuM4b2cSIA8j9Ux3TzInRCvzQGb9LvJDSwRhfadBPY=";
rev = "refs/tags/v${version}";
hash = "sha256-D06dMMjzFE7gIGFpIH/+0xmVCckqAWLkb3lc2ZmxNZs=";
};
nativeBuildInputs = [
@ -71,7 +71,7 @@ buildPythonApplication rec {
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov=proton --cov-report=html --cov-report=term" ""
--replace-fail "--cov=proton --cov-report=html --cov-report=term" ""
'';
postInstall = ''

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dayon";
version = "13.0.0";
version = "13.0.1";
src = fetchFromGitHub {
owner = "RetGal";
repo = "dayon";
rev = "v${finalAttrs.version}";
hash = "sha256-2Fo+LQvsrDvqEudZxzQBtJHGxrRYUyNyhrPV1xS49pQ=";
hash = "sha256-nevDC4kfVSgfmJZiCj82mc+/yZcIgub3CP9qi9ISF3o=";
};
nativeBuildInputs = [

View File

@ -1,13 +1,13 @@
{fetchFromGitLab}:
rec {
version = "2.2.1";
version = "2.2.2";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
repo = "paperwork";
group = "World";
owner = "OpenPaperwork";
rev = version;
sha256 = "sha256-OFVj9INDiOpGd5N3ziMBWt3/IdmpInc+jEAxW3GcvOA=";
sha256 = "sha256-fVw+W10yEPLf6IUyaDpnmu7tPOqbvNLE8IK8mjHvurQ=";
};
sample_documents = fetchFromGitLab {
domain = "gitlab.gnome.org";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "cryptoverif";
version = "2.07";
version = "2.08pl1";
src = fetchurl {
url = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${version}.tar.gz";
hash = "sha256-GXXql4+JZ396BM6W2I3kN0u59xos7UCAtzR0IjMIETY=";
hash = "sha256-rmORSZuhds9W2WpNgYf4AJM2jgEUPoJit4G64qLqj5w=";
};
/* Fix up the frontend to load the 'default' cryptoverif library

View File

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "gitsign";
version = "0.8.0";
version = "0.8.1";
src = fetchFromGitHub {
owner = "sigstore";
repo = pname;
rev = "v${version}";
hash = "sha256-COgoj5MrX7VBwjgfH+Ud7gp0gE7gpsYoyd0Jv4uXoec=";
hash = "sha256-+oJBpERU2WbfmS7MyBbJKrh4kzY+rgSw4uKAU1y5kR4=";
};
vendorHash = "sha256-btvFro0K0+9potwForIj/7h41l+LbUE0Gym9aHaWtEE=";
vendorHash = "sha256-Z46eDqUc8Mdq9lEMx1YOuSh5zPIMQrSkbto33AmgANU=";
subPackages = [
"."

View File

@ -13,16 +13,16 @@
rustPlatform.buildRustPackage rec {
pname = "dmlive";
version = "5.3.1";
version = "5.3.2";
src = fetchFromGitHub {
owner = "THMonster";
repo = pname;
rev = "0a07fd1b831bc9e9d34e474284430297b63446c7"; # no tag
hash = "sha256-Jvxbdm9Swh8m03uZEMTkUhIHNfhE+N2a3w7j+liweKE=";
rev = "3736d83ac0920de78ac82fe331bc6b16dc72b5cd"; # no tag
hash = "sha256-3agUeAv6Nespn6GNw4wmy8HNPQ0VIgZAMnKiV/myKbA=";
};
cargoHash = "sha256-/84T7K6WUt2Bfx9qdZjyOHcJEGoquCfRX1ctQBuUjEc=";
cargoHash = "sha256-MxkWaEn/gMMOuje7lu7PlqsQjnF0LWpV9JzmFBG1ukU=";
OPENSSL_NO_VENDOR = true;

View File

@ -0,0 +1,90 @@
From e4449f06a8989ff22947309151855b388c311aed Mon Sep 17 00:00:00 2001
From: Jared Baur <jaredbaur@fastmail.com>
Date: Mon, 22 Jan 2024 20:42:48 -0800
Subject: [PATCH] Add dlopen discoverer
---
internal/lookup/dlopen.go | 57 ++++++++++++++++++++++++++++++++++++++
internal/lookup/library.go | 3 ++
2 files changed, 60 insertions(+)
create mode 100644 internal/lookup/dlopen.go
diff --git a/internal/lookup/dlopen.go b/internal/lookup/dlopen.go
new file mode 100644
index 00000000..7cd84522
--- /dev/null
+++ b/internal/lookup/dlopen.go
@@ -0,0 +1,57 @@
+package lookup
+
+// #cgo LDFLAGS: -ldl
+// #define _GNU_SOURCE
+// #include <dlfcn.h>
+// #include <stdlib.h>
+import "C"
+
+import (
+ "fmt"
+ "path/filepath"
+ "unsafe"
+)
+
+// dlopenLocator can be used to locate libraries given a system's dynamic
+// linker.
+type dlopenLocator struct {
+ file
+}
+
+// NewDlopenLocator creats a locator that can be used for locating libraries
+// through the dlopen mechanism.
+func NewDlopenLocator(opts ...Option) Locator {
+ f := newFileLocator(opts...)
+ d := dlopenLocator{file: *f}
+ return &d
+}
+
+// Locate finds the specified pattern if the systems' dynamic linker can find
+// it via dlopen. Note that patterns with wildcard patterns will likely not be
+// found as it is uncommon for libraries to have wildcard patterns in their
+// file name.
+func (d dlopenLocator) Locate(pattern string) ([]string, error) {
+ libname := C.CString(pattern)
+ defer C.free(unsafe.Pointer(libname))
+
+ d.logger.Debugf("Calling dlopen for %s", pattern)
+
+ handle := C.dlopen(libname, C.RTLD_LAZY)
+ if handle == nil {
+ return nil, fmt.Errorf("dlopen %s failed", pattern)
+ }
+ defer C.dlclose(handle)
+
+ libParentPath := C.CString("")
+
+ d.logger.Debugf("Calling dlinfo on handle for %s", pattern)
+ ret := C.dlinfo(handle, C.RTLD_DI_ORIGIN, unsafe.Pointer(libParentPath))
+ if ret == -1 {
+ return nil, fmt.Errorf("dlinfo on handle for %s failed", pattern)
+ }
+
+ libAbsolutePath := filepath.Join(C.GoString(libParentPath), pattern)
+ d.logger.Debugf("Found library for %s at %s", pattern, libAbsolutePath)
+
+ return []string{libAbsolutePath}, nil
+}
diff --git a/internal/lookup/library.go b/internal/lookup/library.go
index 7f5cf7c8..916edde2 100644
--- a/internal/lookup/library.go
+++ b/internal/lookup/library.go
@@ -61,7 +61,10 @@ func NewLibraryLocator(opts ...Option) Locator {
// We construct a symlink locator for expected library locations.
symlinkLocator := NewSymlinkLocator(opts...)
+ dlopenLocator := NewDlopenLocator(opts...)
+
l := First(
+ dlopenLocator,
symlinkLocator,
newLdcacheLocator(opts...),
)
--

View File

@ -10,6 +10,7 @@
, configTemplate
, configTemplatePath ? null
, libnvidia-container
, cudaPackages
}:
assert configTemplate != null -> (lib.isAttrs configTemplate && configTemplatePath == null);
@ -31,29 +32,64 @@ let
'';
configToml = if configTemplatePath != null then configTemplatePath else (formats.toml { }).generate "config.toml" configTemplate;
# From https://gitlab.com/nvidia/container-toolkit/container-toolkit/-/blob/03cbf9c6cd26c75afef8a2dd68e0306aace80401/Makefile#L54
cliVersionPackage = "github.com/NVIDIA/nvidia-container-toolkit/internal/info";
in
buildGoModule rec {
pname = "container-toolkit/container-toolkit";
version = "1.9.0";
version = "1.15.0-rc.3";
src = fetchFromGitLab {
owner = "nvidia";
repo = pname;
rev = "v${version}";
hash = "sha256-b4mybNB5FqizFTraByHk5SCsNO66JaISj18nLgLN7IA=";
hash = "sha256-IH2OjaLbcKSGG44aggolAOuJkjk+GaXnnTbrXfZ0lVo=";
};
vendorHash = null;
patches = [
# This patch causes library lookups to first attempt loading via dlopen
# before falling back to the regular symlink location and ldcache location.
./0001-Add-dlopen-discoverer.patch
];
postPatch = ''
# replace the default hookDefaultFilePath to the $out path
substituteInPlace cmd/nvidia-container-runtime/main.go \
--replace '/usr/bin/nvidia-container-runtime-hook' '${placeholder "out"}/bin/nvidia-container-runtime-hook'
# Replace the default hookDefaultFilePath to the $out path and override
# default ldconfig locations to the one in nixpkgs.
substituteInPlace internal/config/config.go \
--replace '/usr/bin/nvidia-container-runtime-hook' "$out/bin/nvidia-container-runtime-hook" \
--replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
substituteInPlace internal/config/config_test.go \
--replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
substituteInPlace tools/container/toolkit/toolkit.go \
--replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
substituteInPlace cmd/nvidia-ctk/hook/update-ldcache/update-ldcache.go \
--replace '/sbin/ldconfig' '${lib.getBin glibc}/sbin/ldconfig'
'';
ldflags = [ "-s" "-w" ];
# Based on upstream's Makefile:
# https://gitlab.com/nvidia/container-toolkit/container-toolkit/-/blob/03cbf9c6cd26c75afef8a2dd68e0306aace80401/Makefile#L64
ldflags = [
"-extldflags=-Wl,-z,lazy" # May be redunandant, cf. `man ld`: "Lazy binding is the default".
"-s" # "disable symbol table"
"-w" # "disable DWARF generation"
nativeBuildInputs = [ makeWrapper ];
# "-X name=value"
"-X"
"${cliVersionPackage}.version=${version}"
];
nativeBuildInputs = [
cudaPackages.autoAddOpenGLRunpathHook
makeWrapper
];
preConfigure = ''
# Ensure the runc symlink isn't broken:
@ -95,7 +131,8 @@ buildGoModule rec {
substituteInPlace $out/etc/nvidia-container-runtime/config.toml \
--subst-var-by glibcbin ${lib.getBin glibc}
ln -s $out/bin/nvidia-container-{toolkit,runtime-hook}
# See: https://gitlab.com/nvidia/container-toolkit/container-toolkit/-/blob/03cbf9c6cd26c75afef8a2dd68e0306aace80401/packaging/debian/nvidia-container-toolkit.postinst#L12
ln -s $out/bin/nvidia-container-runtime-hook $out/bin/nvidia-container-toolkit
wrapProgram $out/bin/nvidia-container-toolkit \
--add-flags "-config ${placeholder "out"}/etc/nvidia-container-runtime/config.toml"

View File

@ -8,6 +8,7 @@
, libdrm
, libev
, libGL
, libepoxy
, libX11
, libxcb
, libxdg_basedir
@ -32,13 +33,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "picom";
version = "11.1";
version = "11.2";
src = fetchFromGitHub {
owner = "yshui";
repo = "picom";
rev = "v${finalAttrs.version}";
hash = "sha256-vdR3HzBZxtth3zJD3vMSlrnBTbopidw7FGKOk69S0R0=";
hash = "sha256-7ohtI890CutwprPEY5njqWou0fD6T9eu51EBSQ2/lWs=";
fetchSubmodules = true;
};
@ -59,6 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
libdrm
libev
libGL
libepoxy
libX11
libxcb
libxdg_basedir

View File

@ -0,0 +1,126 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, themeVariants ? []
, catppuccinColorVariants ? []
, draculaColorVariants ? []
, gruvboxColorVariants ? []
, originalColorVariants ? []
}:
let
pname = "afterglow-cursors-recolored";
availableThemeVariants = [
"Catppuccin"
"Dracula"
"Gruvbox"
"Original"
];
availableColorVariants = {
Catppuccin = [
"Blue"
"Flamingo"
"Green"
"Macchiato"
"Maroon"
"Mauve"
"Peach"
"Pink"
"Red"
"Rosewater"
"Sapphire"
"Sky"
"Teal"
"Yellow"
];
Dracula = [
"Cyan"
"Green"
"Orange"
"Pink"
"Purple"
"Red"
"Teddy"
"Yellow"
];
Gruvbox = [
"Aqua"
"Black"
"Blue"
"Gray"
"Green"
"Mojas84"
"Orange"
"Purple"
"White"
];
Original = [
"Blue"
"Purple"
"joris"
"joris2"
"joris3"
"joris4"
];
};
in
lib.checkListOfEnum "${pname}: theme variants" availableThemeVariants themeVariants
lib.checkListOfEnum "${pname}: catppuccin color variants" availableColorVariants.Catppuccin catppuccinColorVariants
lib.checkListOfEnum "${pname}: dracula color variants" availableColorVariants.Dracula draculaColorVariants
lib.checkListOfEnum "${pname}: gruvbox color variants" availableColorVariants.Gruvbox gruvboxColorVariants
lib.checkListOfEnum "${pname}: original color variants" availableColorVariants.Original originalColorVariants
stdenvNoCC.mkDerivation {
inherit pname;
version = "0-unstable-2023-10-04";
src = fetchFromGitHub {
owner = "TeddyBearKilla";
repo = "Afterglow-Cursors-Recolored";
rev = "940a5d30e52f8c827fa249d2bbcc4af889534888";
hash = "sha256-GR+d+jrbeIGpqal5krx83PxuQto2PQTO3unQ+jaJf6s=";
};
installPhase = let
dist = {
Catppuccin = "cat";
Dracula = "dracula";
Gruvbox = "gruvbox";
};
withAlternate = xs: xs': if xs != [ ] then xs else xs';
themeVariants' = withAlternate themeVariants availableThemeVariants;
colorVariants = {
Catppuccin = withAlternate catppuccinColorVariants availableColorVariants.Catppuccin;
Dracula = withAlternate draculaColorVariants availableColorVariants.Dracula;
Gruvbox = withAlternate gruvboxColorVariants availableColorVariants.Gruvbox;
Original = withAlternate originalColorVariants availableColorVariants.Original;
};
in ''
runHook preInstall
mkdir -p $out/share/icons
${
lib.concatMapStringsSep "\n" (theme:
lib.concatMapStringsSep "\n" (color: ''
ln -s \
"$src/colors/${theme}/${color}/dist-${lib.optionalString (theme != "Original") (dist.${theme} + "-")}${lib.toLower color}" \
"$out/share/icons/Afterglow-Recolored-${theme}-${color}"
'') colorVariants.${theme}
) themeVariants'
}
runHook postInstall
'';
meta = with lib; {
description = "A recoloring of the Afterglow Cursors x-cursor theme";
homepage = "https://github.com/TeddyBearKilla/Afterglow-Cursors-Recolored";
maintainers = with maintainers; [ d3vil0p3r ];
platforms = platforms.all;
license = licenses.gpl3Plus;
};
}

View File

@ -1,41 +1,31 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
, fetchpatch
}:
buildNpmPackage {
}: buildNpmPackage rec {
pname = "arrpc";
version = "3.2.0";
version = "3.3.0";
src = fetchFromGitHub {
owner = "OpenAsar";
repo = "arrpc";
# Release commits are not tagged
# release: 3.2.0
rev = "9c3e981437b75606c74ef058c67d1a8c083ce49a";
hash = "sha256-tsO58q6tqqXCJLjZmLQGt1VtKsuoqWmh5SlnuDtJafg=";
# release: 3.3.0
rev = "c6e23e7eb733ad396d3eebc328404cc656fed581";
hash = "sha256-OeEFNbmGp5SWVdJJwXZUkkNrei9jyuPc+4E960l8VRA=";
};
# Make installation less cumbersome
# Remove after next release
patches = [
(fetchpatch {
# https://github.com/OpenAsar/arrpc/pull/50
url = "https://github.com/OpenAsar/arrpc/commit/7fa6c90204450eb3952ce9cddfecb0a5ba5e4313.patch";
hash = "sha256-qFlrbe2a4x811wpmWUcGDe2CPlt9x3HI+/t0P2v4kPc=";
})
];
npmDepsHash = "sha256-vxx0w6UjwxIK4cgpivtjNbIgkb4wKG4ijSHdP/FeQZ4=";
npmDepsHash = "sha256-YlSUGncpY0MyTiCfZcPsfcNx3fR+SCtkOFWbjOPLUzk=";
dontNpmBuild = true;
meta = with lib; {
meta = {
# ideally we would do blob/${version}/changelog.md here
# upstream does not tag releases
changelog = "https://github.com/OpenAsar/arrpc/blob/${src.rev}/changelog.md";
description = "Open Discord RPC server for atypical setups";
homepage = "https://arrpc.openasar.dev/";
license = licenses.mit;
maintainers = with maintainers; [ anomalocaris ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ anomalocaris NotAShelf ];
mainProgram = "arrpc";
};
}

View File

@ -2,18 +2,18 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-rdme";
version = "1.4.2";
version = "1.4.3";
src = fetchCrate {
inherit pname version;
hash = "sha256-ZveL/6iWxnEz13iHdTjDA4JT29CbvWjrIvblI65XuMM=";
hash = "sha256-WlZGhVWm6RYgODQZV4Sj3Q31FsPNd5SdYtp7kfUMxpI=";
};
buildInputs = lib.optionals stdenv.isDarwin [
Security
];
cargoHash = "sha256-8srwz5p9NY+ymDpqSvG68oIHibSurdtrjBkG6TrZO70=";
cargoHash = "sha256-AVwKktP96QYAOjo5gFeXpY0wOQObwarn82oaT6AVuBk=";
meta = with lib; {
description = "Cargo command to create the README.md from your crate's documentation";

View File

@ -0,0 +1,47 @@
{ lib
, stdenv
, fetchFromGitHub
, qt6
}:
stdenv.mkDerivation rec {
pname = "dsda-launcher";
version = "1.3.1-hotfix";
src = fetchFromGitHub {
owner = "Pedro-Beirao";
repo = "dsda-launcher";
rev = "v${version}";
hash = "sha256-V6VLUl148L47LjKnPe5MZCuhZSMtI0wd18i8b+7jCvk=";
};
nativeBuildInputs = [ qt6.wrapQtAppsHook ];
buildInputs = [ qt6.qtbase qt6.qtwayland ];
buildPhase = ''
runHook preBuild
mkdir -p "./dsda-launcher/build"
cd "./dsda-launcher/build"
qmake6 ..
make
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ./dsda-launcher $out/bin
install -Dm444 ../icons/dsda-Launcher.desktop $out/share/applications/dsda-Launcher.desktop
install -Dm444 ../icons/dsda-launcher.png $out/share/pixmaps/dsda-launcher.png
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/Pedro-Beirao/dsda-launcher";
description = "This is a launcher GUI for the dsda-doom source port";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.Gliczy ];
};
}

View File

@ -0,0 +1,65 @@
{
cmake,
eigen,
fetchFromGitHub,
glm,
gobject-introspection,
gtkmm4,
lib,
libepoxy,
librsvg,
libspnav,
libuuid,
meson,
ninja,
opencascade-occt,
pkg-config,
python3,
stdenv,
wrapGAppsHook,
}:
stdenv.mkDerivation rec {
pname = "dune3d";
version = "1.0.0";
src = fetchFromGitHub {
owner = "dune3d";
repo = "dune3d";
rev = "v${version}";
hash = "sha256-y7jlqH1p2vCFTM14rFURxTkrWUT5hNkCseC3xB6bFFo=";
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkg-config
wrapGAppsHook
];
buildInputs = [
cmake
eigen
glm
gtkmm4
libepoxy
librsvg
libspnav
libuuid
opencascade-occt
(python3.withPackages (pp: [
pp.pygobject3
]))
];
env.CASROOT = opencascade-occt;
meta = with lib; {
description = "3D CAD application";
homepage = "https://dune3d.org";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ _0x4A6F jue89 ];
mainProgram = "dune3d";
platforms = platforms.linux;
};
}

View File

@ -12,11 +12,11 @@
python3Packages.buildPythonApplication rec {
pname = "eduvpn-client";
version = "4.2.0";
version = "4.2.1";
src = fetchurl {
url = "https://github.com/eduvpn/python-${pname}/releases/download/${version}/python-${pname}-${version}.tar.xz";
hash = "sha256-W5z0ykrwWANZmW+lQt6m+BmYPI0cutsamx8V2JrpeHA=";
hash = "sha256-57EKWOzGfA4ihVYTyfLF2yoe7hN/7OnEkG+zLz7QtxI=";
};
nativeBuildInputs = [

View File

@ -6,7 +6,7 @@
let
pname = "elvish";
version = "0.19.2";
version = "0.20.0";
in
buildGoModule {
inherit pname version;
@ -15,10 +15,10 @@ buildGoModule {
owner = "elves";
repo = "elvish";
rev = "v${version}";
hash = "sha256-eCPJXCgmMvrJ2yVqYgXHXJWb6Ec0sutc91LNs4yRBYk=";
hash = "sha256-aaj2P1V31FnRehrUh+aqpPa8QwRrUezKwAa8WBa4X0w=";
};
vendorHash = "sha256-VMI20IP1jVkUK3rJm35szaFDfZGEEingUEL/xfVJ1cc=";
vendorHash = "sha256-sgVGqpncV7Ylok5FRcV01a3MCX6UdZvTt3nfVh5L2so=";
subPackages = [ "cmd/elvish" ];

View File

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "files-cli";
version = "2.12.30";
version = "2.12.31";
src = fetchFromGitHub {
repo = "files-cli";
owner = "files-com";
rev = "v${version}";
hash = "sha256-V0oQ43ZTgzXjp+jZvF0UxfjU7vhbvKuDG2rBvB1pEOk=";
hash = "sha256-PWKN3AOtiA/XYJiXVpslmEUIuAa6KVrz/NuJg6cYEYU=";
};
vendorHash = "sha256-OKNwYQCiB07cpnmQmJR0OJ3gX4VtXEcCPzsINEHj8Zg=";
vendorHash = "sha256-KNS/D3h374h3Td3adce4u/JQaR1JfA0TWQaOql+ojRg=";
ldflags = [
"-s"

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "free42";
version = "3.1.3";
version = "3.1.4";
src = fetchFromGitHub {
owner = "thomasokken";
repo = "free42";
rev = "v${finalAttrs.version}";
hash = "sha256-bOW5OyWaWblH2/2O3jNxaTjJEPZw86dTFJdexdlVLPs=";
hash = "sha256-XAYi4CBOx5KkqJyz6WkPlWC+bfbEReyaSv9SRCe6TDw=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,16 @@
diff --git a/libcurl/curl_wrap.cpp b/libcurl/curl_wrap.cpp
index 11ac9dd..93edd44 100644
--- a/libcurl/curl_wrap.cpp
+++ b/libcurl/curl_wrap.cpp
@@ -401,9 +401,10 @@ std::wstring zen::formatCurlStatusCode(CURLcode sc)
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PROXY);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CLIENTCERT);
ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_UNRECOVERABLE_POLL);
+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TOO_LARGE);
ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST);
}
- static_assert(CURL_LAST == CURLE_UNRECOVERABLE_POLL + 1);
+ static_assert(CURL_LAST == CURLE_TOO_LARGE + 1);
return replaceCpy<std::wstring>(L"Curl status %x", L"%x", numberTo<std::wstring>(static_cast<int>(sc)));
}

View File

@ -72,6 +72,8 @@ stdenv.mkDerivation (finalAttrs: {
patch = "ffs_no_check_updates.patch";
hash = "sha256-lPyHpxhZz8BSnDI8QfAzKpKwVkp2jiF49RWjKNuZGII=";
})
# Fix build with curl 8.6.0
./curl-8.6.0.patch
];
nativeBuildInputs = [

View File

@ -28,10 +28,6 @@ buildGoModule rec {
# Disable go workspaces to fix build.
env.GOWORK = "off";
# Fix this build error:
# main module (github.com/glauth/glauth/v2) does not contain package github.com/glauth/glauth/v2/vendored/toml
excludedPackages = [ "vendored/toml" ];
# Based on ldflags in <glauth>/Makefile.
ldflags = [
"-s"

View File

@ -14,7 +14,7 @@
, munge
, voms
, perl
, scitoken-cpp
, scitokens-cpp
, openssl
}:
@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
munge
voms
perl
scitoken-cpp
scitokens-cpp
];

View File

@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
i686-linux = "sha256-/Q7VZahYhLdKVFB25CanROYxD2etQOcRg+4bXZUMqTc=";
x86_64-darwin = "sha256-9biFAbFD7Bva7KPKztgCvcaoX8E6AlJBKkjlDQdP6Zw=";
aarch64-darwin = "sha256-to5Y0R9tm9b7jUQAK3eBylLhpu+w5oDd63FbBCBAvd8=";
}.${stdenv.system} or (throw "Unsupported platform");
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
};
cargoDeps = rustPlatform.importCargoLock {

View File

@ -9,12 +9,12 @@
, bzip2
}:
stdenv.mkDerivation rec {
pname = "libewf-ewf";
stdenv.mkDerivation (finalAttrs: {
pname = "libewf-legacy";
version = "20140814";
src = fetchurl {
url = "https://github.com/libyal/libewf-legacy/releases/download/${version}/libewf-${version}.tar.gz";
url = "https://github.com/libyal/libewf-legacy/releases/download/${finalAttrs.version}/libewf-${finalAttrs.version}.tar.gz";
hash = "sha256-OM3QXwnaIDeo66UNjzmu6to53SxgCMn/rE9VTPlX5BQ=";
};
@ -29,4 +29,4 @@ stdenv.mkDerivation rec {
maintainers = with lib.maintainers; [ d3vil0p3r ];
platforms = lib.platforms.unix;
};
}
})

View File

@ -0,0 +1,48 @@
{ lib
, fetchFromGitHub
, python3Packages
, bash
}:
python3Packages.buildPythonApplication rec {
pname = "marcel";
version = "0.22.2";
pyproject = true;
src = fetchFromGitHub {
owner = "geophile";
repo = "marcel";
rev = "refs/tags/v${version}";
hash = "sha256-CiAIY4qXv5V2VOsi+vat7OvFcmeFpIrmHCfqlY+JRXc=";
};
nativeBuildInputs = with python3Packages; [
setuptools
];
buildInputs = [
bash
];
pythonPath = with python3Packages; [
dill
psutil
];
# The tests use sudo and try to read/write $HOME/.local/share/marcel and /tmp
doCheck = false;
postFixup = ''
wrapProgram $out/bin/marcel \
--prefix PATH : "$program_PATH:${lib.getBin bash}/bin" \
--prefix PYTHONPATH : "$program_PYTHONPATH"
'';
meta = with lib; {
description = "A modern shell";
homepage = "https://github.com/geophile/marcel";
license = licenses.gpl3Only;
maintainers = with maintainers; [ kud ];
mainProgram = "marcel";
};
}

View File

@ -0,0 +1,61 @@
{ lib
, fetchFromGitHub
, python3Packages
, gnome-menus
, gtk3
, intltool
, gobject-introspection
, wrapGAppsHook
, testers
, menulibre
}:
python3Packages.buildPythonApplication rec {
name = "menulibre";
version = "2.2.3";
src = fetchFromGitHub {
owner = "bluesabre";
repo = "menulibre";
rev = "menulibre-${version}";
hash = "sha256-E0ukq3q4YaakOI2mDs3dh0ncZX/dqspCA+97r3JwWyA=";
};
propagatedBuildInputs = with python3Packages; [
pygobject3
gnome-menus
psutil
distutils-extra
];
nativeBuildInputs = [
gtk3
intltool
gobject-introspection
wrapGAppsHook
];
postPatch = ''
substituteInPlace setup.py \
--replace-fail 'data_dir =' "data_dir = '$out/share/menulibre' #" \
--replace-fail 'update_desktop_file(desktop_file, script_path)' ""
'';
preBuild = ''
export HOME=$TMPDIR
'';
passthru.tests.version = testers.testVersion {
package = menulibre;
command = "HOME=$TMPDIR menulibre --version | cut -d' ' -f2";
};
meta = with lib; {
description = "An advanced menu editor with an easy-to-use interface";
homepage = "https://bluesabre.org/projects/menulibre";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ lelgenio ];
mainProgram = "menulibre";
platforms = platforms.linux;
};
}

View File

@ -2,16 +2,16 @@
buildNpmPackage rec {
pname = "mystmd";
version = "1.1.38";
version = "1.1.40";
src = fetchFromGitHub {
owner = "executablebooks";
repo = "mystmd";
rev = "mystmd@${version}";
hash = "sha256-kshYS4mWqlWpF4pSetk6mpOn0/XCUF13M5qbZD/pNxQ=";
hash = "sha256-RN3jrcTLdVnG4QF3OCg12S5faaYqkEhWGW7BaZKli4M=";
};
npmDepsHash = "sha256-+aqS5khw/fDKOGAvOVFopcwoZAsgmmUQzOljZSUlArA=";
npmDepsHash = "sha256-VZO5VXwmBpTdUdlBPgRz2P9Q7xDc1GaBrHEGnvYXx/E=";
dontNpmInstall = true;

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "numbat";
version = "1.9.0";
version = "1.10.1";
src = fetchFromGitHub {
owner = "sharkdp";
repo = "numbat";
rev = "v${version}";
hash = "sha256-zMgZ/QmpZaB+4xdxVBE3C8CWS/aNCDuowDWOg65PhTo=";
hash = "sha256-/jt1+21yem0q/dlc7z89MRaVrnllb9QLSQUo2f/9q8o=";
};
cargoHash = "sha256-x6SMQoiDf0GoyOJGP8S69wJnY/nCvo6Bq5KQyrgY+Gs=";
cargoHash = "sha256-8AA0LTw/9kd6yDme4N3/ANVkS67eoLrJviNhdqUftXM=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security

View File

@ -32,7 +32,7 @@ let
in
python3Packages.buildPythonApplication rec {
pname = "offpunk";
version = "2.1";
version = "2.2";
pyproject = true;
disabled = python3Packages.pythonOlder "3.7";
@ -41,7 +41,7 @@ python3Packages.buildPythonApplication rec {
owner = "~lioploum";
repo = "offpunk";
rev = "v${version}";
hash = "sha256-IFqasTI2dZCauLUAq6/rvwkfraVK7SGUXpHCPEgSPGk=";
hash = "sha256-ygVL17qqmNB7hzw1VuYIAbirbaq4EVppWCHSvTl+/Jw=";
};
nativeBuildInputs = [ python3Packages.hatchling installShellFiles ];
@ -53,11 +53,12 @@ python3Packages.buildPythonApplication rec {
passthru.tests.version = testers.testVersion { package = offpunk; };
meta = with lib; {
meta = {
description = "A command-line and offline-first smolnet browser/feed reader";
homepage = src.meta.homepage;
maintainers = with maintainers; [ DamienCassou ];
platforms = platforms.linux;
license = licenses.agpl3Plus;
license = lib.licenses.agpl3Plus;
mainProgram = "offpunk";
maintainers = with lib.maintainers; [ DamienCassou ];
platforms = lib.platforms.linux;
};
}

View File

@ -1,19 +1,18 @@
{ python3Packages
, fetchFromGitHub
, qtwayland
, wrapQtAppsHook
, qt5
, lib
}:
python3Packages.buildPythonApplication rec {
pname = "opensnitch-ui";
version = "1.6.4";
version = "1.6.5.1";
src = fetchFromGitHub {
owner = "evilsocket";
repo = "opensnitch";
rev = "refs/tags/v${version}";
hash = "sha256-fkRykhcjWZ4MDl2HZ1ZFaQmEeRYhiCBeUxG/Eu7D8NA=";
hash = "sha256-IVrAAHzLS7A7cYhRk+IUx8/5TGKeqC7M/7iXOpPe2ZA=";
};
postPatch = ''
@ -23,21 +22,22 @@ python3Packages.buildPythonApplication rec {
nativeBuildInputs = [
python3Packages.pyqt5
wrapQtAppsHook
qt5.wrapQtAppsHook
];
buildInputs = [
qtwayland
qt5.qtwayland
];
propagatedBuildInputs = with python3Packages; [
grpcio-tools
pyqt5
unidecode
unicode-slugify
pyinotify
notify2
pyasn
pyinotify
pyqt5
qt-material
unicode-slugify
unidecode
];
preBuild = ''

View File

@ -1,19 +1,19 @@
module github.com/evilsocket/opensnitch/daemon
go 1.14
go 1.17
require (
github.com/fsnotify/fsnotify v1.4.7
github.com/golang/protobuf v1.5.0
github.com/google/gopacket v1.1.14
github.com/google/gopacket v1.1.19
github.com/google/nftables v0.1.0
github.com/google/uuid v1.3.0
github.com/iovisor/gobpf v0.2.0
github.com/varlink/go v0.4.0
github.com/vishvananda/netlink v0.0.0-20210811191823-e1a867c6b452
github.com/vishvananda/netlink v1.1.1-0.20220115184804-dd687eb2f2d4
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae
golang.org/x/net v0.0.0-20211209124913-491a49abca63
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d
golang.org/x/net v0.17.0
golang.org/x/sys v0.13.0
google.golang.org/grpc v1.32.0
google.golang.org/protobuf v1.26.0
)
@ -24,10 +24,9 @@ require (
github.com/josharian/native v0.0.0-20200817173448-b6b71def0850 // indirect
github.com/mdlayher/netlink v1.4.2 // indirect
github.com/mdlayher/socket v0.0.0-20211102153432-57e3fa563ecb // indirect
golang.org/x/mod v0.5.1 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/tools v0.1.8 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
golang.org/x/mod v0.8.0 // indirect
golang.org/x/text v0.13.0 // indirect
golang.org/x/tools v0.6.0 // indirect
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 // indirect
honnef.co/go/tools v0.2.2 // indirect
)

View File

@ -29,8 +29,8 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gopacket v1.1.14 h1:1+TEhSu8Mh154ZBVjyd1Nt2Bb7cnyOeE3GQyb1WGLqI=
github.com/google/gopacket v1.1.14/go.mod h1:UCLx9mCmAwsVbn6qQl1WIEt2SO7Nd2fD0th1TBAsqBw=
github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo=
github.com/google/nftables v0.1.0 h1:T6lS4qudrMufcNIZ8wSRrL+iuwhsKxpN+zFLxhUWOqk=
github.com/google/nftables v0.1.0/go.mod h1:b97ulCCFipUC+kSin+zygkvUVpx0vyIAwxXFdY3PlNc=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
@ -76,25 +76,32 @@ github.com/mdlayher/socket v0.0.0-20211102153432-57e3fa563ecb/go.mod h1:nFZ1EtZY
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/varlink/go v0.4.0 h1:+/BQoUO9eJK/+MTSHwFcJch7TMsb6N6Dqp6g0qaXXRo=
github.com/varlink/go v0.4.0/go.mod h1:DKg9Y2ctoNkesREGAEak58l+jOC6JU2aqZvUYs5DynU=
github.com/vishvananda/netlink v0.0.0-20210811191823-e1a867c6b452 h1:xe1bLd/sNkKVWdZuAb2+4JeMQMYyQ7Av38iRrE1lhm8=
github.com/vishvananda/netlink v0.0.0-20210811191823-e1a867c6b452/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
github.com/vishvananda/netlink v1.1.1-0.20220115184804-dd687eb2f2d4 h1:fB26rIBlWTVJyEB6ONHdoEvUbvwoudH0/cMEXHiD1RU=
github.com/vishvananda/netlink v1.1.1-0.20220115184804-dd687eb2f2d4/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae h1:4hwBBUfQCFe3Cym0ZtKyq7L16eZUtYKs+BaHDN6mAns=
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38=
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -117,14 +124,21 @@ golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211020060615-d418f374d309/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211201190559-0a0e4e1bb54c/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY=
golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -148,30 +162,46 @@ golang.org/x/sys v0.0.0-20210216163648-f7da38b97c65/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210525143221-35b2ab0089ea/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d h1:FjkYO/PPp4Wi0EAUOVLxePm7qVW4r4ctbWpURyuOD0E=
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w=
golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

View File

@ -18,13 +18,13 @@
buildGoModule rec {
pname = "opensnitch";
version = "1.6.4";
version = "1.6.5";
src = fetchFromGitHub {
owner = "evilsocket";
repo = "opensnitch";
rev = "v${version}";
hash = "sha256-fkRykhcjWZ4MDl2HZ1ZFaQmEeRYhiCBeUxG/Eu7D8NA=";
rev = "refs/tags/v${version}";
hash = "sha256-2HHyecgiodWhQkkn3eo0RJNroD7HaK6Je/+x9IqZfWE=";
};
postPatch = ''
@ -47,7 +47,7 @@ buildGoModule rec {
protoc-gen-go-grpc
];
vendorHash = "sha256-bUzGWpQxeXzvkzQ7G53ljQJq6wwqiXqbi6bgeFlNvvM=";
vendorHash = "sha256-PX41xeUJb/WKv3+z5kbRmJNP1vFu8x35NZvN2Dgp4CQ=";
preBuild = ''
# Fix inconsistent vendoring build error
@ -64,13 +64,18 @@ buildGoModule rec {
cp system-fw.json $out/etc/opensnitchd/
substitute default-config.json $out/etc/opensnitchd/default-config.json \
--replace "/var/log/opensnitchd.log" "/dev/stdout"
# Do not mkdir rules path
sed -i '8d' opensnitchd.service
# Fixup hardcoded paths
substitute opensnitchd.service $out/lib/systemd/system/opensnitchd.service \
--replace "/usr/local/bin/opensnitchd" "$out/bin/opensnitchd" \
--replace "/etc/opensnitchd/rules" "/var/lib/opensnitch/rules" \
--replace "/bin/mkdir" "${coreutils}/bin/mkdir"
--replace "/usr/local/bin/opensnitchd" "$out/bin/opensnitchd"
'';
ldflags = [ "-s" "-w" "-X github.com/evilsocket/opensnitch/daemon/core.Version=${version}" ];
ldflags = [
"-s"
"-w"
"-X github.com/evilsocket/opensnitch/daemon/core.Version=${version}"
];
postInstall = ''
wrapProgram $out/bin/opensnitchd \

View File

@ -2,7 +2,7 @@
python3Packages.buildPythonApplication rec {
pname = "pyprland";
version = "1.8.7";
version = "1.10.2";
format = "pyproject";
disabled = python3Packages.pythonOlder "3.10";
@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec {
owner = "hyprland-community";
repo = "pyprland";
rev = "refs/tags/${version}";
hash = "sha256-6ne1wohpknxXpaLg29COM84pXUBKXBVH0jaLfypLtUo=";
hash = "sha256-ZbxrfxgURs+XHegsdZ7Z42o7flQ8Jt2rfR2RwDmGpls=";
};
nativeBuildInputs = with python3Packages; [ poetry-core ];

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "raft-cowsql";
version = "0.19.1";
version = "0.22.0";
src = fetchFromGitHub {
owner = "cowsql";
repo = "raft";
rev = "refs/tags/v${version}";
hash = "sha256-GF+dfkdBNamaix+teJQfhiVMGFwHoAj6GeQj9EpuhYE=";
hash = "sha256-kd0PD45+CenlfRMp5O48uELyZ2gEtasCe7xNEzsKU+M=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View File

@ -7,10 +7,10 @@
inherit buildUnstable;
}).overrideAttrs (finalAttrs: _: {
pname = "renode-unstable";
version = "1.14.0+20240130git6e173a1bb";
version = "1.14.0+20240212git8eb88bb9c";
src = fetchurl {
url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-portable.tar.gz";
hash = "sha256-D4DjZYsvtlJXgoAHkYb7qPqbNfpidXHmEozEj6nPPqA=";
hash = "sha256-WwsIiyKF6hskv6NSTPiyY80nE3q97xzH359wFmN0OkU=";
};
})

View File

@ -0,0 +1,102 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
asio,
boost,
expected-lite,
fmt,
llhttp,
openssl,
pcre2,
zlib,
catch2_3,
# Build with the asio library bundled in boost instead of the standalone asio package.
with_boost_asio ? false,
}:
assert with_boost_asio -> boost != null;
assert !with_boost_asio -> asio != null;
stdenv.mkDerivation (finalAttrs: {
pname = "restinio";
version = "0.7.1";
src = fetchFromGitHub {
owner = "Stiffstream";
repo = "restinio";
rev = "v.${finalAttrs.version}";
hash = "sha256-XodG+dVW4iBgFx0Aq0+/pZyCLyqTBtW7e9r69y176Ro=";
};
patches = let
useCommit = {id, name, hash}:
fetchpatch {
inherit name hash;
url = "https://github.com/Stiffstream/restinio/commit/${id}.patch";
};
in [
(useCommit {
id = "57e6ae3f73a03a5120feb80a7bb5dca27179fa38";
name = "restinio-unvendor-catch2_part1.patch";
hash = "sha256-2Htt9WTP6nrh+1y7y2xleFj568IpnSEn9Qhb1ObLam8=";
})
(useCommit {
id = "0060e493b99f03c38dda519763f6d6701bc18112";
name = "restinio-unvendor-catch2_part2.patch";
hash = "sha256-Eg/VNxPwNtEYmalP5myn+QvqwU6wln9v0vxbRelRHA8=";
})
(useCommit {
id = "05bea25f82917602a49b72b8ea10eeb43984762f";
name = "restinio-unvendor-catch2_part3.patch";
hash = "sha256-fA+U/Y7FyrxDRiWSVXCy9dMF4gmfDLag7gBWoY74In0=";
})
];
strictDeps = true;
nativeBuildInputs = [ cmake ];
propagatedBuildInputs = [
expected-lite
fmt
llhttp
openssl
pcre2
zlib
] ++ (if with_boost_asio then [
boost
] else [
asio
]);
checkInputs = [
catch2_3
];
cmakeDir = "../dev";
cmakeFlags = [
"-DRESTINIO_TEST=ON"
"-DRESTINIO_SAMPLE=OFF"
"-DRESTINIO_BENCHMARK=OFF"
"-DRESTINIO_WITH_SOBJECTIZER=OFF"
"-DRESTINIO_ASIO_SOURCE=${if with_boost_asio then "boost" else "standalone"}"
"-DRESTINIO_DEP_EXPECTED_LITE=find"
"-DRESTINIO_DEP_FMT=find"
"-DRESTINIO_DEP_LLHTTP=find"
"-DRESTINIO_DEP_CATCH2=find"
];
doCheck = true;
enableParallelChecking = false;
meta = with lib; {
description = "Cross-platform, efficient, customizable, and robust asynchronous HTTP(S)/WebSocket server C++ library";
homepage = "https://github.com/Stiffstream/restinio";
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ tobim ];
};
})

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,9 @@
{ lib
, clangStdenv
, cargo
, copyDesktopItems
, fetchFromGitHub
, flutter313
, flutter316
, gst_all_1
, libXtst
, libaom
@ -22,7 +23,7 @@
flutterRustBridge = rustPlatform.buildRustPackage rec {
pname = "flutter_rust_bridge_codegen";
version = "1.80.1"; # https://github.com/rustdesk/rustdesk/blob/0cf4711515077e400827c3ec92c8102f11b4a69c/.github/workflows/bridge.yml#L10
version = "1.80.1"; # https://github.com/rustdesk/rustdesk/blob/16db977fd81e14af62ec5ac7760a7661a5c24be8/.github/workflows/bridge.yml#L10
src = fetchFromGitHub {
owner = "fzyzcjy";
@ -36,21 +37,23 @@
doCheck = false;
};
in flutter313.buildFlutterApplication rec {
sharedLibraryExt = rustc.stdenv.hostPlatform.extensions.sharedLibrary;
in flutter316.buildFlutterApplication {
pname = "rustdesk";
version = "unstable-2024-02-03";
version = "1.2.3-unstable-2024-02-11";
src = fetchFromGitHub {
owner = "rustdesk";
repo = "rustdesk";
rev = "0cf4711515077e400827c3ec92c8102f11b4a69c";
hash = "sha256-jqtOCrmFNpFEGAZU8LBH3ge5S++nK/dVpaszMbwdIOw=";
rev = "16db977fd81e14af62ec5ac7760a7661a5c24be8";
hash = "sha256-k4gNuA/gZ58S0selOn9+K7+s5AQLkpz+DPI84Fuw414=";
};
strictDeps = true;
strucutedAttrs = true;
# Configure the Flutter/Dart build
sourceRoot = "source/flutter";
# curl https://raw.githubusercontent.com/rustdesk/rustdesk/16db977fd81e14af62ec5ac7760a7661a5c24be8/flutter/pubspec.lock | yq
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = {
dash_chat_2 = "sha256-J5Bc6CeCoRGN870aNEVJ2dkQNb+LOIZetfG2Dsfz5Ow=";
@ -67,15 +70,17 @@ in flutter313.buildFlutterApplication rec {
# Configure the Rust build
cargoRoot = "..";
cargoDeps = rustPlatform.importCargoLock {
# Upstream lock file after running `cargo generate-lockfile --offline` and
# removing the git variant of core-foundation-sys
lockFile = ./Cargo.lock;
outputHashes = {
"amf-0.1.0" = "sha256-4xZIp0Zs1VJQixChxC4b6ac108DGqgzZ/O/+94d2jKI=";
"amf-0.1.0" = "sha256-j9w3bB1Nd8GuHyMHxjcTGBy3JJ26g/GiBg2OQgrdqLw=";
"android-wakelock-0.1.0" = "sha256-09EH/U1BBs3l4galQOrTKmPUYBgryUjfc/rqPZhdYc4=";
"cacao-0.4.0-beta2" = "sha256-U5tCLeVxjmZCm7ti1u71+i116xmozPaR69pCsA4pxrM=";
"confy-0.4.0-2" = "sha256-r5VeggXrIq5Cwxc2WSrxQDI5Gvbw979qIUQfMKHgBUI=";
"core-foundation-0.9.3" = "sha256-iB4OVmWZhuWbs9RFWvNc+RNut6rip2/50o5ZM6c0c3g=";
"evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
"hwcodec-0.2.0" = "sha256-PMDynyMAf4E314HEZ7loqANucshXc+R6sCH8dwUY+oU=";
"hwcodec-0.2.0" = "sha256-yw3cmC74u6oLfJD6ouqACUZynHRujT/KJMtLOtzg7f4=";
"impersonate_system-0.1.0" = "sha256-pIV7s2qGoCIUrhaRovBDCJaGQ/pMdJacDXJmeBpkcyI=";
"keepawake-0.4.3" = "sha256-wDLjjhKWbCeaWbA896a5E5UMB0B/xI/84QRCUYNKX7I=";
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
@ -134,8 +139,12 @@ in flutter313.buildFlutterApplication rec {
xdotool
];
postPatch = ''
prePatch = ''
chmod -R +w ..
'';
patchFlags = [ "-p1" "-d" ".." ];
postPatch = ''
substituteInPlace ../Cargo.toml --replace ", \"staticlib\", \"rlib\"" ""
# The supplied Cargo.lock doesn't work with our fetcher so copy over the fixed version
cp ${./Cargo.lock} ../Cargo.lock
@ -150,17 +159,17 @@ in flutter313.buildFlutterApplication rec {
dart_output:
- "./lib/generated_bridge.dart"
llvm_path:
- "${rustc.llvmPackages.libclang.lib}"
- "${lib.getLib clangStdenv.cc.cc}"
dart_format_line_length: 80
llvm_compiler_opts: "-I ${rustc.llvmPackages.clang-unwrapped.lib}/lib/clang/${lib.versions.major rustc.llvmPackages.clang-unwrapped.version}/include -I ${rustc.unwrapped.stdenv.cc.libc_dev}/include"
llvm_compiler_opts: "-I ${lib.getLib clangStdenv.cc.cc}/lib/clang/${lib.versions.major clangStdenv.cc.version}/include -I ${clangStdenv.cc.libc_dev}/include"
EOF
RUST_LOG=info ${flutterRustBridge}/bin/flutter_rust_bridge_codegen bridge.yml
# Build the Rust shared library
cd ..
preBuild=() # prevent loops
runHook cargoBuildHook
mv ./target/*/release/liblibrustdesk.so ./target/release/liblibrustdesk.so
cargoBuildHook
mv ./target/*/release/liblibrustdesk${sharedLibraryExt} ./target/release/liblibrustdesk${sharedLibraryExt}
cd flutter
'';
@ -176,8 +185,8 @@ in flutter313.buildFlutterApplication rec {
name = "rustdesk";
desktopName = "RustDesk";
genericName = "Remote Desktop";
comment = meta.description;
exec = "${meta.mainProgram} %u";
comment = "Remote Desktop";
exec = "rustdesk %u";
icon = "rustdesk";
terminal = false;
type = "Application";
@ -186,7 +195,7 @@ in flutter313.buildFlutterApplication rec {
keywords = [ "internet" ];
actions.new-window = {
name = "Open a New Window";
exec = "${meta.mainProgram} %u";
exec = "rustdesk %u";
};
})
(makeDesktopItem {
@ -195,7 +204,7 @@ in flutter313.buildFlutterApplication rec {
noDisplay = true;
mimeTypes = [ "x-scheme-handler/rustdesk" ];
tryExec = "rustdesk";
exec = "${meta.mainProgram} %u";
exec = "rustdesk %u";
icon = "rustdesk";
terminal = false;
type = "Application";

View File

@ -633,8 +633,8 @@
"dependency": "direct main",
"description": {
"path": ".",
"ref": "3865a99f60a92bea4d95bb5d55cf524b1bcbbf5a",
"resolved-ref": "3865a99f60a92bea4d95bb5d55cf524b1bcbbf5a",
"ref": "38951317afe79d953ab25733667bd96e172a80d3",
"resolved-ref": "38951317afe79d953ab25733667bd96e172a80d3",
"url": "https://github.com/21pages/flutter_gpu_texture_renderer"
},
"source": "git",

File diff suppressed because it is too large Load Diff

View File

@ -8,19 +8,19 @@
rustPlatform.buildRustPackage rec {
pname = "rwpspread";
version = "0.1.8";
version = "0.1.9";
src = fetchFromGitHub {
owner = "0xk1f0";
repo = "rwpspread";
rev = "v${version}";
hash = "sha256-slxsicASZ7JoUnnQf4R3xFB4zgtt4ZOZCU0NcbgBneM=";
hash = "sha256-oZgHMklHMKUpVY3g7wS2rna+5+ePEbcvdVJc9jPTeoI=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"smithay-client-toolkit-0.18.0" = "sha256-6y5abqVHPJmh8p8yeNgfTRox1u/2XHwRo3+T19I1Ksk=";
"smithay-client-toolkit-0.18.0" = "sha256-7s5XPmIflUw2qrKRAZUz30cybYKvzD5Hu4ViDpzGC3s=";
};
};

View File

@ -16,16 +16,16 @@
rustPlatform.buildRustPackage rec {
pname = "satty";
version = "0.8.3";
version = "0.9.0";
src = fetchFromGitHub {
owner = "gabm";
repo = "Satty";
rev = "v${version}";
hash = "sha256-KCHKR6DP8scd9xdWi0bLw3wObrEi0tOsflXHa9f4Z5k=";
hash = "sha256-640npBvOO4SZfQI5Tq1FY+B7Bg75YsaoGd/XhWAy9Zs=";
};
cargoHash = "sha256-pUBtUC+WOuiypLUpXCPR1pu0fRrMVTxg7FE2JSaszNw=";
cargoHash = "sha256-H+PnZWNaxdNaPLZmKJIcnEBTnpeXCxGC9cXnzR2hfoc=";
nativeBuildInputs = [
copyDesktopItems

View File

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libuuid, curl, sqlite, openssl }:
stdenv.mkDerivation rec {
pname = "scitoken-cpp";
pname = "scitokens-cpp";
version = "1.1.0";
src = fetchFromGitHub {

View File

@ -9,18 +9,18 @@
buildGoModule rec {
pname = "shopware-cli";
version = "0.4.22";
version = "0.4.23";
src = fetchFromGitHub {
repo = "shopware-cli";
owner = "FriendsOfShopware";
rev = version;
hash = "sha256-P93wxAApV2iWXSQGXsCPjmvj2gGMwbKw6+yMgiainb4=";
hash = "sha256-miuZsrIPvdYdEu9qc/qRxcNxfPLxCHxokywhLgplehY=";
};
nativeBuildInputs = [ installShellFiles makeWrapper ];
nativeCheckInputs = [ git dart-sass ];
vendorHash = "sha256-FalN3qhw2o9NvSIfEU4juevPAsxQoksNjL3eATf0umU=";
vendorHash = "sha256-JgeyIj4YfnHZm2u+Gy3taX+WoFwe3jfqkVOO63adzgU=";
postInstall = ''
export HOME="$(mktemp -d)"

View File

@ -4,14 +4,14 @@
}:
stdenvNoCC.mkDerivation rec {
pname = "0xproto";
version = "1.601";
version = "1.602";
src = let
underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
in
fetchzip {
url = "https://github.com/0xType/0xProto/releases/download/${version}/0xProto_${underscoreVersion}.zip";
hash = "sha256-f/5YmyIF66+7w2Tb0V0UKRjwDYDdZ0BEqsEuyN0FaDQ=";
hash = "sha256-hcPvaC4Tyq9nLuq5RP8UzJOEGYJusRlRo2Ov4JI2IZI=";
};
installPhase = ''

View File

@ -19,6 +19,8 @@
, panelOpacity ? null # default: 15%
, panelSize ? null # default: 32px
, roundedMaxWindow ? false # default: false
, nordColor ? false # default = false
, darkerColor ? false # default = false
}:
let
@ -90,6 +92,8 @@ stdenv.mkDerivation rec {
${lib.optionalString (panelOpacity != null) ("--panel-opacity " + panelOpacity)} \
${lib.optionalString (panelSize != null) ("--panel-size " + panelSize)} \
${lib.optionalString (roundedMaxWindow == true) "--roundedmaxwindow"} \
${lib.optionalString (nordColor == true) "--nordcolor"} \
${lib.optionalString (darkerColor == true) "--darkercolor"} \
--dest $out/share/themes
jdupes --quiet --link-soft --recurse $out/share
@ -100,7 +104,7 @@ stdenv.mkDerivation rec {
passthru.updateScript = gitUpdater { };
meta = with lib; {
description = "MacOS Big Sur like theme for Gnome desktops";
description = "MacOS BigSur like Gtk+ theme based on Elegant Design";
homepage = "https://github.com/vinceliuice/WhiteSur-gtk-theme";
license = licenses.mit;
platforms = platforms.unix;

View File

@ -30,13 +30,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "gnome-music";
version = "45.0";
version = "45.1";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "M+dwFmImp0U31MELFTjvqIQklP/pvyyQoWyrmKuZe98=";
sha256 = "lZWc24AkRASNUKGpHELbiyUWWgpoUzvAOJXrNyxN3gs=";
};
nativeBuildInputs = [

View File

@ -68,11 +68,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-control-center";
version = "45.2";
version = "45.3";
src = fetchurl {
url = "mirror://gnome/sources/gnome-control-center/${lib.versions.major finalAttrs.version}/gnome-control-center-${finalAttrs.version}.tar.xz";
sha256 = "sha256-DPo8My1u2stz0GxrJv/KEHjob/WerIGbKTHglndT33A=";
sha256 = "sha256-selJxOhsBiTsam7Q3wnJ+uKyKYPB3KYO2GrsjvCyQAQ=";
};
patches = [

View File

@ -39,11 +39,11 @@
stdenv.mkDerivation rec {
pname = "gnome-initial-setup";
version = "45.0";
version = "45.4.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "sa/nZHmPiUi+25XHqzG9eFKaxctIHEH3p3d/Jk3lS9g=";
sha256 = "Nj4JqjMI5/QHTgZiU6AYKzIqtgN2dD3heLu0AOVLqO4=";
};
patches = [

View File

@ -67,13 +67,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-shell";
version = "45.3";
version = "45.4";
outputs = [ "out" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${lib.versions.major finalAttrs.version}/gnome-shell-${finalAttrs.version}.tar.xz";
sha256 = "OhlyRyDYJ03GvO1o4N1fx2aKBM15l4y7uCI0dMzdqas=";
sha256 = "W/6jeeEgscfyN/PsNprSfvXC9ZMMffFjs5J4LYWCCQ0=";
};
patches = [

View File

@ -67,13 +67,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mutter";
version = "45.3";
version = "45.4";
outputs = [ "out" "dev" "man" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
sha256 = "t4rqfz4r7IMioq8EBHFr4iaZBcfVDASwsqcaOIFPzQE=";
sha256 = "kRQIN74VWC8sdTvmYauOQtrVXUobDwZQvQssk/Ar16s=";
};
mesonFlags = [

View File

@ -20,12 +20,12 @@
python3Packages.buildPythonApplication rec {
pname = "gnome-tweaks";
version = "45.0";
version = "45.1";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "JTmUZYroYXlNDG4OD0dd/hyvJ342dLh5J5AjjzTP1u4=";
sha256 = "lf+n842bHf1eTOvvt1JBn+ohzUBwITla3J8RKFRBbU8=";
};
nativeBuildInputs = [

View File

@ -1,6 +1,7 @@
{ lib, stdenv
, fetchurl
, meson
, mesonEmulatorHook
, ninja
, python3
, vala
@ -13,16 +14,15 @@
, gtk-doc
, docbook-xsl-nons
, docbook_xml_dtd_42
, withDocs ? true
}:
let
isCross = (stdenv.hostPlatform != stdenv.buildPlatform);
in
stdenv.mkDerivation rec {
pname = "dconf";
version = "0.40.0";
outputs = [ "out" "lib" "dev" ]
++ lib.optional (!isCross) "devdoc";
++ lib.optional withDocs "devdoc";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
@ -38,19 +38,23 @@ stdenv.mkDerivation rec {
glib
docbook-xsl-nons
docbook_xml_dtd_42
] ++ lib.optional (!isCross) gtk-doc;
gtk-doc
] ++ lib.optionals (withDocs && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
mesonEmulatorHook # gtkdoc invokes the host binary to produce documentation
];
buildInputs = [
glib
bash-completion
dbus
] ++ lib.optional (!isCross) vala;
# Vala cross compilation is broken. For now, build dconf without vapi when cross-compiling.
vala
];
mesonFlags = [
"--sysconfdir=/etc"
"-Dgtk_doc=${lib.boolToString (!isCross)}" # gtk-doc does do some gobject introspection, which doesn't yet cross-compile.
] ++ lib.optional isCross "-Dvapi=false";
"-Dgtk_doc=${lib.boolToString withDocs}"
];
nativeCheckInputs = [
dbus # for dbus-daemon

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "imgui";
version = "1.90.1";
version = "1.90.2";
src = fetchFromGitHub {
owner = "ocornut";
repo = "imgui";
rev = "v${version}";
sha256 = "sha256-gf47uLeNiXQic43buB5ZnMqiotlUfIyAsP+3H7yJuFg=";
sha256 = "sha256-0sqV1TgidSuZQLihRTUCd46jKIgwcOJlKjRyOvopqlo=";
};
dontBuild = true;

View File

@ -53,6 +53,7 @@ stdenv.mkDerivation rec {
passthru.updateScript = gnome.updateScript {
packageName = "libdex";
versionPolicy = "odd-unstable";
};
meta = with lib; {

View File

@ -14,20 +14,15 @@
stdenv.mkDerivation rec {
pname = "mongoc";
version = "1.24.4";
version = "1.25.4";
src = fetchFromGitHub {
owner = "mongodb";
repo = "mongo-c-driver";
rev = "refs/tags/${version}";
hash = "sha256-cOPZ4o9q/cOBtGXFv6mOenTSyU/L2U6DZB4UmMnhtes=";
hash = "sha256-4Bz6sftXSZDDV8PlTQG8ndOwwp+QHXtzacJ1BXfJAkQ=";
};
postPatch = ''
substituteInPlace src/libbson/CMakeLists.txt src/libmongoc/CMakeLists.txt \
--replace "\\\''${prefix}/" ""
'';
nativeBuildInputs = [
cmake
pkg-config
@ -48,6 +43,7 @@ stdenv.mkDerivation rec {
"-DBUILD_VERSION=${version}"
"-DENABLE_UNINSTALL=OFF"
"-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF"
"-DCMAKE_INSTALL_LIBDIR=lib"
];
# remove forbidden reference to $TMPDIR

View File

@ -2,6 +2,8 @@
, stdenv
, fetchFromGitHub
, mongoc
, openssl
, cyrus_sasl
, cmake
, validatePkgConfig
, testers
@ -31,6 +33,8 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
mongoc
openssl
cyrus_sasl
];
cmakeFlags = [

View File

@ -20,11 +20,11 @@ assert (ch4backend.pname == "ucx" || ch4backend.pname == "libfabric");
stdenv.mkDerivation rec {
pname = "mpich";
version = "4.1.2";
version = "4.2.0";
src = fetchurl {
url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
sha256 = "sha256-NJLpitq2K1l+8NKS+yRZthI7yABwqKoKML5pYgdaEvA=";
sha256 = "sha256-pkpmeBueUxKtBS0yaJ4jJS90WyfuiBisKsDIIJvAuQ4=";
};
outputs = [ "out" "doc" "man" ];

View File

@ -1,29 +0,0 @@
{ lib, stdenvNoCC, fetchurl }:
stdenvNoCC.mkDerivation rec {
pname = "restinio";
version = "0.6.19";
src = fetchurl {
url = "https://github.com/Stiffstream/restinio/releases/download/v.${version}/${pname}-${version}.tar.bz2";
hash = "sha256-fyHuvrlm4XDWq1TpsZiskn1DkJASFzngN8D6O7NnskA=";
};
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/include
mv restinio-*/dev/restinio $out/include
runHook postInstall
'';
meta = with lib; {
description = "Cross-platform, efficient, customizable, and robust asynchronous HTTP/WebSocket server C++14 library";
homepage = "https://github.com/Stiffstream/restinio";
license = licenses.bsd3;
platforms = platforms.all;
};
}

View File

@ -221,13 +221,13 @@
aarch64-linux = "https://packages.microsoft.com/debian/11/prod/pool/main/m/${finalAttrs.pname}/${finalAttrs.pname}_${finalAttrs.version}_arm64.deb";
x86_64-darwin = "https://download.microsoft.com/download/6/4/0/64006503-51e3-44f0-a6cd-a9b757d0d61b/${finalAttrs.pname}-${finalAttrs.version}-amd64.tar.gz";
aarch64-darwin = "https://download.microsoft.com/download/6/4/0/64006503-51e3-44f0-a6cd-a9b757d0d61b/${finalAttrs.pname}-${finalAttrs.version}-arm64.tar.gz";
}.${stdenv.system} or (throw "Unsupported platform");
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
hash = {
x86_64-linux = "sha256:1f0rmh1aynf1sqmjclbsyh2wz5jby0fixrwz71zp6impxpwvil52";
aarch64-linux = "sha256:0zphnbvkqdbkcv6lvv63p7pyl68h5bs2dy6vv44wm6bi89svms4a";
x86_64-darwin = "sha256:1fn80byn1yihflznxcm9cpj42mpllnz54apnk9n46vzm2ng2lj6d";
aarch64-darwin = "sha256:116xl8r2apr5b48jnq6myj9fwqs88yccw5176yfyzh4534fznj5x";
}.${stdenv.system} or (throw "Unsupported platform");
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
};
nativeBuildInputs =

View File

@ -1,14 +1,14 @@
{ lib, stdenv, fetchurl, meson, ninja, pkg-config, python3
, libGLU, libepoxy, libX11, libdrm, mesa
, libGLU, libepoxy, libX11, libdrm, mesa, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "virglrenderer";
version = "1.0.0";
version = "1.0.1";
src = fetchurl {
url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/${version}/virglrenderer-${version}.tar.bz2";
hash = "sha256-KMGPP2MeuATHFXKr5oW9HuFOMmmYpmkVLvMvQi0cEdg=";
hash = "sha256-U8uPrdCPUmDuV4M/wkiFZUgUOLx6jjTz4RTRLMnZ25o=";
};
separateDebugInfo = true;
@ -17,6 +17,13 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkg-config python3 ];
passthru = {
updateScript = gitUpdater {
url = "https://gitlab.freedesktop.org/virgl/virglrenderer.git";
rev-prefix = "virglrenderer-";
};
};
meta = with lib; {
description = "A virtual 3D GPU library that allows a qemu guest to use the host GPU for accelerated 3D rendering";
homepage = "https://virgil3d.github.io/";

View File

@ -13,13 +13,13 @@
clangStdenv.mkDerivation rec {
pname = "xeus-zmq";
version = "1.2.0";
version = "1.3.0";
src = fetchFromGitHub {
owner = "jupyter-xeus";
repo = "xeus-zmq";
rev = "${version}";
hash = "sha256-xavomnqQh5aMrBEyeuwoxrTjsw8wRof3+qxKOsrXqiQ=";
hash = "sha256-CrFb0LDb6akCfFnwMSa4H3D3A8KJx9Kiejw6VeV3IDs=";
};
nativeBuildInputs = [ cmake ];

View File

@ -2,15 +2,20 @@
buildDunePackage rec {
pname = "ocamlfuse";
version = "2.7.1_cvs8";
version = "2.7.1_cvs9";
src = fetchFromGitHub {
owner = "astrada";
repo = "ocamlfuse";
rev = "v${version}";
hash = "sha256-Cm9mdYzpKnYoNyAJvjJkiDBP/O4n1JiTkhXQO3w7+hA=";
hash = "sha256-cOObHUAYiI2mN1qjsxcK6kHAmawuaGQOUNHqWioIvjM=";
};
postPatch = ''
substituteInPlace lib/Fuse_main.c \
--replace-warn "<fuse_lowlevel.h>" "<fuse/fuse_lowlevel.h>"
'';
nativeBuildInputs = [ camlidl ];
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ camlidl fuse ];

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