Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-09-09 18:01:05 +00:00 committed by GitHub
commit 66c722f52f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
80 changed files with 1483 additions and 738 deletions

View File

@ -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`

View File

@ -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/).

View 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" ];
};
}

View File

@ -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

View File

@ -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);
};
}

View File

@ -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"
];
};
};
};

View File

@ -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";
};
};

View File

@ -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}";
};
};
};

View File

@ -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";
};

View File

@ -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
'';

View File

@ -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;
}
'';

View File

@ -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}";

View File

@ -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));
};
};
};

View File

@ -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" ];

View File

@ -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

View File

@ -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; };

View File

@ -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"',
)
'';

View File

@ -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 = [

View File

@ -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 ];

View File

@ -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
'';

View 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;
};
}

View File

@ -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;
};

View File

@ -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

View File

@ -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";

View File

@ -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" ];

View File

@ -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;
};
}

View File

@ -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 = {

View File

@ -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[@]}
)
'';

View File

@ -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;

View File

@ -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;
}

View 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";
};
}

View File

@ -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/";

View File

@ -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 =

View File

@ -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

View File

@ -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; {

View File

@ -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; {

View File

@ -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

View File

@ -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"

View File

@ -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
];

View 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 ];
};
}

View File

@ -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 = [

View 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 ];
};
}

View File

@ -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 = [

View 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 ];
};
}

View 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 ];
};
}

View File

@ -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 = ''

View File

@ -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 = [

View File

@ -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;

View File

@ -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

View File

@ -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=";

View File

@ -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=";

View File

@ -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

View File

@ -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;

View 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;
};
})

View 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;
};
}

View File

@ -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 = ''

View File

@ -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 ];

View File

@ -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"

View File

@ -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; };
})

View 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;
};
}

View File

@ -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; {

View File

@ -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
'';

View File

@ -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";

View File

@ -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";

View File

@ -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";

View File

@ -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";

File diff suppressed because it is too large Load Diff

View File

@ -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=";
};
};

View 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 ];
};
}

View File

@ -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=";

View File

@ -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 ];
};

View File

@ -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";

View File

@ -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",

View File

@ -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 = {

View 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;
};
}

View File

@ -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;

View File

@ -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 { };

View File

@ -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 { };

View File

@ -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.

View File

@ -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 { };