Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-01-31 00:12:49 +00:00 committed by GitHub
commit 99d08bb877
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
274 changed files with 2730 additions and 7657 deletions

3
.github/CODEOWNERS vendored
View file

@ -325,6 +325,9 @@ pkgs/applications/version-management/forgejo @bendlas @emilylange
/pkgs/build-support/node/fetch-npm-deps @lilyinstarlight @winterqt /pkgs/build-support/node/fetch-npm-deps @lilyinstarlight @winterqt
/doc/languages-frameworks/javascript.section.md @lilyinstarlight @winterqt /doc/languages-frameworks/javascript.section.md @lilyinstarlight @winterqt
# environment.noXlibs option aka NoX
/nixos/modules/config/no-x-libs.nix @SuperSandro2000
# OCaml # OCaml
/pkgs/build-support/ocaml @ulrikstrid /pkgs/build-support/ocaml @ulrikstrid
/pkgs/development/compilers/ocaml @ulrikstrid /pkgs/development/compilers/ocaml @ulrikstrid

View file

@ -101,6 +101,7 @@ checkConfigError 'It seems as if you.re trying to declare an option by placing i
checkConfigError 'It seems as if you.re trying to declare an option by placing it into .config. rather than .options.' config.nest.wrong2 ./error-mkOption-in-config.nix checkConfigError 'It seems as if you.re trying to declare an option by placing it into .config. rather than .options.' config.nest.wrong2 ./error-mkOption-in-config.nix
checkConfigError 'The option .sub.wrong2. does not exist. Definition values:' config.sub ./error-mkOption-in-submodule-config.nix checkConfigError 'The option .sub.wrong2. does not exist. Definition values:' config.sub ./error-mkOption-in-submodule-config.nix
checkConfigError '.*This can happen if you e.g. declared your options in .types.submodule.' config.sub ./error-mkOption-in-submodule-config.nix checkConfigError '.*This can happen if you e.g. declared your options in .types.submodule.' config.sub ./error-mkOption-in-submodule-config.nix
checkConfigError '.*A definition for option .bad. is not of type .non-empty .list of .submodule...\.' config.bad ./error-nonEmptyListOf-submodule.nix
# types.pathInStore # types.pathInStore
checkConfigOutput '".*/store/0lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv"' config.pathInStore.ok1 ./types.nix checkConfigOutput '".*/store/0lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv"' config.pathInStore.ok1 ./types.nix

View file

@ -0,0 +1,7 @@
{ lib, ... }:
{
options.bad = lib.mkOption {
type = lib.types.nonEmptyListOf (lib.types.submodule { });
default = [ ];
};
}

View file

