Merge master into staging-next
This commit is contained in:
commit
66c722f52f
@ -29,31 +29,35 @@ stdenv.mkDerivation {
|
||||
|
||||
## Variables controlling zig.hook {#variables-controlling-zig-hook}
|
||||
|
||||
### `dontUseZigBuild` {#dontUseZigBuild}
|
||||
### `zig.hook` Exclusive Variables {#zigHookExclusiveVariables}
|
||||
|
||||
The variables below are exclusive to `zig.hook`.
|
||||
|
||||
#### `dontUseZigBuild` {#dontUseZigBuild}
|
||||
|
||||
Disables using `zigBuildPhase`.
|
||||
|
||||
### `zigBuildFlags` {#zigBuildFlags}
|
||||
|
||||
Controls the flags passed to the build phase.
|
||||
|
||||
### `dontUseZigCheck` {#dontUseZigCheck}
|
||||
#### `dontUseZigCheck` {#dontUseZigCheck}
|
||||
|
||||
Disables using `zigCheckPhase`.
|
||||
|
||||
### `zigCheckFlags` {#zigCheckFlags}
|
||||
|
||||
Controls the flags passed to the check phase.
|
||||
|
||||
### `dontUseZigInstall` {#dontUseZigInstall}
|
||||
#### `dontUseZigInstall` {#dontUseZigInstall}
|
||||
|
||||
Disables using `zigInstallPhase`.
|
||||
|
||||
### `zigInstallFlags` {#zigInstallFlags}
|
||||
### Similar variables {#similarVariables}
|
||||
|
||||
Controls the flags passed to the install phase.
|
||||
The following variables are similar to their `stdenv.mkDerivation` counterparts.
|
||||
|
||||
| `zig.hook` Variable | `stdenv.mkDerivation` Counterpart |
|
||||
|---------------------|-----------------------------------|
|
||||
| `zigBuildFlags` | `buildFlags` |
|
||||
| `zigCheckFlags` | `checkFlags` |
|
||||
| `zigInstallFlags` | `installFlags` |
|
||||
|
||||
### Variables honored by zig.hook {#variables-honored-by-zig-hook}
|
||||
|
||||
The following variables commonly used by `stdenv.mkDerivation` are honored by `zig.hook`.
|
||||
|
||||
- `prefixKey`
|
||||
- `dontAddPrefix`
|
||||
|
@ -231,6 +231,8 @@ The module update takes care of the new config syntax and the data itself (user
|
||||
|
||||
- `services.nginx` gained a `defaultListen` option at server-level with support for PROXY protocol listeners, also `proxyProtocol` is now exposed in `services.nginx.virtualHosts.<name>.listen` option. It is now possible to run PROXY listeners and non-PROXY listeners at a server-level, see [#213510](https://github.com/NixOS/nixpkgs/pull/213510/) for more details.
|
||||
|
||||
- `services.restic.backups` now adds wrapper scripts to your system path, which set the same environment variables as the service, so restic operations can easly be run from the command line. This behavior can be disabled by setting `createWrapper` to `false`, per backup configuration.
|
||||
|
||||
- `services.prometheus.exporters` has a new exporter to monitor electrical power consumption based on PowercapRAPL sensor called [Scaphandre](https://github.com/hubblo-org/scaphandre), see [#239803](https://github.com/NixOS/nixpkgs/pull/239803) for more details.
|
||||
|
||||
- The MariaDB C client library was upgraded from 3.2.x to 3.3.x. It is recomended to review the [upstream release notes](https://mariadb.com/kb/en/mariadb-connector-c-33-release-notes/).
|
||||
|
16
nixos/modules/hardware/decklink.nix
Normal file
16
nixos/modules/hardware/decklink.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.hardware.decklink;
|
||||
kernelPackages = config.boot.kernelPackages;
|
||||
in
|
||||
{
|
||||
options.hardware.decklink.enable = lib.mkEnableOption "hardware support for the Blackmagic Design Decklink audio/video interfaces";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
boot.kernelModules = [ "blackmagic" "blackmagic-io" "snd_blackmagic-io" ];
|
||||
boot.extraModulePackages = [ kernelPackages.decklink ];
|
||||
systemd.packages = [ pkgs.blackmagic-desktop-video ];
|
||||
systemd.services.DesktopVideoHelper.wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
}
|
@ -55,6 +55,7 @@
|
||||
./hardware/cpu/amd-sev.nix
|
||||
./hardware/cpu/intel-microcode.nix
|
||||
./hardware/cpu/intel-sgx.nix
|
||||
./hardware/decklink.nix
|
||||
./hardware/device-tree.nix
|
||||
./hardware/digitalbitbox.nix
|
||||
./hardware/flipperzero.nix
|
||||
|
@ -260,6 +260,16 @@ in
|
||||
Restic package to use.
|
||||
'';
|
||||
};
|
||||
|
||||
createWrapper = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to generate and add a script to the system path, that has the same environment variables set
|
||||
as the systemd service. This can be used to e.g. mount snapshots or perform other opterations, without
|
||||
having to manually specify most options.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}));
|
||||
default = { };
|
||||
@ -316,7 +326,8 @@ in
|
||||
in
|
||||
nameValuePair "restic-backups-${name}" ({
|
||||
environment = {
|
||||
RESTIC_CACHE_DIR = "%C/restic-backups-${name}";
|
||||
# not %C, because that wouldn't work in the wrapper script
|
||||
RESTIC_CACHE_DIR = "/var/cache/restic-backups-${name}";
|
||||
RESTIC_PASSWORD_FILE = backup.passwordFile;
|
||||
RESTIC_REPOSITORY = backup.repository;
|
||||
RESTIC_REPOSITORY_FILE = backup.repositoryFile;
|
||||
@ -331,7 +342,7 @@ in
|
||||
nameValuePair (rcloneAttrToConf name) (toRcloneVal value)
|
||||
)
|
||||
backup.rcloneConfig);
|
||||
path = [ pkgs.openssh ];
|
||||
path = [ config.programs.ssh.package ];
|
||||
restartIfChanged = false;
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
@ -378,5 +389,22 @@ in
|
||||
timerConfig = backup.timerConfig;
|
||||
})
|
||||
config.services.restic.backups;
|
||||
|
||||
# generate wrapper scripts, as described in the createWrapper option
|
||||
environment.systemPackages = lib.mapAttrsToList (name: backup: let
|
||||
extraOptions = lib.concatMapStrings (arg: " -o ${arg}") backup.extraOptions;
|
||||
resticCmd = "${backup.package}/bin/restic${extraOptions}";
|
||||
in pkgs.writeShellScriptBin "restic-${name}" ''
|
||||
set -a # automatically export variables
|
||||
${lib.optionalString (backup.environmentFile != null) "source ${backup.environmentFile}"}
|
||||
# set same environment variables as the systemd service
|
||||
${lib.pipe config.systemd.services."restic-backups-${name}".environment [
|
||||
(lib.filterAttrs (_: v: v != null))
|
||||
(lib.mapAttrsToList (n: v: "${n}=${v}"))
|
||||
(lib.concatStringsSep "\n")
|
||||
]}
|
||||
|
||||
exec ${resticCmd} $@
|
||||
'') (lib.filterAttrs (_: v: v.createWrapper) config.services.restic.backups);
|
||||
};
|
||||
}
|
||||
|
@ -272,7 +272,13 @@ in {
|
||||
Group = cfg.group;
|
||||
WorkingDirectory = cfg.home;
|
||||
# NOTE: call twistd directly with stdout logging for systemd
|
||||
ExecStart = "${python.pkgs.twisted}/bin/twistd -o --nodaemon --pidfile= --logfile - --python ${tacFile}";
|
||||
ExecStart = "${python.pkgs.twisted}/bin/twistd -o --nodaemon --pidfile= --logfile - --python ${cfg.buildbotDir}/buildbot.tac";
|
||||
# To reload on upgrade, set the following in your configuration:
|
||||
# systemd.services.buildbot-master.reloadIfChanged = true;
|
||||
ExecReload = [
|
||||
"${pkgs.coreutils}/bin/ln -sf ${tacFile} ${cfg.buildbotDir}/buildbot.tac"
|
||||
"${pkgs.coreutils}/bin/kill -HUP $MAINPID"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -35,6 +35,16 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
path = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = [ ];
|
||||
example = [ "" ];
|
||||
description = lib.mdDoc ''
|
||||
Additional packages that should be added to the agent's `PATH`.
|
||||
Mostly useful for the `local` backend.
|
||||
'';
|
||||
};
|
||||
|
||||
environmentFile = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.path;
|
||||
default = [ ];
|
||||
@ -94,7 +104,7 @@ let
|
||||
"-/etc/localtime"
|
||||
];
|
||||
};
|
||||
inherit (agentCfg) environment;
|
||||
inherit (agentCfg) environment path;
|
||||
};
|
||||
};
|
||||
in
|
||||
@ -106,28 +116,41 @@ in
|
||||
agents = lib.mkOption {
|
||||
default = { };
|
||||
type = lib.types.attrsOf agentModule;
|
||||
example = {
|
||||
docker = {
|
||||
environment = {
|
||||
WOODPECKER_SERVER = "localhost:9000";
|
||||
WOODPECKER_BACKEND = "docker";
|
||||
DOCKER_HOST = "unix:///run/podman/podman.sock";
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
podman = {
|
||||
environment = {
|
||||
WOODPECKER_SERVER = "localhost:9000";
|
||||
WOODPECKER_BACKEND = "docker";
|
||||
DOCKER_HOST = "unix:///run/podman/podman.sock";
|
||||
};
|
||||
|
||||
extraGroups = [ "podman" ];
|
||||
|
||||
environmentFile = [ "/run/secrets/woodpecker/agent-secret.txt" ];
|
||||
};
|
||||
|
||||
extraGroups = [ "docker" ];
|
||||
exec = {
|
||||
environment = {
|
||||
WOODPECKER_SERVER = "localhost:9000";
|
||||
WOODPECKER_BACKEND = "local";
|
||||
};
|
||||
|
||||
environmentFile = "/run/secrets/woodpecker/agent-secret.txt";
|
||||
};
|
||||
environmentFile = [ "/run/secrets/woodpecker/agent-secret.txt" ];
|
||||
|
||||
exec = {
|
||||
environment = {
|
||||
WOODPECKER_SERVER = "localhost:9000";
|
||||
WOODPECKER_BACKEND = "exec";
|
||||
path = [
|
||||
# Needed to clone repos
|
||||
git
|
||||
git-lfs
|
||||
woodpecker-plugin-git
|
||||
# Used by the runner as the default shell
|
||||
bash
|
||||
# Most likely to be used in pipeline definitions
|
||||
coreutils
|
||||
];
|
||||
};
|
||||
|
||||
environmentFile = "/run/secrets/woodpecker/agent-secret.txt";
|
||||
};
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc "woodpecker-agents configurations";
|
||||
};
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, pkgs, utils, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
@ -220,6 +220,12 @@ in
|
||||
in this case you can disable the failing check with this option.
|
||||
'';
|
||||
};
|
||||
|
||||
extraArgs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
description = "Additional command line arguments to pass on logrotate invocation";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -231,7 +237,7 @@ in
|
||||
serviceConfig = {
|
||||
Restart = "no";
|
||||
User = "root";
|
||||
ExecStart = "${pkgs.logrotate}/sbin/logrotate ${mailOption} ${cfg.configFile}";
|
||||
ExecStart = "${pkgs.logrotate}/sbin/logrotate ${utils.escapeSystemdExecArgs cfg.extraArgs} ${mailOption} ${cfg.configFile}";
|
||||
};
|
||||
};
|
||||
systemd.services.logrotate-checkconf = {
|
||||
@ -240,7 +246,7 @@ in
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = "${pkgs.logrotate}/sbin/logrotate --debug ${cfg.configFile}";
|
||||
ExecStart = "${pkgs.logrotate}/sbin/logrotate ${utils.escapeSystemdExecArgs cfg.extraArgs} --debug ${cfg.configFile}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -54,7 +54,7 @@ let
|
||||
|
||||
smtp = mkOption {
|
||||
type = listOf (submodule {
|
||||
freeformType = with types; attrsOf (oneOf [ str int bool ]);
|
||||
freeformType = with types; attrsOf anything;
|
||||
|
||||
options = {
|
||||
enabled = mkEnableOption (lib.mdDoc "this SMTP server for listmonk");
|
||||
@ -86,7 +86,7 @@ let
|
||||
# TODO: refine this type based on the smtp one.
|
||||
"bounce.mailboxes" = mkOption {
|
||||
type = listOf
|
||||
(submodule { freeformType = with types; oneOf [ str int bool ]; });
|
||||
(submodule { freeformType = with types; listOf (attrsOf anything); });
|
||||
default = [ ];
|
||||
description = lib.mdDoc "List of bounce mailboxes";
|
||||
};
|
||||
|
@ -23,6 +23,15 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
apiTokenFile = mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.str;
|
||||
description = lib.mdDoc ''
|
||||
The path to a file containing the API Token
|
||||
used to authenticate with CloudFlare.
|
||||
'';
|
||||
};
|
||||
|
||||
apikeyFile = mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.str;
|
||||
@ -55,12 +64,15 @@ in
|
||||
Group = config.ids.gids.cfdyndns;
|
||||
};
|
||||
environment = {
|
||||
CLOUDFLARE_EMAIL="${cfg.email}";
|
||||
CLOUDFLARE_RECORDS="${concatStringsSep "," cfg.records}";
|
||||
};
|
||||
script = ''
|
||||
${optionalString (cfg.apikeyFile != null) ''
|
||||
export CLOUDFLARE_APIKEY="$(cat ${escapeShellArg cfg.apikeyFile})"
|
||||
export CLOUDFLARE_EMAIL="${cfg.email}"
|
||||
''}
|
||||
${optionalString (cfg.apiTokenFile != null) ''
|
||||
export CLOUDFLARE_APITOKEN="$(cat ${escapeShellArg cfg.apiTokenFile})"
|
||||
''}
|
||||
${pkgs.cfdyndns}/bin/cfdyndns
|
||||
'';
|
||||
|
@ -86,12 +86,12 @@ let
|
||||
description = mdDoc "Address and port to listen on. Setting the port to a value below 1024 will also give the process the required `CAP_NET_BIND_SERVICE` capability.";
|
||||
type = types.submodule hostPortSubmodule;
|
||||
default = {
|
||||
address = "0.0.0.0";
|
||||
host = "0.0.0.0";
|
||||
port = if config.enableHTTPS then 443 else 80;
|
||||
};
|
||||
defaultText = literalExpression ''
|
||||
{
|
||||
address = "0.0.0.0";
|
||||
host = "0.0.0.0";
|
||||
port = if enableHTTPS then 443 else 80;
|
||||
}
|
||||
'';
|
||||
|
@ -595,47 +595,9 @@ let
|
||||
tt-rss = {
|
||||
description = "Tiny Tiny RSS feeds update daemon";
|
||||
|
||||
preStart = let
|
||||
callSql = e:
|
||||
if cfg.database.type == "pgsql" then ''
|
||||
${optionalString (cfg.database.password != null) "PGPASSWORD=${cfg.database.password}"} \
|
||||
${optionalString (cfg.database.passwordFile != null) "PGPASSWORD=$(cat ${cfg.database.passwordFile})"} \
|
||||
${config.services.postgresql.package}/bin/psql \
|
||||
-U ${cfg.database.user} \
|
||||
${optionalString (cfg.database.host != null) "-h ${cfg.database.host} --port ${toString dbPort}"} \
|
||||
-c '${e}' \
|
||||
${cfg.database.name}''
|
||||
|
||||
else if cfg.database.type == "mysql" then ''
|
||||
echo '${e}' | ${config.services.mysql.package}/bin/mysql \
|
||||
-u ${cfg.database.user} \
|
||||
${optionalString (cfg.database.password != null) "-p${cfg.database.password}"} \
|
||||
${optionalString (cfg.database.host != null) "-h ${cfg.database.host} -P ${toString dbPort}"} \
|
||||
${cfg.database.name}''
|
||||
|
||||
else "";
|
||||
|
||||
in (optionalString (cfg.database.type == "pgsql") ''
|
||||
exists=$(${callSql "select count(*) > 0 from pg_tables where tableowner = user"} \
|
||||
| tail -n+3 | head -n-2 | sed -e 's/[ \n\t]*//')
|
||||
|
||||
if [ "$exists" == 'f' ]; then
|
||||
${callSql "\\i ${pkgs.tt-rss}/schema/ttrss_schema_${cfg.database.type}.sql"}
|
||||
else
|
||||
echo 'The database contains some data. Leaving it as it is.'
|
||||
fi;
|
||||
'')
|
||||
|
||||
+ (optionalString (cfg.database.type == "mysql") ''
|
||||
exists=$(${callSql "select count(*) > 0 from information_schema.tables where table_schema = schema()"} \
|
||||
| tail -n+2 | sed -e 's/[ \n\t]*//')
|
||||
|
||||
if [ "$exists" == '0' ]; then
|
||||
${callSql "\\. ${pkgs.tt-rss}/schema/ttrss_schema_${cfg.database.type}.sql"}
|
||||
else
|
||||
echo 'The database contains some data. Leaving it as it is.'
|
||||
fi;
|
||||
'');
|
||||
preStart = ''
|
||||
${pkgs.php81}/bin/php ${cfg.root}/www/update.php --update-schema
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
User = "${cfg.user}";
|
||||
|
@ -279,7 +279,7 @@ in {
|
||||
support your new systems.
|
||||
Warning: the builder can execute all emulated systems within the same build, which introduces impurities in the case of cross compilation.
|
||||
'';
|
||||
type = types.listOf types.str;
|
||||
type = types.listOf (types.enum (builtins.attrNames magics));
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -2812,9 +2812,16 @@ let
|
||||
|
||||
environment.etc."systemd/networkd.conf" = renderConfig cfg.config;
|
||||
|
||||
systemd.services.systemd-networkd = {
|
||||
systemd.services.systemd-networkd = let
|
||||
isReloadableUnitFileName = unitFileName: strings.hasSuffix ".network" unitFileName;
|
||||
partitionedUnitFiles = lib.partition isReloadableUnitFileName unitFiles;
|
||||
reloadableUnitFiles = partitionedUnitFiles.right;
|
||||
nonReloadableUnitFiles = partitionedUnitFiles.wrong;
|
||||
unitFileSources = unitFiles: map (x: x.source) (attrValues unitFiles);
|
||||
in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
restartTriggers = map (x: x.source) (attrValues unitFiles) ++ [
|
||||
reloadTriggers = unitFileSources reloadableUnitFiles;
|
||||
restartTriggers = unitFileSources nonReloadableUnitFiles ++ [
|
||||
config.environment.etc."systemd/networkd.conf".source
|
||||
];
|
||||
aliases = [ "dbus-org.freedesktop.network1.service" ];
|
||||
|
@ -105,7 +105,7 @@ fi
|
||||
|
||||
# Required by the activation script
|
||||
install -m 0755 -d /etc
|
||||
if [ -d "/etc/nixos" ]; then
|
||||
if [ ! -h "/etc/nixos" ]; then
|
||||
install -m 0755 -d /etc/nixos
|
||||
fi
|
||||
install -m 01777 -d /tmp
|
||||
|
@ -275,7 +275,6 @@ in {
|
||||
firefox-beta = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-beta; };
|
||||
firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; };
|
||||
firefox-esr = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job
|
||||
firefox-esr-102 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-102; };
|
||||
firefox-esr-115 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-115; };
|
||||
firejail = handleTest ./firejail.nix {};
|
||||
firewall = handleTest ./firewall.nix { nftables = false; };
|
||||
|
@ -97,9 +97,9 @@ import ./make-test-python.nix (
|
||||
server.start()
|
||||
server.wait_for_unit("dbus.socket")
|
||||
server.fail(
|
||||
"${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} snapshots",
|
||||
'${pkgs.restic}/bin/restic -r ${remoteFromFileRepository} -p ${passwordFile} snapshots"',
|
||||
"${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots",
|
||||
"restic-remotebackup snapshots",
|
||||
'restic-remote-from-file-backup snapshots"',
|
||||
"restic-rclonebackup snapshots",
|
||||
"grep 'backup.* /opt' /root/fake-restic.log",
|
||||
)
|
||||
server.succeed(
|
||||
@ -112,20 +112,20 @@ import ./make-test-python.nix (
|
||||
"timedatectl set-time '2016-12-13 13:45'",
|
||||
"systemctl start restic-backups-remotebackup.service",
|
||||
"rm /root/backupCleanupCommand",
|
||||
'${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
'restic-remotebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
|
||||
# test that restoring that snapshot produces the same directory
|
||||
"mkdir /tmp/restore-1",
|
||||
"${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} restore latest -t /tmp/restore-1",
|
||||
"restic-remotebackup restore latest -t /tmp/restore-1",
|
||||
"diff -ru ${testDir} /tmp/restore-1/opt",
|
||||
|
||||
# test that remote-from-file-backup produces a snapshot
|
||||
"systemctl start restic-backups-remote-from-file-backup.service",
|
||||
'${pkgs.restic}/bin/restic -r ${remoteFromFileRepository} -p ${passwordFile} snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
'restic-remote-from-file-backup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
|
||||
# test that rclonebackup produces a snapshot
|
||||
"systemctl start restic-backups-rclonebackup.service",
|
||||
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
'restic-rclonebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
|
||||
# test that custompackage runs both `restic backup` and `restic check` with reasonable commandlines
|
||||
"systemctl start restic-backups-custompackage.service",
|
||||
@ -158,12 +158,12 @@ import ./make-test-python.nix (
|
||||
"rm /root/backupCleanupCommand",
|
||||
"systemctl start restic-backups-rclonebackup.service",
|
||||
|
||||
'${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} snapshots --json | ${pkgs.jq}/bin/jq "length | . == 4"',
|
||||
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots --json | ${pkgs.jq}/bin/jq "length | . == 4"',
|
||||
'restic-remotebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 4"',
|
||||
'restic-rclonebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 4"',
|
||||
|
||||
# test that remoteprune brings us back to 1 snapshot in remotebackup
|
||||
"systemctl start restic-backups-remoteprune.service",
|
||||
'${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
'restic-remotebackup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||
|
||||
)
|
||||
'';
|
||||
|
@ -21,20 +21,20 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pika-backup";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "pika-backup";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7sgAp9/CKKxPr8rWbOot+FPAwaC8EPLa9pjVcC4TjW8=";
|
||||
hash = "sha256-RTeRlfRmA/fXBcdzP41mbs88ArKlbU49AA0lnW3xRlg=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-Va7qLC6WvsLmG9JVmdT1FdIlWP4W/EFmsy7JOagQ+X8=";
|
||||
hash = "sha256-2B0N/Yq9A4LqKh8EKWmzNzTelwGE3Y9FL9IAqAgFSV8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "besu";
|
||||
version = "23.4.4";
|
||||
version = "23.7.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://hyperledger.jfrog.io/artifactory/${pname}-binaries/${pname}/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-vUdtI1tv4fI2pivHCfQch962i3LEe7W1jla52Sg68sQ=";
|
||||
sha256 = "sha256-90sywaNDy62QqIqlkna0xe7+pGQ+5UKrorv4mPha4kI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -12,18 +12,18 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pick-colour-picker";
|
||||
version = "unstable-2021-01-19";
|
||||
version = "unstable-2022-05-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stuartlangridge";
|
||||
repo = "ColourPicker";
|
||||
rev = "dec8f144918aa7964aaf86a346161beb7e997f09";
|
||||
sha256 = "hW2rarfchZ3M0JVfz5RbJRvMhv2PpyLNEMyMAp2gC+o=";
|
||||
fetchSubmodules = false;
|
||||
rev = "e3e4c2bcec5d7285425582b92bb564c74be2cf77";
|
||||
hash = "sha256-vW8mZiB3JFQtbOCWauhJGfZMlGsA/nNcljNNPtJtgGw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed "s|sys\.prefix|'\.'|g" -i setup.py
|
||||
sed "s|os.environ.get(\"SNAP\")|'$out'|g" -i pick/__main__.py
|
||||
sed "s|os.environ.get('SNAP'), \"usr\"|'$out'|g" -i pick/__main__.py
|
||||
'';
|
||||
|
||||
|
71
pkgs/applications/misc/camunda-modeler/default.nix
Normal file
71
pkgs/applications/misc/camunda-modeler/default.nix
Normal file
@ -0,0 +1,71 @@
|
||||
{ stdenvNoCC
|
||||
, lib
|
||||
, fetchurl
|
||||
, electron
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "camunda-modeler";
|
||||
version = "5.13.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz";
|
||||
hash = "sha256-/9Af/1ZP2Hkc0PP9yXObNDNmxe6riBNWSv+JaM7O5Vs=";
|
||||
};
|
||||
sourceRoot = "camunda-modeler-${version}-linux-x64";
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share/${pname}
|
||||
cp -a {locales,resources} $out/share/${pname}
|
||||
install -Dm644 support/mime-types.xml $out/share/mime/packages/${pname}.xml
|
||||
|
||||
for SIZE in 16 48 128; do
|
||||
install -D -m0644 support/icon_''${SIZE}.png "$out/share/icons/hicolor/''${SIZE}x''${SIZE}/apps/${pname}.png"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
|
||||
--add-flags $out/share/${pname}/resources/app.asar
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = pname;
|
||||
exec = pname;
|
||||
desktopName = "Camunda Modeler";
|
||||
icon = pname;
|
||||
keywords = [ "bpmn" "cmmn" "dmn" "form" "modeler" "camunda"];
|
||||
genericName = "Process Modeling Tool";
|
||||
comment = meta.description;
|
||||
mimeTypes = [ "application/bpmn" "application/cmmn" "application/dmn" "application/camunda-form" ];
|
||||
extraConfig = {
|
||||
X-Ayatana-Desktop-Shortcuts = "NewWindow;RepositoryBrowser";
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/camunda/camunda-modeler";
|
||||
description = "An integrated modeling solution for BPMN, DMN and Forms based on bpmn.io";
|
||||
maintainers = with maintainers; [ n0emis ];
|
||||
license = licenses.mit;
|
||||
inherit (electron.meta) platforms;
|
||||
};
|
||||
}
|
||||
|
@ -11,6 +11,8 @@
|
||||
, desktop-file-utils
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, blueprint-compiler
|
||||
, libxml2
|
||||
, libnotify
|
||||
, libadwaita
|
||||
, libportal
|
||||
@ -18,17 +20,18 @@
|
||||
, librsvg
|
||||
, tesseract5
|
||||
, zbar
|
||||
, gst_all_1
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "gnome-frog";
|
||||
version = "1.3.0";
|
||||
version = "1.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TenderOwl";
|
||||
repo = "Frog";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-ErDHrdD9UZxOIGwgN5eakY6vhNvE6D9SoRYXZhzmYX4=";
|
||||
sha256 = "sha256-w/ENUhJt7bYy5htBLolb/HysK8/scRaPQX5qEezQcXY=";
|
||||
};
|
||||
|
||||
format = "other";
|
||||
@ -52,6 +55,8 @@ python3Packages.buildPythonApplication rec {
|
||||
glib
|
||||
wrapGAppsHook4
|
||||
gobject-introspection
|
||||
blueprint-compiler
|
||||
libxml2
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -61,6 +66,7 @@ python3Packages.buildPythonApplication rec {
|
||||
libportal
|
||||
zbar
|
||||
tesseract5
|
||||
gst_all_1.gstreamer
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
@ -68,6 +74,7 @@ python3Packages.buildPythonApplication rec {
|
||||
pillow
|
||||
pytesseract
|
||||
pyzbar
|
||||
gtts
|
||||
];
|
||||
|
||||
# This is to prevent double-wrapping the package. We'll let
|
||||
@ -83,6 +90,7 @@ python3Packages.buildPythonApplication rec {
|
||||
description =
|
||||
"Intuitive text extraction tool (OCR) for GNOME desktop";
|
||||
license = licenses.mit;
|
||||
mainProgram = "frog";
|
||||
maintainers = with maintainers; [ foo-dogsquared ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
@ -86,11 +86,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "appgate-sdp";
|
||||
version = "6.2.1";
|
||||
version = "6.2.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bin.appgate-sdp.com/${lib.versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
|
||||
sha256 = "sha256-TjwVUBSBYo67lJyTXeee1bSaCnYLGE/MKSt+YEV+/Hw=";
|
||||
sha256 = "sha256-5xbwBCLTlZ0cE273n3ErykZSEr59dZjQWhVTK91W9a4=";
|
||||
};
|
||||
|
||||
# just patch interpreter
|
||||
|
@ -88,35 +88,6 @@
|
||||
env.MOZ_REQUIRE_SIGNING = "";
|
||||
});
|
||||
|
||||
firefox-esr-102 = buildMozillaMach rec {
|
||||
pname = "firefox-esr-102";
|
||||
version = "102.15.0esr";
|
||||
applicationName = "Mozilla Firefox ESR";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9";
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://www.mozilla.org/en-US/firefox/${lib.removeSuffix "esr" version}/releasenotes/";
|
||||
description = "A web browser built from Firefox Extended Support Release source tree";
|
||||
homepage = "http://www.mozilla.com/en-US/firefox/";
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
platforms = lib.platforms.unix;
|
||||
badPlatforms = lib.platforms.darwin;
|
||||
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
|
||||
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "firefox";
|
||||
};
|
||||
tests = [ nixosTests.firefox-esr-102 ];
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "firefox-esr-102-unwrapped";
|
||||
versionPrefix = "102";
|
||||
versionSuffix = "esr";
|
||||
};
|
||||
};
|
||||
|
||||
firefox-esr-115 = buildMozillaMach rec {
|
||||
pname = "firefox-esr-115";
|
||||
version = "115.2.0esr";
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "helm-cm-push";
|
||||
version = "0.10.3";
|
||||
version = "0.10.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chartmuseum";
|
||||
repo = "helm-push";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GyVhjCosVaUS1DtztztFxKuuRlUdxlsOP4/QMQ7+TaU=";
|
||||
hash = "sha256-YnhI1/BDk9swr3YFm5ajGf4LLgPty7blA2tlsMH0erY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-9LhokpQrREmcyBqwb33BSMyG8z7IAsl9NtE3B631PnM=";
|
||||
vendorHash = "sha256-7bUDKqkvBV1Upcrj4DQnVCP74QtKlSwF0Kl2sPFZpjc=";
|
||||
|
||||
subPackage = [ "cmd/helm-cm-push" ];
|
||||
|
||||
|
@ -1,32 +1,65 @@
|
||||
{ lib, stdenv, wrapGAppsHook, fetchFromGitHub, pkg-config, gtk3, json-glib, curl
|
||||
, glib, appstream-glib, desktop-file-utils, meson, ninja, geoip, gettext
|
||||
, libappindicator, libmrss, libproxy }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, appstream-glib
|
||||
, curl
|
||||
, desktop-file-utils
|
||||
, fetchFromGitHub
|
||||
, geoip
|
||||
, gettext
|
||||
, glib
|
||||
, gtk3
|
||||
, json-glib
|
||||
, libappindicator
|
||||
, libmrss
|
||||
, libproxy
|
||||
, libsoup_3
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "transmission-remote-gtk";
|
||||
version = "1.5.1";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "transmission-remote-gtk";
|
||||
repo = "transmission-remote-gtk";
|
||||
rev = version;
|
||||
sha256 = "4/ID12JukDDvJzWupc76r7W8Us5erwv8oXZhDnB6VDk=";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-/syZI/5LhuYLvXrNknnpbGHEH0z5iHeye2YRNJFWZJ0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[ desktop-file-utils wrapGAppsHook meson ninja pkg-config appstream-glib ];
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ gtk3 json-glib curl glib gettext libmrss geoip libproxy libappindicator ];
|
||||
buildInputs = [
|
||||
curl
|
||||
geoip
|
||||
gettext
|
||||
glib
|
||||
gtk3
|
||||
json-glib
|
||||
libappindicator
|
||||
libmrss
|
||||
libproxy
|
||||
libsoup_3
|
||||
];
|
||||
|
||||
doCheck = false; # Requires network access
|
||||
|
||||
meta = with lib; {
|
||||
description = "GTK remote control for the Transmission BitTorrent client";
|
||||
homepage =
|
||||
"https://github.com/transmission-remote-gtk/transmission-remote-gtk";
|
||||
homepage = "https://github.com/transmission-remote-gtk/transmission-remote-gtk";
|
||||
changelog = "https://github.com/transmission-remote-gtk/transmission-remote-gtk/releases/tag/${version}";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.ehmry ];
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -225,6 +225,9 @@ in stdenv'.mkDerivation (finalAttrs: {
|
||||
# See the explanation in addOpenGLRunpath.
|
||||
postFixup = lib.optionalString stdenv.isLinux ''
|
||||
addOpenGLRunpath $out/bin/mpv
|
||||
'' + lib.optionalString (stdenv.isDarwin && javascriptSupport) ''
|
||||
${stdenv.cc.targetPrefix}install_name_tool -change "build/release/libmujs.dylib" \
|
||||
"${mujs}/lib/libmujs.dylib" $out/bin/mpv
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -46,6 +46,8 @@
|
||||
, nlohmann_json
|
||||
, websocketpp
|
||||
, asio
|
||||
, decklinkSupport ? false
|
||||
, blackmagic-desktop-video
|
||||
}:
|
||||
|
||||
let
|
||||
@ -134,9 +136,17 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
preFixup = ''
|
||||
preFixup = let
|
||||
wrapperLibraries = [
|
||||
xorg.libX11
|
||||
libvlc
|
||||
libGL
|
||||
] ++ optionals decklinkSupport [
|
||||
blackmagic-desktop-video
|
||||
];
|
||||
in ''
|
||||
qtWrapperArgs+=(
|
||||
--prefix LD_LIBRARY_PATH : "$out/lib:${lib.makeLibraryPath [ xorg.libX11 libvlc libGL ]}"
|
||||
--prefix LD_LIBRARY_PATH : "$out/lib:${lib.makeLibraryPath wrapperLibraries}"
|
||||
''${gappsWrapperArgs[@]}
|
||||
)
|
||||
'';
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchNpmDeps, npmHooks, nodejs }:
|
||||
{ lib, stdenv, fetchNpmDeps, buildPackages, nodejs }:
|
||||
|
||||
{ name ? "${args.pname}-${args.version}"
|
||||
, src ? null
|
||||
@ -44,7 +44,12 @@ let
|
||||
hash = npmDepsHash;
|
||||
};
|
||||
|
||||
inherit (npmHooks.override { inherit nodejs; }) npmConfigHook npmBuildHook npmInstallHook;
|
||||
# .override {} negates splicing, so we need to use buildPackages explicitly
|
||||
npmHooks = buildPackages.npmHooks.override {
|
||||
inherit nodejs;
|
||||
};
|
||||
|
||||
inherit (npmHooks) npmConfigHook npmBuildHook npmInstallHook;
|
||||
in
|
||||
stdenv.mkDerivation (args // {
|
||||
inherit npmDeps npmBuildScript;
|
||||
|
@ -1,4 +1,13 @@
|
||||
{ lib, makeSetupHook, nodejs, srcOnly, buildPackages, makeWrapper }:
|
||||
{ lib
|
||||
, srcOnly
|
||||
, makeSetupHook
|
||||
, makeWrapper
|
||||
, nodejs
|
||||
, jq
|
||||
, prefetch-npm-deps
|
||||
, diffutils
|
||||
, installShellFiles
|
||||
}:
|
||||
|
||||
{
|
||||
npmConfigHook = makeSetupHook
|
||||
@ -6,13 +15,13 @@
|
||||
name = "npm-config-hook";
|
||||
substitutions = {
|
||||
nodeSrc = srcOnly nodejs;
|
||||
nodeGyp = "${buildPackages.nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js";
|
||||
nodeGyp = "${nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js";
|
||||
|
||||
# Specify `diff`, `jq`, and `prefetch-npm-deps` by abspath to ensure that the user's build
|
||||
# inputs do not cause us to find the wrong binaries.
|
||||
diff = "${buildPackages.diffutils}/bin/diff";
|
||||
jq = "${buildPackages.jq}/bin/jq";
|
||||
prefetchNpmDeps = "${buildPackages.prefetch-npm-deps}/bin/prefetch-npm-deps";
|
||||
diff = "${diffutils}/bin/diff";
|
||||
jq = "${jq}/bin/jq";
|
||||
prefetchNpmDeps = "${prefetch-npm-deps}/bin/prefetch-npm-deps";
|
||||
|
||||
nodeVersion = nodejs.version;
|
||||
nodeVersionMajor = lib.versions.major nodejs.version;
|
||||
@ -27,13 +36,13 @@
|
||||
npmInstallHook = makeSetupHook
|
||||
{
|
||||
name = "npm-install-hook";
|
||||
propagatedBuildInputs = with buildPackages; [
|
||||
propagatedBuildInputs = [
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
];
|
||||
substitutions = {
|
||||
hostNode = "${nodejs}/bin/node";
|
||||
jq = "${buildPackages.jq}/bin/jq";
|
||||
jq = "${jq}/bin/jq";
|
||||
};
|
||||
} ./npm-install-hook.sh;
|
||||
}
|
||||
|
53
pkgs/by-name/zx/zxpy/package.nix
Normal file
53
pkgs/by-name/zx/zxpy/package.nix
Normal file
@ -0,0 +1,53 @@
|
||||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, deterministic-uname
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "zxpy";
|
||||
version = "1.6.3";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tusharsadhwani";
|
||||
repo = "zxpy";
|
||||
rev = version;
|
||||
hash = "sha256-/sOLSIqaAUkaAghPqe0Zoq7C8CSKAd61o8ivtjJFcJY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix test caused by `uname -p` printing unknown
|
||||
# https://github.com/tusharsadhwani/zxpy/pull/53
|
||||
(fetchpatch {
|
||||
name = "allow-unknown-processor-in-injection-test.patch";
|
||||
url = "https://github.com/tusharsadhwani/zxpy/commit/95ad80caddbab82346f60ad80a601258fd1238c9.patch";
|
||||
hash = "sha256-iXasOKjWuxNjjTpb0umNMNhbFgBjsu5LsOpTaXllATM=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.setuptools
|
||||
python3.pkgs.wheel
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
deterministic-uname
|
||||
python3.pkgs.pytestCheckHook
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export PATH=$out/bin:$PATH
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "zx" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Shell scripts made simple";
|
||||
homepage = "https://github.com/tusharsadhwani/zxpy";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
mainProgram = "zxpy";
|
||||
};
|
||||
}
|
@ -6,6 +6,7 @@
|
||||
, git
|
||||
, fetchFromGitHub
|
||||
, ninja
|
||||
, gitUpdater
|
||||
}:
|
||||
|
||||
let
|
||||
@ -13,12 +14,12 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "circt";
|
||||
version = "1.53.0";
|
||||
version = "1.54.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "llvm";
|
||||
repo = "circt";
|
||||
rev = "firtool-${version}";
|
||||
sha256 = "sha256-F3pGXZC4jSG9TV2sc5G9bQtKMY6xcPknwO0fqQ6uBoA=";
|
||||
sha256 = "sha256-jHDQl6UJTyNGZ4PUTEiZCIN/RSRbBxlaVutkwrWbK9M=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -69,6 +70,10 @@ stdenv.mkDerivation rec {
|
||||
doCheck = true;
|
||||
checkTarget = "check-circt check-circt-integration";
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "firtool-";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Circuit IR compilers and tools";
|
||||
homepage = "https://circt.org/";
|
||||
|
@ -9,6 +9,26 @@ makeSetupHook {
|
||||
propagatedBuildInputs = [ zig ];
|
||||
|
||||
substitutions = {
|
||||
# This zig_default_flags below is meant to avoid CPU feature impurity in
|
||||
# Nixpkgs. However, this flagset is "unstable": it is specifically meant to
|
||||
# be controlled by the upstream development team - being up to that team
|
||||
# exposing or not that flags to the outside (especially the package manager
|
||||
# teams).
|
||||
|
||||
# Because of this hurdle, @andrewrk from Zig Software Foundation proposed
|
||||
# some solutions for this issue. Hopefully they will be implemented in
|
||||
# future releases of Zig. When this happens, this flagset should be
|
||||
# revisited accordingly.
|
||||
|
||||
# Below are some useful links describing the discovery process of this 'bug'
|
||||
# in Nixpkgs:
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/169461
|
||||
# https://github.com/NixOS/nixpkgs/issues/185644
|
||||
# https://github.com/NixOS/nixpkgs/pull/197046
|
||||
# https://github.com/NixOS/nixpkgs/pull/241741#issuecomment-1624227485
|
||||
# https://github.com/ziglang/zig/issues/14281#issuecomment-1624220653
|
||||
|
||||
zig_default_flags =
|
||||
let
|
||||
releaseType =
|
||||
|
@ -1,25 +1,5 @@
|
||||
# shellcheck shell=bash disable=SC2154,SC2086
|
||||
|
||||
# This readonly zigDefaultBuildFlagsArray below is meant to avoid CPU feature
|
||||
# impurity in Nixpkgs. However, this flagset is "unstable": it is specifically
|
||||
# meant to be controlled by the upstream development team - being up to that
|
||||
# team exposing or not that flags to the outside (especially the package manager
|
||||
# teams).
|
||||
|
||||
# Because of this hurdle, @andrewrk from Zig Software Foundation proposed some
|
||||
# solutions for this issue. Hopefully they will be implemented in future
|
||||
# releases of Zig. When this happens, this flagset should be revisited
|
||||
# accordingly.
|
||||
|
||||
# Below are some useful links describing the discovery process of this 'bug' in
|
||||
# Nixpkgs:
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/169461
|
||||
# https://github.com/NixOS/nixpkgs/issues/185644
|
||||
# https://github.com/NixOS/nixpkgs/pull/197046
|
||||
# https://github.com/NixOS/nixpkgs/pull/241741#issuecomment-1624227485
|
||||
# https://github.com/ziglang/zig/issues/14281#issuecomment-1624220653
|
||||
|
||||
readonly zigDefaultFlagsArray=(@zig_default_flags@)
|
||||
|
||||
function zigSetGlobalCacheDir {
|
||||
@ -35,7 +15,7 @@ function zigBuildPhase {
|
||||
$zigBuildFlags "${zigBuildFlagsArray[@]}"
|
||||
)
|
||||
|
||||
echoCmd 'build flags' "${flagsArray[@]}"
|
||||
echoCmd 'zig build flags' "${flagsArray[@]}"
|
||||
zig build "${flagsArray[@]}"
|
||||
|
||||
runHook postBuild
|
||||
@ -49,7 +29,7 @@ function zigCheckPhase {
|
||||
$zigCheckFlags "${zigCheckFlagsArray[@]}"
|
||||
)
|
||||
|
||||
echoCmd 'check flags' "${flagsArray[@]}"
|
||||
echoCmd 'zig check flags' "${flagsArray[@]}"
|
||||
zig build test "${flagsArray[@]}"
|
||||
|
||||
runHook postCheck
|
||||
@ -69,7 +49,7 @@ function zigInstallPhase {
|
||||
flagsArray+=("${prefixKey:---prefix}" "$prefix")
|
||||
fi
|
||||
|
||||
echoCmd 'install flags' "${flagsArray[@]}"
|
||||
echoCmd 'zig install flags' "${flagsArray[@]}"
|
||||
zig build install "${flagsArray[@]}"
|
||||
|
||||
runHook postInstall
|
||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) firefox firefox-esr-102 firefox-esr-115;
|
||||
inherit (nixosTests) firefox firefox-esr-115;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -182,9 +182,9 @@ stdenv.mkDerivation rec {
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
passthru.tests = lib.optionalAttrs (lib.versionOlder version nss_latest.version) {
|
||||
inherit (nixosTests) firefox-esr-102;
|
||||
inherit (nixosTests) firefox-esr-115;
|
||||
} // lib.optionalAttrs (lib.versionAtLeast version nss_latest.version) {
|
||||
inherit (nixosTests) firefox firefox-esr-115;
|
||||
inherit (nixosTests) firefox;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -0,0 +1,11 @@
|
||||
--- a/JPEG/jpeg/configure 2013-11-15 18:50:03.000000000 -0500
|
||||
+++ b/JPEG/jpeg/configure 2023-09-05 23:36:12.675151164 -0400
|
||||
@@ -623,7 +623,7 @@
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 625 "configure"
|
||||
#include "confdefs.h"
|
||||
-main(){return(0);}
|
||||
+int main(){return(0);}
|
||||
EOF
|
||||
if { (eval echo configure:629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
ac_cv_prog_cc_works=yes
|
@ -1,5 +1,6 @@
|
||||
{ lib
|
||||
, aiofiles
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, cryptography
|
||||
, fetchFromGitHub
|
||||
@ -15,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "adb-shell";
|
||||
version = "0.4.3";
|
||||
version = "0.4.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = !isPy3k;
|
||||
@ -24,7 +25,7 @@ buildPythonPackage rec {
|
||||
owner = "JeffLIrion";
|
||||
repo = "adb_shell";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+RU3nyJpHq0r/9erEbjUILpwIPWq14HdOX7LkSxySs4=";
|
||||
hash = "sha256-pOkFUh3SEu/ch9R1lVoQn50nufQp8oI+D4/+Ybal5CA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -36,6 +37,7 @@ buildPythonPackage rec {
|
||||
passthru.optional-dependencies = {
|
||||
async = [
|
||||
aiofiles
|
||||
async-timeout
|
||||
];
|
||||
usb = [
|
||||
libusb1
|
||||
@ -46,9 +48,7 @@ buildPythonPackage rec {
|
||||
mock
|
||||
pycryptodome
|
||||
pytestCheckHook
|
||||
]
|
||||
++ passthru.optional-dependencies.async
|
||||
++ passthru.optional-dependencies.usb;
|
||||
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
|
||||
|
||||
pythonImportsCheck = [
|
||||
"adb_shell"
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, adb-shell
|
||||
, aiofiles
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, mock
|
||||
@ -11,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "androidtv";
|
||||
version = "0.0.71";
|
||||
version = "0.0.72";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -20,11 +21,12 @@ buildPythonPackage rec {
|
||||
owner = "JeffLIrion";
|
||||
repo = "python-androidtv";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vFEMOGxkt4zfOeKTKwr2tcBUSYRPSWNlaKUVcPIM34w=";
|
||||
hash = "sha256-oDC5NWmdo6Ijxz2ER9CjtCZxWkancUNyxVe2ofH4c+Q=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
adb-shell
|
||||
async-timeout
|
||||
pure-python-adb
|
||||
];
|
||||
|
||||
|
48
pkgs/development/python-modules/ansi2image/default.nix
Normal file
48
pkgs/development/python-modules/ansi2image/default.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, colorama
|
||||
, fetchFromGitHub
|
||||
, pillow
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ansi2image";
|
||||
version = "0.1.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "helviojunior";
|
||||
repo = "ansi2image";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-1sPEEWcOzesLQXSeMsUra8ZRSMAKzH6iisOgdhpxhKM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
colorama
|
||||
pillow
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ansi2image"
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"tests/tests.py"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Module to convert ANSI text to an image";
|
||||
homepage = "https://github.com/helviojunior/ansi2image";
|
||||
changelog = "https://github.com/helviojunior/ansi2image/blob/${version}/CHANGELOG";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
@ -7,14 +7,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-admin-sortable2";
|
||||
version = "2.1.8";
|
||||
version = "2.1.9";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version pname;
|
||||
hash = "sha256-aTOpu6nb7cShBrtIjkuKH7hcvgRZ+0ZQT+YC1l2/0+k=";
|
||||
hash = "sha256-vwNnhcWYaFoAGesINAuI/mynS9F4Az4ikObEG2L6S/E=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
36
pkgs/development/python-modules/dronecan/default.nix
Normal file
36
pkgs/development/python-modules/dronecan/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dronecan";
|
||||
version = "1.0.25";
|
||||
format = "setuptools";
|
||||
disabled = pythonOlder "3.3";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-0WKmVZwE6OgBckWWvPcn5BYqXMEt6Mr1P68UMHfRp4I=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"dronecan"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python implementation of the DroneCAN v1 protocol stack";
|
||||
longDescription = ''
|
||||
DroneCAN is a lightweight protocol designed for reliable communication in aerospace and robotic applications via CAN bus.
|
||||
'';
|
||||
homepage = "https://dronecan.github.io/";
|
||||
license = licenses.mit;
|
||||
maintainers = [ teams.ororatech ];
|
||||
};
|
||||
}
|
@ -6,12 +6,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "nlpcloud";
|
||||
version = "1.1.43";
|
||||
version = "1.1.44";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-y3OZ5Tgd9FJmuon+9UyFmJgoASd1UyZVsWxmlPaxqEI=";
|
||||
hash = "sha256-dOW/M9FJJiCii4+lZJ6Pg2bAdSpul4JRtzYdI7VgJbM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
56
pkgs/development/python-modules/proxy-db/default.nix
Normal file
56
pkgs/development/python-modules/proxy-db/default.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{ lib
|
||||
, beautifulsoup4
|
||||
, buildPythonPackage
|
||||
, click
|
||||
, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, requests
|
||||
, requests-mock
|
||||
, six
|
||||
, sqlalchemy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "proxy-db";
|
||||
version = "0.3.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Nekmo";
|
||||
repo = "proxy-db";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-NdbvK2sJKKoWNYsuBaCMWtKEvuMhgyKXcKZXQgTC4bY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
beautifulsoup4
|
||||
click
|
||||
requests
|
||||
six
|
||||
sqlalchemy
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
requests-mock
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"proxy_db"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Module to manage proxies in a local database";
|
||||
homepage = "https://github.com/Nekmo/proxy-db/";
|
||||
changelog = "https://github.com/Nekmo/proxy-db/blob/v${version}/HISTORY.rst";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
59
pkgs/development/python-modules/pydiscovergy/default.nix
Normal file
59
pkgs/development/python-modules/pydiscovergy/default.nix
Normal file
@ -0,0 +1,59 @@
|
||||
{ lib
|
||||
, authlib
|
||||
, buildPythonPackage
|
||||
, dataclasses-json
|
||||
, fetchFromGitHub
|
||||
, httpx
|
||||
, marshmallow
|
||||
, pytest-httpx
|
||||
, poetry-core
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, pytz
|
||||
, respx
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pydiscovergy";
|
||||
version = "2.0.3";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpbede";
|
||||
repo = "pydiscovergy";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-iE80r9xXDI01gG0S9zhWsLSdVLQo2R4A5Ktnccsetzk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
authlib
|
||||
dataclasses-json
|
||||
httpx
|
||||
marshmallow
|
||||
pytz
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-httpx
|
||||
pytestCheckHook
|
||||
respx
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pydiscovergy"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Async Python 3 library for interacting with the Discovergy API";
|
||||
homepage = "https://github.com/jpbede/pydiscovergy";
|
||||
changelog = "https://github.com/jpbede/pydiscovergy/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pysigma-backend-elasticsearch";
|
||||
version = "1.0.6";
|
||||
version = "1.0.7";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "SigmaHQ";
|
||||
repo = "pySigma-backend-elasticsearch";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-bP64JMDhSYusLzRq0Mv89x1c9DflmYFTih9RP+dY4/c=";
|
||||
hash = "sha256-qvWrMucaSx7LltWYru30qVPDTVHtuqf8tKGFL+Fl8fU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-roborock";
|
||||
version = "0.32.4";
|
||||
version = "0.33.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
@ -29,7 +29,7 @@ buildPythonPackage rec {
|
||||
owner = "humbertogontijo";
|
||||
repo = "python-roborock";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-tZ0nyjARqXDffDOBTsGQ1iZSzzkMToUENb+NwhJ7xY4=";
|
||||
hash = "sha256-UAQlKfh6oljeWtEGYx7JiT1z9yFCAXRSlI4Ot6JUnoQ=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, callPackage, mock, cairosvg, klein, jinja2, buildbot-pkg }:
|
||||
{ lib, buildPythonPackage, fetchPypi, fetchurl, callPackage, mock, cairosvg, klein, jinja2, buildbot-pkg, unzip, zip }:
|
||||
{
|
||||
# this is exposed for potential plugins to use and for nix-update
|
||||
inherit buildbot-pkg;
|
||||
@ -29,6 +29,42 @@
|
||||
};
|
||||
};
|
||||
|
||||
www-react = buildPythonPackage rec {
|
||||
pname = "buildbot-www-react";
|
||||
inherit (buildbot-pkg) version;
|
||||
format = "wheel";
|
||||
|
||||
# fetchpypy returns a 404 for the wheel?
|
||||
# normal source release doesn't have any assets
|
||||
src = fetchurl {
|
||||
url = "https://github.com/buildbot/buildbot/releases/download/v${version}/buildbot_www_react-${version}-py3-none-any.whl";
|
||||
hash = "sha256-pEzuMiDhGQtIWQm80lgKIcTjnS7Z8UJhH9plJup5O84=";
|
||||
};
|
||||
|
||||
# Remove unneccessary circular dependency on buildbot
|
||||
postPatch = ''
|
||||
pushd dist
|
||||
unzip buildbot_www_react-${version}-py3-none-any.whl
|
||||
sed -i "s/Requires-Dist: buildbot//" buildbot_www_react-${version}.dist-info/METADATA
|
||||
chmod -R u+w buildbot_www_react-${version}-py3-none-any.whl
|
||||
zip -r buildbot_www_react-${version}-py3-none-any.whl buildbot_www_react-${version}.dist-info
|
||||
popd
|
||||
'';
|
||||
|
||||
buildInputs = [ buildbot-pkg ];
|
||||
nativeBuildInputs = [ unzip zip ];
|
||||
|
||||
# No tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://buildbot.net/";
|
||||
description = "Buildbot UI (React)";
|
||||
maintainers = with maintainers; [ mic92 ];
|
||||
license = licenses.gpl2Only;
|
||||
};
|
||||
};
|
||||
|
||||
console-view = buildPythonPackage rec {
|
||||
pname = "buildbot-console-view";
|
||||
inherit (buildbot-pkg) version;
|
||||
|
@ -6,6 +6,7 @@ nix-update buildbot
|
||||
nix-update --version=skip buildbot-worker
|
||||
nix-update --version=skip buildbot-plugins.buildbot-pkg
|
||||
nix-update --version=skip buildbot-plugins.www
|
||||
nix-update --version=skip buildbot-plugins.www-react
|
||||
nix-update --version=skip buildbot-plugins.console-view
|
||||
nix-update --version=skip buildbot-plugins.waterfall-view
|
||||
nix-update --version=skip buildbot-plugins.grid-view
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kafkactl";
|
||||
version = "3.2.0";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deviceinsight";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Rehf0mbdHgfjcsRKYCAqaUKsys3rRZFJxwHk2h/aICM=";
|
||||
hash = "sha256-Yh+82gtHACTfctnIHQS+t7Pn+eZ5ZY5ySh/ae6g81lU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-5LHL0L7xTmy3yBs7rtrC1uvUjLKBU8LpjQaHyeRyFhw=";
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "jsonnet-language-server";
|
||||
version = "0.13.0";
|
||||
version = "0.13.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grafana";
|
||||
repo = "jsonnet-language-server";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-8hy+lRh6WqyjInqGD21GHdS0QWz8g0e8MdZbQblv8II=";
|
||||
hash = "sha256-4tJrEipVbiYQY0L9sDH0f/qT8WY7c3md/Bar/dST+VI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-/mfwBHaouYN8JIxPz720/7MlMVh+5EEB+ocnYe4B020=";
|
||||
|
@ -12,16 +12,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "pylyzer";
|
||||
version = "0.0.42";
|
||||
version = "0.0.43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mtshiba";
|
||||
repo = "pylyzer";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SZwMgxQUuGq74mca1mgZ41esW/mr+mvlOhHXFALjd8U=";
|
||||
hash = "sha256-+h69AtuFBvqy/P6Qe5s0Ht66eXzg5KDs2ipoNyKludo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-iPNdkKLvLyJGwdd19tNNwuxVBctp1K+UuQjjLLzkgHg=";
|
||||
cargoHash = "sha256-Jqe3mswnbrfvUdQm4DfnCkJGksEuGzfuxNjEI7cEyQs=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
git
|
||||
|
@ -2,14 +2,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-hack";
|
||||
version = "0.6.5";
|
||||
version = "0.6.6";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-loGQTCi6lTNB/jn47fvWTqKr01p4xRqyq+Y02a/UwSc=";
|
||||
sha256 = "sha256-yLxWV9/e+0IAe4z11i+wwNb6yUehzQwV+EYCe3Z1MOM=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-gk/0aTMlUWYKfJJ9CfTvYLTZ6/ShIRuhpywhuwFHD5E=";
|
||||
cargoSha256 = "sha256-/Za1T+HYI7mmKQHn7qm1d6hqh1qyp9DAOOMi32Tev9g=";
|
||||
|
||||
# some necessary files are absent in the crate version
|
||||
doCheck = false;
|
||||
|
71
pkgs/games/wipeout-rewrite/default.nix
Normal file
71
pkgs/games/wipeout-rewrite/default.nix
Normal file
@ -0,0 +1,71 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, Foundation
|
||||
, glew
|
||||
, SDL2
|
||||
, writeShellScript
|
||||
}:
|
||||
|
||||
let
|
||||
datadir = "\"\${XDG_DATA_HOME:-$HOME/.local/share}\"/wipeout-rewrite";
|
||||
datadirCheck = writeShellScript "wipeout-rewrite-check-datadir.sh" ''
|
||||
datadir=${datadir}
|
||||
|
||||
if [ ! -d "$datadir" ]; then
|
||||
echo "[Wrapper] Creating data directory $datadir"
|
||||
mkdir -p "$datadir"
|
||||
fi
|
||||
|
||||
echo "[Wrapper] Remember to put your game assets into $datadir/wipeout if you haven't done so yet!"
|
||||
echo "[Wrapper] Check https://github.com/phoboslab/wipeout-rewrite#running for the required format."
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "wipeout-rewrite";
|
||||
version = "unstable-2023-08-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phoboslab";
|
||||
repo = "wipeout-rewrite";
|
||||
rev = "7a9f757a79d5c6806252cc1268bda5cdef463e23";
|
||||
hash = "sha256-21IG9mZPGgRhVkT087G+Bz/zLkknkHKGmWjSpcLw8vE=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glew
|
||||
SDL2
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
Foundation
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 wipegame $out/bin/wipegame
|
||||
|
||||
# I can't get --chdir to not expand the bash variables in datadir at build time (so they point to /homeless-shelter)
|
||||
# or put them inside single quotes (breaking the expansion at runtime)
|
||||
wrapProgram $out/bin/wipegame \
|
||||
--run '${datadirCheck}' \
|
||||
--run 'cd ${datadir}'
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
mainProgram = "wipegame";
|
||||
description = "A re-implementation of the 1995 PSX game wipEout";
|
||||
homepage = "https://github.com/phoboslab/wipeout-rewrite";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
})
|
52
pkgs/os-specific/linux/decklink/default.nix
Normal file
52
pkgs/os-specific/linux/decklink/default.nix
Normal file
@ -0,0 +1,52 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, blackmagic-desktop-video
|
||||
, kernel
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "decklink";
|
||||
|
||||
# the download is a horrible curl mess. we reuse it between the kernel module
|
||||
# and desktop service, since the version of the two have to match anyways.
|
||||
# See pkgs/tools/video/blackmagic-desktop-video/default.nix for more.
|
||||
inherit (blackmagic-desktop-video) src version;
|
||||
|
||||
KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||
INSTALL_MOD_PATH = placeholder "out";
|
||||
|
||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||
|
||||
postUnpack = ''
|
||||
tar xf Blackmagic_Desktop_Video_Linux_${lib.versions.majorMinor version}/other/${stdenv.hostPlatform.uname.processor}/desktopvideo-${version}-${stdenv.hostPlatform.uname.processor}.tar.gz
|
||||
moduleRoot=$NIX_BUILD_TOP/desktopvideo-${version}-${stdenv.hostPlatform.uname.processor}/usr/src
|
||||
'';
|
||||
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
make -C $moduleRoot/blackmagic-${version} -j$NIX_BUILD_CORES
|
||||
make -C $moduleRoot/blackmagic-io-${version} -j$NIX_BUILD_CORES
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
make -C $KERNELDIR M=$moduleRoot/blackmagic-${version} modules_install
|
||||
make -C $KERNELDIR M=$moduleRoot/blackmagic-io-${version} modules_install
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.blackmagicdesign.com/support/family/capture-and-playback";
|
||||
maintainers = [ maintainers.hexchen ];
|
||||
license = licenses.unfree;
|
||||
description = "Kernel module for the Blackmagic Design Decklink cards";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryFirmware ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -3,11 +3,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "linuxptp";
|
||||
version = "4.0";
|
||||
version = "4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/linuxptp/${pname}-${version}.tgz";
|
||||
hash = "sha256-0n1e8pa7PSheIuafda4CO0tCovRlUTDW05DYr8vD2TM=";
|
||||
hash = "sha256-4XQ9RPggiJfjCJXaNXnmcP+Rm5FP60talJ8+Qh3d5TU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -23,11 +23,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pdns";
|
||||
version = "4.8.1";
|
||||
version = "4.8.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.powerdns.com/releases/pdns-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-Zt0+4mVPQrTrgCYPlOy0jjE6gYF/WBJc5IwUwtJuMJ4=";
|
||||
hash = "sha256-Oxc/2kxRuwe1pR2MWZ7t15YqAgVrQQ48nZ1p7Ze+Nbk=";
|
||||
};
|
||||
# redact configure flags from version output to reduce closure size
|
||||
patches = [ ./version.patch ];
|
||||
|
@ -826,7 +826,8 @@
|
||||
nextcord
|
||||
];
|
||||
"discovergy" = ps: with ps; [
|
||||
]; # missing inputs: pydiscovergy
|
||||
pydiscovergy
|
||||
];
|
||||
"dlib_face_detect" = ps: with ps; [
|
||||
face-recognition
|
||||
];
|
||||
@ -5011,6 +5012,7 @@
|
||||
"dialogflow"
|
||||
"directv"
|
||||
"discord"
|
||||
"discovergy"
|
||||
"dlna_dmr"
|
||||
"dlna_dms"
|
||||
"dnsip"
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib, newScope, IOKit, CoreFoundation }:
|
||||
{ lib, newScope, IOKit, CoreFoundation, Foundation, Security }:
|
||||
|
||||
lib.makeScope newScope (self: with self; {
|
||||
gstat = callPackage ./gstat.nix { };
|
||||
gstat = callPackage ./gstat.nix { inherit Security; };
|
||||
formats = callPackage ./formats.nix { inherit IOKit Foundation; };
|
||||
query = callPackage ./query.nix { inherit IOKit CoreFoundation; };
|
||||
})
|
||||
|
29
pkgs/shells/nushell/plugins/formats.nix
Normal file
29
pkgs/shells/nushell/plugins/formats.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, rustPlatform
|
||||
, nushell
|
||||
, pkg-config
|
||||
, IOKit
|
||||
, Foundation
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "nushell_plugin_formats";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit pname;
|
||||
version = "0.84.0";
|
||||
src = nushell.src;
|
||||
cargoHash = "sha256-pwOdSJHd9njR0lr4n2EzCcqRonh0cbBHGZgAJ1l8FEk=";
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ IOKit Foundation ];
|
||||
cargoBuildFlags = [ "--package nu_plugin_formats" ];
|
||||
doCheck = false;
|
||||
meta = with lib; {
|
||||
description = "A formats plugin for Nushell";
|
||||
homepage = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_formats";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ viraptor ];
|
||||
platforms = with platforms; all;
|
||||
};
|
||||
}
|
@ -4,6 +4,7 @@
|
||||
, openssl
|
||||
, nushell
|
||||
, pkg-config
|
||||
, Security
|
||||
}:
|
||||
|
||||
let
|
||||
@ -15,7 +16,7 @@ rustPlatform.buildRustPackage {
|
||||
src = nushell.src;
|
||||
cargoHash = "sha256-RcwCYfIEV0+NbZ99uWaCOLqLap3wZ4qXIsc02fqkBSQ=";
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl ];
|
||||
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
|
||||
cargoBuildFlags = [ "--package nu_plugin_gstat" ];
|
||||
doCheck = false; # some tests fail
|
||||
meta = with lib; {
|
||||
|
@ -41,9 +41,15 @@ python.pkgs.buildPythonApplication rec {
|
||||
in ''
|
||||
sed -r -i \
|
||||
${lib.concatStringsSep "\n" (map (package:
|
||||
''-e 's/${package}.*[<>=]+.*/${package}/g' \''
|
||||
''-e 's/${package}\s*[<>=]+.+/${package}/g' \''
|
||||
) relaxedConstraints)}
|
||||
requirements.txt
|
||||
|
||||
sed -r -i \
|
||||
${lib.concatStringsSep "\n" (map (package:
|
||||
''-e 's/${package}\s*[<>=]+[^"]+/${package}/g' \''
|
||||
) relaxedConstraints)}
|
||||
pyproject.toml
|
||||
# only used for notebooks and visualization
|
||||
sed -r -i -e '/umap-learn/d' requirements.txt
|
||||
'';
|
||||
|
@ -5,17 +5,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "pokeget-rs";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "talwat";
|
||||
repo = "pokeget-rs";
|
||||
rev = version;
|
||||
hash = "sha256-0HWv0o0wmcRomLQul99RjGAF+/qKBK6SGeNOFRTHiCc=";
|
||||
hash = "sha256-UAkSMdHukwxDzOU/sIOuTazBbD68ORIGAWuwRxoC+EY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoHash = "sha256-nsF6rInbM1Eshi2B4AYxkHj+DBrPc2doCtZSeBfs5b0=";
|
||||
cargoHash = "sha256-A5bDZU/L3G2RWbc3Y6KEQAmLS4RuNSG+ROypxINlwLk=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A better rust version of pokeget";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wimboot";
|
||||
version = "2.7.5";
|
||||
version = "2.7.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ipxe";
|
||||
repo = "wimboot";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-rbJONP3ge+2+WzCIpTUZeieQz9Q/MZfEUmQVbZ+9Dro=";
|
||||
sha256 = "sha256-AFPuHxcDM/cdEJ5nRJnVbPk7Deg97NeSMsg/qwytZX4=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/src";
|
||||
|
@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec {
|
||||
# also update version of the vim plugin in
|
||||
# pkgs/applications/editors/vim/plugins/overrides.nix
|
||||
# the version can be found in flake.nix of the source code
|
||||
version = "0.5.6";
|
||||
version = "0.5.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nerdypepper";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-OQk80eTUufVUbYvZ38el2lmkgkU+5gr0hLTrBvzIp4A=";
|
||||
sha256 = "sha256-bMs3XMiGP6sXCqdjna4xoV6CANOIWuISSzCaL5LYY4c=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-j+FcV5JtO66Aa0ncIUfjuWtqnMmFb7zW7rNXttYBUU4=";
|
||||
cargoSha256 = "sha256-QF7P0CWlKfBzVQC//eKhf/u1qV9AfLIJDxWDDWzMG8g=";
|
||||
|
||||
buildFeatures = lib.optional withJson "json";
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nix-doc";
|
||||
version = "0.6.0";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "lf-";
|
||||
repo = "nix-doc";
|
||||
sha256 = "sha256-1y4BSdKgsV4WLcaNICVh5rac1ZAtZxFM3BlhL2g/AcI=";
|
||||
sha256 = "sha256-H81U0gR/7oWjP1z7JC8tTek+tqzTwyJWgaJQOSyNn5M=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
|
||||
RUSTFLAGS = "-Z relro-level=partial";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-nP03WnXBcwazAi6nVe17CpDSeUxmG84BFFMA5ueey3M=";
|
||||
cargoSha256 = "sha256-yYVDToPLhGUYLrPNyyKwsYXe3QOTR26wtl3SCw4Za5s=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "An interactive Nix documentation tool";
|
||||
|
843
pkgs/tools/security/chainsaw/Cargo.lock
generated
843
pkgs/tools/security/chainsaw/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -7,19 +7,19 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "chainsaw";
|
||||
version = "2.6.2";
|
||||
version = "2.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "WithSecureLabs";
|
||||
repo = "chainsaw";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Et90CW1fHt6GuHgQP2nRvcS7in4zw2UgBiQhblQGM+8=";
|
||||
hash = "sha256-plfEVVMbiTXzBhshO3NZVeuHuNeI9+Lcw1G5xeBiTks=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"notatin-0.1.0" = "sha256-YHC/NavKf0FoYtd5NM8ovUfSd4ODhKaA82mAT+HcefA=";
|
||||
"notatin-1.0.0" = "sha256-eeryJhH7kX8QWwVuEq5RzanVT2FBfFJWAzUDFgUKqR8=";
|
||||
};
|
||||
};
|
||||
|
||||
|
55
pkgs/tools/security/knowsmore/default.nix
Normal file
55
pkgs/tools/security/knowsmore/default.nix
Normal file
@ -0,0 +1,55 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "knowsmore";
|
||||
version = "0.1.37";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "helviojunior";
|
||||
repo = "knowsmore";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-UxBoWK3L4u9xSQaGGHpzvs/mRlmhF3EqiS/4BYyTKos=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
aioconsole
|
||||
ansi2image
|
||||
beautifulsoup4
|
||||
clint
|
||||
colorama
|
||||
impacket
|
||||
levenshtein
|
||||
minikerberos
|
||||
neo4j
|
||||
numpy
|
||||
pypsrp
|
||||
requests
|
||||
tabulate
|
||||
urllib3
|
||||
xmltodict
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"knowsmore"
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"tests/tests*"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool for pentesting Microsoft Active Directory";
|
||||
homepage = "https://github.com/helviojunior/knowsmore";
|
||||
changelog = "https://github.com/helviojunior/knowsmore/releases/tag/v${version}";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubernetes-polaris";
|
||||
version = "8.5.0";
|
||||
version = "8.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FairwindsOps";
|
||||
repo = "polaris";
|
||||
rev = version;
|
||||
sha256 = "sha256-Xn3NZxZ2aMEgI8XnrPNjNkt8aTQ95brYcdJO2ba3L14=";
|
||||
sha256 = "sha256-cfasYaZvUF5Ptc/BDVhafQ8wP6FA5msY+2IaeqmOvD8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ZWetW+Xar4BXXlR0iG+O/NRqYk41x+PPVCGis2W2Nkk=";
|
||||
|
@ -1,37 +1,42 @@
|
||||
{ lib
|
||||
, buildPythonApplication
|
||||
, fetchPypi
|
||||
, commandparse
|
||||
, dnspython
|
||||
, ldap3
|
||||
, termcolor
|
||||
, tqdm
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "ldeep";
|
||||
version = "1.0.11";
|
||||
version = "1.0.34";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-MYVC8fxLW85n8uZVMhb2Zml1lQ8vW9gw/eRLcmemQx4=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "franc-pentest";
|
||||
repo = "ldeep";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-Gskbxfqp2HqI6rCEiuT0lgHQtD0rZjtLgH3idEkfmjc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
commandparse
|
||||
cryptography
|
||||
dnspython
|
||||
ldap3
|
||||
pycryptodomex
|
||||
six
|
||||
termcolor
|
||||
tqdm
|
||||
];
|
||||
|
||||
# no tests are present
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "ldeep" ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ldeep"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "In-depth LDAP enumeration utility";
|
||||
homepage = "https://github.com/franc-pentest/ldeep";
|
||||
changelog = "https://github.com/franc-pentest/ldeep/releases/tag/${version}";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "automatic-timezoned";
|
||||
version = "1.0.124";
|
||||
version = "1.0.125";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maxbrunet";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-zfQ9CVMsPAeGcEMhOX7k6am/9+JjsJTk0NOvXqewDmw=";
|
||||
sha256 = "sha256-gXuAgiz4pqc1UXTqU47G8Dve+RdCM/61jIROzy6bzII=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-NAA4zvjGpsVlmESO60dKbBbUbVcxGh9YNDVALCxXc1E=";
|
||||
cargoHash = "sha256-8zW5CHgAZHMcIIhtyjf4WA/lB+eUWiH/Nu4vkwrAx3Q=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Automatically update system timezone based on location";
|
||||
|
4
pkgs/tools/typesetting/typstfmt/Cargo.lock
generated
4
pkgs/tools/typesetting/typstfmt/Cargo.lock
generated
@ -504,7 +504,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "typstfmt"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
dependencies = [
|
||||
"lexopt",
|
||||
"typstfmt_lib",
|
||||
@ -512,7 +512,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "typstfmt_lib"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
dependencies = [
|
||||
"globmatch",
|
||||
"insta",
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "typstfmt";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "astrale-sharp";
|
||||
repo = "typstfmt";
|
||||
rev = version;
|
||||
hash = "sha256-cxiT8QVioZ7cGdkxsa8ampwNBWcdpAu4fO1ijfviHhI=";
|
||||
hash = "sha256-y6uXWKG3npgxIfZeou7Xs8/zqjIFB4BvciDmAJIXw78=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
|
106
pkgs/tools/video/blackmagic-desktop-video/default.nix
Normal file
106
pkgs/tools/video/blackmagic-desktop-video/default.nix
Normal file
@ -0,0 +1,106 @@
|
||||
{ stdenv
|
||||
, cacert
|
||||
, curl
|
||||
, runCommandLocal
|
||||
, lib
|
||||
, autoPatchelfHook
|
||||
, libcxx
|
||||
, libcxxabi
|
||||
, libGL
|
||||
, gcc7
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "blackmagic-desktop-video";
|
||||
version = "12.5a15";
|
||||
|
||||
buildInputs = [
|
||||
autoPatchelfHook
|
||||
libcxx
|
||||
libcxxabi
|
||||
libGL
|
||||
gcc7.cc.lib
|
||||
];
|
||||
|
||||
# yes, the below download function is an absolute mess.
|
||||
# blame blackmagicdesign.
|
||||
src = runCommandLocal "${pname}-${lib.versions.majorMinor version}-src.tar.gz"
|
||||
rec {
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "sha256-ss7Ab5dy7cmXp9LBirFXMeGY4ZbYHvWnXmYvNeBq0RY=";
|
||||
|
||||
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
|
||||
|
||||
nativeBuildInputs = [ curl ];
|
||||
|
||||
# ENV VARS
|
||||
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
|
||||
# from the URL that the POST happens to, see browser console
|
||||
DOWNLOADID = "fecacc0f9b2f4c2e8bf2863e9e26c8e1";
|
||||
# from the URL the download page where you click the "only download" button is at
|
||||
REFERID = "052d944af6744608b27da496dfc4396d";
|
||||
SITEURL = "https://www.blackmagicdesign.com/api/register/us/download/${DOWNLOADID}";
|
||||
|
||||
USERAGENT = builtins.concatStringsSep " " [
|
||||
"User-Agent: Mozilla/5.0 (X11; Linux ${stdenv.targetPlatform.linuxArch})"
|
||||
"AppleWebKit/537.36 (KHTML, like Gecko)"
|
||||
"Chrome/77.0.3865.75"
|
||||
"Safari/537.36"
|
||||
];
|
||||
|
||||
REQJSON = builtins.toJSON {
|
||||
"country" = "nl";
|
||||
"downloadOnly" = true;
|
||||
"platform" = "Linux";
|
||||
"policy" = true;
|
||||
};
|
||||
|
||||
} ''
|
||||
RESOLVEURL=$(curl \
|
||||
-s \
|
||||
-H "$USERAGENT" \
|
||||
-H 'Content-Type: application/json;charset=UTF-8' \
|
||||
-H "Referer: https://www.blackmagicdesign.com/support/download/$REFERID/Linux" \
|
||||
--data-ascii "$REQJSON" \
|
||||
--compressed \
|
||||
"$SITEURL")
|
||||
|
||||
curl \
|
||||
--retry 3 --retry-delay 3 \
|
||||
--compressed \
|
||||
"$RESOLVEURL" \
|
||||
> $out
|
||||
'';
|
||||
|
||||
postUnpack = ''
|
||||
tar xf Blackmagic_Desktop_Video_Linux_${lib.versions.majorMinor version}/other/${stdenv.hostPlatform.uname.processor}/desktopvideo-${version}-${stdenv.hostPlatform.uname.processor}.tar.gz
|
||||
unpacked=$NIX_BUILD_TOP/desktopvideo-${version}-${stdenv.hostPlatform.uname.processor}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,share/doc,lib/systemd/system}
|
||||
cp -r $unpacked/usr/share/doc/desktopvideo $out/share/doc
|
||||
cp $unpacked/usr/lib/*.so $out/lib
|
||||
cp $unpacked/usr/lib/systemd/system/DesktopVideoHelper.service $out/lib/systemd/system
|
||||
cp $unpacked/usr/lib/blackmagic/DesktopVideo/DesktopVideoHelper $out/bin/
|
||||
|
||||
substituteInPlace $out/lib/systemd/system/DesktopVideoHelper.service --replace "/usr/lib/blackmagic/DesktopVideo/DesktopVideoHelper" "$out/bin/DesktopVideoHelper"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# i know this is ugly, but it's the cleanest way i found to tell the DesktopVideoHelper where to find its own library
|
||||
appendRunpaths = [ "$ORIGIN/../lib" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.blackmagicdesign.com/support/family/capture-and-playback";
|
||||
maintainers = [ maintainers.hexchen ];
|
||||
license = licenses.unfree;
|
||||
description = "Supporting applications for Blackmagic Decklink. Doesn't include the desktop applications, only the helper required to make the driver work";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1305,6 +1305,8 @@ mapAliases ({
|
||||
percona-server = percona-server56; # Added 2022-11-01
|
||||
percona-server56 = throw "'percona-server56' has been dropped due to lack of maintenance, no upstream support and security issues"; # Added 2022-11-01
|
||||
percona-xtrabackup_2_4 = throw "'percona-xtrabackup_2_4' has been renamed to/replaced by 'percona-xtrabackup'"; # Added 2022-12-23
|
||||
perldevel = throw "'perldevel' has been dropped due to lack of updates in nixpkgs and lack of consistent support for devel versions by 'perl-cross' releases, use 'perl' instead";
|
||||
perldevelPackages = perldevel;
|
||||
perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22
|
||||
perlArchiveCpio = throw "'perlArchiveCpio' has been renamed to/replaced by 'perlPackages.ArchiveCpio'"; # Converted to throw 2022-02-22
|
||||
pgadmin = pgadmin4;
|
||||
|
@ -413,6 +413,8 @@ with pkgs;
|
||||
|
||||
c64-debugger = callPackage ../applications/emulators/c64-debugger { };
|
||||
|
||||
camunda-modeler = callPackage ../applications/misc/camunda-modeler { };
|
||||
|
||||
caroline = callPackage ../development/libraries/caroline { };
|
||||
|
||||
cartridges = callPackage ../applications/misc/cartridges { };
|
||||
@ -3533,6 +3535,8 @@ with pkgs;
|
||||
|
||||
bkyml = callPackage ../tools/misc/bkyml { };
|
||||
|
||||
blackmagic-desktop-video = callPackage ../tools/video/blackmagic-desktop-video { };
|
||||
|
||||
blockbench-electron = callPackage ../applications/graphics/blockbench-electron { };
|
||||
|
||||
blocksat-cli = with python3Packages; toPythonApplication blocksat-cli;
|
||||
@ -9794,6 +9798,8 @@ with pkgs;
|
||||
|
||||
knockpy = callPackage ../tools/security/knockpy { };
|
||||
|
||||
knowsmore = callPackage ../tools/security/knowsmore { };
|
||||
|
||||
kool = callPackage ../development/tools/misc/kool { };
|
||||
|
||||
kore = callPackage ../development/web/kore {
|
||||
@ -10325,7 +10331,7 @@ with pkgs;
|
||||
|
||||
ldapvi = callPackage ../tools/misc/ldapvi { };
|
||||
|
||||
ldeep = python3Packages.callPackage ../tools/security/ldeep { };
|
||||
ldeep = callPackage ../tools/security/ldeep { };
|
||||
|
||||
ldns = callPackage ../development/libraries/ldns { };
|
||||
|
||||
@ -28528,7 +28534,7 @@ with pkgs;
|
||||
nu_scripts = callPackage ../shells/nushell/nu_scripts { };
|
||||
|
||||
nushellPlugins = callPackage ../shells/nushell/plugins {
|
||||
inherit (darwin.apple_sdk_11_0.frameworks) IOKit CoreFoundation;
|
||||
inherit (darwin.apple_sdk_11_0.frameworks) IOKit CoreFoundation Foundation Security;
|
||||
};
|
||||
|
||||
nettools = if stdenv.isLinux
|
||||
@ -32080,7 +32086,6 @@ with pkgs;
|
||||
firefox-unwrapped = firefoxPackages.firefox;
|
||||
firefox-beta-unwrapped = firefoxPackages.firefox-beta;
|
||||
firefox-devedition-unwrapped = firefoxPackages.firefox-devedition;
|
||||
firefox-esr-102-unwrapped = firefoxPackages.firefox-esr-102;
|
||||
firefox-esr-115-unwrapped = firefoxPackages.firefox-esr-115;
|
||||
firefox-esr-unwrapped = firefoxPackages.firefox-esr-115;
|
||||
|
||||
@ -32091,7 +32096,6 @@ with pkgs;
|
||||
firefox-mobile = callPackage ../applications/networking/browsers/firefox/mobile-config.nix { };
|
||||
|
||||
firefox-esr = firefox-esr-115;
|
||||
firefox-esr-102 = wrapFirefox firefox-esr-102-unwrapped { };
|
||||
firefox-esr-115 = wrapFirefox firefox-esr-115-unwrapped { };
|
||||
|
||||
firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
|
||||
@ -37555,6 +37559,10 @@ with pkgs;
|
||||
|
||||
shipwright = callPackage ../games/shipwright { };
|
||||
|
||||
wipeout-rewrite = callPackage ../games/wipeout-rewrite {
|
||||
inherit (darwin.apple_sdk.frameworks) Foundation;
|
||||
};
|
||||
|
||||
### GAMES/DOOM-PORTS
|
||||
|
||||
dhewm3 = callPackage ../games/doom-ports/dhewm3 { };
|
||||
|
@ -339,6 +339,8 @@ in {
|
||||
|
||||
dddvb = callPackage ../os-specific/linux/dddvb { };
|
||||
|
||||
decklink = callPackage ../os-specific/linux/decklink { };
|
||||
|
||||
digimend = callPackage ../os-specific/linux/digimend { };
|
||||
|
||||
dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { };
|
||||
|
@ -26614,6 +26614,11 @@ with self; {
|
||||
url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.036.tar.gz";
|
||||
hash = "sha256-Mqpycaa9/twzMBGbOCXa3dCqS1yTb4StdOq7kyogCl4=";
|
||||
};
|
||||
patches = [
|
||||
# Fix failing configure test due to implicit int return value of main, which results
|
||||
# in an error with clang 16.
|
||||
../development/perl-modules/tk-configure-implicit-int-fix.patch
|
||||
];
|
||||
makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
|
||||
buildInputs = [ pkgs.xorg.libX11 pkgs.libpng ];
|
||||
doCheck = false; # Expects working X11.
|
||||
|
@ -532,6 +532,8 @@ self: super: with self; {
|
||||
|
||||
ansi2html = callPackage ../development/python-modules/ansi2html { };
|
||||
|
||||
ansi2image = callPackage ../development/python-modules/ansi2image { };
|
||||
|
||||
ansible = callPackage ../development/python-modules/ansible { };
|
||||
|
||||
ansible-compat = callPackage ../development/python-modules/ansible-compat { };
|
||||
@ -3218,6 +3220,8 @@ self: super: with self; {
|
||||
|
||||
drms = callPackage ../development/python-modules/drms { };
|
||||
|
||||
dronecan = callPackage ../development/python-modules/dronecan { };
|
||||
|
||||
dropbox = callPackage ../development/python-modules/dropbox { };
|
||||
|
||||
ds-store = callPackage ../development/python-modules/ds-store { };
|
||||
@ -8188,6 +8192,8 @@ self: super: with self; {
|
||||
|
||||
proxy_tools = callPackage ../development/python-modules/proxy_tools { };
|
||||
|
||||
proxy-db = callPackage ../development/python-modules/proxy-db { };
|
||||
|
||||
py-nextbusnext = callPackage ../development/python-modules/py-nextbusnext { };
|
||||
|
||||
py65 = callPackage ../development/python-modules/py65 { };
|
||||
@ -9014,6 +9020,8 @@ self: super: with self; {
|
||||
|
||||
pydiscourse = callPackage ../development/python-modules/pydiscourse { };
|
||||
|
||||
pydiscovergy = callPackage ../development/python-modules/pydiscovergy { };
|
||||
|
||||
pydispatcher = callPackage ../development/python-modules/pydispatcher { };
|
||||
|
||||
pydmd = callPackage ../development/python-modules/pydmd { };
|
||||
|
Loading…
Reference in New Issue
Block a user