@ -557,6 +557,7 @@ rec {
in list // { in list // {
description = "non-empty ${optionDescriptionPhrase (class: class == "noun") list}"; description = "non-empty ${optionDescriptionPhrase (class: class == "noun") list}";
emptyValue = { }; # no .value attr, meaning unset emptyValue = { }; # no .value attr, meaning unset
substSubModules = m: nonEmptyListOf (elemType.substSubModules m);
}; };
attrsOf = elemType: mkOptionType rec { attrsOf = elemType: mkOptionType rec {

View file

@ -60,6 +60,12 @@
See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data. See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
*/ */
{ {
_0b11stan = {
name = "Tristan Auvinet Pinaudeau";
email = "tristan@tic.sh";
github = "0b11stan";
githubId = 27831931;
};
_0qq = { _0qq = {
email = "0qqw0qqw@gmail.com"; email = "0qqw0qqw@gmail.com";
github = "0qq"; github = "0qq";
@ -3347,6 +3353,13 @@
githubId = 4526429; githubId = 4526429;
name = "Philipp Dargel"; name = "Philipp Dargel";
}; };
chito = {
email = "iamchito@protonmail.com";
github = "chitochi";
githubId = 153365419;
matrix = "@chito:nichijou.dev";
name = "Chito";
};
chivay = { chivay = {
email = "hubert.jasudowicz@gmail.com"; email = "hubert.jasudowicz@gmail.com";
github = "chivay"; github = "chivay";
@ -13121,6 +13134,12 @@
githubId = 1222539; githubId = 1222539;
name = "Roman Naumann"; name = "Roman Naumann";
}; };
nanotwerp = {
email = "nanotwerp@gmail.com";
github = "nanotwerp";
githubId = 17240342;
name = "Nano Twerpus";
};
naphta = { naphta = {
github = "naphta"; github = "naphta";
githubId = 6709831; githubId = 6709831;

View file

@ -38,8 +38,12 @@ In addition to numerous new and upgraded packages, this release has the followin
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- [Handheld Daemon](https://github.com/hhd-dev/hhd), support for gaming handhelds like the Legion Go, ROG Ally, and GPD Win. Available as [services.handheld-daemon](#opt-services.handheld-daemon.enable).
- [Guix](https://guix.gnu.org), a functional package manager inspired by Nix. Available as [services.guix](#opt-services.guix.enable). - [Guix](https://guix.gnu.org), a functional package manager inspired by Nix. Available as [services.guix](#opt-services.guix.enable).
- [pyLoad](https://pyload.net/), a FOSS download manager written in Python. Available as [services.pyload](#opt-services.pyload.enable)
- [maubot](https://github.com/maubot/maubot), a plugin-based Matrix bot framework. Available as [services.maubot](#opt-services.maubot.enable). - [maubot](https://github.com/maubot/maubot), a plugin-based Matrix bot framework. Available as [services.maubot](#opt-services.maubot.enable).
- systemd's gateway, upload, and remote services, which provides ways of sending journals across the network. Enable using [services.journald.gateway](#opt-services.journald.gateway.enable), [services.journald.upload](#opt-services.journald.upload.enable), and [services.journald.remote](#opt-services.journald.remote.enable). - systemd's gateway, upload, and remote services, which provides ways of sending journals across the network. Enable using [services.journald.gateway](#opt-services.journald.gateway.enable), [services.journald.upload](#opt-services.journald.upload.enable), and [services.journald.remote](#opt-services.journald.remote.enable).

View file

@ -109,6 +109,7 @@ rec {
recurse = prefix: item: recurse = prefix: item:
if item ? ${attr} then if item ? ${attr} then
nameValuePair prefix item.${attr} nameValuePair prefix item.${attr}
else if isDerivation item then []
else if isAttrs item then else if isAttrs item then
map (name: map (name:
let let

View file

@ -37,6 +37,7 @@ with lib;
ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; }; ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; };
gjs = super.gjs.overrideAttrs { doCheck = false; installTests = false; }; # avoid test dependency on gtk3 gjs = super.gjs.overrideAttrs { doCheck = false; installTests = false; }; # avoid test dependency on gtk3
gobject-introspection = super.gobject-introspection.override { x11Support = false; }; gobject-introspection = super.gobject-introspection.override { x11Support = false; };
gpg-tui = super.gpg-tui.override { x11Support = false; };
gpsd = super.gpsd.override { guiSupport = false; }; gpsd = super.gpsd.override { guiSupport = false; };
graphviz = super.graphviz-nox; graphviz = super.graphviz-nox;
gst_all_1 = super.gst_all_1 // { gst_all_1 = super.gst_all_1 // {

View file

@ -32,6 +32,7 @@
, split , split
, seed , seed
, definitionsDirectory , definitionsDirectory
, sectorSize
}: }:
let let
@ -94,6 +95,7 @@ runCommand imageFileBasename
--definitions="$amendedRepartDefinitions" \ --definitions="$amendedRepartDefinitions" \
--split="${lib.boolToString split}" \ --split="${lib.boolToString split}" \
--json=pretty \ --json=pretty \
${lib.optionalString (sectorSize != null) "--sector-size=${toString sectorSize}"} \
${imageFileBasename}.raw \ ${imageFileBasename}.raw \
| tee repart-output.json | tee repart-output.json

View file

@ -135,6 +135,16 @@ in
''; '';
}; };
sectorSize = lib.mkOption {
type = with lib.types; nullOr int;
default = 512;
example = lib.literalExpression "4096";
description = lib.mdDoc ''
The sector size of the disk image produced by systemd-repart. This
value must be a power of 2 between 512 and 4096.
'';
};
package = lib.mkPackageOption pkgs "systemd-repart" { package = lib.mkPackageOption pkgs "systemd-repart" {
# We use buildPackages so that repart images are built with the build # We use buildPackages so that repart images are built with the build
# platform's systemd, allowing for cross-compiled systems to work. # platform's systemd, allowing for cross-compiled systems to work.
@ -232,7 +242,7 @@ in
in in
pkgs.callPackage ./repart-image.nix { pkgs.callPackage ./repart-image.nix {
systemd = cfg.package; systemd = cfg.package;
inherit (cfg) imageFileBasename compression split seed; inherit (cfg) imageFileBasename compression split seed sectorSize;
inherit fileSystems definitionsDirectory partitions; inherit fileSystems definitionsDirectory partitions;
}; };

View file

@ -534,6 +534,7 @@
./services/hardware/fancontrol.nix ./services/hardware/fancontrol.nix
./services/hardware/freefall.nix ./services/hardware/freefall.nix
./services/hardware/fwupd.nix ./services/hardware/fwupd.nix
./services/hardware/handheld-daemon.nix
./services/hardware/hddfancontrol.nix ./services/hardware/hddfancontrol.nix
./services/hardware/illum.nix ./services/hardware/illum.nix
./services/hardware/interception-tools.nix ./services/hardware/interception-tools.nix
@ -1061,6 +1062,7 @@
./services/networking/openvpn.nix ./services/networking/openvpn.nix
./services/networking/ostinato.nix ./services/networking/ostinato.nix
./services/networking/owamp.nix ./services/networking/owamp.nix
./services/networking/pyload.nix
./services/networking/pdns-recursor.nix ./services/networking/pdns-recursor.nix
./services/networking/pdnsd.nix ./services/networking/pdnsd.nix
./services/networking/peroxide.nix ./services/networking/peroxide.nix

View file

@ -0,0 +1,44 @@
{ config
, lib
, pkgs
, ...
}:
with lib; let
cfg = config.services.handheld-daemon;
in
{
options.services.handheld-daemon = {
enable = mkEnableOption "Enable Handheld Daemon";
package = mkPackageOption pkgs "handheld-daemon" { };
user = mkOption {
type = types.str;
description = lib.mdDoc ''
The user to run Handheld Daemon with.
'';
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
services.udev.packages = [ cfg.package ];
systemd.packages = [ cfg.package ];
systemd.services.handheld-daemon = {
description = "Handheld Daemon";
wantedBy = [ "multi-user.target" ];
restartIfChanged = true;
serviceConfig = {
ExecStart = "${ lib.getExe cfg.package } --user ${ cfg.user }";
Nice = "-12";
Restart = "on-failure";
RestartSec = "10";
};
};
};
meta.maintainers = [ maintainers.appsforartists ];
}

View file

@ -13,7 +13,7 @@ let
(iniFmt.generate "PackageKit.conf" (recursiveUpdate (iniFmt.generate "PackageKit.conf" (recursiveUpdate
{ {
Daemon = { Daemon = {
DefaultBackend = "nix"; DefaultBackend = "test_nop";
KeepCache = false; KeepCache = false;
}; };
} }
@ -35,7 +35,7 @@ let
in in
{ {
imports = [ imports = [
(mkRemovedOptionModule [ "services" "packagekit" "backend" ] "Always set to Nix.") (mkRemovedOptionModule [ "services" "packagekit" "backend" ] "Always set to test_nop, Nix backend is broken see #177946.")
]; ];
options.services.packagekit = { options.services.packagekit = {

View file

@ -141,12 +141,12 @@ in
`''${dataDir}/paperless-manage createsuperuser`. `''${dataDir}/paperless-manage createsuperuser`.
The default superuser name is `admin`. To change it, set The default superuser name is `admin`. To change it, set
option {option}`extraConfig.PAPERLESS_ADMIN_USER`. option {option}`settings.PAPERLESS_ADMIN_USER`.
WARNING: When changing the superuser name after the initial setup, the old superuser WARNING: When changing the superuser name after the initial setup, the old superuser
will continue to exist. will continue to exist.
To disable login for the web interface, set the following: To disable login for the web interface, set the following:
`extraConfig.PAPERLESS_AUTO_LOGIN_USERNAME = "admin";`. `settings.PAPERLESS_AUTO_LOGIN_USERNAME = "admin";`.
WARNING: Only use this on a trusted system without internet access to Paperless. WARNING: Only use this on a trusted system without internet access to Paperless.
''; '';
}; };

View file

@ -0,0 +1,147 @@
{ config, lib, pkgs, utils, ... }:
let
cfg = config.services.pyload;
stateDir = "/var/lib/pyload";
in
{
meta.maintainers = with lib.maintainers; [ ambroisie ];
options = with lib; {
services.pyload = {
enable = mkEnableOption "pyLoad download manager";
package = mkPackageOption pkgs "pyLoad" { default = [ "pyload-ng" ]; };
listenAddress = mkOption {
type = types.str;
default = "localhost";
example = "0.0.0.0";
description = "Address to listen on for the web UI.";
};
port = mkOption {
type = types.port;
default = 8000;
example = 9876;
description = "Port to listen on for the web UI.";
};
downloadDirectory = mkOption {
type = types.path;
default = "${stateDir}/downloads";
example = "/mnt/downloads";
description = "Directory to store downloads.";
};
credentialsFile = mkOption {
type = with types; nullOr path;
default = null;
example = "/run/secrets/pyload-credentials.env";
description = ''
File containing {env}`PYLOAD_DEFAULT_USERNAME` and
{env}`PYLOAD_DEFAULT_PASSWORD` in the format of an `EnvironmentFile=`,
as described by {manpage}`systemd.exec(5)`.
If not given, they default to the username/password combo of
pyload/pyload.
'';
};
};
};
config = lib.mkIf cfg.enable {
systemd.tmpfiles.settings.pyload = {
${cfg.downloadDirectory}.d = { };
};
systemd.services.pyload = {
description = "pyLoad download manager";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
# NOTE: unlike what the documentation says, it looks like `HOME` is not
# defined with this service definition...
# Since pyload tries to do the equivalent of `cd ~`, it needs to be able
# to resolve $HOME, which fails when `RootDirectory` is set.
# FIXME: check if `SetLoginEnvironment` fixes this issue in version 255
environment = {
HOME = stateDir;
PYLOAD__WEBUI__HOST = cfg.listenAddress;
PYLOAD__WEBUI__PORT = builtins.toString cfg.port;
};
serviceConfig = {
ExecStart = utils.escapeSystemdExecArgs [
(lib.getExe cfg.package)
"--userdir"
"${stateDir}/config"
"--storagedir"
cfg.downloadDirectory
];
User = "pyload";
Group = "pyload";
DynamicUser = true;
EnvironmentFile = lib.optional (cfg.credentialsFile != null) cfg.credentialsFile;
StateDirectory = "pyload";
WorkingDirectory = stateDir;
RuntimeDirectory = "pyload";
RuntimeDirectoryMode = "0700";
RootDirectory = "/run/pyload";
BindReadOnlyPaths = [
builtins.storeDir # Needed to run the python interpreter
];
BindPaths = [
cfg.downloadDirectory
];
# Hardening options
LockPersonality = true;
NoNewPrivileges = true;
PrivateDevices = true;
PrivateMounts = true;
PrivateTmp = true;
PrivateUsers = true;
ProcSubset = "pid";
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
RemoveIPC = true;
RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX";
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ];
UMask = "0002";
CapabilityBoundingSet = [
"~CAP_BLOCK_SUSPEND"
"~CAP_BPF"
"~CAP_CHOWN"
"~CAP_IPC_LOCK"
"~CAP_KILL"
"~CAP_LEASE"
"~CAP_LINUX_IMMUTABLE"
"~CAP_NET_ADMIN"
"~CAP_SYS_ADMIN"
"~CAP_SYS_BOOT"
"~CAP_SYS_CHROOT"
"~CAP_SYS_NICE"
"~CAP_SYS_PACCT"
"~CAP_SYS_PTRACE"
"~CAP_SYS_RESOURCE"
"~CAP_SYS_TTY_CONFIG"
];
};
};
};
}

View file

@ -5,6 +5,9 @@ with (import ./param-lib.nix lib);
let let
cfg = config.services.strongswan-swanctl; cfg = config.services.strongswan-swanctl;
configFile = pkgs.writeText "swanctl.conf"
( (paramsToConf cfg.swanctl swanctlParams)
+ (concatMapStrings (i: "\ninclude ${i}") cfg.includes));
swanctlParams = import ./swanctl-params.nix lib; swanctlParams = import ./swanctl-params.nix lib;
in { in {
options.services.strongswan-swanctl = { options.services.strongswan-swanctl = {
@ -21,6 +24,13 @@ in {
}; };
swanctl = paramsToOptions swanctlParams; swanctl = paramsToOptions swanctlParams;
includes = mkOption {
type = types.listOf types.path;
default = [];
description = ''
Extra configuration files to include in the swanctl configuration. This can be used to provide secret values from outside the nix store.
'';
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@ -31,8 +41,7 @@ in {
} }
]; ];
environment.etc."swanctl/swanctl.conf".text = environment.etc."swanctl/swanctl.conf".source = configFile;
paramsToConf cfg.swanctl swanctlParams;
# The swanctl command complains when the following directories don't exist: # The swanctl command complains when the following directories don't exist:
# See: https://wiki.strongswan.org/projects/strongswan/wiki/Swanctldirectory # See: https://wiki.strongswan.org/projects/strongswan/wiki/Swanctldirectory

View file

@ -96,18 +96,10 @@ in
"/share/dde-daemon" "/share/dde-daemon"
"/share/dsg" "/share/dsg"
"/share/deepin-themes" "/share/deepin-themes"
"/share/deepin"
]; ];
environment.etc = { environment.etc = {
"distribution.info".text = ''
[Distribution]
Name=NixOS
WebsiteName=www.nixos.org
Website=https://www.nixos.org
Logo=${pkgs.nixos-icons}/share/icons/hicolor/96x96/apps/nix-snowflake.png
LogoLight=${pkgs.nixos-icons}/share/icons/hicolor/32x32/apps/nix-snowflake.png
LogoTransparent=${pkgs.deepin.deepin-desktop-base}/share/pixmaps/distribution_logo_transparent.svg
'';
"deepin-installer.conf".text = '' "deepin-installer.conf".text = ''
system_info_vendor_name="Copyright (c) 2003-2023 NixOS contributors" system_info_vendor_name="Copyright (c) 2003-2023 NixOS contributors"
''; '';
@ -156,6 +148,7 @@ in
deepin-sound-theme deepin-sound-theme
deepin-gtk-theme deepin-gtk-theme
deepin-wallpapers deepin-wallpapers
deepin-desktop-base
startdde startdde
dde-dock dde-dock

View file

@ -185,6 +185,8 @@ in
}; };
}; };
qt.enable = true;
environment.systemPackages = environment.systemPackages =
with pkgs.plasma5Packages; with pkgs.plasma5Packages;
let let
@ -253,6 +255,9 @@ in
plasma-integration plasma-integration
polkit-kde-agent polkit-kde-agent
qqc2-breeze-style
qqc2-desktop-style
plasma-desktop plasma-desktop
plasma-workspace plasma-workspace
plasma-workspace-wallpapers plasma-workspace-wallpapers

View file

@ -390,6 +390,7 @@ in {
installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {}); installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {});
invidious = handleTest ./invidious.nix {}; invidious = handleTest ./invidious.nix {};
livebook-service = handleTest ./livebook-service.nix {}; livebook-service = handleTest ./livebook-service.nix {};
pyload = handleTest ./pyload.nix {};
oci-containers = handleTestOn ["aarch64-linux" "x86_64-linux"] ./oci-containers.nix {}; oci-containers = handleTestOn ["aarch64-linux" "x86_64-linux"] ./oci-containers.nix {};
odoo = handleTest ./odoo.nix {}; odoo = handleTest ./odoo.nix {};
odoo15 = handleTest ./odoo.nix { package = pkgs.odoo15; }; odoo15 = handleTest ./odoo.nix { package = pkgs.odoo15; };
@ -762,6 +763,7 @@ in {
sabnzbd = handleTest ./sabnzbd.nix {}; sabnzbd = handleTest ./sabnzbd.nix {};
samba = handleTest ./samba.nix {}; samba = handleTest ./samba.nix {};
samba-wsdd = handleTest ./samba-wsdd.nix {}; samba-wsdd = handleTest ./samba-wsdd.nix {};
sane = handleTest ./sane.nix {};
sanoid = handleTest ./sanoid.nix {}; sanoid = handleTest ./sanoid.nix {};
scaphandre = handleTest ./scaphandre.nix {}; scaphandre = handleTest ./scaphandre.nix {};
schleuder = handleTest ./schleuder.nix {}; schleuder = handleTest ./schleuder.nix {};

View file

@ -40,6 +40,8 @@ in
image.repart = { image.repart = {
name = "appliance-gpt-image"; name = "appliance-gpt-image";
# OVMF does not work with the default repart sector size of 4096
sectorSize = 512;
partitions = { partitions = {
"esp" = { "esp" = {
contents = contents =

View file

@ -132,5 +132,10 @@ import ./make-test-python.nix ({ pkgs, ... }: {
deployer.succeed("passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P \"\[sudo\] password\" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --use-remote-sudo &>/dev/console") deployer.succeed("passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P \"\[sudo\] password\" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --use-remote-sudo &>/dev/console")
target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip() target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip()
assert target_hostname == "config-3-deployed", f"{target_hostname=}" assert target_hostname == "config-3-deployed", f"{target_hostname=}"
with subtest("Deploy works with very long TMPDIR"):
tmp_dir = "/var/folder/veryveryveryveryverylongpathnamethatdoesnotworkwithcontrolpath"
deployer.succeed(f"mkdir -p {tmp_dir}")
deployer.succeed(f"TMPDIR={tmp_dir} nixos-rebuild switch -I nixos-config=/root/configuration-1.nix --target-host root@target &>/dev/console")
''; '';
}) })

View file

@ -257,21 +257,6 @@ let
''; '';
}; };
exportarr-sonarr = {
nodeName = "exportarr_sonarr";
exporterConfig = {
enable = true;
url = "http://127.0.0.1:8989";
# testing for real data is tricky, because the api key can not be preconfigured
apiKeyFile = pkgs.writeText "dummy-api-key" "eccff6a992bc2e4b88e46d064b26bb4e";
};
exporterTest = ''
wait_for_unit("prometheus-exportarr-sonarr-exporter.service")
wait_for_open_port(9707)
succeed("curl -sSf 'http://localhost:9707/metrics")
'';
};
fastly = { fastly = {
exporterConfig = { exporterConfig = {
enable = true; enable = true;

33
nixos/tests/pyload.nix Normal file
View file

@ -0,0 +1,33 @@
import ./make-test-python.nix ({ lib, ... }: {
name = "pyload";
meta.maintainers = with lib.maintainers; [ ambroisie ];
nodes = {
machine = { ... }: {
services.pyload = {
enable = true;
listenAddress = "0.0.0.0";
port = 9876;
};
networking.firewall.allowedTCPPorts = [ 9876 ];
};
client = { };
};
testScript = ''
start_all()
machine.wait_for_unit("pyload.service")
with subtest("Web interface accessible locally"):
machine.wait_until_succeeds("curl -fs localhost:9876")
client.wait_for_unit("network.target")
with subtest("Web interface accessible from a different machine"):
client.wait_until_succeeds("curl -fs machine:9876")
'';
})

85
nixos/tests/sane.nix Normal file
View file

@ -0,0 +1,85 @@
import ./make-test-python.nix ({ pkgs, ... }:
/*
SANE NixOS test
===============
SANE is intrisically tied to hardware, so testing it is not straightforward.
However:
- a fake webcam can be created with v4l2loopback
- sane has a backend (v4l) to use a webcam as a scanner
This test creates a webcam /dev/video0, streams a still image with some text
through this webcam, uses SANE to scan from the webcam, and uses OCR to check
that the expected text was scanned.
*/
let
text = "66263666188646651519653683416";
fontsConf = pkgs.makeFontsConf {
fontDirectories = [
pkgs.dejavu_fonts.minimal
];
};
# an image with black on white text spelling "${text}"
# for some reason, the test fails if it's jpg instead of png
# the font is quite large to make OCR easier
image = pkgs.runCommand "image.png"
{
# only imagemagickBig can render text
nativeBuildInputs = [ pkgs.imagemagickBig ];
FONTCONFIG_FILE = fontsConf;
} ''
magick -pointsize 100 label:${text} $out
'';
in
{
name = "sane";
nodes.machine = { pkgs, config, ... }: {
boot = {
# create /dev/video0 as a fake webcam whose content is filled by ffmpeg
extraModprobeConfig = ''
options v4l2loopback devices=1 max_buffers=2 exclusive_caps=1 card_label=VirtualCam
'';
kernelModules = [ "v4l2loopback" ];
extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
};
systemd.services.fake-webcam = {
wantedBy = [ "multi-user.target" ];
description = "fill /dev/video0 with ${image}";
/* HACK: /dev/video0 is a v4l2 only device, it misses one single v4l1
ioctl, VIDIOCSPICT. But sane only supports v4l1, so it will log that this
ioctl failed, and assume that the pixel format is Y8 (gray). So we tell
ffmpeg to produce this pixel format.
*/
serviceConfig.ExecStart = [ "${pkgs.ffmpeg}/bin/ffmpeg -framerate 30 -re -stream_loop -1 -i ${image} -f v4l2 -pix_fmt gray /dev/video0" ];
};
hardware.sane.enable = true;
system.extraDependencies = [ image ];
environment.systemPackages = [
pkgs.fswebcam
pkgs.tesseract
pkgs.v4l-utils
];
environment.variables.SANE_DEBUG_V4L = "128";
};
testScript = ''
start_all()
machine.wait_for_unit("fake-webcam.service")
# the device only appears when ffmpeg starts producing frames
machine.wait_until_succeeds("scanimage -L | grep /dev/video0")
machine.succeed("scanimage -L >&2")
with subtest("debugging: /dev/video0 works"):
machine.succeed("v4l2-ctl --all >&2")
machine.succeed("fswebcam --no-banner /tmp/webcam.jpg")
machine.copy_from_vm("/tmp/webcam.jpg", "webcam")
# scan with the webcam
machine.succeed("scanimage -o /tmp/scan.png >&2")
machine.copy_from_vm("/tmp/scan.png", "scan")
# the image should contain "${text}"
output = machine.succeed("tesseract /tmp/scan.png -")
print(output)
assert "${text}" in output, f"expected text ${text} was not found, OCR found {output!r}"
'';
})

View file

@ -8,12 +8,9 @@ with import ../lib/testing-python.nix { inherit system pkgs; };
let let
makeZfsTest = name: makeZfsTest = name:
{ kernelPackage ? if enableUnstable { kernelPackages
then pkgs.zfsUnstable.latestCompatibleLinuxPackages
else pkgs.linuxPackages
, enableUnstable ? false
, enableSystemdStage1 ? false , enableSystemdStage1 ? false
, zfsPackage ? if enableUnstable then pkgs.zfs else pkgs.zfsUnstable , zfsPackage
, extraTest ? "" , extraTest ? ""
}: }:
makeTest { makeTest {
@ -35,7 +32,7 @@ let
boot.loader.timeout = 0; boot.loader.timeout = 0;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
networking.hostId = "deadbeef"; networking.hostId = "deadbeef";
boot.kernelPackages = kernelPackage; boot.kernelPackages = kernelPackages;
boot.zfs.package = zfsPackage; boot.zfs.package = zfsPackage;
boot.supportedFilesystems = [ "zfs" ]; boot.supportedFilesystems = [ "zfs" ];
boot.initrd.systemd.enable = enableSystemdStage1; boot.initrd.systemd.enable = enableSystemdStage1;
@ -197,16 +194,22 @@ in {
# maintainer: @raitobezarius # maintainer: @raitobezarius
series_2_1 = makeZfsTest "2.1-series" { series_2_1 = makeZfsTest "2.1-series" {
zfsPackage = pkgs.zfs_2_1; zfsPackage = pkgs.zfs_2_1;
kernelPackages = pkgs.linuxPackages;
}; };
stable = makeZfsTest "stable" { }; stable = makeZfsTest "stable" {
zfsPackage = pkgs.zfsStable;
unstable = makeZfsTest "unstable" { kernelPackages = pkgs.linuxPackages;
enableUnstable = true;
}; };
unstableWithSystemdStage1 = makeZfsTest "unstable" { unstable = makeZfsTest "unstable" rec {
enableUnstable = true; zfsPackage = pkgs.zfsUnstable;
kernelPackages = zfsPackage.latestCompatibleLinuxPackages;
};
unstableWithSystemdStage1 = makeZfsTest "unstable" rec {
zfsPackage = pkgs.zfsUnstable;
kernelPackages = zfsPackage.latestCompatibleLinuxPackages;
enableSystemdStage1 = true; enableSystemdStage1 = true;
}; };

View file

@ -16,13 +16,13 @@ let
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "psst"; pname = "psst";
version = "unstable-2024-01-12"; version = "unstable-2024-01-28";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jpochyla"; owner = "jpochyla";
repo = pname; repo = pname;
rev = "c70ace50e8c50c38dc6c4ea1156de2b50e6e76b5"; rev = "38422b1795c98d8d0e3bc8dc479d12f8d5bd7154";
hash = "sha256-WCtD06fZHdn0kT5SDE7aTUZvQlX9OBSAqHu+qopBzTM="; hash = "sha256-VTbjlSfkbon38IPBCazwrZtWR8dH9mE0sSVIlmxcUks=";
}; };
cargoLock = { cargoLock = {

View file

@ -51,7 +51,7 @@ index fcbd491..2d71ee3 100644
-pub const GIT_VERSION: &str = git_version!(); -pub const GIT_VERSION: &str = git_version!();
-pub const BUILD_TIME: &str = include!(concat!(env!("OUT_DIR"), "/build-time.txt")); -pub const BUILD_TIME: &str = include!(concat!(env!("OUT_DIR"), "/build-time.txt"));
-pub const REMOTE_URL: &str = include!(concat!(env!("OUT_DIR"), "/remote-url.txt")); -pub const REMOTE_URL: &str = include!(concat!(env!("OUT_DIR"), "/remote-url.txt"));
+pub const GIT_VERSION: &str = "c70ace50e8c50c38dc6c4ea1156de2b50e6e76b5"; +pub const GIT_VERSION: &str = "38422b1795c98d8d0e3bc8dc479d12f8d5bd7154";
+pub const BUILD_TIME: &str = "1970-01-01 00:00:00"; +pub const BUILD_TIME: &str = "1970-01-01 00:00:00";
+pub const REMOTE_URL: &str = "https://github.com/jpochyla/psst"; +pub const REMOTE_URL: &str = "https://github.com/jpochyla/psst";

View file

@ -18,8 +18,8 @@ let
sha256Hash = "sha256-cFEPgFAKkFx0d7PC4fTElTQVrBZMQs0RL3wR+hqTh2I="; sha256Hash = "sha256-cFEPgFAKkFx0d7PC4fTElTQVrBZMQs0RL3wR+hqTh2I=";
}; };
latestVersion = { latestVersion = {
version = "2023.3.1.5"; # "Android Studio Jellyfish | 2023.3.1 Canary 5" version = "2023.3.1.7"; # "Android Studio Jellyfish | 2023.3.1 Canary 7"
sha256Hash = "sha256-cxlACtSpDBoM5KHAWCEvqPbuKnvH7aDzOo3P+Folgqk="; sha256Hash = "sha256-PnhqSKgxs0XQ5cm/PB11Oms2p1aAibXKe52QC+8lX8c=";
}; };
in { in {
# Attributes are named by their corresponding release channels # Attributes are named by their corresponding release channels

View file

@ -22,10 +22,10 @@
let let
pname = "typora"; pname = "typora";
version = "1.8.6"; version = "1.8.9";
src = fetchurl { src = fetchurl {
url = "https://download.typora.io/linux/typora_${version}_amd64.deb"; url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
hash = "sha256-5hA9wEP3Hf3RxYC6KKe6JCiMEYKIHk9YhcA9tnSvirc="; hash = "sha256-1FAVY9NSvpZOCZJmNadx5ZlqfaCc2N3D+T/08F4TOzY=";
}; };
typoraBase = stdenv.mkDerivation { typoraBase = stdenv.mkDerivation {

View file

@ -1,24 +1,24 @@
{ lib { lib
, stdenv
, fetchFromGitHub
, SDL2 , SDL2
, cmake , cmake
, fetchFromGitHub
, lua , lua
, minizip , minizip
, pkg-config , pkg-config
, stdenv
, wrapQtAppsHook , wrapQtAppsHook
, x264 , x264
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "fceux"; pname = "fceux";
version = "2.6.4"; version = "2.6.6-unstable-2024-01-19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TASEmulators"; owner = "TASEmulators";
repo = "fceux"; repo = "fceux";
rev = "fceux-${finalAttrs.version}"; rev = "2fce5ffe745bb89be471e450d9cd6284cd5614d9";
hash = "sha256-Q6r/iBlmi0z40+U6OLZCahS0io4IBBGZMP1mJH7szRM="; hash = "sha256-5uUTw7ZkmBrGuntSQFNAp1Xz69ANmmIxNGd0/enPoW8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -34,11 +34,12 @@ stdenv.mkDerivation (finalAttrs: {
x264 x264
]; ];
meta = with lib; { meta = {
homepage = "http://www.fceux.com/"; homepage = "http://www.fceux.com/";
description = "A Nintendo Entertainment System (NES) Emulator"; description = "A Nintendo Entertainment System (NES) Emulator";
license = licenses.gpl2Plus; changelog = "https://github.com/TASEmulators/blob/fceux/${finalAttrs.src.rev}/changelog.txt";
maintainers = with maintainers; [ sbruder ]; license = with lib.licenses; [ gpl2Plus ];
platforms = platforms.linux; maintainers = with lib.maintainers; [ AndersonTorres sbruder ];
platforms = lib.platforms.linux;
}; };
}) })

View file

@ -3,6 +3,7 @@
, avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp , avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp
, curl, systemd, libxml2, poppler, gawk , curl, systemd, libxml2, poppler, gawk
, sane-drivers , sane-drivers
, nixosTests
# List of { src name backend } attibute sets - see installFirmware below: # List of { src name backend } attibute sets - see installFirmware below:
, extraFirmware ? [] , extraFirmware ? []
@ -132,6 +133,10 @@ stdenv.mkDerivation {
# https://github.com/NixOS/nixpkgs/issues/224569 # https://github.com/NixOS/nixpkgs/issues/224569
enableParallelInstalling = false; enableParallelInstalling = false;
passthru.tests = {
inherit (nixosTests) sane;
};
meta = with lib; { meta = with lib; {
description = "SANE (Scanner Access Now Easy) backends"; description = "SANE (Scanner Access Now Easy) backends";
longDescription = '' longDescription = ''

View file

@ -24,9 +24,7 @@ let
}; };
}; };
in in
with py.pkgs; py.pkgs.buildPythonApplication rec {
buildPythonApplication rec {
pname = "khal"; pname = "khal";
version = "0.11.2"; version = "0.11.2";
pyproject = true; pyproject = true;
@ -41,8 +39,7 @@ buildPythonApplication rec {
nativeBuildInputs = [ nativeBuildInputs = [
glibcLocales glibcLocales
installShellFiles installShellFiles
] ++ (with python3.pkgs; [ ] ++ (with py.pkgs; [
setuptools
setuptools-scm setuptools-scm
sphinx sphinx
sphinxcontrib-newsfeed sphinxcontrib-newsfeed
@ -66,7 +63,7 @@ buildPythonApplication rec {
urwid urwid
]; ];
nativeCheckInputs = with python3.pkgs;[ nativeCheckInputs = with py.pkgs;[
freezegun freezegun
hypothesis hypothesis
packaging packaging

View file

@ -71,6 +71,7 @@ in {
homepage = "https://github.com/logseq/logseq"; homepage = "https://github.com/logseq/logseq";
changelog = "https://github.com/logseq/logseq/releases/tag/${version}"; changelog = "https://github.com/logseq/logseq/releases/tag/${version}";
license = lib.licenses.agpl3Plus; license = lib.licenses.agpl3Plus;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ ]; maintainers = with lib.maintainers; [ ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
}; };

View file

@ -3,9 +3,7 @@
, fetchurl , fetchurl
, makeWrapper , makeWrapper
, makeDesktopItem , makeDesktopItem
# sweethome3d 6.5.2 does not yet fully build&run with jdk 9 and later? , jdk
, jdk8
, jre8
, ant , ant
, gtk3 , gtk3
, gsettings-desktop-schemas , gsettings-desktop-schemas
@ -13,6 +11,7 @@
, autoPatchelfHook , autoPatchelfHook
, libXxf86vm , libXxf86vm
, unzip , unzip
, libGL
}: }:
let let
@ -42,7 +41,7 @@ let
}; };
postPatch = '' postPatch = ''
addAutoPatchelfSearchPath ${jre8}/lib/openjdk/jre/lib/ addAutoPatchelfSearchPath ${jdk}/lib/openjdk/lib/
autoPatchelf lib autoPatchelf lib
# Nix cannot see the runtime references to the paths we just patched in # Nix cannot see the runtime references to the paths we just patched in
@ -52,7 +51,7 @@ let
''; '';
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ]; nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas libXxf86vm ]; buildInputs = [ ant jdk p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
@ -75,13 +74,9 @@ let
cp "${sweethome3dItem}/share/applications/"* $out/share/applications cp "${sweethome3dItem}/share/applications/"* $out/share/applications
# MESA_GL_VERSION_OVERRIDE is needed since the update from MESA 19.3.3 to 20.0.2: makeWrapper ${jdk}/bin/java $out/bin/$exec \
# without it a "Profiles [GL4bc, GL3bc, GL2, GLES1] not available on device null"
# exception is thrown on startup.
# https://discourse.nixos.org/t/glx-not-recognised-after-mesa-update/6753
makeWrapper ${jre8}/bin/java $out/bin/$exec \
--set MESA_GL_VERSION_OVERRIDE 2.1 \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
--add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}" --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
@ -102,6 +97,7 @@ let
inherit license; inherit license;
maintainers = [ lib.maintainers.edwtjo ]; maintainers = [ lib.maintainers.edwtjo ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
mainProgram = exec;
}; };
}; };

View file

@ -3,9 +3,7 @@
, fetchurl , fetchurl
, makeWrapper , makeWrapper
, makeDesktopItem , makeDesktopItem
# sweethome3d 6.5.2 does not yet fully build&run with jdk 9 and later? , jdk
, jdk8
, jre8
, ant , ant
, gtk3 , gtk3
, gsettings-desktop-schemas , gsettings-desktop-schemas
@ -44,7 +42,7 @@ let
}; };
nativeBuildInputs = [ makeWrapper unzip ]; nativeBuildInputs = [ makeWrapper unzip ];
buildInputs = [ ant jre8 jdk8 gtk3 gsettings-desktop-schemas ]; buildInputs = [ ant jdk gtk3 gsettings-desktop-schemas ];
postPatch = '' postPatch = ''
sed -i -e 's,../SweetHome3D,${applicationSrc},g' build.xml sed -i -e 's,../SweetHome3D,${applicationSrc},g' build.xml
@ -54,7 +52,7 @@ let
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
ant -lib ${applicationSrc}/libtest -lib ${applicationSrc}/lib -lib ${jdk8}/lib ant -lib ${applicationSrc}/libtest -lib ${applicationSrc}/lib -lib ${jdk}/lib
runHook postBuild runHook postBuild
''; '';
@ -64,7 +62,7 @@ let
mkdir -p $out/share/{java,applications} mkdir -p $out/share/{java,applications}
cp ${module}-${version}.jar $out/share/java/. cp ${module}-${version}.jar $out/share/java/.
cp "${editorItem}/share/applications/"* $out/share/applications cp "${editorItem}/share/applications/"* $out/share/applications
makeWrapper ${jre8}/bin/java $out/bin/$exec \ makeWrapper ${jdk}/bin/java $out/bin/$exec \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
--add-flags "-jar $out/share/java/${module}-${version}.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}" --add-flags "-jar $out/share/java/${module}-${version}.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
''; '';
@ -77,6 +75,7 @@ let
inherit license; inherit license;
maintainers = [ lib.maintainers.edwtjo ]; maintainers = [ lib.maintainers.edwtjo ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
mainProgram = exec;
}; };
}; };

View file

@ -8,13 +8,13 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "waypaper"; pname = "waypaper";
version = "1.9"; version = "2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anufrievroman"; owner = "anufrievroman";
repo = "waypaper"; repo = "waypaper";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-6hv+f2fbrbLodJIRHl5MYTkiZ51iZOAK42Vg73zSw/E="; hash = "sha256-AIOrn5I0WX8S4iaK6mVEbdn1tQiED0JYA0GXDXJ6eNE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -24,6 +24,9 @@ python3.pkgs.buildPythonApplication rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
python3.pkgs.pygobject3 python3.pkgs.pygobject3
python3.pkgs.platformdirs
python3.pkgs.importlib-metadata
python3.pkgs.pillow
killall killall
]; ];

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "kubergrunt"; pname = "kubergrunt";
version = "0.14.0"; version = "0.14.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gruntwork-io"; owner = "gruntwork-io";
repo = "kubergrunt"; repo = "kubergrunt";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-2wyqCiP+hb5dLdaS322eo2yMSTjcQb+eBvr3HRnaTD0="; sha256 = "sha256-bPZZzvbHynW0FtfmE78agBDADmCyBS2a4E/K+tJHkQY=";
}; };
vendorHash = "sha256-cr3VVS+ASg3vmppvTYpaOLJNHDN0b+C9uSln7jeqTX4="; vendorHash = "sha256-K24y41qpuyBHqljUAtNQu3H8BNqznxYOsvEVo+57OtY=";
# Disable tests since it requires network access and relies on the # Disable tests since it requires network access and relies on the
# presence of certain AWS infrastructure # presence of certain AWS infrastructure

View file

@ -10,16 +10,16 @@
buildGoModule rec { buildGoModule rec {
pname = "werf"; pname = "werf";
version = "1.2.282"; version = "1.2.284";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "werf"; owner = "werf";
repo = "werf"; repo = "werf";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-hlI9OLvirkY5LrcK21mcXe32d+X4s/SRelWWKZrcdu4="; hash = "sha256-02dvkz8lgvbiTZ194pv5UruKgB5+BtDbogAkEOfzpaA=";
}; };
vendorHash = "sha256-1rurHe3jFs+jOZhqBlH/IOoEyCEZoNpzBYnYC/UqYAU="; vendorHash = "sha256-u7E+4VK3D36ipAqQVPeIyAhv/1JvgMHEuUUiQH/43ME=";
proxyVendor = true; proxyVendor = true;

View file

@ -31,13 +31,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "firewalld"; pname = "firewalld";
version = "2.1.0"; version = "2.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "firewalld"; owner = "firewalld";
repo = "firewalld"; repo = "firewalld";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-3kP8Z8YtIcLHOFj9gqspSClsxWiefOqZlJQ5OzNZPeY="; sha256 = "sha256-+EDJrHryO1pXkuKnQdh8hGyi8/TOkb3ZLulQkiaOOqs=";
}; };
patches = [ patches = [

View file

@ -29,7 +29,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "chatty"; pname = "chatty";
version = "0.8.0"; version = "0.8.1";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.gnome.org"; domain = "gitlab.gnome.org";
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
repo = "Chatty"; repo = "Chatty";
rev = "v${version}"; rev = "v${version}";
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-jyG6kubXTyHUw2F+MfjJiQ0us4PrbavF5PJS5Pg46Mw="; hash = "sha256-5IkQnXAKl0duy/B6+z7PXYv5zxakxJCgQhWBw5wioWg=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,7 +2,7 @@
let let
versions = versions =
if stdenv.isLinux then { if stdenv.isLinux then {
stable = "0.0.41"; stable = "0.0.42";
ptb = "0.0.66"; ptb = "0.0.66";
canary = "0.0.257"; canary = "0.0.257";
development = "0.0.11"; development = "0.0.11";
@ -17,7 +17,7 @@ let
x86_64-linux = { x86_64-linux = {
stable = fetchurl { stable = fetchurl {
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"; url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
hash = "sha256-yzCOlYIDvbhJRbiqf5NC2iBT2ezlJP81O/wtkWIEp+U="; hash = "sha256-7can15JhBc6OJAWZMk8uEdt/D1orCKG1MN1WBdTZrI0=";
}; };
ptb = fetchurl { ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";

View file

@ -2,7 +2,7 @@
callPackage ./generic.nix { } rec { callPackage ./generic.nix { } rec {
pname = "signal-desktop"; pname = "signal-desktop";
dir = "Signal"; dir = "Signal";
version = "6.42.0"; version = "6.44.0";
url = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version}/builds/release/signal-desktop_${version}_arm64.deb"; url = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version}/builds/release/signal-desktop_${version}_arm64.deb";
hash = "sha256-kr8FM+EAtL/7TrgJlI33oDd4CPGMJ+F2PpQCR4OL6j4="; hash = "sha256-M4Xiy8cDQciMzgGl1/eeKZjEaelVtkk6JXJYBP4ua2s=";
} }

View file

@ -2,7 +2,7 @@
callPackage ./generic.nix {} rec { callPackage ./generic.nix {} rec {
pname = "signal-desktop"; pname = "signal-desktop";
dir = "Signal"; dir = "Signal";
version = "6.44.0"; version = "6.45.1";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb"; url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
hash = "sha256-04KhjExUx+X2/vxSlobVOk9A50XwTlXcdVuttnUmJEw="; hash = "sha256-yDXtWm+HFzqLTsa7gxy8e7ObVn7lrRewoHMyDGlmZkY=";
} }

View file

@ -26,7 +26,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nextcloud-client"; pname = "nextcloud-client";
version = "3.11.0"; version = "3.11.1";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
owner = "nextcloud"; owner = "nextcloud";
repo = "desktop"; repo = "desktop";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-rqSnCIsXQDf3cNQn4ofjGQkCgwYGyDau/WWUPHziNp4="; hash = "sha256-gskFI6nxRb5lx6EwWuqghqg7NmCaj0JS7PpV0i4qUqQ=";
}; };
patches = [ patches = [

View file

@ -0,0 +1,15 @@
diff --git a/src/pyload/core/__init__.py b/src/pyload/core/__init__.py
index 4324fc700..f7fcd66ec 100644
--- a/src/pyload/core/__init__.py
+++ b/src/pyload/core/__init__.py
@@ -46,8 +46,8 @@ class Exit(Exception):
# improve external scripts
class Core:
LOCALE_DOMAIN = APPID
- DEFAULT_USERNAME = APPID
- DEFAULT_PASSWORD = APPID
+ DEFAULT_USERNAME = os.getenv("PYLOAD_DEFAULT_USERNAME", APPID)
+ DEFAULT_PASSWORD = os.getenv("PYLOAD_DEFAULT_PASSWORD", APPID)
DEFAULT_DATADIR = os.path.join(
os.getenv("APPDATA") or USERHOMEDIR, "pyLoad" if os.name == "nt" else ".pyload"
)

View file

@ -0,0 +1,18 @@
diff --git a/src/pyload/core/__init__.py b/src/pyload/core/__init__.py
index 4324fc700..5d915a85e 100644
--- a/src/pyload/core/__init__.py
+++ b/src/pyload/core/__init__.py
@@ -128,6 +128,13 @@ class Core:
else:
self._debug = max(0, int(debug))
+ # Allow setting any option declaratively, for the NixOS module
+ for env, value in os.environ.items():
+ if not env.startswith("PYLOAD__"):
+ continue
+ section, opt = env.removeprefix("PYLOAD__").lower().split("__")
+ self.config.set(section, opt, value)
+
# If no argument set, read storage dir from config file,
# otherwise save setting to config dir
if storagedir is None:

View file

@ -1,4 +1,4 @@
{ lib, fetchPypi, python3 }: { lib, fetchPypi, nixosTests, python3 }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
version = "0.5.0b3.dev75"; version = "0.5.0b3.dev75";
@ -10,6 +10,14 @@ python3.pkgs.buildPythonApplication rec {
hash = "sha256-1lPIKkZESonDaVCnac0iUu/gCqXVDBhNZrk5S0eC6F0="; hash = "sha256-1lPIKkZESonDaVCnac0iUu/gCqXVDBhNZrk5S0eC6F0=";
}; };
patches = [
# Makes it possible to change the default username/password in the module
./declarative-default-user.patch
# Makes it possible to change the configuration through environment variables
# in the NixOS module (aimed mostly at listen address/port)
./declarative-env-config.patch
];
postPatch = '' postPatch = ''
# relax version bounds # relax version bounds
sed -i 's/\([A-z0-9]*\)~=.*$/\1/' setup.cfg sed -i 's/\([A-z0-9]*\)~=.*$/\1/' setup.cfg
@ -35,7 +43,8 @@ python3.pkgs.buildPythonApplication rec {
setuptools setuptools
]; ];
passthru.optional-dependencies = { passthru = {
optional-dependencies = {
plugins = with python3.pkgs; [ plugins = with python3.pkgs; [
beautifulsoup4 # for some plugins beautifulsoup4 # for some plugins
colorlog # colorful console logging colorlog # colorful console logging
@ -45,6 +54,11 @@ python3.pkgs.buildPythonApplication rec {
]; ];
}; };
tests = {
inherit (nixosTests) pyload;
};
};
meta = with lib; { meta = with lib; {
description = "Free and open-source download manager with support for 1-click-hosting sites"; description = "Free and open-source download manager with support for 1-click-hosting sites";
homepage = "https://github.com/pyload/pyload"; homepage = "https://github.com/pyload/pyload";

View file

@ -5,7 +5,6 @@
, symlinkJoin , symlinkJoin
, qttools , qttools
, cmake , cmake
, clang_8
, grpc , grpc
, protobuf , protobuf
, openssl , openssl
@ -68,8 +67,7 @@ mkDerivation rec {
pkg-config pkg-config
qttools qttools
curl curl
# The default clang_7 will result in reproducible ICE. ];
] ++ lib.optional (stdenv.isDarwin) clang_8;
meta = with lib; { meta = with lib; {
description = "An GUI frontend to v2ray"; description = "An GUI frontend to v2ray";

View file

@ -153,5 +153,6 @@ stdenv.mkDerivation rec {
license = licenses.agpl3Only; license = licenses.agpl3Only;
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ i077 ]; maintainers = with maintainers; [ i077 ];
mainProgram = "zotero";
}; };
} }

View file

@ -1,19 +1,25 @@
{ lib, python, fetchFromGitHub }: { lib
with python.pkgs; , python3
buildPythonApplication rec { , fetchFromGitHub
pname = "deepTools"; }:
python3.pkgs.buildPythonApplication rec {
pname = "deeptools";
version = "3.5.4"; version = "3.5.4";
pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "deeptools"; owner = "deeptools";
repo = "deepTools"; repo = "deepTools";
rev = version; rev = version;
sha256 = "sha256-A8YdlMptmJyxWW0EYLjXFIWjIO/mttEC7VYdlCe9MaI="; hash = "sha256-A8YdlMptmJyxWW0EYLjXFIWjIO/mttEC7VYdlCe9MaI=";
}; };
format = "pyproject"; nativeBuildInputs = with python3.pkgs; [
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = with python3.pkgs; [
numpy numpy
numpydoc numpydoc
scipy scipy
@ -26,7 +32,21 @@ buildPythonApplication rec {
importlib-metadata importlib-metadata
]; ];
nativeCheckInputs = [ pytest ]; nativeCheckInputs = with python3.pkgs; [
pytestCheckHook
];
preCheck = ''
export PATH="$out/bin:$PATH"
'';
disabledTestPaths = [
# tests trip on `len(sys.argv) == 1`
"deeptools/test/test_bigwigAverage.py"
"deeptools/test/test_bigwigCompare_and_multiBigwigSummary.py"
"deeptools/test/test_heatmapper.py"
"deeptools/test/test_multiBamSummary.py"
];
meta = with lib; { meta = with lib; {
homepage = "https://deeptools.readthedocs.io/en/develop"; homepage = "https://deeptools.readthedocs.io/en/develop";

View file

@ -12,13 +12,13 @@ assert blas.isILP64 == lapack.isILP64;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mopac"; pname = "mopac";
version = "22.1.0"; version = "22.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openmopac"; owner = "openmopac";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-4jQ0WCHK07CXWUPj5Z1zSXObKxnitMj+FJQbLDiS2Dc="; hash = "sha256-tdVb/u89EBggfG3Ofz1ICBE2ug4fbMsUWAILwJP9Ito=";
}; };
nativeBuildInputs = [ gfortran cmake ]; nativeBuildInputs = [ gfortran cmake ];

View file

@ -1,5 +1,23 @@
{ lib, stdenv, fetchFromGitLab, gfortran, which, perl, procps { lib
, libyaml, libxc, fftw, blas, lapack, gsl, netcdf, arpack, autoreconfHook , stdenv
, fetchFromGitLab
, gfortran
, which
, perl
, procps
, libvdwxc
, libyaml
, libxc
, fftw
, blas
, lapack
, gsl
, netcdf
, arpack
, autoreconfHook
, scalapack
, mpi
, enableMpi ? true
, python3 , python3
, enableFma ? stdenv.hostPlatform.fmaSupport , enableFma ? stdenv.hostPlatform.fmaSupport
, enableFma4 ? stdenv.hostPlatform.fma4Support , enableFma4 ? stdenv.hostPlatform.fma4Support
@ -38,8 +56,12 @@ stdenv.mkDerivation rec {
fftw fftw
netcdf netcdf
arpack arpack
libvdwxc
(python3.withPackages (ps: [ ps.pyyaml ])) (python3.withPackages (ps: [ ps.pyyaml ]))
]; ] ++ lib.optional enableMpi scalapack;
propagatedBuildInputs = lib.optional enableMpi mpi;
propagatedUserEnvPkgs = lib.optional enableMpi mpi;
configureFlags = with lib; [ configureFlags = with lib; [
"--with-yaml-prefix=${lib.getDev libyaml}" "--with-yaml-prefix=${lib.getDev libyaml}"
@ -48,12 +70,22 @@ stdenv.mkDerivation rec {
"--with-fftw-prefix=${lib.getDev fftw}" "--with-fftw-prefix=${lib.getDev fftw}"
"--with-gsl-prefix=${lib.getDev gsl}" "--with-gsl-prefix=${lib.getDev gsl}"
"--with-libxc-prefix=${lib.getDev libxc}" "--with-libxc-prefix=${lib.getDev libxc}"
"--with-libvdwxc"
"--enable-openmp" "--enable-openmp"
] ++ optional enableFma "--enable-fma3" ]
++ optional enableFma "--enable-fma3"
++ optional enableFma4 "--enable-fma4" ++ optional enableFma4 "--enable-fma4"
++ optional enableAvx "--enable-avx" ++ optional enableAvx "--enable-avx"
++ optional enableAvx512 "--enable-avx512"; ++ optional enableAvx512 "--enable-avx512"
++ optionals enableMpi [
"--enable-mpi"
"--with-scalapack=-lscalapack"
"CC=mpicc"
"FC=mpif90"
];
nativeCheckInputs = lib.optional.enableMpi mpi;
doCheck = false; doCheck = false;
checkTarget = "check-short"; checkTarget = "check-short";
@ -67,6 +99,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
passthru = lib.attrsets.optionalAttrs enableMpi { inherit mpi; };
meta = with lib; { meta = with lib; {
description = "Real-space time dependent density-functional theory code"; description = "Real-space time dependent density-functional theory code";
homepage = "https://octopus-code.org"; homepage = "https://octopus-code.org";

View file

@ -3,23 +3,23 @@
{ {
"kicad" = { "kicad" = {
kicadVersion = { kicadVersion = {
version = "7.0.9"; version = "7.0.10";
src = { src = {
rev = "1c81053cc40579ecd5febef1aeb1164008039deb"; rev = "7daac78752749fc919e932be6156914aa83c926f";
sha256 = "1hq9rba1gcks14zwbr8nbicpsil4imslgfch6ll33fhizbks3fq4"; sha256 = "0z459yi0s02mwdgbr3xxw43gn9yjhvfkjnsxmns5mksgzsr5nmhh";
}; };
}; };
libVersion = { libVersion = {
version = "7.0.9"; version = "7.0.10";
libSources = { libSources = {
symbols.rev = "1ed4ed6c0696e50165b8e3d7978136a05db2d7c3"; symbols.rev = "eedf6c9ddac2816023e817d4dc91032f9d7390b9";
symbols.sha256 = "0ynsnjq3z126cjkgm1fjbjvdvpc0walnr42ya9dv46l27kxy2j77"; symbols.sha256 = "0nlgmxf9z1vf4g350dfkxql1dawgmw275wqxkgszsfxmhdfpmi9v";
templates.rev = "856bacc6782ea8c9bcb5a49a2d438a4689e0579b"; templates.rev = "9ce98cc45f3778e05c404edebf0f98de5c247ffe";
templates.sha256 = "11582ldnv7hkljmhaym83962kixq1hjbfmdrn5laq7l4jk3l19vh"; templates.sha256 = "0mykfwwik7472i4r0isc5szj3dnmvd0538p0vlmzh4rcgj3pj3vm";
footprints.rev = "fe7b9aec7635caabbaa85fa8a15b85038394099b"; footprints.rev = "7061fc9847ecc1b838e60dc6826db534028494f6";
footprints.sha256 = "16a4c2xs4i8wbm01a901yxabxk0qdsjkzlccfawddv82bkh4b87h"; footprints.sha256 = "1az6fzh1lma71mj12bc4bblnmzjayrxhkb8w9rjvlhvvgv33cdmy";
packages3d.rev = "5bc66f3c0f6dabf09df6c5188b8d955968500eab"; packages3d.rev = "d7345b34daaa23acf0d4506ed937fb424b5b18cd";
packages3d.sha256 = "1cly28vc07i54v487zbb8d1h70nrd3naxvq146b0xnbrjwnd2q28"; packages3d.sha256 = "0xzyi4mgyifwc6dppdzh6jq294mkj0a71cwkqw2ymz1kfbksw626";
}; };
}; };
}; };

View file

@ -1,4 +1,4 @@
{ lib, stdenv, cmake, fetchFromGitHub, fixDarwinDylibNames }: { lib, stdenv, cmake, fetchFromGitHub, fetchpatch, fixDarwinDylibNames }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "btor2tools"; pname = "btor2tools";
@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "0mfqmkgvyw8fa2c09kww107dmk180ch1hp98r5kv41vnc04iqb0s"; sha256 = "0mfqmkgvyw8fa2c09kww107dmk180ch1hp98r5kv41vnc04iqb0s";
}; };
patches = [
(fetchpatch {
name = "gcc-13.patch";
url = "https://github.com/Boolector/btor2tools/commit/037f1fa88fb439dca6f648ad48a3463256d69d8b.patch";
hash = "sha256-FX1yy9XdUs1tAReOxhEzNHu48DrISzNNMSYoIrhHoFY=";
})
];
nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
installPhase = '' installPhase = ''

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cvc5"; pname = "cvc5";
version = "1.1.0"; version = "1.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cvc5"; owner = "cvc5";
repo = "cvc5"; repo = "cvc5";
rev = "cvc5-${version}"; rev = "cvc5-${version}";
hash = "sha256-BWmIxQz+if402f7zsFROWG1TXbcsg50FJbnffJFYun4="; hash = "sha256-TU2ZG6/9bXRPozvEVUiSWixImY38iavD3huhSU8DbCw=";
}; };
nativeBuildInputs = [ pkg-config cmake flex ]; nativeBuildInputs = [ pkg-config cmake flex ];

View file

@ -4,9 +4,9 @@ version = 3
[[package]] [[package]]
name = "ahash" name = "ahash"
version = "0.7.6" version = "0.7.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
dependencies = [ dependencies = [
"getrandom", "getrandom",
"once_cell", "once_cell",
@ -15,56 +15,56 @@ dependencies = [
[[package]] [[package]]
name = "ahash" name = "ahash"
version = "0.8.3" version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"once_cell", "once_cell",
"version_check", "version_check",
"zerocopy",
] ]
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "1.0.2" version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
[[package]] [[package]]
name = "allocator-api2" name = "allocator-api2"
version = "0.2.15" version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56fc6cf8dc8c4158eed8649f9b8b0ea1518eb62b544fe9490d66fa0b349eafe9" checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
[[package]] [[package]]
name = "anstream" name = "anstream"
version = "0.3.2" version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
dependencies = [ dependencies = [
"anstyle", "anstyle",
"anstyle-parse", "anstyle-parse",
"anstyle-query", "anstyle-query",
"anstyle-wincon", "anstyle-wincon",
"colorchoice", "colorchoice",
"is-terminal",
"utf8parse", "utf8parse",
] ]
[[package]] [[package]]
name = "anstyle" name = "anstyle"
version = "1.0.1" version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
[[package]] [[package]]
name = "anstyle-parse" name = "anstyle-parse"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
dependencies = [ dependencies = [
"utf8parse", "utf8parse",
] ]
@ -80,9 +80,9 @@ dependencies = [
[[package]] [[package]]
name = "anstyle-wincon" name = "anstyle-wincon"
version = "1.0.1" version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
dependencies = [ dependencies = [
"anstyle", "anstyle",
"windows-sys", "windows-sys",
@ -126,9 +126,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "2.3.3" version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
[[package]] [[package]]
name = "block-buffer" name = "block-buffer"
@ -141,15 +141,9 @@ dependencies = [
[[package]] [[package]]
name = "bumpalo" name = "bumpalo"
version = "3.13.0" version = "3.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
[[package]]
name = "cc"
version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
@ -165,20 +159,19 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.3.11" version = "4.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d" checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
"once_cell",
] ]
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.3.11" version = "4.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b" checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -188,21 +181,21 @@ dependencies = [
[[package]] [[package]]
name = "clap_derive" name = "clap_derive"
version = "4.3.2" version = "4.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.25", "syn 2.0.38",
] ]
[[package]] [[package]]
name = "clap_lex" name = "clap_lex"
version = "0.5.0" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
[[package]] [[package]]
name = "colorchoice" name = "colorchoice"
@ -222,9 +215,9 @@ dependencies = [
[[package]] [[package]]
name = "cpufeatures" name = "cpufeatures"
version = "0.2.9" version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
dependencies = [ dependencies = [
"libc", "libc",
] ]
@ -304,10 +297,11 @@ dependencies = [
"clap", "clap",
"egraph-serialize", "egraph-serialize",
"env_logger", "env_logger",
"generic_symbolic_expressions",
"getrandom", "getrandom",
"glob", "glob",
"hashbrown 0.14.0", "hashbrown 0.14.2",
"indexmap 2.0.0", "indexmap",
"instant", "instant",
"lalrpop", "lalrpop",
"lalrpop-util", "lalrpop-util",
@ -323,17 +317,17 @@ dependencies = [
"serde_json", "serde_json",
"smallvec", "smallvec",
"symbol_table", "symbol_table",
"symbolic_expressions",
"thiserror", "thiserror",
] ]
[[package]] [[package]]
name = "egraph-serialize" name = "egraph-serialize"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/egraphs-good/egraph-serialize?rev=e406ffcec8c6e841089fd3e4f9b76c35ce448950#e406ffcec8c6e841089fd3e4f9b76c35ce448950" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a41150f383849cfc16ae6230f592112b3c0a2c0e3ec43eb0b09db037bfcce703"
dependencies = [ dependencies = [
"graphviz-rust", "graphviz-rust",
"indexmap 2.0.0", "indexmap",
"once_cell", "once_cell",
"ordered-float", "ordered-float",
"serde", "serde",
@ -342,9 +336,9 @@ dependencies = [
[[package]] [[package]]
name = "either" name = "either"
version = "1.8.1" version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]] [[package]]
name = "ena" name = "ena"
@ -376,30 +370,19 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]] [[package]]
name = "errno" name = "errno"
version = "0.3.1" version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
dependencies = [ dependencies = [
"errno-dragonfly",
"libc", "libc",
"windows-sys", "windows-sys",
] ]
[[package]]
name = "errno-dragonfly"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
dependencies = [
"cc",
"libc",
]
[[package]] [[package]]
name = "fastrand" name = "fastrand"
version = "2.0.0" version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
[[package]] [[package]]
name = "fixedbitset" name = "fixedbitset"
@ -417,6 +400,11 @@ dependencies = [
"version_check", "version_check",
] ]
[[package]]
name = "generic_symbolic_expressions"
version = "5.0.3"
source = "git+https://github.com/oflatt/symbolic-expressions?rev=655b6a4c06b4b3d3b2300e17779860b4abe440f0#655b6a4c06b4b3d3b2300e17779860b4abe440f0"
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.10" version = "0.2.10"
@ -458,16 +446,16 @@ version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
dependencies = [ dependencies = [
"ahash 0.7.6", "ahash 0.7.7",
] ]
[[package]] [[package]]
name = "hashbrown" name = "hashbrown"
version = "0.14.0" version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
dependencies = [ dependencies = [
"ahash 0.8.3", "ahash 0.8.6",
"allocator-api2", "allocator-api2",
] ]
@ -479,9 +467,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]] [[package]]
name = "hermit-abi" name = "hermit-abi"
version = "0.3.2" version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
[[package]] [[package]]
name = "humantime" name = "humantime"
@ -491,22 +479,12 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "1.9.3" version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
dependencies = [
"autocfg",
"hashbrown 0.12.3",
]
[[package]]
name = "indexmap"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
dependencies = [ dependencies = [
"equivalent", "equivalent",
"hashbrown 0.14.0", "hashbrown 0.14.2",
"serde", "serde",
] ]
@ -595,7 +573,7 @@ dependencies = [
"petgraph", "petgraph",
"pico-args", "pico-args",
"regex", "regex",
"regex-syntax", "regex-syntax 0.7.5",
"string_cache", "string_cache",
"term", "term",
"tiny-keccak", "tiny-keccak",
@ -619,9 +597,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.147" version = "0.2.149"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
[[package]] [[package]]
name = "libtest-mimic" name = "libtest-mimic"
@ -636,15 +614,15 @@ dependencies = [
[[package]] [[package]]
name = "linux-raw-sys" name = "linux-raw-sys"
version = "0.4.3" version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
[[package]] [[package]]
name = "lock_api" name = "lock_api"
version = "0.4.10" version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"scopeguard", "scopeguard",
@ -652,15 +630,15 @@ dependencies = [
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.19" version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.5.0" version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]] [[package]]
name = "memory_units" name = "memory_units"
@ -676,9 +654,9 @@ checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
[[package]] [[package]]
name = "num-bigint" name = "num-bigint"
version = "0.4.3" version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"num-integer", "num-integer",
@ -709,9 +687,9 @@ dependencies = [
[[package]] [[package]]
name = "num-traits" name = "num-traits"
version = "0.2.15" version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
dependencies = [ dependencies = [
"autocfg", "autocfg",
] ]
@ -734,9 +712,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]] [[package]]
name = "ordered-float" name = "ordered-float"
version = "3.7.0" version = "3.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213" checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc"
dependencies = [ dependencies = [
"num-traits", "num-traits",
"rand", "rand",
@ -755,32 +733,33 @@ dependencies = [
[[package]] [[package]]
name = "parking_lot_core" name = "parking_lot_core"
version = "0.9.8" version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"libc", "libc",
"redox_syscall 0.3.5", "redox_syscall 0.4.1",
"smallvec", "smallvec",
"windows-targets", "windows-targets",
] ]
[[package]] [[package]]
name = "pest" name = "pest"
version = "2.7.2" version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1acb4a4365a13f749a93f1a094a7805e5cfa0955373a9de860d962eaa3a5fe5a" checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
dependencies = [ dependencies = [
"memchr",
"thiserror", "thiserror",
"ucd-trie", "ucd-trie",
] ]
[[package]] [[package]]
name = "pest_derive" name = "pest_derive"
version = "2.7.2" version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "666d00490d4ac815001da55838c500eafb0320019bbaa44444137c48b443a853" checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2"
dependencies = [ dependencies = [
"pest", "pest",
"pest_generator", "pest_generator",
@ -788,22 +767,22 @@ dependencies = [
[[package]] [[package]]
name = "pest_generator" name = "pest_generator"
version = "2.7.2" version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68ca01446f50dbda87c1786af8770d535423fa8a53aec03b8f4e3d7eb10e0929" checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227"
dependencies = [ dependencies = [
"pest", "pest",
"pest_meta", "pest_meta",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.25", "syn 2.0.38",
] ]
[[package]] [[package]]
name = "pest_meta" name = "pest_meta"
version = "2.7.2" version = "2.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56af0a30af74d0445c0bf6d9d051c979b516a1a5af790d251daee76005420a48" checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6"
dependencies = [ dependencies = [
"once_cell", "once_cell",
"pest", "pest",
@ -812,12 +791,12 @@ dependencies = [
[[package]] [[package]]
name = "petgraph" name = "petgraph"
version = "0.6.3" version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
dependencies = [ dependencies = [
"fixedbitset", "fixedbitset",
"indexmap 1.9.3", "indexmap",
] ]
[[package]] [[package]]
@ -849,18 +828,18 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.64" version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.29" version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
@ -908,9 +887,9 @@ dependencies = [
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.3.5" version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
] ]
@ -928,32 +907,38 @@ dependencies = [
[[package]] [[package]]
name = "regex" name = "regex"
version = "1.9.1" version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"memchr", "memchr",
"regex-automata", "regex-automata",
"regex-syntax", "regex-syntax 0.8.2",
] ]
[[package]] [[package]]
name = "regex-automata" name = "regex-automata"
version = "0.3.2" version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"memchr", "memchr",
"regex-syntax", "regex-syntax 0.8.2",
] ]
[[package]] [[package]]
name = "regex-syntax" name = "regex-syntax"
version = "0.7.4" version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
[[package]]
name = "regex-syntax"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]] [[package]]
name = "rustc-hash" name = "rustc-hash"
@ -963,11 +948,11 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]] [[package]]
name = "rustix" name = "rustix"
version = "0.38.4" version = "0.38.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
dependencies = [ dependencies = [
"bitflags 2.3.3", "bitflags 2.4.1",
"errno", "errno",
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",
@ -976,9 +961,9 @@ dependencies = [
[[package]] [[package]]
name = "rustversion" name = "rustversion"
version = "1.0.13" version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
[[package]] [[package]]
name = "ryu" name = "ryu"
@ -988,37 +973,37 @@ checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
[[package]] [[package]]
name = "scopeguard" name = "scopeguard"
version = "1.1.0" version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.171" version = "1.0.190"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.171" version = "1.0.190"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.25", "syn 2.0.38",
] ]
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.103" version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [ dependencies = [
"indexmap 2.0.0", "indexmap",
"itoa", "itoa",
"ryu", "ryu",
"serde", "serde",
@ -1026,9 +1011,9 @@ dependencies = [
[[package]] [[package]]
name = "sha2" name = "sha2"
version = "0.10.7" version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"cpufeatures", "cpufeatures",
@ -1037,15 +1022,15 @@ dependencies = [
[[package]] [[package]]
name = "siphasher" name = "siphasher"
version = "0.3.10" version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
[[package]] [[package]]
name = "smallvec" name = "smallvec"
version = "1.11.0" version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
[[package]] [[package]]
name = "string_cache" name = "string_cache"
@ -1068,18 +1053,14 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]] [[package]]
name = "symbol_table" name = "symbol_table"
version = "0.2.0" version = "0.3.0"
source = "git+https://github.com/mwillsey/symbol_table?rev=acddcf8938d1b4ed2fce048c9d83c30203d404b9#acddcf8938d1b4ed2fce048c9d83c30203d404b9" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "828f672b631c220bf6ea8a1d3b82c7d0fc998e5ba8373383d8604bc1e2a6245a"
dependencies = [ dependencies = [
"ahash 0.7.6", "ahash 0.7.7",
"hashbrown 0.12.3", "hashbrown 0.12.3",
] ]
[[package]]
name = "symbolic_expressions"
version = "5.0.3"
source = "git+https://github.com/oflatt/symbolic-expressions?rev=4c0ea5ca008f972450b2af72387e64d2c1c6a791#4c0ea5ca008f972450b2af72387e64d2c1c6a791"
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.109" version = "1.0.109"
@ -1093,9 +1074,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.25" version = "2.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1104,13 +1085,13 @@ dependencies = [
[[package]] [[package]]
name = "tempfile" name = "tempfile"
version = "3.7.1" version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"fastrand", "fastrand",
"redox_syscall 0.3.5", "redox_syscall 0.4.1",
"rustix", "rustix",
"windows-sys", "windows-sys",
] ]
@ -1128,31 +1109,31 @@ dependencies = [
[[package]] [[package]]
name = "termcolor" name = "termcolor"
version = "1.2.0" version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
dependencies = [ dependencies = [
"winapi-util", "winapi-util",
] ]
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "1.0.43" version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
dependencies = [ dependencies = [
"thiserror-impl", "thiserror-impl",
] ]
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "1.0.43" version = "1.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.25", "syn 2.0.38",
] ]
[[package]] [[package]]
@ -1175,9 +1156,9 @@ dependencies = [
[[package]] [[package]]
name = "typenum" name = "typenum"
version = "1.16.0" version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
[[package]] [[package]]
name = "ucd-trie" name = "ucd-trie"
@ -1187,9 +1168,9 @@ checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.10" version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]] [[package]]
name = "unicode-xid" name = "unicode-xid"
@ -1236,7 +1217,7 @@ dependencies = [
"once_cell", "once_cell",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.25", "syn 2.0.38",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -1258,7 +1239,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.25", "syn 2.0.38",
"wasm-bindgen-backend", "wasm-bindgen-backend",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -1334,9 +1315,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]] [[package]]
name = "winapi-util" name = "winapi-util"
version = "0.1.5" version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
dependencies = [ dependencies = [
"winapi", "winapi",
] ]
@ -1358,9 +1339,9 @@ dependencies = [
[[package]] [[package]]
name = "windows-targets" name = "windows-targets"
version = "0.48.1" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [ dependencies = [
"windows_aarch64_gnullvm", "windows_aarch64_gnullvm",
"windows_aarch64_msvc", "windows_aarch64_msvc",
@ -1373,42 +1354,62 @@ dependencies = [
[[package]] [[package]]
name = "windows_aarch64_gnullvm" name = "windows_aarch64_gnullvm"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]] [[package]]
name = "windows_aarch64_msvc" name = "windows_aarch64_msvc"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]] [[package]]
name = "windows_i686_gnu" name = "windows_i686_gnu"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]] [[package]]
name = "windows_i686_msvc" name = "windows_i686_msvc"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]] [[package]]
name = "windows_x86_64_gnu" name = "windows_x86_64_gnu"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]] [[package]]
name = "windows_x86_64_gnullvm" name = "windows_x86_64_gnullvm"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]] [[package]]
name = "windows_x86_64_msvc" name = "windows_x86_64_msvc"
version = "0.48.0" version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "zerocopy"
version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd66a62464e3ffd4e37bd09950c2b9dd6c4f8767380fabba0d523f9a775bc85a"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "255c4596d41e6916ced49cfafea18727b24d67878fa180ddfd69b9df34fd1726"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.38",
]

View file

@ -5,21 +5,21 @@
rustPlatform.buildRustPackage { rustPlatform.buildRustPackage {
pname = "egglog"; pname = "egglog";
version = "unstable-2023-09-12"; version = "0-unstable-2024-01-26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "egraphs-good"; owner = "egraphs-good";
repo = "egglog"; repo = "egglog";
rev = "4d67f262a6f27aa5cfb62a2cfc7df968959105df"; rev = "b78f69ca1f7187c363bb31271c8e8958f477f15d";
hash = "sha256-1mc7dW2pgaK4D7ZmlSHohb+6lcr7M9SRLUV/Dod8Rv0="; hash = "sha256-/1ktyz8wU1yLTdAFPnupK6jUFjiK6nQfotGRNOWiOsA=";
}; };
useNextest = true;
cargoLock = { cargoLock = {
lockFile = ./Cargo.lock; lockFile = ./Cargo.lock;
outputHashes = { outputHashes = {
"egraph-serialize-0.1.0" = "sha256-sdkn7lmtmbLwAopabLWkrD6GjM3LIHseysuvwPz26G4="; "generic_symbolic_expressions-5.0.3" = "sha256-UX6fS470YJMdNnn0GR3earMGQK3p/YvaFia7IEvGGKg=";
"symbol_table-0.2.0" = "sha256-f9UclMOUig+N5L3ibBXou0pJ4S/CQqtaji7tnebVbis=";
"symbolic_expressions-5.0.3" = "sha256-mSxnhveAItlTktQC4hM8o6TYjgtCUgkdZj7i6MR4Oeo=";
}; };
}; };

View file

@ -261,9 +261,9 @@ dependencies = [
[[package]] [[package]]
name = "async-io" name = "async-io"
version = "2.3.0" version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb41eb19024a91746eba0773aa5e16036045bbf45733766661099e182ea6a744" checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
dependencies = [ dependencies = [
"async-lock 3.3.0", "async-lock 3.3.0",
"cfg-if", "cfg-if",
@ -343,7 +343,7 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
dependencies = [ dependencies = [
"async-io 2.3.0", "async-io 2.3.1",
"async-lock 2.8.0", "async-lock 2.8.0",
"atomic-waker", "atomic-waker",
"cfg-if", "cfg-if",
@ -551,7 +551,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc" checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
dependencies = [ dependencies = [
"memchr", "memchr",
"regex-automata 0.4.4", "regex-automata 0.4.5",
"serde", "serde",
] ]
@ -563,9 +563,9 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
[[package]] [[package]]
name = "bytemuck" name = "bytemuck"
version = "1.14.0" version = "1.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9"
dependencies = [ dependencies = [
"bytemuck_derive", "bytemuck_derive",
] ]
@ -659,9 +659,9 @@ dependencies = [
[[package]] [[package]]
name = "chrono" name = "chrono"
version = "0.4.32" version = "0.4.33"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41daef31d7a747c5c847246f36de49ced6f7403b4cdabc807a97b5cc184cda7a" checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb"
dependencies = [ dependencies = [
"android-tzdata", "android-tzdata",
"iana-time-zone", "iana-time-zone",
@ -673,9 +673,9 @@ dependencies = [
[[package]] [[package]]
name = "ciborium" name = "ciborium"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
dependencies = [ dependencies = [
"ciborium-io", "ciborium-io",
"ciborium-ll", "ciborium-ll",
@ -684,18 +684,18 @@ dependencies = [
[[package]] [[package]]
name = "ciborium-io" name = "ciborium-io"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
[[package]] [[package]]
name = "ciborium-ll" name = "ciborium-ll"
version = "0.2.1" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
dependencies = [ dependencies = [
"ciborium-io", "ciborium-io",
"half 1.8.2", "half 2.3.1",
] ]
[[package]] [[package]]
@ -963,7 +963,7 @@ dependencies = [
"colorgrad", "colorgrad",
"dirs-next", "dirs-next",
"enum-display-derive", "enum-display-derive",
"env_logger 0.11.0", "env_logger 0.11.1",
"hostname", "hostname",
"lazy_static", "lazy_static",
"libc", "libc",
@ -1600,9 +1600,9 @@ dependencies = [
[[package]] [[package]]
name = "env_logger" name = "env_logger"
version = "0.11.0" version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9eeb342678d785662fd2514be38c459bb925f02b68dd2a3e0f21d7ef82d979dd" checksum = "05e7cf40684ae96ade6232ed84582f40ce0a66efcd43a5117aef610534f8e0b8"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -2193,7 +2193,7 @@ dependencies = [
"aho-corasick", "aho-corasick",
"bstr 1.9.0", "bstr 1.9.0",
"log", "log",
"regex-automata 0.4.4", "regex-automata 0.4.5",
"regex-syntax", "regex-syntax",
] ]
@ -2319,7 +2319,7 @@ dependencies = [
"futures-sink", "futures-sink",
"futures-util", "futures-util",
"http", "http",
"indexmap 2.1.0", "indexmap 2.2.1",
"slab", "slab",
"tokio", "tokio",
"tokio-util", "tokio-util",
@ -2623,7 +2623,7 @@ dependencies = [
"globset", "globset",
"log", "log",
"memchr", "memchr",
"regex-automata 0.4.4", "regex-automata 0.4.5",
"same-file", "same-file",
"walkdir", "walkdir",
"winapi-util", "winapi-util",
@ -2660,9 +2660,9 @@ dependencies = [
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "2.1.0" version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b"
dependencies = [ dependencies = [
"equivalent", "equivalent",
"hashbrown 0.14.3", "hashbrown 0.14.3",
@ -3050,9 +3050,9 @@ dependencies = [
[[package]] [[package]]
name = "libz-sys" name = "libz-sys"
version = "1.1.14" version = "1.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "295c17e837573c8c821dbaeb3cceb3d745ad082f7572191409e69cbc1b3fd050" checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
dependencies = [ dependencies = [
"cc", "cc",
"libc", "libc",
@ -3152,9 +3152,9 @@ dependencies = [
[[package]] [[package]]
name = "luajit-src" name = "luajit-src"
version = "210.5.4+c525bcb" version = "210.5.5+f2336c4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a10ab4ed12d22cb50ef43ece4f6c5ca594b2d2480019e87facfd422225a9908" checksum = "d8bcba9790f4e3b1c1467d75cdd011a63bbe6bc75da95af5d2cb4e3631f939c4"
dependencies = [ dependencies = [
"cc", "cc",
"which", "which",
@ -3356,9 +3356,9 @@ dependencies = [
[[package]] [[package]]
name = "mlua" name = "mlua"
version = "0.9.4" version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "069264935e816c85884b99e88c8b408d6d92e40ae8760f726c983526a53546b5" checksum = "1d3561f79659ff3afad7b25e2bf2ec21507fe601ebecb7f81088669ec4bfd51e"
dependencies = [ dependencies = [
"bstr 1.9.0", "bstr 1.9.0",
"futures-util", "futures-util",
@ -3370,9 +3370,9 @@ dependencies = [
[[package]] [[package]]
name = "mlua-sys" name = "mlua-sys"
version = "0.5.0" version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4655631a02e3739d014951291ecfa08db49c4da3f7f8c6f3931ed236af5dd78e" checksum = "2847b42764435201d8cbee1f517edb79c4cca4181877b90047587c89e1b7bce4"
dependencies = [ dependencies = [
"cc", "cc",
"cfg-if", "cfg-if",
@ -3461,7 +3461,7 @@ dependencies = [
"bitflags 2.4.2", "bitflags 2.4.2",
"codespan-reporting", "codespan-reporting",
"hexf-parse", "hexf-parse",
"indexmap 2.1.0", "indexmap 2.2.1",
"log", "log",
"num-traits", "num-traits",
"rustc-hash", "rustc-hash",
@ -4006,18 +4006,18 @@ dependencies = [
[[package]] [[package]]
name = "pin-project" name = "pin-project"
version = "1.1.3" version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
dependencies = [ dependencies = [
"pin-project-internal", "pin-project-internal",
] ]
[[package]] [[package]]
name = "pin-project-internal" name = "pin-project-internal"
version = "1.1.3" version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -4060,7 +4060,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
dependencies = [ dependencies = [
"base64 0.21.7", "base64 0.21.7",
"indexmap 2.1.0", "indexmap 2.2.1",
"line-wrap", "line-wrap",
"quick-xml 0.31.0", "quick-xml 0.31.0",
"serde", "serde",
@ -4286,11 +4286,11 @@ dependencies = [
[[package]] [[package]]
name = "pulldown-cmark" name = "pulldown-cmark"
version = "0.9.3" version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" checksum = "80eb9f69aec5cd8828765a75f739383fbbe3e8b9d84370bde1cc90487700794a"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 2.4.2",
"getopts", "getopts",
"memchr", "memchr",
"unicase", "unicase",
@ -4467,7 +4467,7 @@ checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"memchr", "memchr",
"regex-automata 0.4.4", "regex-automata 0.4.5",
"regex-syntax", "regex-syntax",
] ]
@ -4479,9 +4479,9 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
[[package]] [[package]]
name = "regex-automata" name = "regex-automata"
version = "0.4.4" version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a" checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"memchr", "memchr",
@ -4766,9 +4766,9 @@ dependencies = [
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.195" version = "1.0.196"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
@ -4785,9 +4785,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.195" version = "1.0.196"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -4796,9 +4796,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.111" version = "1.0.112"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" checksum = "4d1bd37ce2324cf3bf85e5a25f96eb4baf0d5aa6eba43e7ae8958870c4ec48ed"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@ -4871,7 +4871,7 @@ version = "0.9.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1bf28c79a99f70ee1f1d83d10c875d2e70618417fda01ad1785e027579d9d38" checksum = "b1bf28c79a99f70ee1f1d83d10c875d2e70618417fda01ad1785e027579d9d38"
dependencies = [ dependencies = [
"indexmap 2.1.0", "indexmap 2.2.1",
"itoa", "itoa",
"ryu", "ryu",
"serde", "serde",
@ -5274,7 +5274,7 @@ dependencies = [
"anyhow", "anyhow",
"color-funcs", "color-funcs",
"config", "config",
"env_logger 0.11.0", "env_logger 0.11.1",
"futures", "futures",
"lazy_static", "lazy_static",
"libflate", "libflate",
@ -5435,7 +5435,7 @@ dependencies = [
"bitflags 2.4.2", "bitflags 2.4.2",
"cassowary", "cassowary",
"criterion 0.4.0", "criterion 0.4.0",
"env_logger 0.11.0", "env_logger 0.11.1",
"fancy-regex", "fancy-regex",
"filedescriptor", "filedescriptor",
"finl_unicode", "finl_unicode",
@ -5741,7 +5741,7 @@ version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [ dependencies = [
"indexmap 2.1.0", "indexmap 2.2.1",
"toml_datetime", "toml_datetime",
"winnow", "winnow",
] ]
@ -5752,7 +5752,7 @@ version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
dependencies = [ dependencies = [
"indexmap 2.1.0", "indexmap 2.2.1",
"serde", "serde",
"serde_spanned", "serde_spanned",
"toml_datetime", "toml_datetime",
@ -6237,9 +6237,9 @@ dependencies = [
[[package]] [[package]]
name = "wezterm-bidi" name = "wezterm-bidi"
version = "0.2.2" version = "0.2.3"
dependencies = [ dependencies = [
"env_logger 0.11.0", "env_logger 0.11.1",
"k9 0.12.0", "k9 0.12.0",
"log", "log",
"wezterm-dynamic", "wezterm-dynamic",
@ -6297,7 +6297,7 @@ dependencies = [
[[package]] [[package]]
name = "wezterm-color-types" name = "wezterm-color-types"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"csscolorparser", "csscolorparser",
"deltae", "deltae",
@ -6317,7 +6317,7 @@ dependencies = [
[[package]] [[package]]
name = "wezterm-dynamic" name = "wezterm-dynamic"
version = "0.1.0" version = "0.2.0"
dependencies = [ dependencies = [
"log", "log",
"maplit", "maplit",
@ -6349,7 +6349,7 @@ dependencies = [
"dwrote", "dwrote",
"encoding_rs", "encoding_rs",
"enum-display-derive", "enum-display-derive",
"env_logger 0.11.0", "env_logger 0.11.1",
"euclid", "euclid",
"finl_unicode", "finl_unicode",
"fontconfig", "fontconfig",
@ -6396,7 +6396,7 @@ dependencies = [
"embed-resource", "embed-resource",
"emojis", "emojis",
"env-bootstrap", "env-bootstrap",
"env_logger 0.11.0", "env_logger 0.11.1",
"euclid", "euclid",
"fastrand 2.0.1", "fastrand 2.0.1",
"filedescriptor", "filedescriptor",
@ -6557,7 +6557,7 @@ dependencies = [
"camino", "camino",
"clap 4.4.18", "clap 4.4.18",
"dirs-next", "dirs-next",
"env_logger 0.11.0", "env_logger 0.11.1",
"filedescriptor", "filedescriptor",
"filenamegen", "filenamegen",
"gethostname", "gethostname",
@ -6588,7 +6588,7 @@ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"csscolorparser", "csscolorparser",
"downcast-rs", "downcast-rs",
"env_logger 0.11.0", "env_logger 0.11.1",
"finl_unicode", "finl_unicode",
"hex", "hex",
"humansize", "humansize",
@ -7142,9 +7142,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]] [[package]]
name = "winnow" name = "winnow"
version = "0.5.34" version = "0.5.35"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" checksum = "1931d78a9c73861da0134f453bb1f790ce49b2e30eba8410b4b79bac72b46a2d"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]

View file

@ -32,14 +32,14 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "wezterm"; pname = "wezterm";
version = "20240127-113634-bbcac864"; version = "20240128-202157-1e552d76";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wez"; owner = "wez";
repo = pname; repo = pname;
rev = version; rev = version;
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-OjIwHRso6M05gS+thA9yukUDoDqHvHdEVshFL+ebC7c="; hash = "sha256-ZmsWTtxW6/Sx2zvuX2aZSiFxoD4g29brby2cd2DCq0o=";
}; };
postPatch = '' postPatch = ''

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "git-cinnabar"; pname = "git-cinnabar";
version = "0.6.2"; version = "0.6.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "glandium"; owner = "glandium";
repo = "git-cinnabar"; repo = "git-cinnabar";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-1Y4zd4rYNRatemDXRMkQQwBJdkfOGfDWk9QBvJOgi7s="; hash = "sha256-RUrklp2hobHKnBZKVvxMGquNSZBG/rVWaD/m+7AWqHo=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoTarball {
inherit (finalAttrs) src; inherit (finalAttrs) src;
hash = "sha256-p85AS2DukUzEbW9UGYmiF3hpnZvPrZ2sRaeA9dU8j/8="; hash = "sha256-fTwHwZsBvp2F4w5reF94imaXnsw7xfgJQlGRZ3ztnK8=";
}; };
ZSTD_SYS_USE_PKG_CONFIG = true; ZSTD_SYS_USE_PKG_CONFIG = true;

View file

@ -22,13 +22,13 @@ let
in in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "memento"; pname = "memento";
version = "1.2.1"; version = "1.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ripose-jp"; owner = "ripose-jp";
repo = "Memento"; repo = "Memento";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-DUAr+twlIzyi+PnQYsTz9j9KcbzI0GhtC+f4nTekhs0="; hash = "sha256-55VvT7pHN0/HqxM4vMDQDgUwkVmO/8aOEOye8jcFzgI=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -19,12 +19,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vdr-markad"; pname = "vdr-markad";
version = "3.4.5"; version = "3.4.6";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "vdr-plugin-markad"; repo = "vdr-plugin-markad";
owner = "kfb77"; owner = "kfb77";
sha256 = "sha256-qg3Y449n0xPMQSEn8QwvFC1FA8/MfhY0KPHPHGbApbA="; sha256 = "sha256-fixkalZAPz0iO1SmshsO0vYc2sksH2lrStsSOEcdZ1g=";
rev = "V${version}"; rev = "V${version}";
}; };

View file

@ -55,11 +55,11 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString hostCpuOnly "-host-cpu-only" + lib.optionalString hostCpuOnly "-host-cpu-only"
+ lib.optionalString nixosTestRunner "-for-vm-tests" + lib.optionalString nixosTestRunner "-for-vm-tests"
+ lib.optionalString toolsOnly "-utils"; + lib.optionalString toolsOnly "-utils";
version = "8.2.0"; version = "8.2.1";
src = fetchurl { src = fetchurl {
url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz"; url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
hash = "sha256-vwDS+hIBDfiwrekzcd71jmMssypr/cX1oP+Oah+xvzI="; hash = "sha256-hWJ1EVgXX50YfF8itXVVq+PIcPAyXIztEsNMbZh3Kb4=";
}; };
depsBuildBuild = [ buildPackages.stdenv.cc ] depsBuildBuild = [ buildPackages.stdenv.cc ]
@ -135,16 +135,6 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "sha256-oC+bRjEHixv1QEFO9XAm4HHOwoiT+NkhknKGPydnZ5E="; sha256 = "sha256-oC+bRjEHixv1QEFO9XAm4HHOwoiT+NkhknKGPydnZ5E=";
revert = true; revert = true;
}) })
# Fix display issues when using virtio-gpu on 8.2.0 https://gitlab.com/qemu-project/qemu/-/issues/2051
(fetchpatch {
url = "https://gitlab.com/qemu-project/qemu/-/commit/9d5b42beb6978dc6219d5dc029c9d453c6b8d503.diff";
sha256 = "sha256-NknkH/gFTsMcdq8/ArwM4+qrpU+ZHd+xVMFUuMJTtf0=";
})
(fetchpatch {
name = "CVE-2023-6693.patch";
url = "https://gitlab.com/qemu-project/qemu/-/commit/2220e8189fb94068dbad333228659fbac819abb0.patch";
sha256 = "sha256-uoFFFsVZ8XnsI2GD7xsRFNWghWL7/PSYTc1yhXI6nv4=";
})
] ]
++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch; ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch;

View file

@ -38,20 +38,20 @@ let
singularity = callPackage singularity = callPackage
(import ./generic.nix rec { (import ./generic.nix rec {
pname = "singularity-ce"; pname = "singularity-ce";
version = "4.0.3"; version = "4.1.0";
projectName = "singularity"; projectName = "singularity";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sylabs"; owner = "sylabs";
repo = "singularity"; repo = "singularity";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-sT5nW/7xE2TT4TO9H7Y3CDf87LvwPbT1NjVQVK9yyVY="; hash = "sha256-3l65rbMv+E/bqi2+zFbL2/94f/K6Ampo6p3gFL+0ZJk=";
}; };
# Update by running # Update by running
# nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules" # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
# at the root directory of the Nixpkgs repository # at the root directory of the Nixpkgs repository
vendorHash = "sha256-q7n1LymH5KGYHg73r30xryVWupzDheBp7Gpr3XZiZHI="; vendorHash = "sha256-S4glteidPrC92z8zh0Uuciy0HhG9fx0kEAiNwB4F2vM=";
# Do not build conmon and squashfuse from the Git submodule sources, # Do not build conmon and squashfuse from the Git submodule sources,
# Use Nixpkgs provided version # Use Nixpkgs provided version

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "miriway"; pname = "miriway";
version = "unstable-2024-01-24"; version = "unstable-2024-01-26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Miriway"; owner = "Miriway";
repo = "Miriway"; repo = "Miriway";
rev = "5202fc91363b63c467e0b0ac4dd4bbc17a00c8b4"; rev = "d2c773d28adbbbc07bdbb3bb4ab74172fa231846";
hash = "sha256-l4m+goZNqWwZo8LTS7vLxhAFfwk/C+8MPWNw5/TV9R8="; hash = "sha256-eypHMFnnDOh87/VbZBunuLhfjilnJMNi+ZRvtWBmsyU=";
}; };
strictDeps = true; strictDeps = true;

View file

@ -1,5 +1,6 @@
{ config, lib, callPackages }: { config, lib, callPackages }:
# If you are reading this, you can test these writers by running: nix-build . -A tests.writers
let let
aliases = if config.allowAliases then (import ./aliases.nix lib) else prev: {}; aliases = if config.allowAliases then (import ./aliases.nix lib) else prev: {};

View file

@ -13,7 +13,7 @@ let
in in
rec { rec {
# Base implementation for non-compiled executables. # Base implementation for non-compiled executables.
# Takes an interpreter, for example `${pkgs.bash}/bin/bash` # Takes an interpreter, for example `${lib.getExe pkgs.bash}`
# #
# Examples: # Examples:
# writeBash = makeScriptWriter { interpreter = "${pkgs.bash}/bin/bash"; } # writeBash = makeScriptWriter { interpreter = "${pkgs.bash}/bin/bash"; }
@ -116,7 +116,7 @@ rec {
# echo hello world # echo hello world
# '' # ''
writeBash = makeScriptWriter { writeBash = makeScriptWriter {
interpreter = "${pkgs.bash}/bin/bash"; interpreter = "${lib.getExe pkgs.bash}";
}; };
# Like writeScriptBin but the first line is a shebang to bash # Like writeScriptBin but the first line is a shebang to bash
@ -130,7 +130,7 @@ rec {
# echo hello world # echo hello world
# '' # ''
writeDash = makeScriptWriter { writeDash = makeScriptWriter {
interpreter = "${pkgs.dash}/bin/dash"; interpreter = "${lib.getExe pkgs.dash}";
}; };
# Like writeScriptBin but the first line is a shebang to dash # Like writeScriptBin but the first line is a shebang to dash
@ -144,8 +144,8 @@ rec {
# echo hello world # echo hello world
# '' # ''
writeFish = makeScriptWriter { writeFish = makeScriptWriter {
interpreter = "${pkgs.fish}/bin/fish --no-config"; interpreter = "${lib.getExe pkgs.fish} --no-config";
check = "${pkgs.fish}/bin/fish --no-config --no-execute"; # syntax check only check = "${lib.getExe pkgs.fish} --no-config --no-execute"; # syntax check only
}; };
# Like writeScriptBin but the first line is a shebang to fish # Like writeScriptBin but the first line is a shebang to fish
@ -175,7 +175,7 @@ rec {
in makeBinWriter { in makeBinWriter {
compileScript = '' compileScript = ''
cp $contentPath tmp.hs cp $contentPath tmp.hs
${ghc.withPackages (_: libraries )}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs ${(ghc.withPackages (_: libraries ))}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs
mv tmp $out mv tmp $out
''; '';
inherit strip; inherit strip;
@ -185,6 +185,85 @@ rec {
writeHaskellBin = name: writeHaskellBin = name:
writeHaskell "/bin/${name}"; writeHaskell "/bin/${name}";
# Like writeScript but the first line is a shebang to nu
#
# Example:
# writeNu "example" ''
# echo hello world
# ''
writeNu = makeScriptWriter {
interpreter = "${lib.getExe pkgs.nushell} --no-config-file";
};
# Like writeScriptBin but the first line is a shebang to nu
writeNuBin = name:
writeNu "/bin/${name}";
# makeRubyWriter takes ruby and compatible rubyPackages and produces ruby script writer,
# If any libraries are specified, ruby.withPackages is used as interpreter, otherwise the "bare" ruby is used.
makeRubyWriter = ruby: rubyPackages: buildRubyPackages: name: { libraries ? [], }:
makeScriptWriter {
interpreter =
if libraries == []
then "${ruby}/bin/ruby"
else "${(ruby.withPackages (ps: libraries))}/bin/ruby";
# Rubocop doesnt seem to like running in this fashion.
#check = (writeDash "rubocop.sh" ''
# exec ${lib.getExe buildRubyPackages.rubocop} "$1"
#'');
} name;
# Like writeScript but the first line is a shebang to ruby
#
# Example:
# writeRuby "example" ''
# puts "hello world"
# ''
writeRuby = makeRubyWriter pkgs.ruby pkgs.rubyPackages buildPackages.rubyPackages;
writeRubyBin = name:
writeRuby "/bin/${name}";
# makeLuaWriter takes lua and compatible luaPackages and produces lua script writer,
# which validates the script with luacheck at build time. If any libraries are specified,
# lua.withPackages is used as interpreter, otherwise the "bare" lua is used.
makeLuaWriter = lua: luaPackages: buildLuaPackages: name: { libraries ? [], }:
makeScriptWriter {
interpreter = lua.interpreter;
# if libraries == []
# then lua.interpreter
# else (lua.withPackages (ps: libraries)).interpreter
# This should support packages! I just cant figure out why some dependency collision happens whenever I try to run this.
check = (writeDash "luacheck.sh" ''
exec ${buildLuaPackages.luacheck}/bin/luacheck "$1"
'');
} name;
# writeLua takes a name an attributeset with libraries and some lua source code and
# returns an executable (should also work with luajit)
#
# Example:
# writeLua "test_lua" { libraries = [ pkgs.luaPackages.say ]; } ''
# s = require("say")
# s:set_namespace("en")
#
# s:set('money', 'I have %s dollars')
# s:set('wow', 'So much money!')
#
# print(s('money', {1000})) -- I have 1000 dollars
#
# s:set_namespace("fr") -- switch to french!
# s:set('wow', "Tant d'argent!")
#
# print(s('wow')) -- Tant d'argent!
# s:set_namespace("en") -- switch back to english!
# print(s('wow')) -- So much money!
# ''
writeLua = makeLuaWriter pkgs.lua pkgs.luaPackages buildPackages.luaPackages;
writeLuaBin = name:
writeLua "/bin/${name}";
writeRust = name: { writeRust = name: {
rustc ? pkgs.rustc, rustc ? pkgs.rustc,
rustcArgs ? [], rustcArgs ? [],
@ -196,7 +275,7 @@ rec {
makeBinWriter { makeBinWriter {
compileScript = '' compileScript = ''
cp "$contentPath" tmp.rs cp "$contentPath" tmp.rs
PATH=${lib.makeBinPath [pkgs.gcc]} ${lib.getBin rustc}/bin/rustc ${lib.escapeShellArgs rustcArgs} ${lib.escapeShellArgs darwinArgs} -o "$out" tmp.rs PATH=${lib.makeBinPath [pkgs.gcc]} ${rustc}/bin/rustc ${lib.escapeShellArgs rustcArgs} ${lib.escapeShellArgs darwinArgs} -o "$out" tmp.rs
''; '';
inherit strip; inherit strip;
} name; } name;
@ -225,7 +304,7 @@ rec {
}; };
in writeDash name '' in writeDash name ''
export NODE_PATH=${node-env}/lib/node_modules export NODE_PATH=${node-env}/lib/node_modules
exec ${pkgs.nodejs}/bin/node ${pkgs.writeText "js" content} "$@" exec ${lib.getExe pkgs.nodejs} ${pkgs.writeText "js" content} "$@"
''; '';
# writeJSBin takes the same arguments as writeJS but outputs a directory (like writeScriptBin) # writeJSBin takes the same arguments as writeJS but outputs a directory (like writeScriptBin)
@ -260,7 +339,7 @@ rec {
# '' # ''
writePerl = name: { libraries ? [] }: writePerl = name: { libraries ? [] }:
makeScriptWriter { makeScriptWriter {
interpreter = "${pkgs.perl.withPackages (p: libraries)}/bin/perl"; interpreter = "${lib.getExe (pkgs.perl.withPackages (p: libraries))}";
} name; } name;
# writePerlBin takes the same arguments as writePerl but outputs a directory (like writeScriptBin) # writePerlBin takes the same arguments as writePerl but outputs a directory (like writeScriptBin)
@ -276,9 +355,11 @@ rec {
in in
makeScriptWriter { makeScriptWriter {
interpreter = interpreter =
if pythonPackages != pkgs.pypy2Packages || pythonPackages != pkgs.pypy3Packages then
if libraries == [] if libraries == []
then python.interpreter then python.interpreter
else (python.withPackages (ps: libraries)).interpreter else (python.withPackages (ps: libraries)).interpreter
else python.interpreter
; ;
check = optionalString python.isPy3k (writeDash "pythoncheck.sh" '' check = optionalString python.isPy3k (writeDash "pythoncheck.sh" ''
exec ${buildPythonPackages.flake8}/bin/flake8 --show-source ${ignoreAttribute} "$1" exec ${buildPythonPackages.flake8}/bin/flake8 --show-source ${ignoreAttribute} "$1"
@ -358,7 +439,7 @@ rec {
export DOTNET_CLI_TELEMETRY_OPTOUT=1 export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_NOLOGO=1 export DOTNET_NOLOGO=1
script="$1"; shift script="$1"; shift
${dotnet-sdk}/bin/dotnet fsi --quiet --nologo --readline- ${fsi-flags} "$@" < "$script" ${lib.getExe dotnet-sdk} fsi --quiet --nologo --readline- ${fsi-flags} "$@" < "$script"
''; '';
in content: makeScriptWriter { in content: makeScriptWriter {

View file

@ -6,11 +6,16 @@
, pypy2Packages , pypy2Packages
, python3Packages , python3Packages
, pypy3Packages , pypy3Packages
, luaPackages
, rubyPackages
, runCommand , runCommand
, testers , testers
, writers , writers
, writeText , writeText
}: }:
# If you are reading this, you can test these writers by running: nix-build . -A tests.writers
with writers; with writers;
let let
expectSuccess = test: expectSuccess = test:
@ -88,15 +93,6 @@ lib.recurseIntoAttrs {
print "success\n" if true; print "success\n" if true;
''); '');
pypy2 = expectSuccessBin (writePyPy2Bin "test-writers-pypy2-bin" { libraries = [ pypy2Packages.enum ]; } ''
from enum import Enum
class Test(Enum):
a = "success"
print Test.a
'');
python3 = expectSuccessBin (writePython3Bin "test-writers-python3-bin" { libraries = [ python3Packages.pyyaml ]; } '' python3 = expectSuccessBin (writePython3Bin "test-writers-python3-bin" { libraries = [ python3Packages.pyyaml ]; } ''
import yaml import yaml
@ -106,14 +102,47 @@ lib.recurseIntoAttrs {
print(y[0]['test']) print(y[0]['test'])
''); '');
pypy3 = expectSuccessBin (writePyPy3Bin "test-writers-pypy3-bin" { libraries = [ pypy3Packages.pyyaml ]; } '' # Commented out because of this issue: https://github.com/NixOS/nixpkgs/issues/39356
import yaml
y = yaml.safe_load(""" #pypy2 = expectSuccessBin (writePyPy2Bin "test-writers-pypy2-bin" { libraries = [ pypy2Packages.enum ]; } ''
- test: success # from enum import Enum
""") #
print(y[0]['test']) # class Test(Enum):
''); # a = "success"
#
# print Test.a
#'');
#pypy3 = expectSuccessBin (writePyPy3Bin "test-writers-pypy3-bin" { libraries = [ pypy3Packages.pyyaml ]; } ''
# import yaml
#
# y = yaml.safe_load("""
# - test: success
# """)
# print(y[0]['test'])
#'');
# Could not test this because of external package issues :(
#lua = writeLuaBin "test-writers-lua-bin" { libraries = [ pkgs.luaPackages.say ]; } ''
# s = require("say")
# s:set_namespace("en")
# s:set('money', 'I have %s dollars')
# s:set('wow', 'So much money!')
# print(s('money', {1000})) -- I have 1000 dollars
# s:set_namespace("fr") -- switch to french!
# s:set('wow', "Tant d'argent!")
# print(s('wow')) -- Tant d'argent!
# s:set_namespace("en") -- switch back to english!
# print(s('wow')) -- So much money!
#'';
#ruby = expectSuccessBin (writeRubyBin "test-writers-ruby-bin" { libraries = [ rubyPackages.rubocop ]; } ''
#puts "This should work!"
#'');
}; };
simple = lib.recurseIntoAttrs { simple = lib.recurseIntoAttrs {
@ -131,6 +160,10 @@ lib.recurseIntoAttrs {
end end
''); '');
nu = expectSuccess (writeNu "test-writers-nushell" ''
echo "success"
'');
haskell = expectSuccess (writeHaskell "test-writers-haskell" { libraries = [ haskellPackages.acme-default ]; } '' haskell = expectSuccess (writeHaskell "test-writers-haskell" { libraries = [ haskellPackages.acme-default ]; } ''
import Data.Default import Data.Default
@ -158,15 +191,6 @@ lib.recurseIntoAttrs {
print "success\n" if true; print "success\n" if true;
''); '');
pypy2 = expectSuccess (writePyPy2 "test-writers-pypy2" { libraries = [ pypy2Packages.enum ]; } ''
from enum import Enum
class Test(Enum):
a = "success"
print Test.a
'');
python3 = expectSuccess (writePython3 "test-writers-python3" { libraries = [ python3Packages.pyyaml ]; } '' python3 = expectSuccess (writePython3 "test-writers-python3" { libraries = [ python3Packages.pyyaml ]; } ''
import yaml import yaml
@ -176,14 +200,25 @@ lib.recurseIntoAttrs {
print(y[0]['test']) print(y[0]['test'])
''); '');
pypy3 = expectSuccess (writePyPy3 "test-writers-pypy3" { libraries = [ pypy3Packages.pyyaml ]; } '' # Commented out because of this issue: https://github.com/NixOS/nixpkgs/issues/39356
import yaml
y = yaml.safe_load(""" #pypy2 = expectSuccessBin (writePyPy2Bin "test-writers-pypy2-bin" { libraries = [ pypy2Packages.enum ]; } ''
- test: success # from enum import Enum
""") #
print(y[0]['test']) # class Test(Enum):
''); # a = "success"
#
# print Test.a
#'');
#pypy3 = expectSuccessBin (writePyPy3Bin "test-writers-pypy3-bin" { libraries = [ pypy3Packages.pyyaml ]; } ''
# import yaml
#
# y = yaml.safe_load("""
# - test: success
# """)
# print(y[0]['test'])
#'');
fsharp = expectSuccess (makeFSharpWriter { fsharp = expectSuccess (makeFSharpWriter {
libraries = { fetchNuGet }: [ libraries = { fetchNuGet }: [
@ -191,6 +226,7 @@ lib.recurseIntoAttrs {
(fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; }) (fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; })
]; ];
} "test-writers-fsharp" '' } "test-writers-fsharp" ''
#r "nuget: FSharp.SystemTextJson, 0.17.4" #r "nuget: FSharp.SystemTextJson, 0.17.4"
module Json = module Json =
@ -209,9 +245,9 @@ lib.recurseIntoAttrs {
|> printfn "%s" |> printfn "%s"
''); '');
pypy2NoLibs = expectSuccess (writePyPy2 "test-writers-pypy2-no-libs" {} '' #pypy2NoLibs = expectSuccess (writePyPy2 "test-writers-pypy2-no-libs" {} ''
print("success") # print("success")
''); #'');
python3NoLibs = expectSuccess (writePython3 "test-writers-python3-no-libs" {} '' python3NoLibs = expectSuccess (writePython3 "test-writers-python3-no-libs" {} ''
print("success") print("success")
@ -224,6 +260,14 @@ lib.recurseIntoAttrs {
fsharpNoNugetDeps = expectSuccess (writeFSharp "test-writers-fsharp-no-nuget-deps" '' fsharpNoNugetDeps = expectSuccess (writeFSharp "test-writers-fsharp-no-nuget-deps" ''
printfn "success" printfn "success"
''); '');
luaNoLibs = expectSuccess (writeLua "test-writers-lua-no-libs" {} ''
print("success")
'');
rubyNoLibs = expectSuccess (writeRuby "test-writers-ruby-no-libs" {} ''
puts "success"
'');
}; };
path = lib.recurseIntoAttrs { path = lib.recurseIntoAttrs {

View file

@ -33,11 +33,11 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "apt"; pname = "apt";
version = "2.7.9"; version = "2.7.10";
src = fetchurl { src = fetchurl {
url = "mirror://debian/pool/main/a/apt/apt_${finalAttrs.version}.tar.xz"; url = "mirror://debian/pool/main/a/apt/apt_${finalAttrs.version}.tar.xz";
hash = "sha256-Zm9BzWQf+YlMulMbDMT88ZnmSUWH/LgqObANyItGuyc="; hash = "sha256-VUZsSEqmQJesIPU4tK4ELn9i5hFiBUGNEepPySIdgH4=";
}; };
# cycle detection; lib can't be split # cycle detection; lib can't be split

View file

@ -0,0 +1,44 @@
{ lib, ocamlPackages, fetchFromGitHub, python3, dune_3, makeWrapper, poppler_utils }:
ocamlPackages.buildDunePackage rec {
pname = "docfd";
version = "2.1.0";
minimalOCamlVersion = "5.1";
src = fetchFromGitHub {
owner = "darrenldl";
repo = "docfd";
rev = version;
hash = "sha256-1DobGm6nI14951KNKEE0D3AF1TFsWQUEhe4L1PdWBDw=";
};
nativeBuildInputs = [ python3 dune_3 makeWrapper ];
buildInputs = [ poppler_utils ] ++
(with ocamlPackages; [ oseq spelll notty nottui lwd cmdliner domainslib digestif yojson eio_main containers-data timedesc ]);
postInstall = ''
# docfd needs pdftotext from popler_utils to allow pdf search
wrapProgram $out/bin/docfd --prefix PATH : "${lib.getBin poppler_utils}/bin/"
'';
meta = with lib; {
description = "TUI multiline fuzzy document finder";
longDescription = ''
Interactive grep, but word/token/phrase based rather than regex
and line based, so you can search across multiple lines (simlar to
Recoll but TUI).
Aims to provide a good UX via text editor and PDF viewer integration.
When opening a text file, Docfd opens file at first line of search
result. If PDF, then Docfd opens file at first page of the search
result and starts a text search of the most unique word of the matched
phrase within the same page.
Main intended use case: navigating directories of notes and PDFs.
'';
homepage = "https://github.com/darrenldl/docfd";
license = licenses.mit;
maintainers = with maintainers; [ chewblacka ];
platforms = platforms.all;
mainProgram = "docfd";
};
}

View file

@ -1,9 +1,21 @@
{ lib { lib
, stdenvNoCC , stdenvNoCC
, fetchurl , fetchurl
, jre , jdk_headless
, jre_minimal
, makeBinaryWrapper , makeBinaryWrapper
}: }:
let
jre = jre_minimal.override {
modules = [
"java.logging"
"java.xml"
"java.desktop"
"java.management"
];
jdk = jdk_headless;
};
in
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "dynamodb-local"; pname = "dynamodb-local";
version = "2023-12-14"; version = "2023-12-14";

View file

@ -0,0 +1,44 @@
{
fetchPypi,
lib,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "Exegol";
version = "4.3.1";
format = "setuptools";
# Project has no unit tests
doCheck = false;
propagatedBuildInputs = with python3.pkgs; [
pyyaml
gitpython
docker
requests
rich
argcomplete
];
src = fetchPypi {
inherit pname version;
hash = "sha256-cMbMmkG52A104iHVwe+6k1Fazi7fISeU/doWJqw5Whw=";
};
meta = with lib; {
description = "Fully featured and community-driven hacking environment";
longDescription = ''
Exegol is a community-driven hacking environment, powerful and yet
simple enough to be used by anyone in day to day engagements. Exegol is
the best solution to deploy powerful hacking environments securely,
easily, professionally. Exegol fits pentesters, CTF players, bug bounty
hunters, researchers, beginners and advanced users, defenders, from
stylish macOS users and corporate Windows pros to UNIX-like power users.
'';
homepage = "https://github.com/ThePorgs/Exegol";
changelog = "https://github.com/ThePorgs/Exegol/releases/tag/${version}";
license = licenses.gpl3Only;
mainProgram = "exegol";
maintainers = with maintainers; [ _0b11stan ];
};
}

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "fanbox-dl"; pname = "fanbox-dl";
version = "0.17.0"; version = "0.18.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hareku"; owner = "hareku";
repo = "fanbox-dl"; repo = "fanbox-dl";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Fwc8S48zCE5s66gNVhJi9Y45v7rKo9K9dYQoao33mDE="; hash = "sha256-hHjkV/wv+UMO4pyWDyMio3XbiyM6M02eLcT2rauvh/A=";
}; };
vendorHash = "sha256-PsbPAwjqT2PP6DtrzHaQox1er/LAkiHPMVMLH4gmfpg="; vendorHash = "sha256-o1DFHwSpHtbuU8BFcrk18hPRJJkeoPkYnybIz22Blfk=";
# pings websites during testing # pings websites during testing
doCheck = false; doCheck = false;

View file

@ -0,0 +1,29 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fast-float";
version = "6.0.0";
src = fetchFromGitHub {
owner = "fastfloat";
repo = "fast_float";
rev = "v${finalAttrs.version}";
hash = "sha256-yKHmturouLJkBAdIWoi8vhmipP6jxAwyA+YoSOl6xPU=";
};
nativeBuildInputs = [
cmake
];
meta = {
description = "Fast and exact implementation of the C++ from_chars functions for number types";
homepage = "https://github.com/fastfloat/fast_float";
license = with lib.licenses; [ asl20 boost mit ];
maintainers = with lib.maintainers; [ wegank ];
platforms = lib.platforms.all;
};
})

View file

@ -0,0 +1,42 @@
{ lib
, stdenv
, fetchFromGitHub
, unstableGitUpdater
, bison
, flex
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fbset";
version = "2.1";
src = fetchFromGitHub {
owner = "sudipm-mukherjee";
repo = "fbset";
rev = "debian/${finalAttrs.version}-33";
hash = "sha256-nwWkQAA5+v5A8AmKg77mrSq2pXeSivxd0r7JyoBrs9A=";
};
nativeBuildInputs = [
bison
flex
];
installFlags = [ "DESTDIR=$(out)" ];
passthru = {
updateScript = unstableGitUpdater { };
};
meta = with lib; {
description = "framebuffer device maintenance program";
# NOTE: the website of the original author disappeared, the only remaining
# repository is maintained by the debian maintainer of the package at
# https://github.com/sudipm-mukherjee/fbset
homepage = "http://users.telenet.be/geertu/Linux/fbdev/";
license = licenses.gpl2Only;
mainProgram = "fbset";
maintainers = with maintainers; [ baloo ];
platforms = platforms.linux;
};
})

View file

@ -7,16 +7,16 @@
buildGoModule rec { buildGoModule rec {
pname = "files-cli"; pname = "files-cli";
version = "2.12.24"; version = "2.12.25";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "files-cli"; repo = "files-cli";
owner = "files-com"; owner = "files-com";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Ne386WK0icQcsW2tqfkiW5udI7Umq10v+954bfjQiHM="; hash = "sha256-gsZawXXLesMHr3DU0cowrAcYdtuoosmTLws8SBSFKOY=";
}; };
vendorHash = "sha256-en2gLeYZr7MwZnz47qAxQo48ZIsDZPXoCkMV2c4LHSU="; vendorHash = "sha256-MomEyp81wMQbq4x+CFRoS7hn5fNw3NTAVQVzSd1dr+s=";
ldflags = [ ldflags = [
"-s" "-s"

View file

@ -0,0 +1,86 @@
{ lib
, buildGoModule
, fetchFromGitHub
, pkg-config
, moreutils
, libGL
, libX11
, libXcursor
, libXrandr
, libXinerama
, libXi
, libXxf86vm
, mupdf
, fontconfig
, freetype
, stdenv
, darwin
, nix-update-script
}:
buildGoModule rec {
pname = "gcs";
version = "5.20.4";
src = fetchFromGitHub {
owner = "richardwilkes";
repo = "gcs";
rev = "v${version}";
hash = "sha256-aoU2wRz2XB6+3e6am/dLjRbcDmWTjtDtTBwc6c4n3DE=";
};
modPostBuild = ''
chmod +w vendor/github.com/richardwilkes/pdf
sed -i 's|-lmupdf[^ ]* |-lmupdf |g' vendor/github.com/richardwilkes/pdf/pdf.go
'';
vendorHash = "sha256-ee6qvwnUXtsBcovPOORfVpdndICtIUYe4GrP52V/P3k=";
nativeBuildInputs = [ pkg-config moreutils ];
buildInputs = [
libGL
libX11
libXcursor
libXrandr
libXinerama
libXi
libXxf86vm
mupdf
fontconfig
freetype
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.Carbon
darwin.apple_sdk_11_0.frameworks.Cocoa
darwin.apple_sdk_11_0.frameworks.Kernel
];
# flags are based on https://github.com/richardwilkes/gcs/blob/master/build.sh
flags = [ "-a -trimpath" ];
ldflags = [ "-s" "-w" "-X github.com/richardwilkes/toolbox/cmdline.AppVersion=${version}" ];
# Workaround for https://github.com/NixOS/nixpkgs/issues/166205
env = lib.optionalAttrs (stdenv.cc.libcxx != null) {
NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
};
installPhase = ''
runHook preInstall
install -Dm755 $GOPATH/bin/gcs -t $out/bin
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/richardwilkes/gcs/releases/tag/${src.rev}";
description = "A stand-alone, interactive, character sheet editor for the GURPS 4th Edition roleplaying game system";
homepage = "https://gurpscharactersheet.com/";
license = lib.licenses.mpl20;
mainProgram = "gcs";
maintainers = with lib.maintainers; [ tomasajt ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
# incompatible vendor/github.com/richardwilkes/unison/internal/skia/libskia_linux.a
broken = stdenv.isLinux && stdenv.isAarch64;
};
}

View file

@ -0,0 +1,237 @@
{
"name": "@withgraphite/graphite-cli",
"version": "1.1.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@withgraphite/graphite-cli",
"version": "1.1.2",
"license": "None",
"dependencies": {
"chalk": "^4.1.2",
"ws": "^8.6.0",
"yargs": "^17.5.1"
},
"bin": {
"graphite": "graphite.js",
"gt": "graphite.js"
}
},
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"engines": {
"node": ">=8"
}
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
"wrap-ansi": "^7.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"node_modules/escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"engines": {
"node": ">=6"
}
},
"node_modules/get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
},
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"engines": {
"node": ">=8"
}
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"engines": {
"node": ">=8"
}
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dependencies": {
"ansi-regex": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
"node_modules/ws": {
"version": "8.16.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
"integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
},
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"engines": {
"node": ">=10"
}
},
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
"yargs-parser": "^21.1.1"
},
"engines": {
"node": ">=12"
}
},
"node_modules/yargs-parser": {
"version": "21.1.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"engines": {
"node": ">=12"
}
}
}
}

View file

@ -0,0 +1,44 @@
{ lib
, buildNpmPackage
, fetchurl
, installShellFiles
}:
buildNpmPackage rec {
pname = "graphite-cli";
version = "1.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
hash = "sha256-NNBI1S33jD6ZKbztZXSRtYwt3w0T4A5Bg2zxMWw74cY=";
};
npmDepsHash = "sha256-Nk0Aoyv4eEXZD4B9B/B6mJd/UDy8Kc/sHtQWXrLukSk=";
postPatch = ''
ln -s ${./package-lock.json} package-lock.json
'';
nativeBuildInputs = [
installShellFiles
];
dontNpmBuild = true;
postInstall = ''
installShellCompletion --cmd gt \
--bash <($out/bin/gt completion) \
--zsh <(ZSH_NAME=zsh $out/bin/gt completion)
'';
passthru.updateScript = ./update.sh;
meta = {
description = "CLI that makes creating stacked git changes fast & intuitive";
downloadPage = "https://www.npmjs.com/package/@withgraphite/graphite-cli";
homepage = "https://graphite.dev/docs/graphite-cli";
license = lib.licenses.unfree; # no license specified
mainProgram = "gt";
maintainers = with lib.maintainers; [ ];
};
}

View file

@ -0,0 +1,30 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p gnused nix nodejs prefetch-npm-deps wget
set -euo pipefail
pushd "$(dirname "${BASH_SOURCE[0]}")"
version=$(npm view @withgraphite/graphite-cli version)
tarball="graphite-cli-$version.tgz"
url="https://registry.npmjs.org/@withgraphite/graphite-cli/-/$tarball"
if [[ "$UPDATE_NIX_OLD_VERSION" == "$version" ]]; then
echo "Already up to date!"
exit 0
fi
sed -i 's#version = "[^"]*"#version = "'"$version"'"#' package.nix
sha256=$(nix-prefetch-url "$url")
src_hash=$(nix-hash --to-sri --type sha256 "$sha256")
sed -i 's#hash = "[^"]*"#hash = "'"$src_hash"'"#' package.nix
rm -f package-lock.json package.json *.tgz
wget "$url"
tar xf "$tarball" --strip-components=1 package/package.json
npm i --package-lock-only
npm_hash=$(prefetch-npm-deps package-lock.json)
sed -i 's#npmDepsHash = "[^"]*"#npmDepsHash = "'"$npm_hash"'"#' package.nix
rm -f package.json *.tgz
popd

View file

@ -0,0 +1,80 @@
{ lib
, stdenv
, fetchurl
, autoreconfHook
, makeWrapper
, testers
, guile
, pkg-config
, texinfo
, freetype
, libjpeg_turbo
, libpng
, libvorbis
, mpg123
, openal
, readline
, guile-opengl
, guile-sdl2
, guile-chickadee
}:
stdenv.mkDerivation (finalAttrs: {
pname = "guile-chickadee";
version = "0.10.0";
src = fetchurl {
url = "https://files.dthompson.us/chickadee/chickadee-${finalAttrs.version}.tar.gz";
hash = "sha256-Ey9TtuWaGlHG2cYYwqJIt2RX7XNUW28OGl/kuPUCD3U=";
};
strictDeps = true;
nativeBuildInputs = [
makeWrapper
autoreconfHook
guile
pkg-config
texinfo
];
buildInputs = [
freetype
guile
libjpeg_turbo
libpng
libvorbis
mpg123
openal
readline
];
propagatedBuildInputs = [
guile-opengl
guile-sdl2
];
makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
postInstall = ''
wrapProgram $out/bin/chickadee \
--prefix GUILE_LOAD_PATH : "$out/${guile.siteDir}:$GUILE_LOAD_PATH" \
--prefix GUILE_LOAD_COMPILED_PATH : "$out/${guile.siteCcacheDir}:$GUILE_LOAD_COMPILED_PATH"
'';
passthru.tests.version = testers.testVersion {
package = guile-chickadee;
command = "chickadee -v";
};
doCheck = !stdenv.isDarwin;
meta = with lib; {
description = "Game development toolkit for Guile Scheme with SDL2 and OpenGL";
homepage = "https://dthompson.us/projects/chickadee.html";
license = licenses.asl20;
maintainers = with maintainers; [ chito ];
mainProgram = "chickadee";
platforms = guile.meta.platforms;
broken = stdenv.isDarwin;
};
})

View file

@ -0,0 +1,54 @@
{ config
, fetchFromGitHub
, hidapi
, kmod
, lib
, python3
, toybox
}:
python3.pkgs.buildPythonApplication rec {
pname = "handheld-daemon";
version = "1.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "hhd-dev";
repo = "hhd";
rev = "v${version}";
hash = "sha256-ovLC1BQ98jUaDEMPBzWma4TYSzTF+yE/cMemFdJmqlE=";
};
propagatedBuildInputs = with python3.pkgs; [
evdev
hidapi
kmod
pyyaml
rich
setuptools
toybox
];
# This package doesn't have upstream tests.
doCheck = false;
# handheld-daemon contains a fork of the python module `hid`, so this hook
# is borrowed from the `hid` derivation.
postPatch = ''
hidapi=${ hidapi }/lib/
test -d $hidapi || { echo "ERROR: $hidapi doesn't exist, please update/fix this build expression."; exit 1; }
sed -i -e "s|libhidapi|$hidapi/libhidapi|" src/hhd/controller/lib/hid.py
'';
postInstall = ''
install -Dm644 $src/usr/lib/udev/rules.d/83-hhd.rules -t $out/lib/udev/rules.d/
'';
meta = with lib; {
homepage = "https://github.com/hhd-dev/hhd/";
description = "Linux support for handheld gaming devices like the Legion Go, ROG Ally, and GPD Win";
platforms = platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ appsforartists ];
mainProgram = "hhd";
};
}

View file

@ -16,13 +16,13 @@
assert lib.assertOneOf "graphicsLibrary" graphicsLibrary [ "SDL2" "GLFW" ]; assert lib.assertOneOf "graphicsLibrary" graphicsLibrary [ "SDL2" "GLFW" ];
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "jazz2"; pname = "jazz2";
version = "2.4.1"; version = "2.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "deathkiller"; owner = "deathkiller";
repo = "jazz2-native"; repo = "jazz2-native";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-AbB7xtdyin/VySswHoPRq9LmhHLUJfetXqtIxEw+KSI="; hash = "sha256-IFsSIfHmSE6B1bpc5RWetJnlkv/jjlAUvRFV1pvVVNo=";
}; };
patches = [ ./nocontent.patch ]; patches = [ ./nocontent.patch ];

View file

@ -1,26 +1,28 @@
{ lib { lib
, stdenv
, fetchFromGitHub
, cmake , cmake
, fetchFromGitHub
, pkg-config , pkg-config
, stdenv
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "md4c"; pname = "md4c";
version = "0.4.8"; version = "0.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mity"; owner = "mity";
repo = pname; repo = "md4c";
rev = "release-${version}"; rev = "release-${finalAttrs.version}";
hash = "sha256-+LObAD5JB8Vb4Rt4hTo1Z4ispxzfFkkXA2sw6TKB7Yo="; hash = "sha256-BWmzNV3iC2g8MHoYtqIcUtLQz3oaQwH+Pyy4fN3N7/k=";
}; };
outputs = [ "out" "lib" "dev" "man" ];
patches = [ patches = [
# We set CMAKE_INSTALL_LIBDIR to the absolute path in $out, so # We set CMAKE_INSTALL_LIBDIR to the absolute path in $out, so prefix and
# prefix and exec_prefix cannot be $out, too # exec_prefix cannot be $out, too
# Use CMake's _FULL_ variables instead of `prefix` concatenation. # Use CMake's _FULL_ variables instead of `prefix` concatenation.
./fix-pkgconfig.patch ./0001-fix-pkgconfig.patch
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
@ -28,14 +30,17 @@ stdenv.mkDerivation rec {
pkg-config pkg-config
]; ];
meta = with lib; { strictDeps = true;
meta = {
homepage = "https://github.com/mity/md4c";
description = "Markdown parser made in C"; description = "Markdown parser made in C";
longDescription = '' longDescription = ''
MD4C is Markdown parser implementation in C, with the following features: MD4C is Markdown parser implementation in C, with the following features:
- Compliance: Generally, MD4C aims to be compliant to the latest version - Compliance: Generally, MD4C aims to be compliant to the latest version
of CommonMark specification. Currently, we are fully compliant to of CommonMark specification. Currently, we are fully compliant to
CommonMark 0.29. CommonMark 0.30.
- Extensions: MD4C supports some commonly requested and accepted - Extensions: MD4C supports some commonly requested and accepted
extensions. See below. extensions. See below.
- Performance: MD4C is very fast. - Performance: MD4C is very fast.
@ -57,11 +62,11 @@ stdenv.mkDerivation rec {
"Unicode"). See more details below. "Unicode"). See more details below.
- Permissive license: MD4C is available under the MIT license. - Permissive license: MD4C is available under the MIT license.
''; '';
homepage = "https://github.com/mity/md4c"; changelog = "https://github.com/mity/md4c/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = licenses.mit; license = with lib.licenses; [ mit ];
maintainers = with maintainers; [ AndersonTorres ]; maintainers = with lib.maintainers; [ AndersonTorres ];
mainProgram = "md2html"; mainProgram = "md2html";
platforms = platforms.all; platforms = lib.platforms.all;
}; };
} })
# TODO: enable tests (needs Python) # TODO: enable tests (needs Python)

View file

@ -2,16 +2,16 @@
buildNpmPackage rec { buildNpmPackage rec {
pname = "mystmd"; pname = "mystmd";
version = "1.1.37"; version = "1.1.38";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "executablebooks"; owner = "executablebooks";
repo = "mystmd"; repo = "mystmd";
rev = "mystmd@${version}"; rev = "mystmd@${version}";
hash = "sha256-P4+0oCXQGziYfVUxIZe3j25lO6ho/4BdtqxCv/TTGko="; hash = "sha256-kshYS4mWqlWpF4pSetk6mpOn0/XCUF13M5qbZD/pNxQ=";
}; };
npmDepsHash = "sha256-ZA9kiMTn+m9Q0C3DBVMiUEq5bfRsXM1VX0qrIH2GAQo="; npmDepsHash = "sha256-+aqS5khw/fDKOGAvOVFopcwoZAsgmmUQzOljZSUlArA=";
dontNpmInstall = true; dontNpmInstall = true;

View file

@ -0,0 +1,51 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, ncurses
, enableSdl2 ? true
, SDL2
, SDL2_image
, SDL2_sound
, SDL2_mixer
, SDL2_ttf
}:
stdenv.mkDerivation rec {
pname = "narsil";
version = "1.3.0-49-gc042b573a";
src = fetchFromGitHub {
owner = "NickMcConnell";
repo = "NarSil";
rev = version;
hash = "sha256-lVGG4mppsnDmjMFO8YWsLEJEhI3T+QO3z/pCebe0Ai8=";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ ncurses ]
++ lib.optionals enableSdl2 [
SDL2
SDL2_image
SDL2_sound
SDL2_mixer
SDL2_ttf
];
enableParallelBuilding = true;
configureFlags = lib.optional enableSdl2 "--enable-sdl2";
installFlags = [ "bindir=$(out)/bin" ];
meta = with lib; {
homepage = "https://github.com/NickMcConnell/NarSil/";
description = "Unofficial rewrite of Sil, a roguelike influenced by Angband";
longDescription = ''
NarSil attempts to be an almost-faithful recreation of Sil 1.3.0,
but based on the codebase of modern Angband.
'';
maintainers = [ maintainers.nanotwerp ];
license = licenses.gpl2;
};
}

View file

@ -13,13 +13,13 @@ let
boostPython = boost.override { python = python3; enablePython = true; }; boostPython = boost.override { python = python3; enablePython = true; };
pname = "nextpnr"; pname = "nextpnr";
version = "0.6"; version = "0.7";
main_src = fetchFromGitHub { main_src = fetchFromGitHub {
owner = "YosysHQ"; owner = "YosysHQ";
repo = "nextpnr"; repo = "nextpnr";
rev = "${pname}-${version}"; rev = "${pname}-${version}";
hash = "sha256-S6qvTzvkS2tBMvuTpmuCx6h0OcKP5NBbmgRgOpAVtnA="; hash = "sha256-YIAQcCg9RjvCys1bQ3x+sTgTmnmEeXVbt9Lr6wtg1pA=";
name = "nextpnr"; name = "nextpnr";
}; };
@ -82,6 +82,8 @@ stdenv.mkDerivation rec {
wrapQtApp $out/bin/nextpnr-gowin wrapQtApp $out/bin/nextpnr-gowin
''; '';
strictDeps = true;
meta = with lib; { meta = with lib; {
description = "Place and route tool for FPGAs"; description = "Place and route tool for FPGAs";
homepage = "https://github.com/yosyshq/nextpnr"; homepage = "https://github.com/yosyshq/nextpnr";

View file

@ -0,0 +1,27 @@
{ lib
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "nvmetcfg";
version = "0.1.0";
src = fetchFromGitHub {
owner = "vifino";
repo = "nvmetcfg";
rev = "v${version}";
hash = "sha256-LoQTcHM6czzQ5ZwXcklFXf/7WlRsoJTF61UhQ56aleQ=";
};
cargoHash = "sha256-yZ4UAx95f/cjeObBtzpiYtwDjgOgkKnD64yGe6ouVGw=";
meta = with lib; {
description = "NVMe-oF Target Configuration Utility for Linux";
homepage = "https://github.com/vifino/nvmetcfg";
license = licenses.isc;
maintainers = with maintainers; [ nickcao ];
mainProgram = "nvmetcfg";
platforms = platforms.linux;
};
}

View file

@ -19,12 +19,12 @@ let
sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y"; sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
}; };
"2.3.11" = {
sha256 = "sha256-hL7rjXLIeJeEf8AoWtyz+k9IG9s5ECxPuat5aEGErSk=";
};
"2.4.0" = { "2.4.0" = {
sha256 = "sha256-g9i3TwjSJUxZuXkLwfZp4JCZRXuIRyDs7L9F9LRtF3Y="; sha256 = "sha256-g9i3TwjSJUxZuXkLwfZp4JCZRXuIRyDs7L9F9LRtF3Y=";
}; };
"2.4.1" = {
sha256 = "sha256-2k+UhvrUE9OversbCSaTJf20v/fnuI8hld3udDJjz34=";
};
}; };
# Collection of pre-built SBCL binaries for platforms that need them for # Collection of pre-built SBCL binaries for platforms that need them for
# bootstrapping. Ideally these are to be avoided. If CLISP (or any other # bootstrapping. Ideally these are to be avoided. If CLISP (or any other

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "simdutf"; pname = "simdutf";
version = "4.0.8"; version = "4.0.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "simdutf"; owner = "simdutf";
repo = "simdutf"; repo = "simdutf";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-QZH21dFUX3NVpk1zyS/zSV+uOJYV3+V6XmuKeOvfc6c="; hash = "sha256-LRMnjiO/J+DaSIBksrudjnkoEZtVG/RmW9S6w1gAB60=";
}; };
# Fix build on darwin # Fix build on darwin

View file

@ -16,6 +16,7 @@
, spfft , spfft
, spla , spla
, costa , costa
, umpire
, scalapack , scalapack
, boost , boost
, eigen , eigen
@ -37,20 +38,15 @@ assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ];
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "SIRIUS"; pname = "SIRIUS";
version = "7.4.3"; version = "7.5.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "electronic-structure"; owner = "electronic-structure";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-s4rO+dePvtvn41wxCvbqgQGrEckWmfng7sPX2M8OPB0="; hash = "sha256-DYie6ufgZNqg7ohlIed3Bo+sqLKHOxWXTwAkea2guLk=";
}; };
postPatch = ''
substituteInPlace src/gpu/acc_blas_api.hpp \
--replace '#include <rocblas.h>' '#include <rocblas/rocblas.h>'
'';
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
gfortran gfortran
@ -63,6 +59,7 @@ stdenv.mkDerivation rec {
gsl gsl
libxc libxc
hdf5 hdf5
umpire
spglib spglib
spfft spfft
spla spla
@ -110,11 +107,12 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
# Can not run parallel checks generally as it requires exactly multiples of 4 MPI ranks # Can not run parallel checks generally as it requires exactly multiples of 4 MPI ranks
# Even cpu_serial tests had to be disabled as they require scalapack routines in the sandbox
# and run into the same problem as MPI tests
checkPhase = '' checkPhase = ''
runHook preCheck runHook preCheck
ctest --output-on-failure --label-exclude integration_test ctest --output-on-failure --label-exclude integration_test
ctest --output-on-failure -L cpu_serial
runHook postCheck runHook postCheck
''; '';

View file

@ -31,6 +31,7 @@
, rabbitmq-c , rabbitmq-c
, libesmtp , libesmtp
, rdkafka , rdkafka
, gperf
}: }:
let let
python-deps = ps: with ps; [ python-deps = ps: with ps; [
@ -59,16 +60,16 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "syslog-ng"; pname = "syslog-ng";
version = "4.5.0"; version = "4.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syslog-ng"; owner = "syslog-ng";
repo = "syslog-ng"; repo = "syslog-ng";
rev = "syslog-ng-${version}"; rev = "syslog-ng-${version}";
hash = "sha256-cWlTGACuHm8o2563Axh43Ks7EhYok6+V9mOkrYp4km8="; hash = "sha256-B9s7mprPpS4xc7mfJbsDaq2hB1rjYmuOnOnpu+NnMRs=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config which bison flex libxslt perl ]; nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config which bison flex libxslt perl gperf ];
buildInputs = [ buildInputs = [
libcap libcap

View file

@ -0,0 +1,28 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
}:
stdenv.mkDerivation rec {
pname = "umpire";
version = "2023.06.0";
src = fetchFromGitHub {
owner = "LLNL";
repo = "umpire";
rev = "v${version}";
hash = "sha256-gdwr0ACCfkrtlVROPhxM7zT7SaCo2Eg1etrPFN4JHaA=";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake ];
meta = with lib; {
description = "Application-focused API for memory management on NUMA & GPU architectures";
homepage = "https://github.com/LLNL/Umpire";
maintainers = with maintainers; [ sheepforce ];
license = with licenses; [ mit ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -32,11 +32,6 @@ stdenv.mkDerivation rec {
./fix-pri-path.patch ./fix-pri-path.patch
]; ];
postPatch = ''
substituteInPlace src/dsysinfo.cpp \
--replace "/usr/share/deepin/distribution.info" "/etc/distribution.info" \
'';
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
pkg-config pkg-config

View file

@ -1,6 +1,7 @@
{ stdenvNoCC { stdenvNoCC
, lib , lib
, fetchFromGitHub , fetchFromGitHub
, nixos-icons
}: }:
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "deepin-desktop-base"; pname = "deepin-desktop-base";
@ -24,6 +25,15 @@ stdenvNoCC.mkDerivation rec {
mv $out/usr/* $out/ mv $out/usr/* $out/
rm -r $out/usr rm -r $out/usr
install -D ${./distribution_logo_transparent.svg} $out/share/pixmaps/distribution_logo_transparent.svg install -D ${./distribution_logo_transparent.svg} $out/share/pixmaps/distribution_logo_transparent.svg
cat > $out/share/deepin/distribution.info <<EOF
[Distribution]
Name=NixOS
WebsiteName=www.nixos.org
Website=https://www.nixos.org
Logo=${nixos-icons}/share/icons/hicolor/96x96/apps/nix-snowflake.png
LogoLight=${nixos-icons}/share/icons/hicolor/32x32/apps/nix-snowflake.png
LogoTransparent=$out/share/pixmaps/distribution_logo_transparent.svg
EOF
''; '';
meta = with lib; { meta = with lib; {

View file

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "erg"; pname = "erg";
version = "0.6.28"; version = "0.6.29";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "erg-lang"; owner = "erg-lang";
repo = "erg"; repo = "erg";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-TK7Ak6ZKjEBcwimV0W/CgD3yd9q1aSgSkp9MuGE3d8k="; hash = "sha256-sHW0e8a8ZDmcA8u0leIJLxzJLI8guKlMB/u7CFhbyQE=";
}; };
cargoHash = "sha256-DD6RXGdkQHMKZCJhHRTbTrRQ15MdOZHbREJ31LePHUY="; cargoHash = "sha256-3wrH++IItJQNueJoa5wuzN2ZXWa5OflBItjQxS/XhO0=";
nativeBuildInputs = [ nativeBuildInputs = [
makeWrapper makeWrapper

View file

@ -12,13 +12,13 @@
let let
version = "2023.09.03"; version = "2024.01.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "FStarLang"; owner = "FStarLang";
repo = "FStar"; repo = "FStar";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-ymoP5DvaLdrdwJcnhZnLEvwNxUFzhkICajPyK4lvacc="; hash = "sha256-xjSWDP8mSjLcn+0hsRpEdzsBgBR+mKCZB8yLmHl+WqE=";
}; };
fstar-dune = ocamlPackages.callPackage ./dune.nix { inherit version src; }; fstar-dune = ocamlPackages.callPackage ./dune.nix { inherit version src; };

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