[staging] Merge staging-next (#448555)

This commit is contained in:
Grimmauld
2025-10-04 17:16:49 +02:00
committed by GitHub
157 changed files with 1559 additions and 3037 deletions
+3 -3
View File
@@ -9,7 +9,7 @@ wide variety of extensions and libraries available.
The different versions of PHP that nixpkgs provides are located under
attributes named based on major and minor version number; e.g.,
`php81` is PHP 8.1.
`php84` is PHP 8.4.
Only versions of PHP that are supported by upstream for the entirety
of a given NixOS release will be included in that release of
@@ -22,8 +22,8 @@ NixOS - not necessarily the latest major release from upstream.
All available PHP attributes are wrappers around their respective
binary PHP package and provide commonly used extensions this way. The
real PHP 8.1 package, i.e. the unwrapped one, is available as
`php81.unwrapped`; see the next section for more details.
real PHP 8.4 package, i.e. the unwrapped one, is available as
`php84.unwrapped`; see the next section for more details.
Interactive tools built on PHP are put in `php.packages`; composer is
for example available at `php.packages.composer`.
+50
View File
@@ -167,6 +167,11 @@ lib.mapAttrs mkLicense (
fullName = "Apache License 2.0";
};
baekmuk = {
spdxId = "Baekmuk";
fullName = "Baekmuk License";
};
bitstreamCharter = {
spdxId = "Bitstream-Charter";
fullName = "Bitstream Charter Font License";
@@ -187,6 +192,11 @@ lib.mapAttrs mkLicense (
fullName = " BitTorrent Open Source License v1.1";
};
boehmGC = {
spdxId = "Boehm-GC";
fullName = "Boehm-Demers-Weiser GC License";
};
bola11 = {
url = "https://blitiri.com.ar/p/bola/";
fullName = "Buena Onda License Agreement 1.1";
@@ -596,6 +606,11 @@ lib.mapAttrs mkLicense (
free = false;
};
fontException = {
spdxId = "Font-exception-2.0";
fullName = "Font exception 2.0";
};
fraunhofer-fdk = {
fullName = "Fraunhofer FDK AAC Codec Library";
spdxId = "FDK-AAC";
@@ -605,6 +620,11 @@ lib.mapAttrs mkLicense (
fullName = "Unspecified free software license";
};
freeimage = {
spdxId = "FreeImage";
fullName = "FreeImage Public License v1.0";
};
fsl11Mit = {
fullName = "Functional Source License, Version 1.1, MIT Future License";
spdxId = "FSL-1.1-MIT";
@@ -776,6 +796,11 @@ lib.mapAttrs mkLicense (
free = false;
};
interbase = {
spdxId = "Interbase-1.0";
fullName = "Interbase Public License v1.0";
};
ipa = {
spdxId = "IPA";
fullName = "IPA Font License";
@@ -1052,6 +1077,11 @@ lib.mapAttrs mkLicense (
redistributable = true; # Only if used in Netdata products.
};
ngpl = {
spdxId = "NGPL";
fullName = "Nethack General Public License";
};
nistSoftware = {
spdxId = "NIST-Software";
fullName = "NIST Software License";
@@ -1144,6 +1174,11 @@ lib.mapAttrs mkLicense (
fullName = "Open Software License 3.0";
};
paratype = {
fullName = "ParaType Free Font Licensing Agreement";
url = "https://web.archive.org/web/20161209023955/http://www.paratype.ru/public/pt_openlicense_eng.asp";
};
parity70 = {
spdxId = "Parity-7.0.0";
fullName = "Parity Public License 7.0.0";
@@ -1272,6 +1307,11 @@ lib.mapAttrs mkLicense (
redistributable = false; # only free to redistribute "for non-commercial purposes"
};
tcpWrappers = {
spdxId = "TCP-wrappers";
fullName = "TCP Wrappers License";
};
teamspeak = {
fullName = "Teamspeak client license";
url = "https://www.teamspeak.com/en/privacy-and-terms/";
@@ -1319,6 +1359,11 @@ lib.mapAttrs mkLicense (
# https://github.com/spdx/license-list-XML/issues/2757
};
torque11 = {
spdxId = "TORQUE-1.1";
fullName = "TORQUE v2.5+ Software License v1.1";
};
tsl = {
shortName = "TSL";
fullName = "Timescale License Agreegment";
@@ -1459,6 +1504,11 @@ lib.mapAttrs mkLicense (
fullName = "X11 License";
};
xerox = {
spdxId = "Xerox";
fullName = "Xerox License";
};
xfig = {
spdxId = "Xfig";
fullName = "xfig";
+8 -1
View File
@@ -44,7 +44,14 @@ let
baseName == ".git"
||
type == "directory"
&& (baseName == ".svn" || baseName == "CVS" || baseName == ".hg" || baseName == ".jj")
&& (
baseName == ".svn"
|| baseName == "CVS"
|| baseName == ".hg"
|| baseName == ".jj"
|| baseName == ".pijul"
|| baseName == "_darcs"
)
)
||
# Filter out editor backup / swap files.
@@ -127,7 +127,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- [sx](https://github.com/earnestly/sx), a simple alternative to both xinit and startx for starting a Xorg server. Available as [services.xserver.displayManager.sx](#opt-services.xserver.displayManager.sx.enable)
- [postfixadmin](https://postfixadmin.sourceforge.io/), a web based virtual user administration interface for Postfix mail servers. Available as [postfixadmin](#opt-services.postfixadmin.enable).
- [postfixadmin](https://postfixadmin.sourceforge.io/), a web based virtual user administration interface for Postfix mail servers.
- [prowlarr](https://wiki.servarr.com/prowlarr), an indexer manager/proxy built on the popular arr .net/reactjs base stack [services.prowlarr](#opt-services.prowlarr.enable).
@@ -99,7 +99,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- [input-remapper](https://github.com/sezanzeb/input-remapper), an easy to use tool to change the mapping of your input device buttons. Available at [services.input-remapper](#opt-services.input-remapper.enable).
- [InvoicePlane](https://invoiceplane.com), web application for managing and creating invoices. Available at [services.invoiceplane](#opt-services.invoiceplane.sites._name_.enable).
- [InvoicePlane](https://invoiceplane.com), web application for managing and creating invoices. Available at `services.invoiceplane`.
- [k3b](https://userbase.kde.org/K3b), the KDE disk burning application. Available as [programs.k3b](#opt-programs.k3b.enable).
@@ -330,6 +330,8 @@
Note that system activation will complete before all certificates may have been renewed or acquired.
- `php81` was removed.
- `libvirt` now supports using `nftables` backend.
- The `virtualisation.libvirtd.firewallBackend` option can be used to configure the firewall backend used by libvirtd.
-2
View File
@@ -752,7 +752,6 @@
./services/mail/pfix-srsd.nix
./services/mail/postfix-tlspol.nix
./services/mail/postfix.nix
./services/mail/postfixadmin.nix
./services/mail/postgrey.nix
./services/mail/postsrsd.nix
./services/mail/protonmail-bridge.nix
@@ -1613,7 +1612,6 @@
./services/web-apps/immich-public-proxy.nix
./services/web-apps/immich.nix
./services/web-apps/invidious.nix
./services/web-apps/invoiceplane.nix
./services/web-apps/isso.nix
./services/web-apps/jirafeau.nix
./services/web-apps/jitsi-meet.nix
+8
View File
@@ -394,6 +394,14 @@ in
Consider migrating or switching to Incus, or remove from your configuration.
https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/
'')
(mkRemovedOptionModule [ "services" "invoiceplane" ] ''
services.invoiceplane has been removed since the service only supported PHP 8.1 which is EOL
and removed from nixpkgs.
'')
(mkRemovedOptionModule [ "services" "postfixadmin" ] ''
services.postfixadmin has been removed since it was unmaintained in nixpkgs and the version
available only supported PHP 8.1 which is EOL.
'')
# Do NOT add any option renames here, see top of the file
];
}
@@ -1,215 +0,0 @@
{
lib,
config,
pkgs,
...
}:
let
cfg = config.services.postfixadmin;
fpm = config.services.phpfpm.pools.postfixadmin;
localDB = cfg.database.host == "localhost";
pgsql = config.services.postgresql;
user = if localDB then cfg.database.username else "nginx";
in
{
options.services.postfixadmin = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to enable postfixadmin.
Also enables nginx virtual host management.
Further nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.
See [](#opt-services.nginx.virtualHosts) for further information.
'';
};
hostName = lib.mkOption {
type = lib.types.str;
example = "postfixadmin.example.com";
description = "Hostname to use for the nginx vhost";
};
adminEmail = lib.mkOption {
type = lib.types.str;
example = "postmaster@example.com";
description = ''
Defines the Site Admin's email address.
This will be used to send emails from to create mailboxes and
from Send Email / Broadcast message pages.
'';
};
setupPasswordFile = lib.mkOption {
type = lib.types.path;
description = ''
Password file for the admin.
Generate with `php -r "echo password_hash('some password here', PASSWORD_DEFAULT);"`
'';
};
database = {
username = lib.mkOption {
type = lib.types.str;
default = "postfixadmin";
description = ''
Username for the postgresql connection.
If `database.host` is set to `localhost`, a unix user and group of the same name will be created as well.
'';
};
host = lib.mkOption {
type = lib.types.str;
default = "localhost";
description = ''
Host of the postgresql server. If this is not set to
`localhost`, you have to create the
postgresql user and database yourself, with appropriate
permissions.
'';
};
passwordFile = lib.mkOption {
type = lib.types.path;
description = "Password file for the postgresql connection. Must be readable by user `nginx`.";
};
dbname = lib.mkOption {
type = lib.types.str;
default = "postfixadmin";
description = "Name of the postgresql database";
};
};
extraConfig = lib.mkOption {
type = lib.types.lines;
default = "";
description = "Extra configuration for the postfixadmin instance, see postfixadmin's config.inc.php for available options.";
};
};
config = lib.mkIf cfg.enable {
environment.etc."postfixadmin/config.local.php".text = ''
<?php
$CONF['setup_password'] = file_get_contents('${cfg.setupPasswordFile}');
$CONF['database_type'] = 'pgsql';
$CONF['database_host'] = ${if localDB then "null" else "'${cfg.database.host}'"};
${lib.optionalString localDB "$CONF['database_user'] = '${cfg.database.username}';"}
$CONF['database_password'] = ${
if localDB then "'dummy'" else "file_get_contents('${cfg.database.passwordFile}')"
};
$CONF['database_name'] = '${cfg.database.dbname}';
$CONF['configured'] = true;
${cfg.extraConfig}
'';
systemd.tmpfiles.settings."10-postfixadmin"."/var/cache/postfixadmin/templates_c".d = {
inherit user;
group = user;
mode = "700";
};
services.nginx = {
enable = true;
virtualHosts = {
${cfg.hostName} = {
forceSSL = lib.mkDefault true;
enableACME = lib.mkDefault true;
locations."/" = {
root = "${pkgs.postfixadmin}/public";
index = "index.php";
extraConfig = ''
location ~* \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${fpm.socket};
include ${config.services.nginx.package}/conf/fastcgi_params;
include ${pkgs.nginx}/conf/fastcgi.conf;
}
'';
};
};
};
};
services.postgresql = lib.mkIf localDB {
enable = true;
ensureUsers = [
{
name = cfg.database.username;
}
];
};
# The postgresql module doesn't currently support concepts like
# objects owners and extensions; for now we tack on what's needed
# here.
systemd.services.postfixadmin-postgres = lib.mkIf localDB {
after = [ "postgresql.target" ];
bindsTo = [ "postgresql.target" ];
wantedBy = [ "multi-user.target" ];
path = [
pgsql.package
pkgs.util-linux
];
script = ''
set -euo pipefail
PSQL() {
psql --port=${toString pgsql.settings.port} "$@"
}
PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.database.dbname}'" | grep -q 1 || PSQL -tAc 'CREATE DATABASE "${cfg.database.dbname}" OWNER "${cfg.database.username}"'
current_owner=$(PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.database.dbname}'")
if [[ "$current_owner" != "${cfg.database.username}" ]]; then
PSQL -tAc 'ALTER DATABASE "${cfg.database.dbname}" OWNER TO "${cfg.database.username}"'
if [[ -e "${pgsql.dataDir}/.reassigning_${cfg.database.dbname}" ]]; then
echo "Reassigning ownership of database ${cfg.database.dbname} to user ${cfg.database.username} failed on last boot. Failing..."
exit 1
fi
touch "${pgsql.dataDir}/.reassigning_${cfg.database.dbname}"
PSQL "${cfg.database.dbname}" -tAc "REASSIGN OWNED BY \"$current_owner\" TO \"${cfg.database.username}\""
rm "${pgsql.dataDir}/.reassigning_${cfg.database.dbname}"
fi
'';
serviceConfig = {
User = pgsql.superUser;
Type = "oneshot";
RemainAfterExit = true;
};
};
users.users.${user} = lib.mkIf localDB {
group = user;
isSystemUser = true;
createHome = false;
};
users.groups.${user} = lib.mkIf localDB { };
services.phpfpm.pools.postfixadmin = {
user = user;
phpPackage = pkgs.php81;
phpOptions = ''
error_log = 'stderr'
log_errors = on
'';
settings = lib.mapAttrs (_: lib.mkDefault) {
"listen.owner" = "nginx";
"listen.group" = "nginx";
"listen.mode" = "0660";
"pm" = "dynamic";
"pm.max_children" = 75;
"pm.start_servers" = 2;
"pm.min_spare_servers" = 1;
"pm.max_spare_servers" = 20;
"pm.max_requests" = 500;
"catch_workers_output" = true;
};
};
};
}
+2 -3
View File
@@ -56,7 +56,7 @@ let
pkgs.writeTextFile {
inherit name;
text = "<?php\n${text}";
checkPhase = "${pkgs.php81}/bin/php --syntax-check $target";
checkPhase = "${pkgs.php84}/bin/php --syntax-check $target";
};
mkPhpValue =
@@ -368,8 +368,7 @@ let
};
phpPackage = mkPackageOption pkgs "php" {
default = "php81";
example = "php82";
default = "php84";
};
phpOptions = mkOption {
@@ -1,492 +0,0 @@
{
config,
pkgs,
lib,
...
}:
with lib;
let
cfg = config.services.invoiceplane;
eachSite = cfg.sites;
user = "invoiceplane";
webserver = config.services.${cfg.webserver};
invoiceplane-config =
hostName: cfg:
pkgs.writeText "ipconfig.php" ''
# <?php exit('No direct script access allowed'); ?>
IP_URL=http://${hostName}
ENABLE_DEBUG=false
DISABLE_SETUP=false
REMOVE_INDEXPHP=false
DB_HOSTNAME=${cfg.database.host}
DB_USERNAME=${cfg.database.user}
# NOTE: file_get_contents adds newline at the end of returned string
DB_PASSWORD=${
optionalString (
cfg.database.passwordFile != null
) "trim(file_get_contents('${cfg.database.passwordFile}'), \"\\r\\n\")"
}
DB_DATABASE=${cfg.database.name}
DB_PORT=${toString cfg.database.port}
SESS_EXPIRATION=864000
ENABLE_INVOICE_DELETION=false
DISABLE_READ_ONLY=false
ENCRYPTION_KEY=
ENCRYPTION_CIPHER=AES-256
SETUP_COMPLETED=false
REMOVE_INDEXPHP=true
'';
mkPhpValue =
v:
if isString v then
escapeShellArg v
# NOTE: If any value contains a , (comma) this will not get escaped
else if isList v && strings.isConvertibleWithToString v then
escapeShellArg (concatMapStringsSep "," toString v)
else if isInt v then
toString v
else if isBool v then
boolToString v
else
abort "The Invoiceplane config value ${lib.generators.toPretty { } v} can not be encoded.";
extraConfig =
hostName: cfg:
let
settings = mapAttrsToList (k: v: "${k}=${mkPhpValue v}") cfg.settings;
in
pkgs.writeText "extraConfig.php" (concatStringsSep "\n" settings);
pkg =
hostName: cfg:
pkgs.stdenv.mkDerivation rec {
pname = "invoiceplane-${hostName}";
version = src.version;
src = pkgs.invoiceplane;
postPatch = ''
# Patch index.php file to load additional config file
substituteInPlace index.php \
--replace-fail "require __DIR__ . '/vendor/autoload.php';" "require('vendor/autoload.php'); \$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, 'extraConfig.php'); \$dotenv->load();";
'';
installPhase = ''
mkdir -p $out
cp -r * $out/
# symlink uploads and log directories
rm -r $out/uploads $out/application/logs $out/vendor/mpdf/mpdf/tmp
ln -sf ${cfg.stateDir}/uploads $out/
ln -sf ${cfg.stateDir}/logs $out/application/
ln -sf ${cfg.stateDir}/tmp $out/vendor/mpdf/mpdf/
# symlink the InvoicePlane config
ln -s ${cfg.stateDir}/ipconfig.php $out/ipconfig.php
# symlink the extraConfig file
ln -s ${extraConfig hostName cfg} $out/extraConfig.php
# symlink additional templates
${concatMapStringsSep "\n" (
template: "cp -r ${template}/. $out/application/views/invoice_templates/pdf/"
) cfg.invoiceTemplates}
${concatMapStringsSep "\n" (
template: "cp -r ${template}/. $out/application/views/quote_templates/pdf/"
) cfg.quoteTemplates}
'';
};
siteOpts =
{ lib, name, ... }:
{
options = {
enable = mkEnableOption "InvoicePlane web application";
stateDir = mkOption {
type = types.path;
default = "/var/lib/invoiceplane/${name}";
description = ''
This directory is used for uploads of attachments and cache.
The directory passed here is automatically created and permissions
adjusted as required.
'';
};
database = {
host = mkOption {
type = types.str;
default = "localhost";
description = "Database host address.";
};
port = mkOption {
type = types.port;
default = 3306;
description = "Database host port.";
};
name = mkOption {
type = types.str;
default = "invoiceplane";
description = "Database name.";
};
user = mkOption {
type = types.str;
default = "invoiceplane";
description = "Database user.";
};
passwordFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/invoiceplane-dbpassword";
description = ''
A file containing the password corresponding to
{option}`database.user`.
'';
};
createLocally = mkOption {
type = types.bool;
default = true;
description = "Create the database and database user locally.";
};
};
invoiceTemplates = mkOption {
type = types.listOf types.path;
default = [ ];
description = ''
List of path(s) to respective template(s) which are copied from the 'invoice_templates/pdf' directory.
::: {.note}
These templates need to be packaged before use, see example.
:::
'';
example = literalExpression ''
let
# Let's package an example template
template-vtdirektmarketing = pkgs.stdenv.mkDerivation {
name = "vtdirektmarketing";
# Download the template from a public repository
src = pkgs.fetchgit {
url = "https://git.project-insanity.org/onny/invoiceplane-vtdirektmarketing.git";
sha256 = "1hh0q7wzsh8v8x03i82p6qrgbxr4v5fb05xylyrpp975l8axyg2z";
};
sourceRoot = ".";
# Installing simply means copying template php file to the output directory
installPhase = ""
mkdir -p $out
cp invoiceplane-vtdirektmarketing/vtdirektmarketing.php $out/
"";
};
# And then pass this package to the template list like this:
in [ template-vtdirektmarketing ]
'';
};
quoteTemplates = mkOption {
type = types.listOf types.path;
default = [ ];
description = ''
List of path(s) to respective template(s) which are copied from the 'quote_templates/pdf' directory.
::: {.note}
These templates need to be packaged before use, see example.
:::
'';
example = literalExpression ''
let
# Let's package an example template
template-vtdirektmarketing = pkgs.stdenv.mkDerivation {
name = "vtdirektmarketing";
# Download the template from a public repository
src = pkgs.fetchgit {
url = "https://git.project-insanity.org/onny/invoiceplane-vtdirektmarketing.git";
sha256 = "1hh0q7wzsh8v8x03i82p6qrgbxr4v5fb05xylyrpp975l8axyg2z";
};
sourceRoot = ".";
# Installing simply means copying template php file to the output directory
installPhase = ""
mkdir -p $out
cp invoiceplane-vtdirektmarketing/vtdirektmarketing.php $out/
"";
};
# And then pass this package to the template list like this:
in [ template-vtdirektmarketing ]
'';
};
poolConfig = mkOption {
type =
with types;
attrsOf (oneOf [
str
int
bool
]);
default = {
"pm" = "dynamic";
"pm.max_children" = 32;
"pm.start_servers" = 2;
"pm.min_spare_servers" = 2;
"pm.max_spare_servers" = 4;
"pm.max_requests" = 500;
};
description = ''
Options for the InvoicePlane PHP pool. See the documentation on `php-fpm.conf`
for details on configuration directives.
'';
};
settings = mkOption {
type = types.attrsOf types.anything;
default = { };
description = ''
Structural InvoicePlane configuration. Refer to
<https://github.com/InvoicePlane/InvoicePlane/blob/master/ipconfig.php.example>
for details and supported values.
'';
example = literalExpression ''
{
SETUP_COMPLETED = true;
DISABLE_SETUP = true;
IP_URL = "https://invoice.example.com";
}
'';
};
cron = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable cron service which periodically runs Invoiceplane tasks.
Requires key taken from the administration page. Refer to
<https://wiki.invoiceplane.com/en/1.0/modules/recurring-invoices>
on how to configure it.
'';
};
key = mkOption {
type = types.str;
description = "Cron key taken from the administration page.";
};
};
};
};
in
{
# interface
options = {
services.invoiceplane = mkOption {
type = types.submodule {
options.sites = mkOption {
type = types.attrsOf (types.submodule siteOpts);
default = { };
description = "Specification of one or more InvoicePlane sites to serve";
};
options.webserver = mkOption {
type = types.enum [
"caddy"
"nginx"
];
default = "caddy";
example = "nginx";
description = ''
Which webserver to use for virtual host management.
'';
};
};
default = { };
description = "InvoicePlane configuration.";
};
};
# implementation
config = mkIf (eachSite != { }) (mkMerge [
{
assertions = flatten (
mapAttrsToList (hostName: cfg: [
{
assertion = cfg.database.createLocally -> cfg.database.user == user;
message = ''services.invoiceplane.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
}
{
assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
message = ''services.invoiceplane.sites."${hostName}".database.passwordFile cannot be specified if services.invoiceplane.sites."${hostName}".database.createLocally is set to true.'';
}
{
assertion = cfg.cron.enable -> cfg.cron.key != null;
message = ''services.invoiceplane.sites."${hostName}".cron.key must be set in order to use cron service.'';
}
]) eachSite
);
services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) {
enable = true;
package = mkDefault pkgs.mariadb;
ensureDatabases = mapAttrsToList (hostName: cfg: cfg.database.name) eachSite;
ensureUsers = mapAttrsToList (hostName: cfg: {
name = cfg.database.user;
ensurePermissions = {
"${cfg.database.name}.*" = "ALL PRIVILEGES";
};
}) eachSite;
};
services.phpfpm = {
phpPackage = pkgs.php81;
pools = mapAttrs' (
hostName: cfg:
(nameValuePair "invoiceplane-${hostName}" {
inherit user;
group = webserver.group;
settings = {
"listen.owner" = webserver.user;
"listen.group" = webserver.group;
}
// cfg.poolConfig;
})
) eachSite;
};
}
{
systemd.tmpfiles.rules = flatten (
mapAttrsToList (hostName: cfg: [
"d ${cfg.stateDir} 0750 ${user} ${webserver.group} - -"
"f ${cfg.stateDir}/ipconfig.php 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/logs 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/uploads 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/uploads/archive 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/uploads/customer_files 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/uploads/temp 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/uploads/temp/mpdf 0750 ${user} ${webserver.group} - -"
"d ${cfg.stateDir}/tmp 0750 ${user} ${webserver.group} - -"
]) eachSite
);
systemd.services.invoiceplane-config = {
serviceConfig.Type = "oneshot";
script = concatStrings (
mapAttrsToList (hostName: cfg: ''
mkdir -p ${cfg.stateDir}/logs \
${cfg.stateDir}/uploads
if ! grep -q IP_URL "${cfg.stateDir}/ipconfig.php"; then
cp "${invoiceplane-config hostName cfg}" "${cfg.stateDir}/ipconfig.php"
fi
if ! grep -q 'php exit' "${cfg.stateDir}/ipconfig.php"; then
sed -i "1i # <?php exit('No direct script access allowed'); ?>" "${cfg.stateDir}/ipconfig.php"
fi
'') eachSite
);
wantedBy = [ "multi-user.target" ];
};
users.users.${user} = {
group = webserver.group;
isSystemUser = true;
};
}
{
# Cron service implementation
systemd.timers = mapAttrs' (
hostName: cfg:
(nameValuePair "invoiceplane-cron-${hostName}" (
mkIf cfg.cron.enable {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "5m";
OnUnitActiveSec = "5m";
Unit = "invoiceplane-cron-${hostName}.service";
};
}
))
) eachSite;
systemd.services = mapAttrs' (
hostName: cfg:
(nameValuePair "invoiceplane-cron-${hostName}" (
mkIf cfg.cron.enable {
serviceConfig = {
Type = "oneshot";
User = user;
ExecStart = "${pkgs.curl}/bin/curl --header 'Host: ${hostName}' http://localhost/invoices/cron/recur/${cfg.cron.key}";
};
}
))
) eachSite;
}
(mkIf (cfg.webserver == "caddy") {
services.caddy = {
enable = true;
virtualHosts = mapAttrs' (
hostName: cfg:
(nameValuePair "http://${hostName}" {
extraConfig = ''
root * ${pkg hostName cfg}
file_server
php_fastcgi unix/${config.services.phpfpm.pools."invoiceplane-${hostName}".socket}
'';
})
) eachSite;
};
})
(mkIf (cfg.webserver == "nginx") {
services.nginx = {
enable = true;
virtualHosts = mapAttrs' (
hostName: cfg:
(nameValuePair hostName {
root = pkg hostName cfg;
extraConfig = ''
index index.php index.html index.htm;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
'';
locations = {
"/setup".extraConfig = ''
rewrite ^(.*)$ http://${hostName}/ redirect;
'';
"~ .php$" = {
extraConfig = ''
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:${config.services.phpfpm.pools."invoiceplane-${hostName}".socket};
include ${config.services.nginx.package}/conf/fastcgi_params;
include ${config.services.nginx.package}/conf/fastcgi.conf;
'';
};
};
})
) eachSite;
};
})
]);
}
@@ -327,7 +327,7 @@ in
services.phpfpm.pools.limesurvey = {
inherit user group;
phpPackage = pkgs.php81;
phpPackage = pkgs.php83;
phpEnv.DBENGINE = "${cfg.database.dbEngine}";
phpEnv.LIMESURVEY_CONFIG = "${limesurveyConfig}";
# App code cannot access credentials directly since the service starts
@@ -419,8 +419,8 @@ in
environment.LIMESURVEY_CONFIG = limesurveyConfig;
script = ''
# update or install the database as required
${pkgs.php81}/bin/php ${cfg.package}/share/limesurvey/application/commands/console.php updatedb || \
${pkgs.php81}/bin/php ${cfg.package}/share/limesurvey/application/commands/console.php install admin password admin admin@example.com verbose
${pkgs.php83}/bin/php ${cfg.package}/share/limesurvey/application/commands/console.php updatedb || \
${pkgs.php83}/bin/php ${cfg.package}/share/limesurvey/application/commands/console.php install admin password admin admin@example.com verbose
'';
serviceConfig = {
User = user;
+1 -6
View File
@@ -745,7 +745,6 @@ in
installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix { };
intune = runTest ./intune.nix;
invidious = runTest ./invidious.nix;
invoiceplane = runTest ./invoiceplane.nix;
iodine = runTest ./iodine.nix;
iosched = runTest ./iosched.nix;
ipget = runTest ./ipget.nix;
@@ -1173,10 +1172,6 @@ in
inherit runTest;
php = pkgs.php;
};
php81 = import ./php/default.nix {
inherit runTest;
php = pkgs.php81;
};
php82 = import ./php/default.nix {
inherit runTest;
php = pkgs.php82;
@@ -1218,7 +1213,6 @@ in
handleTest ./postfix-raise-smtpd-tls-security-level.nix
{ };
postfix-tlspol = runTest ./postfix-tlspol.nix;
postfixadmin = runTest ./postfixadmin.nix;
postgres-websockets = runTest ./postgres-websockets.nix;
postgresql = handleTest ./postgresql { };
postgrest = runTest ./postgrest.nix;
@@ -1462,6 +1456,7 @@ in
systemd-machinectl = runTest ./systemd-machinectl.nix;
systemd-misc = runTest ./systemd-misc.nix;
systemd-networkd = runTest ./systemd-networkd.nix;
systemd-networkd-batadv = runTest ./systemd-networkd-batadv.nix;
systemd-networkd-bridge = runTest ./systemd-networkd-bridge.nix;
systemd-networkd-dhcpserver = runTest ./systemd-networkd-dhcpserver.nix;
systemd-networkd-dhcpserver-static-leases = runTest ./systemd-networkd-dhcpserver-static-leases.nix;
+3 -3
View File
@@ -49,7 +49,7 @@
index = "index.php index.html";
};
};
phpPackage = pkgs.php81;
phpPackage = pkgs.php84;
enablePHP = true;
};
@@ -78,8 +78,8 @@
frps.wait_for_open_port(80)
frpc.wait_for_unit("frp.service")
response = frpc.succeed("curl -fvvv -s http://127.0.0.1/")
assert "PHP Version ${pkgs.php81.version}" in response, "PHP version not detected"
assert "PHP Version ${pkgs.php84.version}" in response, "PHP version not detected"
response = frpc.succeed("curl -fvvv -s http://10.0.0.1/")
assert "PHP Version ${pkgs.php81.version}" in response, "PHP version not detected"
assert "PHP Version ${pkgs.php84.version}" in response, "PHP version not detected"
'';
}
-116
View File
@@ -1,116 +0,0 @@
{ pkgs, ... }:
{
name = "invoiceplane";
meta = with pkgs.lib.maintainers; {
maintainers = [
onny
];
};
nodes = {
invoiceplane_caddy =
{ ... }:
{
services.invoiceplane.webserver = "caddy";
services.invoiceplane.sites = {
"site1.local" = {
database.name = "invoiceplane1";
database.createLocally = true;
enable = true;
};
"site2.local" = {
database.name = "invoiceplane2";
database.createLocally = true;
enable = true;
};
};
networking.firewall.allowedTCPPorts = [ 80 ];
networking.hosts."127.0.0.1" = [
"site1.local"
"site2.local"
];
};
invoiceplane_nginx =
{ ... }:
{
services.invoiceplane.webserver = "nginx";
services.invoiceplane.sites = {
"site1.local" = {
database.name = "invoiceplane1";
database.createLocally = true;
enable = true;
};
"site2.local" = {
database.name = "invoiceplane2";
database.createLocally = true;
enable = true;
};
};
networking.firewall.allowedTCPPorts = [ 80 ];
networking.hosts."127.0.0.1" = [
"site1.local"
"site2.local"
];
};
};
testScript = ''
start_all()
invoiceplane_caddy.wait_for_unit("caddy")
invoiceplane_nginx.wait_for_unit("nginx")
site_names = ["site1.local", "site2.local"]
machines = [invoiceplane_caddy, invoiceplane_nginx]
for machine in machines:
machine.wait_for_open_port(80)
machine.wait_for_open_port(3306)
for site_name in site_names:
machine.wait_for_unit(f"phpfpm-invoiceplane-{site_name}")
with subtest("Website returns welcome screen"):
assert "Please install InvoicePlane" in machine.succeed(f"curl -L {site_name}")
with subtest("Finish InvoicePlane setup"):
machine.succeed(
f"curl -sSfL --cookie-jar cjar {site_name}/setup/language"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&ip_lang=english&btn_continue=Continue' {site_name}/setup/language"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/prerequisites"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/configure_database"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/install_tables"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/upgrade_tables"
)
'';
}
-34
View File
@@ -1,34 +0,0 @@
{ pkgs, ... }:
{
name = "postfixadmin";
meta = with pkgs.lib.maintainers; {
maintainers = [ globin ];
};
nodes = {
postfixadmin =
{ config, pkgs, ... }:
{
services.postfixadmin = {
enable = true;
hostName = "postfixadmin";
setupPasswordFile = pkgs.writeText "insecure-test-setup-pw-file" "$2y$10$r0p63YCjd9rb9nHrV9UtVuFgGTmPDLKu.0UIJoQTkWCZZze2iuB1m";
};
services.nginx.virtualHosts.postfixadmin = {
forceSSL = false;
enableACME = false;
};
};
};
testScript = ''
postfixadmin.start
postfixadmin.wait_for_unit("postgresql.target")
postfixadmin.wait_for_unit("phpfpm-postfixadmin.service")
postfixadmin.wait_for_unit("nginx.service")
postfixadmin.succeed(
"curl -sSfL http://postfixadmin/setup.php -X POST -F 'setup_password=not production'"
)
postfixadmin.succeed("curl -sSfL http://postfixadmin/ | grep 'Mail admins login here'")
'';
}
+134
View File
@@ -0,0 +1,134 @@
{ lib, ... }:
{
name = "systemd-networkd-batadv";
meta = with lib.maintainers; {
maintainers = [ herbetom ];
};
nodes = {
machineA =
{ config, pkgs, ... }:
{
virtualisation.vlans = [ 1 ];
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
networking = {
useNetworkd = true;
useDHCP = false;
firewall.enable = false;
};
# Use default batman_adv module from kernel
boot.extraModulePackages = [ ];
environment.systemPackages = [
pkgs.batctl
pkgs.jq
];
systemd.network = {
networks."10-eth1" = {
matchConfig.Name = "eth1";
networkConfig = {
BatmanAdvanced = config.systemd.network.netdevs."20-bat0".netdevConfig.Name;
IPv6AcceptRA = false;
};
};
netdevs."20-bat0" = {
netdevConfig = {
Name = "bat0";
Kind = "batadv";
MACAddress = "00:00:5e:00:53:00";
};
batmanAdvancedConfig = {
OriginatorIntervalSec = "5";
RoutingAlgorithm = "batman-iv";
};
};
networks."20-bat0" = {
matchConfig.Name = config.systemd.network.netdevs."20-bat0".netdevConfig.Name;
networkConfig.IPv6AcceptRA = false;
address = [
"10.0.0.1/24"
"2001:db8::a/64"
];
};
};
};
machineB =
{ config, pkgs, ... }:
{
virtualisation.vlans = [ 1 ];
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
networking = {
useNetworkd = true;
useDHCP = false;
firewall.enable = false;
};
# Use batman_adv module from nixpkgs
boot.extraModulePackages = [ config.boot.kernelPackages.batman_adv ];
environment.systemPackages = [
pkgs.batctl
pkgs.jq
];
systemd.network = {
networks."10-eth1" = {
matchConfig.Name = "eth1";
networkConfig = {
BatmanAdvanced = config.systemd.network.netdevs."20-bat0".netdevConfig.Name;
IPv6AcceptRA = false;
};
};
netdevs."20-bat0" = {
netdevConfig = {
Name = "bat0";
Kind = "batadv";
MACAddress = "00:00:5e:00:53:10";
};
batmanAdvancedConfig = {
OriginatorIntervalSec = "5";
RoutingAlgorithm = "batman-iv";
};
};
networks."20-bat0" = {
matchConfig.Name = config.systemd.network.netdevs."20-bat0".netdevConfig.Name;
networkConfig.IPv6AcceptRA = false;
address = [
"10.0.0.2/24"
"2001:db8::b/64"
];
};
};
};
};
testScript = ''
start_all()
machineA.wait_for_unit("default.target")
machineB.wait_for_unit("default.target")
print(machineA.succeed("batctl -v").strip())
print(machineB.succeed("batctl -v").strip())
machineA.wait_until_succeeds('batctl neighbors_json | jq -e ".[0].neigh_address | select(length > 0)"')
print(machineA.succeed("batctl n").strip())
print(machineB.succeed("batctl n").strip())
print(machineA.wait_until_succeeds("batctl ping -c 5 00:00:5e:00:53:10").strip())
print(machineB.wait_until_succeeds("batctl ping -c 5 00:00:5e:00:53:00").strip())
print(machineA.wait_until_succeeds("ping -c 5 2001:db8::b"))
print(machineB.wait_until_succeeds("ping -c 5 10.0.0.1"))
machineA.fail("ping -c 3 10.0.0.99")
'';
}
+5 -5
View File
@@ -18,15 +18,15 @@ in
services.unit = {
enable = true;
config = pkgs.lib.strings.toJSON {
listeners."*:9081".application = "php_81";
applications.php_81 = {
type = "php 8.1";
listeners."*:9081".application = "php_82";
applications.php_82 = {
type = "php 8.2";
processes = 1;
user = "testuser";
group = "testgroup";
root = "${testdir}/www";
index = "info.php";
options.file = "${pkgs.unit.usedPhp81}/lib/php.ini";
options.file = "${pkgs.unit.usedPhp82}/lib/php.ini";
};
};
};
@@ -49,7 +49,7 @@ in
# Check so we get an evaluated PHP back
response = machine.succeed("curl -f -vvv -s http://127.0.0.1:9081/")
assert "PHP Version ${pkgs.unit.usedPhp81.version}" in response, "PHP version not detected"
assert "PHP Version ${pkgs.unit.usedPhp82.version}" in response, "PHP version not detected"
# Check so we have database and some other extensions loaded
for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "basedpyright";
publisher = "detachhead";
version = "1.31.4";
hash = "sha256-KpX268CYGHtBJdDVMzjn5vLYupplikgAHvi5i+FhbHo=";
version = "1.31.6";
hash = "sha256-kYy3rpDhyE8n0aBRE8tUYz9Ayvh0kzEDmHLclF9pBcc=";
};
meta = {
changelog = "https://github.com/detachhead/basedpyright/releases";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mame2003-plus";
version = "0-unstable-2025-09-20";
version = "0-unstable-2025-09-30";
src = fetchFromGitHub {
owner = "libretro";
repo = "mame2003-plus-libretro";
rev = "a4239124d4da03ae4658610832e425febb0db134";
hash = "sha256-TPYYFfAGJqlKpfLS1qDpzQXIfSXXFjRj1W/3+FTYMRQ=";
rev = "59b8a9fb06a47a3ce6aecd09b07f3f001e3d9b08";
hash = "sha256-hfC/6UqUSDd2FWpcCVcw4pkAtyHJGCgvG4UKlkM+fpk=";
};
makefile = "Makefile";
@@ -187,6 +187,9 @@ stdenv.mkDerivation (finalAttrs: {
"-DSLIC3R_FHS=1"
"-DSLIC3R_GTK=3"
"-DCMAKE_CXX_FLAGS=-DBOOST_LOG_DYN_LINK"
# there is many different min versions set accross different
# Find*.cmake files, substituting them all is not viable
"-DCMAKE_POLICY_VERSION_MINIMUM=3.10"
];
postInstall = ''
File diff suppressed because it is too large Load Diff
@@ -9,10 +9,10 @@
buildMozillaMach rec {
pname = "firefox";
version = "143.0.3";
version = "143.0.4";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "c092bd3aac79f856a804c908b76d40409ce052b00176269ea3029b5a3a6885d4d21ce26bd76c9ea13827ff75459b6b4b0566f5aa49035ac234ae5890c67845b0";
sha512 = "2bcbde4e72ea41e9ccc98836901635350b5dc7b50c618e19ab6103a27adc0f017ca3fa7555378c8af6ee1f3a14d02935289fe2b0d35d840d610f5ac07a88e4b6";
};
meta = {
@@ -62,7 +62,7 @@ stdenv.mkDerivation {
almost every other maxent package out there.
'';
homepage = "http://www.umiacs.umd.edu/~hal/megam";
license = "non-commercial";
license = lib.licenses.unfree;
maintainers = with maintainers; [ leixb ];
platforms = platforms.unix;
};
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
meta = with lib; {
description = "urxvt plugin that allows to switch color themes during runtime";
homepage = "https://github.com/felixr/urxvt-theme-switch";
license = "CCBYNC";
license = lib.licenses.cc-by-nc-30;
maintainers = [ ];
platforms = platforms.unix;
};
+1 -1
View File
@@ -49,7 +49,7 @@ let
outputHash =
{
"aarch64-linux" = "sha256-92UFGgYLmtN13hW0/BV0gJa6ImrVyn+zRpDp5KeRRhs=";
"x86_64-linux" = "sha256-Td0+H0os4bfv8cfIFhvUJ43y8y9dHv9P1UD0B5Wqe4I=";
"x86_64-linux" = "sha256-jVi+pgcz96Dj25T4e/s+SHqsZfonzXs1WZYe0lCI48Q=";
}
.${stdenvNoCC.hostPlatform.system} or (throw "authentik-website-deps: unsupported host platform");
+6 -2
View File
@@ -1,4 +1,8 @@
{ stdenvNoCC, fetchurl }:
{
lib,
stdenvNoCC,
fetchurl,
}:
stdenvNoCC.mkDerivation rec {
pname = "baekmuk-ttf";
@@ -21,6 +25,6 @@ stdenvNoCC.mkDerivation rec {
meta = {
description = "Korean font";
homepage = "http://kldp.net/projects/baekmuk/";
license = "BSD-like";
license = lib.licenses.baekmuk;
};
}
+1 -1
View File
@@ -117,7 +117,7 @@ stdenv.mkDerivation (finalAttrs: {
C or C++ programs, though that is not its primary goal.
'';
changelog = "https://github.com/bdwgc/bdwgc/blob/v${finalAttrs.version}/ChangeLog";
license = "https://hboehm.info/gc/license.txt"; # non-copyleft, X11-style license
license = lib.licenses.boehmGC;
maintainers = with lib.maintainers; [ ];
platforms = lib.platforms.all;
};
+1 -1
View File
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Library for operations on boolean expression binary trees";
homepage = "http://perso.b2b2c.ca/~sarrazip/dev/boolstuff.html";
license = "GPL";
license = lib.licenses.gpl2Only;
maintainers = [ lib.maintainers.marcweber ];
mainProgram = "booldnf";
platforms = lib.platforms.all;
-2
View File
@@ -221,8 +221,6 @@ stdenv.mkDerivation {
--replace-fail /usr/bin/brave-browser-stable $out/bin/brave
substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser.xml \
--replace-fail /opt/brave.com $out/opt/brave.com
substituteInPlace $out/share/menu/brave-browser.menu \
--replace-fail /opt/brave.com $out/opt/brave.com
substituteInPlace $out/opt/brave.com/brave/default-app-block \
--replace-fail /opt/brave.com $out/opt/brave.com
+5 -5
View File
@@ -3,24 +3,24 @@
let
pname = "brave";
version = "1.82.172";
version = "1.83.109";
allArchives = {
aarch64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
hash = "sha256-/RlrYfbUEfBVKzmVGtz9xI5h2++XaOZ8qD9sbN/4ZKA=";
hash = "sha256-mbhJnNheLdFGto4AuXMW0Gfajo+lThE4qqT7kzNvUHU=";
};
x86_64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-tTByjOyzTXPu0wBzNmH2TETqFEATzfxDM6QIkgrxpHA=";
hash = "sha256-ZpB0BhXeTa0SBRh2Dj/qLDi8cABUVmW8o5aK0kRPEUM=";
};
aarch64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip";
hash = "sha256-mqhXIpE3IGiDq2cyN5T/Qa+nibuuRShKPsPe5lBlXls=";
hash = "sha256-8NzqrvxKiamBdpOnCxVfs50kmDu1xl3HApTUY9MdANQ=";
};
x86_64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip";
hash = "sha256-TJ3dqnUR+4VEUBZ+2S57F8kXxLX2llh8LbrFHA0PIqM=";
hash = "sha256-EJ+eT0RyleAjAofRiVeAyk5yLWSeAOf7QFGT5/HhWjo=";
};
};
+4 -1
View File
@@ -27,7 +27,10 @@ stdenv.mkDerivation rec {
meta = {
homepage = "https://sourceforge.net/projects/buddy/";
description = "Binary decision diagram package";
license = "as-is";
license = {
url = "https://sourceforge.net/p/buddy/gitcode/ci/master/tree/README";
fullName = "Buddy License";
};
platforms = lib.platforms.unix; # Once had cygwin problems
};
+17 -3
View File
@@ -6,6 +6,7 @@
boost,
gmp,
mpfr,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -17,19 +18,32 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "sha256-8wxb58JaKj6iS8y6q1z2P6/aY8AnnzTX5/izISgh/tY=";
};
patches = [ ./cgal_path.patch ];
nativeBuildInputs = [ cmake ];
# note: optional component libCGAL_ImageIO would need zlib and opengl;
# there are also libCGAL_Qt{3,4} omitted ATM
buildInputs = [
boost
gmp
mpfr
];
nativeBuildInputs = [ cmake ];
patches = [ ./cgal_path.patch ];
propagatedBuildInputs = [
boost
];
doCheck = false;
passthru = {
tests = {
cmake-config = testers.hasCmakeConfigModules {
moduleNames = [ "CGAL" ];
package = finalAttrs.finalPackage;
};
};
};
meta = {
description = "Computational Geometry Algorithms Library";
homepage = "http://cgal.org";
+2 -2
View File
@@ -44,13 +44,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit";
version = "347";
version = "348";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit";
tag = finalAttrs.version;
hash = "sha256-9jVtO97QdFe8pp6JmuftaKyVM/MnRCYCWLPLrtjgbJ8=";
hash = "sha256-JO+tHrG1fxfDRdGHIDZ6TBLug/6p/vB8RkxC9TLoOuk=";
fetchSubmodules = true;
};
+3 -3
View File
@@ -7,17 +7,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "codebook";
version = "0.3.10";
version = "0.3.11";
src = fetchFromGitHub {
owner = "blopker";
repo = "codebook";
tag = "v${finalAttrs.version}";
hash = "sha256-MBhPVCnNXIFqwhWEY9ZDFVEQf7DRq2ZY6mamaMfneCc=";
hash = "sha256-4jK5wmYnkQ0WDSSBmWL155fqFwG3SQENWvQuKdsfHF0=";
};
buildAndTestSubdir = "crates/codebook-lsp";
cargoHash = "sha256-LiVveJ27R6Joz3hpCn2sSiikMlerusSjD/eLfn+gaEw=";
cargoHash = "sha256-FV7Ux+UuM57McQLqKYjgSvCbPCnM7ZOzX/jFEmtOz2o=";
# Integration tests require internet access for dictionaries
doCheck = false;
+3 -3
View File
@@ -14,18 +14,18 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "codex";
version = "0.42.0";
version = "0.44.0";
src = fetchFromGitHub {
owner = "openai";
repo = "codex";
tag = "rust-v${finalAttrs.version}";
hash = "sha256-YyI4quZ1vcwzDx38EzqycnUQDBOg9SfEemR4zdKYYIw=";
hash = "sha256-i7UhSQ16HqcX/QUb6JQgF6WOTAEDZZNkL/MSqefcwBI=";
};
sourceRoot = "${finalAttrs.src.name}/codex-rs";
cargoHash = "sha256-No6/WmaCI+w1cVD+PsLJ1jK0zZDYziGlm9DD9E3hA58=";
cargoHash = "sha256-sR7Y1SfP0akLRRvP/6tu3gZRNvQbG/a+4bOSEbbrV30=";
nativeBuildInputs = [
installShellFiles
+1 -1
View File
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
used to manage projects involving 20 million lines of code!
'';
license = "BSD-style";
license = lib.licenses.bsd3;
homepage = "https://cscope.sourceforge.net/";
+1 -1
View File
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
meta = {
homepage = "https://github.com/vedatechnologiesinc/deco";
description = "Simple root image setter";
license = lib.licenses.mit;
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.ebzzry ];
platforms = lib.platforms.unix;
mainProgram = "deco";
+2 -2
View File
@@ -6,11 +6,11 @@
}:
appimageTools.wrapType2 rec {
pname = "dopamine";
version = "3.0.0-preview.39";
version = "3.0.0-preview.40";
src = fetchurl {
url = "https://github.com/digimezzo/dopamine/releases/download/v${version}/Dopamine-${version}.AppImage";
hash = "sha256-t4f+4ceGyEJHuJxk/8/BMWK0oGYoFXZMjk8UCHLJId8=";
hash = "sha256-Cd0qUNkUXup9l3/tzagswY/MUgx4cCnXcML7c5ZSo4k=";
};
extraInstallCommands =
+3 -3
View File
@@ -15,16 +15,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "eza";
version = "0.23.3";
version = "0.23.4";
src = fetchFromGitHub {
owner = "eza-community";
repo = "eza";
tag = "v${finalAttrs.version}";
hash = "sha256-z9lG2Ht8Kn/QxmxWqMV27iYGHdUwaz87ayLAZdKJPvQ=";
hash = "sha256-zLb2VPfmv9J9UdPAXS+QPHI+hvDRl5UBcvW84J6nUK8=";
};
cargoHash = "sha256-Izogi+IWOwAuaOBs+99UzuzwIzzfCM8pqo3xZuutYI8=";
cargoHash = "sha256-3KLjlEZhGEyOcaiBnfIafR509oRbsWllqf1e6Z0M8Sg=";
nativeBuildInputs = [
cmake
+1 -1
View File
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Language independent, scalable, open extension to CGI";
homepage = "https://fastcgi-archives.github.io/"; # Formerly http://www.fastcgi.com/
license = "FastCGI, see LICENSE.TERMS";
license = lib.licenses.oml;
mainProgram = "cgi-fcgi";
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ jtbx ];
+5 -1
View File
@@ -113,7 +113,11 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Open Source library for accessing popular graphics image file formats";
homepage = "http://freeimage.sourceforge.net/";
license = "GPL";
license = with lib.licenses; [
freeimage
gpl2Only
gpl3Only
];
knownVulnerabilities = [
"CVE-2024-31570"
"CVE-2024-28584"
+3 -3
View File
@@ -6,7 +6,7 @@
buildGoModule rec {
pname = "gauge";
version = "1.6.20";
version = "1.6.21";
patches = [
# adds a check which adds an error message when trying to
@@ -18,10 +18,10 @@ buildGoModule rec {
owner = "getgauge";
repo = "gauge";
tag = "v${version}";
hash = "sha256-Ynyi2ph1L9SfxDwgXqw55nieP5o9LyHxKw4HYQEhXEo=";
hash = "sha256-mUuoGLAVUShhNsSjURCL6yWcIW+K7P8KEBwBoBelgyw=";
};
vendorHash = "sha256-vv77sD+H2PI06iaJWNGoT4Oe53Shc7QxlSL1nX4i4+Y=";
vendorHash = "sha256-WyQbvZNd61L4Bz5btZ2hkrCTb5iuJJU5yNDzuYR5Sdc=";
excludedPackages = [
"build"
+7
View File
@@ -82,6 +82,13 @@ stdenv.mkDerivation rec {
url = "https://salsa.debian.org/debian/ghostscript/-/raw/01e895fea033cc35054d1b68010de9818fa4a8fc/debian/patches/2010_add_build_timestamp_setting.patch";
hash = "sha256-XTKkFKzMR2QpcS1YqoxzJnyuGk/l/Y2jdevsmbMtCXA=";
})
]
++ lib.optionals stdenv.hostPlatform.is32bit [
# 32 bit compat. conditional as to not cause rebuilds
(fetchpatch2 {
url = "https://github.com/ArtifexSoftware/ghostpdl/commit/3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f.patch?full_index=1";
hash = "sha256-NrL4lI19x+OHaSIwV93Op/I9k2MWXxSWgbkwSGU7R6A=";
})
];
outputs = [
@@ -28,12 +28,12 @@
stdenv.mkDerivation rec {
pname = "gpu-screen-recorder";
version = "5.7.0";
version = "5.7.4";
src = fetchgit {
url = "https://repo.dec05eba.com/${pname}";
tag = version;
hash = "sha256-1F4j62wqF+C6eA5ECCjqCoY8+DINBPVKnsWQi6GF2Us=";
hash = "sha256-X1yvVmjKYUnwdsRC0kY+R1kEuUq6SB1bKhpHWnBvIho=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hyprutils";
version = "0.8.4";
version = "0.9.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprutils";
tag = "v${finalAttrs.version}";
hash = "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=";
hash = "sha256-FWB9Xe9iIMlUskfLzKlYH3scvnHpSC5rMyN1EDHUQmE=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -224,9 +224,9 @@ stdenv.mkDerivation {
echo '${builtins.toJSON buildLock}' > "$packageOut/build/build-lock.json"
makeWrapper '${lib.getExe nodejs}' "$out/bin/admin-cli" \
makeWrapper '${lib.getExe nodejs}' "$out/bin/immich-admin" \
--add-flags "$packageOut/dist/main" \
--add-flags cli
--add-flags immich-admin
makeWrapper '${lib.getExe nodejs}' "$out/bin/server" \
--add-flags "$packageOut/dist/main" \
--chdir "$packageOut" \
@@ -1,651 +0,0 @@
diff --git a/yarn.lock b/yarn.lock
index 691942c1..6d3bd8ce 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,11 +2,71 @@
# yarn lockfile v1
+"@parcel/watcher-android-arm64@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz#507f836d7e2042f798c7d07ad19c3546f9848ac1"
+ integrity sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==
+
+"@parcel/watcher-darwin-arm64@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz#3d26dce38de6590ef79c47ec2c55793c06ad4f67"
+ integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==
+
+"@parcel/watcher-darwin-x64@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz#99f3af3869069ccf774e4ddfccf7e64fd2311ef8"
+ integrity sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==
+
+"@parcel/watcher-freebsd-x64@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz#14d6857741a9f51dfe51d5b08b7c8afdbc73ad9b"
+ integrity sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==
+
+"@parcel/watcher-linux-arm-glibc@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz#43c3246d6892381db473bb4f663229ad20b609a1"
+ integrity sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==
+
+"@parcel/watcher-linux-arm-musl@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz#663750f7090bb6278d2210de643eb8a3f780d08e"
+ integrity sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==
+
+"@parcel/watcher-linux-arm64-glibc@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz#ba60e1f56977f7e47cd7e31ad65d15fdcbd07e30"
+ integrity sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==
+
+"@parcel/watcher-linux-arm64-musl@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz#f7fbcdff2f04c526f96eac01f97419a6a99855d2"
+ integrity sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==
+
"@parcel/watcher-linux-x64-glibc@2.5.1":
version "2.5.1"
resolved "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz"
integrity sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==
+"@parcel/watcher-linux-x64-musl@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz#277b346b05db54f55657301dd77bdf99d63606ee"
+ integrity sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==
+
+"@parcel/watcher-win32-arm64@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz#7e9e02a26784d47503de1d10e8eab6cceb524243"
+ integrity sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==
+
+"@parcel/watcher-win32-ia32@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz#2d0f94fa59a873cdc584bf7f6b1dc628ddf976e6"
+ integrity sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==
+
+"@parcel/watcher-win32-x64@2.5.1":
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz#ae52693259664ba6f2228fa61d7ee44b64ea0947"
+ integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==
+
"@parcel/watcher@^2.4.1":
version "2.5.1"
resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz"
@@ -105,7 +165,9 @@ async@^2.6.0:
lodash "^4.17.14"
async@^3.2.3, async@~3.2.0:
- version "3.2.5"
+ version "3.2.6"
+ resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce"
+ integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==
autoprefixer@9.8:
version "9.8.8"
@@ -155,33 +217,48 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
-braces@^3.0.2:
- version "3.0.2"
+braces@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
+ integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
dependencies:
- fill-range "^7.0.1"
+ fill-range "^7.1.1"
-browserslist@^4.12.0, "browserslist@>= 4.21.0":
- version "4.22.1"
+browserslist@^4.12.0:
+ version "4.25.1"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111"
+ integrity sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==
dependencies:
- caniuse-lite "^1.0.30001541"
- electron-to-chromium "^1.4.535"
- node-releases "^2.0.13"
- update-browserslist-db "^1.0.13"
+ caniuse-lite "^1.0.30001726"
+ electron-to-chromium "^1.5.173"
+ node-releases "^2.0.19"
+ update-browserslist-db "^1.1.3"
bytes@1:
version "1.0.0"
resolved "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz"
integrity sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==
-call-bind@^1.0.0:
- version "1.0.5"
+call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
+ integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
dependencies:
+ es-errors "^1.3.0"
function-bind "^1.1.2"
- get-intrinsic "^1.2.1"
- set-function-length "^1.1.1"
-caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001541:
- version "1.0.30001561"
+call-bound@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a"
+ integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ get-intrinsic "^1.3.0"
+
+caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001726:
+ version "1.0.30001731"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001731.tgz#277c07416ea4613ec564e5b0ffb47e7b60f32e2f"
+ integrity sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==
chalk@^1.1.1:
version "1.1.3"
@@ -241,16 +318,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
-color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
colors@~1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz"
@@ -278,13 +355,6 @@ debug@^3.1.0:
dependencies:
ms "^2.1.1"
-define-data-property@^1.1.1:
- version "1.1.1"
- dependencies:
- get-intrinsic "^1.2.1"
- gopd "^1.0.1"
- has-property-descriptors "^1.0.0"
-
delegate@^3.1.2:
version "3.2.0"
resolved "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz"
@@ -310,13 +380,24 @@ dropzone@5.9:
resolved "https://registry.npmjs.org/dropzone/-/dropzone-5.9.3.tgz"
integrity sha512-Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==
+dunder-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
+ integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
+ dependencies:
+ call-bind-apply-helpers "^1.0.1"
+ es-errors "^1.3.0"
+ gopd "^1.2.0"
+
duplexer@^0.1.1:
version "0.1.2"
resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz"
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
-electron-to-chromium@^1.4.535:
- version "1.4.576"
+electron-to-chromium@^1.5.173:
+ version "1.5.198"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.198.tgz#ac12b539ac1bb3dece1a4cd2d8882d0349c71c55"
+ integrity sha512-G5COfnp3w+ydVu80yprgWSfmfQaYRh9DOxfhAxstLyetKaLyl55QrNjx8C38Pc/C+RaDmb1M0Lk8wPEMQ+bGgQ==
error@^7.0.0:
version "7.2.1"
@@ -325,8 +406,27 @@ error@^7.0.0:
dependencies:
string-template "~0.2.1"
-escalade@^3.1.1:
- version "3.1.1"
+es-define-property@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
+ integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
+
+es-errors@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
+ integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
+
+es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
+ integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
+ dependencies:
+ es-errors "^1.3.0"
+
+escalade@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
+ integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
@@ -379,8 +479,10 @@ file-sync-cmp@^0.1.0:
resolved "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz"
integrity sha512-0k45oWBokCqh2MOexeYKpyqmGKG+8mQ2Wd8iawx+uWd/weWJQAZ6SoPybagdCI4xFisag8iAR77WPm4h3pTfxA==
-fill-range@^7.0.1:
- version "7.0.1"
+fill-range@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
+ integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
dependencies:
to-regex-range "^5.0.1"
@@ -461,13 +563,29 @@ gaze@^1.1.0:
dependencies:
globule "^1.0.0"
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2:
- version "1.2.2"
+get-intrinsic@^1.2.5, get-intrinsic@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
+ integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ es-define-property "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.1.1"
function-bind "^1.1.2"
- has-proto "^1.0.1"
- has-symbols "^1.0.3"
- hasown "^2.0.0"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ has-symbols "^1.1.0"
+ hasown "^2.0.2"
+ math-intrinsics "^1.1.0"
+
+get-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
+ integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-object-atoms "^1.0.0"
getobject@~1.0.0:
version "1.0.2"
@@ -486,19 +604,7 @@ glob@^7.1.3:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@~7.1.1:
- version "7.1.7"
- resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz"
- integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@~7.1.6:
+glob@~7.1.1, glob@~7.1.6:
version "7.1.7"
resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz"
integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
@@ -546,10 +652,10 @@ good-listener@^1.2.2:
dependencies:
delegate "^3.1.2"
-gopd@^1.0.1:
- version "1.0.1"
- dependencies:
- get-intrinsic "^1.1.3"
+gopd@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
+ integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
grunt-cli@~1.4.3:
version "1.4.3"
@@ -656,7 +762,7 @@ grunt-sass@3.1:
resolved "https://registry.npmjs.org/grunt-sass/-/grunt-sass-3.1.0.tgz"
integrity sha512-90s27H7FoCDcA8C8+R0GwC+ntYD3lG6S/jqcavWm3bn9RiJTmSfOvfbFa1PXx4NbBWuiGQMLfQTj/JvvqT5w6A==
-grunt@>=0.4.5, grunt@>=1, grunt@>=1.4.1, grunt@1.6:
+grunt@1.6:
version "1.6.1"
resolved "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz"
integrity sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==
@@ -700,21 +806,15 @@ has-flag@^4.0.0:
resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-has-property-descriptors@^1.0.0:
- version "1.0.1"
- dependencies:
- get-intrinsic "^1.2.2"
-
-has-proto@^1.0.1:
- version "1.0.1"
-
-has-symbols@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
- integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+has-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
+ integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
-hasown@^2.0.0:
- version "2.0.0"
+hasown@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
dependencies:
function-bind "^1.1.2"
@@ -784,9 +884,11 @@ is-absolute@^1.0.0:
is-windows "^1.0.1"
is-core-module@^2.13.0:
- version "2.13.1"
+ version "2.16.1"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
+ integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
dependencies:
- hasown "^2.0.0"
+ hasown "^2.0.2"
is-extglob@^2.1.1:
version "2.1.1"
@@ -848,7 +950,7 @@ jquery-ui@1.14:
dependencies:
jquery ">=1.12.0 <5.0.0"
-"jquery@>=1.12.0 <5.0.0", "jquery@>=3.4.0 <4.0.0", jquery@3.7:
+jquery@3.7, "jquery@>=1.12.0 <5.0.0", "jquery@>=3.4.0 <4.0.0":
version "3.7.1"
resolved "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz"
integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==
@@ -925,6 +1027,11 @@ map-cache@^0.2.0:
resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz"
integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==
+math-intrinsics@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
+ integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
+
maxmin@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/maxmin/-/maxmin-3.0.0.tgz"
@@ -936,9 +1043,11 @@ maxmin@^3.0.0:
pretty-bytes "^5.3.0"
micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
- version "4.0.5"
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
+ integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
dependencies:
- braces "^3.0.2"
+ braces "^3.0.3"
picomatch "^2.3.1"
minimatch@^3.0.4, minimatch@^3.1.1:
@@ -948,14 +1057,7 @@ minimatch@^3.0.4, minimatch@^3.1.1:
dependencies:
brace-expansion "^1.1.7"
-minimatch@~3.0.2:
- version "3.0.8"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz"
- integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimatch@~3.0.4:
+minimatch@~3.0.2, minimatch@~3.0.4:
version "3.0.8"
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz"
integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==
@@ -979,15 +1081,19 @@ multimatch@^4.0.0:
minimatch "^3.0.4"
nanoid@^3.3.7:
- version "3.3.7"
+ version "3.3.11"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
node-addon-api@^7.0.0:
version "7.1.1"
resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz"
integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==
-node-releases@^2.0.13:
- version "2.0.13"
+node-releases@^2.0.19:
+ version "2.0.19"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
+ integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
nopt@~3.0.6:
version "3.0.6"
@@ -1019,8 +1125,10 @@ object-assign@^4.1.0:
resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
-object-inspect@^1.9.0:
- version "1.13.1"
+object-inspect@^1.13.3:
+ version "1.13.4"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213"
+ integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
object.defaults@^1.1.0:
version "1.1.0"
@@ -1137,12 +1245,9 @@ picocolors@^0.2.1:
resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz"
integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==
-picocolors@^1.0.0:
- version "1.0.0"
-
-picocolors@^1.1.0:
+picocolors@^1.1.1:
version "1.1.1"
- resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
picomatch@^2.3.1:
@@ -1167,6 +1272,15 @@ postcss-value-parser@^4.1.0:
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+postcss@8.4:
+ version "8.4.49"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19"
+ integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==
+ dependencies:
+ nanoid "^3.3.7"
+ picocolors "^1.1.1"
+ source-map-js "^1.2.1"
+
postcss@^6.0.11:
version "6.0.23"
resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz"
@@ -1184,22 +1298,17 @@ postcss@^7.0.32:
picocolors "^0.2.1"
source-map "^0.6.1"
-postcss@8.4:
- version "8.4.47"
- dependencies:
- nanoid "^3.3.7"
- picocolors "^1.1.0"
- source-map-js "^1.2.1"
-
pretty-bytes@^5.3.0:
version "5.6.0"
resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz"
integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
qs@^6.4.0:
- version "6.11.2"
+ version "6.14.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930"
+ integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==
dependencies:
- side-channel "^1.0.4"
+ side-channel "^1.1.0"
raw-body@~1.1.0:
version "1.1.7"
@@ -1283,32 +1392,57 @@ sass@^1.89.2:
optionalDependencies:
"@parcel/watcher" "^2.4.1"
+select2@4.1.0-rc.0:
+ version "4.1.0-rc.0"
+ resolved "https://registry.npmjs.org/select2/-/select2-4.1.0-rc.0.tgz"
+ integrity sha512-Hr9TdhyHCZUtwznEH2CBf7967mEM0idtJ5nMtjvk3Up5tPukOLXbHUNmh10oRfeNIhj+3GD3niu+g6sVK+gK0A==
+
select@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/select/-/select-1.1.2.tgz"
integrity sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==
-select2@4.1.0-rc.0:
- version "4.1.0-rc.0"
- resolved "https://registry.npmjs.org/select2/-/select2-4.1.0-rc.0.tgz"
- integrity sha512-Hr9TdhyHCZUtwznEH2CBf7967mEM0idtJ5nMtjvk3Up5tPukOLXbHUNmh10oRfeNIhj+3GD3niu+g6sVK+gK0A==
+side-channel-list@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad"
+ integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
-set-function-length@^1.1.1:
- version "1.1.1"
+side-channel-map@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42"
+ integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==
dependencies:
- define-data-property "^1.1.1"
- get-intrinsic "^1.2.1"
- gopd "^1.0.1"
- has-property-descriptors "^1.0.0"
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
-side-channel@^1.0.4:
- version "1.0.4"
+side-channel-weakmap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea"
+ integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+ side-channel-map "^1.0.1"
+
+side-channel@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9"
+ integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
dependencies:
- call-bind "^1.0.0"
- get-intrinsic "^1.0.2"
- object-inspect "^1.9.0"
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+ side-channel-list "^1.0.0"
+ side-channel-map "^1.0.1"
+ side-channel-weakmap "^1.0.2"
-source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0":
+"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1:
version "1.2.1"
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
@@ -1333,16 +1467,16 @@ sprintf-js@~1.0.2:
resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
-string_decoder@0.10:
- version "0.10.31"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
-
string-template@~0.2.1:
version "0.2.1"
resolved "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz"
integrity sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==
+string_decoder@0.10:
+ version "0.10.31"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
+
strip-ansi@^3.0.0:
version "3.0.1"
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
@@ -1399,7 +1533,9 @@ to-regex-range@^5.0.1:
is-number "^7.0.0"
uglify-js@^3.16.1:
- version "3.17.4"
+ version "3.19.3"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f"
+ integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==
unc-path-regex@^0.1.2:
version "0.1.2"
@@ -1414,11 +1550,13 @@ underscore.string@~3.3.5:
sprintf-js "^1.1.1"
util-deprecate "^1.0.2"
-update-browserslist-db@^1.0.13:
- version "1.0.13"
+update-browserslist-db@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
+ integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
+ escalade "^3.2.0"
+ picocolors "^1.1.1"
uri-path@^1.0.0:
version "1.0.0"
@@ -1,34 +0,0 @@
From e404c835ae6681287f0d0ba005e43732becf8e9e Mon Sep 17 00:00:00 2001
From: Jonas Heinrich <onny@project-insanity.org>
Date: Sun, 17 Aug 2025 09:54:41 +0200
Subject: [PATCH] composer.json omit version string
---
composer.json | 1 -
composer.lock | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/composer.json b/composer.json
index 4ae0b32b7..241d59be9 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,5 @@
{
"name": "invoiceplane/invoiceplane",
- "version": "1.6.3-rc1",
"description": "InvoicePlane is a self-hosted open source application for managing your invoices, clients and payments",
"homepage": "https://invoiceplane.com",
"license": "MIT",
diff --git a/composer.lock b/composer.lock
index 46fae450e..cf4aa24c1 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "6920f42f5773c5e01f9f107ebcedb891",
+ "content-hash": "16ec29d674456761958ca1c78513c3c5",
"packages": [
{
"name": "bacon/bacon-qr-code",
-85
View File
@@ -1,85 +0,0 @@
{
lib,
fetchFromGitHub,
nixosTests,
fetchYarnDeps,
applyPatches,
php,
yarnConfigHook,
yarnBuildHook,
yarnInstallHook,
nodePackages,
fetchzip,
}:
let
version = "1.6.3";
# Fetch release tarball which contains language files
# https://github.com/InvoicePlane/InvoicePlane/issues/1170
languages = fetchzip {
url = "https://github.com/InvoicePlane/InvoicePlane/releases/download/v${version}/v${version}.zip";
hash = "sha256-MuqxbkayW3GeiaorxfZSJtlwCWvnIF2ED/UUqahyoIQ=";
};
in
php.buildComposerProject2 (finalAttrs: {
pname = "invoiceplane";
inherit version;
src = applyPatches {
src = fetchFromGitHub {
owner = "InvoicePlane";
repo = "InvoicePlane";
tag = "v${version}";
hash = "sha256-XNjdFWP5AEulbPZcMDXYSdDhaLWlgu3nnCSFnjUjGpk=";
};
patches = [
# Fix composer.json validation
# See https://github.com/InvoicePlane/InvoicePlane/pull/1306
./fix_composer_validation.patch
];
};
patches = [
# yarn.lock missing some resolved attributes and fails
./fix-yarn-lock.patch
];
vendorHash = "sha256-UCYAnECuIbIYg1T4I8I9maXVKXJc1zkyauBuIy5frTY=";
nativeBuildInputs = [
yarnConfigHook
yarnBuildHook
yarnInstallHook
# Needed for executing package.json scripts
nodePackages.grunt-cli
];
offlineCache = fetchYarnDeps {
inherit (finalAttrs) src patches;
hash = "sha256-0fPdxOIeQBTulPUxHtaQylm4jevQTONSN1bChqbGbGs=";
};
postBuild = ''
grunt build
'';
# Cleanup and language files
postInstall = ''
chmod -R u+w $out/share
mv $out/share/php/invoiceplane/* $out/
cp -r ${languages}/application/language $out/application/
rm -r $out/{composer.json,composer.lock,CONTRIBUTING.md,docker-compose.yml,Gruntfile.js,package.json,node_modules,yarn.lock,share}
'';
passthru.tests = {
inherit (nixosTests) invoiceplane;
};
meta = {
description = "Self-hosted open source application for managing your invoices, clients and payments";
changelog = "https://github.com/InvoicePlane/InvoicePlane/releases/tag/v${version}";
homepage = "https://www.invoiceplane.com";
license = lib.licenses.mit;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ onny ];
};
})
@@ -104,7 +104,11 @@ stdenv.mkDerivation rec {
# Fails to build on x86_64-linux as of 2025-03-16 and potentially earlier
broken = true;
description = "Jagged Alliance 2, with community fixes";
license = "SFI Source Code license agreement";
license = {
fullName = "Strategy First Inc. Source Code License Agreement";
url = "https://github.com/ja2-stracciatella/ja2-stracciatella/blob/master/SFI%20Source%20Code%20license%20agreement.txt";
free = false;
};
homepage = "https://ja2-stracciatella.github.io/";
maintainers = [ ];
};
+1 -1
View File
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
meta = {
description = "James Clark's DSSSL Engine";
license = "custom";
license = lib.licenses.x11;
homepage = "http://www.jclark.com/jade/";
platforms = with lib.platforms; linux;
maintainers = [ ];
+25 -36
View File
@@ -2,25 +2,22 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
cmake,
pkg-config,
mpi,
cgal_5,
boost,
gmp,
mpfr,
cgal,
sparsehash,
imagemagick,
gtest,
ctestCheckHook,
mpiCheckPhaseHook,
withExamples ? false,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "kagen";
version = "1.1.0";
version = "1.2.0";
src = fetchFromGitHub {
owner = "KarlsruheGraphGeneration";
@@ -28,44 +25,27 @@ stdenv.mkDerivation (finalAttrs: {
tag = "v${finalAttrs.version}";
# use vendor libmorton and xxHash
fetchSubmodules = true;
hash = "sha256-FSlTNOQgwPGOn4mIVIgFejvU0dpyydomHYJOKPz1UjU=";
hash = "sha256-2jXHHS9Siu6hXrYPIrZSOWe6D2PgsvrbMw/7Ykpc3wk=";
};
patches = [
# replace asm by builtin function to ensure compatibility with arm64
(fetchpatch2 {
url = "https://github.com/KarlsruheGraphGeneration/KaGen/commit/cab9d5dc6cc256972e52675ad9c385524d40ecd9.patch?full_index=1";
hash = "sha256-DCsuwUiE98UKZMxlUI9p36/wq486uHHrUphrIVqM+Cc=";
})
];
postPatch = ''
substituteInPlace tests/CMakeLists.txt \
--replace-fail "FetchContent_MakeAvailable(googletest)" "find_package(GTest REQUIRED)"\
--replace-fail "set_property(DIRECTORY" "#set_property(DIRECTORY"
substituteInPlace kagen/CMakeLists.txt \
--replace-fail "OBJECT" ""
'';
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
mpi
cgal_5
sparsehash
imagemagick
# should be propagated by cgal
boost
gmp
mpfr
];
propagatedBuildInputs = [
mpi
cgal
sparsehash
];
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
(lib.cmakeBool "KAGEN_USE_BUNDLED_GTEST" false)
(lib.cmakeBool "KAGEN_BUILD_EXAMPLES" withExamples)
(lib.cmakeBool "KAGEN_BUILD_TESTS" finalAttrs.finalPackage.doCheck)
];
@@ -80,15 +60,24 @@ stdenv.mkDerivation (finalAttrs: {
mpiCheckPhaseHook
];
disabledTests = lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
# flaky tests on aarch64-darwin
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
# flaky tests on darwin
"test_rgg2d.2cores"
"test_rgg2d.4cores"
"test_edge_weights.2cores"
"test_edge_weights.4cores"
"test_permutation.2cores"
"test_permutation.4cores"
];
postInstall = ''
cmake --install . --component tools
'';
passthru = {
tests = {
cmake-config = testers.hasCmakeConfigModules {
moduleNames = [ "KaGen" ];
package = finalAttrs.finalPackage;
};
};
};
meta = {
description = "Communication-free Massively Distributed Graph Generators";
+3 -3
View File
@@ -7,13 +7,13 @@
php.buildComposerProject2 (finalAttrs: {
pname = "kimai";
version = "2.38.0";
version = "2.40.0";
src = fetchFromGitHub {
owner = "kimai";
repo = "kimai";
tag = finalAttrs.version;
hash = "sha256-4wi87RvNrfd6vmRG/w6BY84j9NxXqNpAD/rfFN93QyY=";
hash = "sha256-/962VDi/50PMfSjMtJtlR9uIbJSzkF7kSQiRzb6o+SI=";
};
php = php.buildEnv {
@@ -38,7 +38,7 @@ php.buildComposerProject2 (finalAttrs: {
'';
};
vendorHash = "sha256-U9yBSHL3682dWf2VZDw6/CiSmHLMS0EO/o/JgWbfwVM=";
vendorHash = "sha256-I4v4WkPGLc8vBPjCiYzPxcLn4rH3HWtQXSqwGVKXeGg=";
composerNoPlugins = false;
composerNoScripts = false;
+1 -1
View File
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Library for managing 3D-Studio Release 3 and 4 \".3DS\" files";
homepage = "https://lib3ds.sourceforge.net/";
license = "LGPL";
license = lib.licenses.lgpl2Only;
platforms = lib.platforms.unix;
};
}
+3 -3
View File
@@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "libdeltachat";
version = "2.14.0";
version = "2.16.0";
src = fetchFromGitHub {
owner = "chatmail";
repo = "core";
tag = "v${version}";
hash = "sha256-oSTQcR7HE1YaVlNuSknG6JhoiiOjgNwAIaCecmLE7PY=";
hash = "sha256-QmDWTQjVc+ZhxQTj89tKcN5he6avriXZmFPN7EuvoUE=";
};
patches = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
cargoDeps = rustPlatform.fetchCargoVendor {
pname = "chatmail-core";
inherit version src;
hash = "sha256-9Dmll7os2cq3mxp30L9Nrx53QK1ZF7loozDg/XTs0UE=";
hash = "sha256-nPSWxbGuJ89j6ZfTp1jCF5iqxEgYMEohLxtayKzxGA4=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
which are based on hash algorithms.
'';
homepage = "https://mhash.sourceforge.net";
license = "LGPL";
license = lib.licenses.lgpl2Only;
platforms = lib.platforms.unix;
};
}
+1 -1
View File
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Opensource implementation of the Open Financial eXchange specification";
homepage = "https://libofx.sourceforge.net/";
license = "LGPL";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.unix;
maintainers = [ ];
};
@@ -1,35 +1,30 @@
{
lib,
stdenv,
boost,
fetchFromGitHub,
cmake,
zlib,
boost,
openssl,
python3,
ncurses,
}:
let
version = "2.0.11";
# Make sure we override python, so the correct version is chosen
boostPython = boost.override {
enablePython = true;
python = python3;
};
in
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "libtorrent-rasterbar";
inherit version;
version = "2.0.11";
src = fetchFromGitHub {
owner = "arvidn";
repo = "libtorrent";
tag = "v${version}";
hash = "sha256-iph42iFEwP+lCWNPiOJJOejISFF6iwkGLY9Qg8J4tyo=";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-iph42iFEwP+lCWNPiOJJOejISFF6iwkGLY9Qg8J4tyo=";
};
nativeBuildInputs = [
@@ -52,9 +47,15 @@ stdenv.mkDerivation {
# https://github.com/arvidn/libtorrent/issues/6865
postPatch = ''
substituteInPlace cmake/Modules/GeneratePkgConfig/target-compile-settings.cmake.in \
--replace-fail 'set(_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@")' \
'set(_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@")
set(_INSTALL_FULL_LIBDIR "@CMAKE_INSTALL_FULL_LIBDIR@")'
--replace-fail \
'set(_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@")' \
'set(_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@")
set(_INSTALL_FULL_LIBDIR "@CMAKE_INSTALL_FULL_LIBDIR@")'
''
# a: libdir=''${prefix}//nix/store/...
# b: libdir=/nix/store/...
# https://github.com/NixOS/nixpkgs/issues/144170
+ ''
substituteInPlace cmake/Modules/GeneratePkgConfig/pkg-config.cmake.in \
--replace-fail '$'{prefix}/@_INSTALL_LIBDIR@ @_INSTALL_FULL_LIBDIR@
'';
@@ -67,6 +68,12 @@ stdenv.mkDerivation {
postFixup = ''
substituteInPlace "$dev/lib/cmake/LibtorrentRasterbar/LibtorrentRasterbarTargets-release.cmake" \
--replace-fail "\''${_IMPORT_PREFIX}/lib" "$out/lib"
''
# a: Cflags: ... -I/nix/store/x//nix/store/x-dev/include ...
# b: Cflags: ... -I/nix/store/x-dev/include ...
+ ''
substituteInPlace $dev/lib/pkgconfig/libtorrent-rasterbar.pc \
--replace-fail "$out/$dev" "$dev"
'';
outputs = [
@@ -76,14 +83,15 @@ stdenv.mkDerivation {
];
cmakeFlags = [
"-Dpython-bindings=on"
(lib.cmakeBool "python-bindings" true)
];
meta = with lib; {
meta = {
homepage = "https://libtorrent.org/";
description = "C++ BitTorrent implementation focusing on efficiency and scalability";
license = licenses.bsd3;
description = "Efficient feature complete C++ bittorrent implementation";
changelog = "https://github.com/arvidn/libtorrent/blob/${finalAttrs.src.tag}/ChangeLog";
license = lib.licenses.bsd3;
maintainers = [ ];
platforms = platforms.unix;
platforms = lib.platforms.unix;
};
}
})
+3 -5
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
gitUpdater,
substitute,
cmake,
coreutils,
@@ -35,6 +34,8 @@
buildServer ? true,
SDL2,
useSDL2 ? true,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -141,10 +142,7 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = true;
passthru.updateScript = gitUpdater {
allowedVersions = "\\.";
ignoredVersions = "-android$";
};
passthru.updateScript = nix-update-script { };
meta = with lib; {
homepage = "https://www.luanti.org/";
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "luau-lsp";
version = "1.53.5";
version = "1.54.0";
src = fetchFromGitHub {
owner = "JohnnyMorganz";
repo = "luau-lsp";
tag = finalAttrs.version;
hash = "sha256-T0zwaBR2KYD5kcoo7mPomNVIixz/8J6ZMJSjfeVnPEs=";
hash = "sha256-18r/NScWfSwAvFT46zdJsNYXoEW8FF34XyZajAaGb28=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "mcp-nixos";
version = "1.0.1";
version = "1.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "utensils";
repo = "mcp-nixos";
tag = "v${version}";
hash = "sha256-NFy38FrU4N+bk4qGyRnrpf2AaBrlQyC9SyRbCLm/d9Y=";
hash = "sha256-SbmfP5Qo7liu39tTpIm6IC2qfwChooTYaPZiJqgwTzY=";
};
patches = [
+1 -1
View File
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
ISO 8859.1 to print 8-bit characters.
'';
license = "liberal"; # a non-copyleft license, see `Copyright' file
license = lib.licenses.gpl2Plus;
homepage = "http://www.mesa.nl/pub/mpage/";
platforms = lib.platforms.all;
};
-37
View File
@@ -1,37 +0,0 @@
{
lib,
fetchFromGitHub,
php81,
nix-update-script,
}:
php81.buildComposerProject2 (finalAttrs: {
pname = "n98-magerun";
version = "2.3.0";
src = fetchFromGitHub {
owner = "netz98";
repo = "n98-magerun";
tag = finalAttrs.version;
hash = "sha256-/RffdYgl2cs8mlq4vHtzUZ6j0viV8Ot/cB/cB1dstFM=";
};
vendorHash = "sha256-huYLbqJaxeSST2WGcSdk4gR3d3KWSkIK/6tzVpCw0oQ=";
passthru.updateScript = nix-update-script {
# Excludes 1.x versions from the Github tags list
extraArgs = [
"--version-regex"
"^(2\\.(.*))"
];
};
meta = {
changelog = "https://magerun.net/category/magerun/";
description = "Swiss army knife for Magento1/OpenMage developers";
homepage = "https://magerun.net/";
license = lib.licenses.mit;
mainProgram = "n98-magerun";
teams = [ lib.teams.php ];
};
})
+4 -1
View File
@@ -61,7 +61,10 @@ stdenv.mkDerivation {
# Used to be GPLv2. The license distributed with the fonts looks
# more like a modified BSD, but still contains the GPLv2 embedded
# font exception, and some not-for-resale language.
license = "unknown";
license = {
fullName = "Nafees License Agreement";
url = "https://www.cle.org.pk/software/license/Nafees_Pakistani_Naskh_License.html";
};
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ bergey ];
};
+1 -1
View File
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
lib.licenses.zlib # zlib.ndll
lib.licenses.asl20 # mod_neko, mod_tora, mbedTLS
lib.licenses.mit # overall, other libs
"https://github.com/HaxeFoundation/neko/blob/v2-3-0/LICENSE#L24-L40" # boehm gc
lib.licenses.boehmGC # boehm gc
];
maintainers = with lib.maintainers; [
marcweber
+6 -1
View File
@@ -67,7 +67,12 @@ stdenv.mkDerivation rec {
meta = {
homepage = "https://neverball.org/";
description = "Tilt the floor to roll a ball";
license = "GPL";
license = with lib.licenses; [
gpl2Plus
ijg
mit
gpl3Only
];
maintainers = [ ];
platforms = with lib.platforms; linux;
};
+23 -49
View File
@@ -2,71 +2,45 @@
lib,
fetchFromGitHub,
rustPlatform,
stdenv,
makeWrapper,
python3,
nix,
unstableGitUpdater,
}:
let
version = "0-unstable-2025-02-09";
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nixpkgs-hammering";
version = "0-unstable-2025-09-10";
src = fetchFromGitHub {
owner = "jtojnar";
repo = "nixpkgs-hammering";
rev = "df77e6533c21737e5976c6fe4a4d81d7dcfc3e0e";
hash = "sha256-Nr/4WcBMA/fc9WfNECB/nM85JfT2xwQYwS7Jq6rGKoM=";
rev = "8cb86601cfa5521b454974d7219924f2d1c304c9";
hash = "sha256-9rSdimO591tpfe3MpcHkqsc0lPk6roNwgj6ajVSOG7E=";
};
meta = with lib; {
description = "Set of nit-picky rules that aim to point out and explain common mistakes in nixpkgs package pull requests";
homepage = "https://github.com/jtojnar/nixpkgs-hammering";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
};
rust-checks = rustPlatform.buildRustPackage {
pname = "nixpkgs-hammering-rust-checks";
inherit version src meta;
sourceRoot = "${src.name}/rust-checks";
cargoHash = "sha256-cE1fzdxGa0WG2WCPs8UFnE2vzaKfU7r6LS+9HLCVJ1U=";
};
in
stdenv.mkDerivation {
pname = "nixpkgs-hammering";
inherit version src;
cargoHash = "sha256-MRwmeR5rj0PWUF5VMW5+9BbcX7Pq82YhufUv2Gt107U=";
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
datadir="$out/share/nixpkgs-hammering"
mkdir -p "$datadir"
buildInputs = [ python3 ];
installPhase = ''
runHook preInstall
AST_CHECK_NAMES=$(find ${rust-checks}/bin -maxdepth 1 -type f -printf "%f:")
install -Dt $out/bin tools/nixpkgs-hammer
wrapProgram $out/bin/nixpkgs-hammer \
--prefix PATH : ${
lib.makeBinPath [
nix
rust-checks
]
} \
--set AST_CHECK_NAMES ''${AST_CHECK_NAMES%:}
cp -r lib overlays $out
runHook postInstall
wrapProgram "$out/bin/nixpkgs-hammer" \
--prefix PATH ":" ${lib.makeBinPath [ nix ]} \
--set OVERLAYS_DIR "$datadir/overlays"
cp -r ./overlays "$datadir/overlays"
cp -r ./lib "$datadir/lib"
'';
# running checks requires to run nix inside of the builder which fails due to permission errors
doCheck = false;
passthru.updateScript = unstableGitUpdater { };
meta = meta // {
meta = {
description = "Set of nit-picky rules that aim to point out and explain common mistakes in nixpkgs package pull requests";
homepage = "https://github.com/jtojnar/nixpkgs-hammering";
license = lib.licenses.mit;
mainProgram = "nixpkgs-hammer";
maintainers = with lib.maintainers; [ figsoda ];
};
}
})
+5 -1
View File
@@ -29,7 +29,11 @@ stdenv.mkDerivation {
meta = {
homepage = "http://www.ocaml.info/home/ocaml_sources.html";
description = "Generic OCaml Makefile for GNU Make";
license = "LGPL";
license = with lib.licenses; [
lgpl21Only
ocamlLgplLinkingException
gpl3Only
];
platforms = lib.platforms.unix;
};
}
+4 -1
View File
@@ -154,6 +154,9 @@ stdenv.mkDerivation rec {
raskin
];
platforms = with platforms; linux ++ darwin;
license = "OpenSceneGraph Public License - free LGPL-based license";
license = with lib.licenses; [
lgpl21Only
wxWindowsException31
];
};
}
+4 -1
View File
@@ -42,7 +42,10 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "Qt bindings for OpenSceneGraph";
homepage = "https://github.com/openscenegraph/osgQt";
license = "OpenSceneGraph Public License - free LGPL-based license";
license = with lib.licenses; [
lgpl21Only
wxWindowsException31
];
maintainers = [ lib.maintainers.nim65s ];
platforms = lib.platforms.unix;
};
+1 -1
View File
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation {
homepage = "http://www.paratype.ru/public/";
description = "Open Paratype font";
license = "Open Paratype license";
license = lib.licenses.paratype;
# no commercial distribution of the font on its own
# must rename on modification
# http://www.paratype.ru/public/pt_openlicense.asp
+1 -1
View File
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation {
homepage = "http://www.paratype.ru/public/";
description = "Open Paratype font";
license = "Open Paratype license";
license = lib.licenses.paratype;
# no commercial distribution of the font on its own
# must rename on modification
# http://www.paratype.ru/public/pt_openlicense.asp
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation {
homepage = "http://www.paratype.ru/public/";
description = "Open Paratype font";
license = "Open Paratype license";
license = lib.licenses.paratype;
# no commercial distribution of the font on its own
# must rename on modification
# http://www.paratype.ru/public/pt_openlicense.asp
+2 -2
View File
@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication rec {
pname = "phase-cli";
version = "1.19.6";
version = "1.20.0";
pyproject = true;
src = fetchFromGitHub {
owner = "phasehq";
repo = "cli";
tag = "v${version}";
hash = "sha256-SOFMTetw5kEduV7ufY1v2vnv3exDEmnCFBr9q83YVTo=";
hash = "sha256-vhjDXQutRdkeeId2shPWFtoZGH6FXvQcWhH8MLe9JqI=";
};
build-system = with python3Packages; [
-40
View File
@@ -1,40 +0,0 @@
{
fetchFromGitHub,
stdenv,
lib,
nixosTests,
}:
stdenv.mkDerivation rec {
pname = "postfixadmin";
version = "3.3.16";
src = fetchFromGitHub {
owner = "postfixadmin";
repo = "postfixadmin";
tag = "postfixadmin-${version}";
hash = "sha256-sSn5XHxnpP2Axv9BD9IvzSmu8MthcylEPk1kU51p/3k=";
};
installPhase = ''
runHook preInstall
mkdir $out
cp -r * $out/
ln -sf /etc/postfixadmin/config.local.php $out/
ln -sf /var/cache/postfixadmin/templates_c $out/
runHook postInstall
'';
passthru.tests = { inherit (nixosTests) postfixadmin; };
meta = {
changelog = "https://github.com/postfixadmin/postfixadmin/releases/tag/${src.tag}";
description = "Web based virtual user administration interface for Postfix mail servers";
homepage = "https://postfixadmin.sourceforge.io/";
maintainers = with lib.maintainers; [ globin ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.all;
};
}
+3 -3
View File
@@ -9,16 +9,16 @@
buildNpmPackage rec {
pname = "redocly";
version = "2.1.0";
version = "2.2.0";
src = fetchFromGitHub {
owner = "Redocly";
repo = "redocly-cli";
rev = "@redocly/cli@${version}";
hash = "sha256-94SqBRA2XqVCH6BN6pmaSKEfQC2SPPGfDe6fxQS+8as=";
hash = "sha256-e25pjXopmWqoLV16DC+w57YZzH6bbwITsRhKI9IBr+0=";
};
npmDepsHash = "sha256-u+zWxenJDsOjYEbTbAfrRvBTdWLzZKX1TITEXk8yHSo=";
npmDepsHash = "sha256-/Gi0hNuG6fkgOCcjD1jDNyUT1ke3oipqmzAHDpdbiJg=";
npmBuildScript = "prepare";
+2 -2
View File
@@ -6,10 +6,10 @@
}:
let
pname = "remnote";
version = "1.20.18";
version = "1.21.5";
src = fetchurl {
url = "https://download2.remnote.io/remnote-desktop2/RemNote-${version}.AppImage";
hash = "sha256-GxME5+Un6bYoMg9tkcdF3r5kTCdifdWmWtQrihGBloY=";
hash = "sha256-Tq8qyjlyB/1tQkB5rLVSLy8HbpnfBZ4QmNQB/CVEiN0=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
+1 -1
View File
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Parse formatted man pages and man page source from most flavors of UNIX and converts them to HTML, ASCII, TkMan, DocBook, and other formats";
license = "artistic";
license = lib.licenses.artistic1;
platforms = lib.platforms.all;
mainProgram = "rman";
};
+2 -2
View File
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "rofi-calc";
version = "2.4.0";
version = "2.4.1";
src = fetchFromGitHub {
owner = "svenstaro";
repo = "rofi-calc";
rev = "v${version}";
sha256 = "sha256-iTLi76GinRASawPSWAqmxSwLZPGvHesarHNoqO4m4dM=";
sha256 = "sha256-E0C5hlrZGRGHT/yb4J2qFquf3AuB0T1zqbFPZdT1UxE=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
description = "Most Advanced REST & SOAP Testing Tool in the World";
homepage = "https://www.soapui.org/";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = "SoapUI End User License Agreement";
license = lib.licenses.eupl11;
maintainers = with maintainers; [ gerschtli ];
platforms = platforms.linux; # we don't fetch the dmg yet
mainProgram = "soapui";
+1 -1
View File
@@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/vasi/squashfuse";
maintainers = [ ];
platforms = lib.platforms.unix;
license = "BSD-2-Clause";
license = lib.licenses.bsd2;
};
}
+4 -1
View File
@@ -34,7 +34,10 @@ stdenv.mkDerivation {
meta = with lib; {
description = "SSLv3/TLS network protocol analyzer";
homepage = "https://ssldump.sourceforge.net";
license = "BSD-style";
license = with lib.licenses; [
bsdOriginal
bsdOriginalShortened
];
maintainers = with maintainers; [ aycanirican ];
platforms = platforms.unix;
mainProgram = "ssldump";
@@ -1,5 +1,5 @@
--- a/v2/pkg/runner/options.go
+++ b/v2/pkg/runner/options.go
--- a/pkg/runner/options.go
+++ b/pkg/runner/options.go
@@ -107,7 +107,7 @@ func ParseOptions() *Options {
flagSet.CreateGroup("update", "Update",
+3 -5
View File
@@ -6,18 +6,16 @@
buildGoModule rec {
pname = "subfinder";
version = "2.8.0";
version = "2.9.0";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "subfinder";
tag = "v${version}";
hash = "sha256-HfQz0tLBKt16IrtxOT3lX28FcVG05X1hICw5Xq/dQJw=";
hash = "sha256-llyzTGy7nj5RFwt0KDPP9Ua1FkcrErW8GdvbSWg3mpk=";
};
vendorHash = "sha256-3bHIrjA5Bbl6prF+ttEs+N2Sa4AMZDtRk3ysoIitsdY=";
modRoot = "./v2";
vendorHash = "sha256-z+CKoRxxskyKYmBfIEQjtf8nXuGfWH+4IG98+1eCCmk=";
patches = [
# Disable automatic version check
+2 -2
View File
@@ -65,13 +65,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "syslog-ng";
version = "4.10.0";
version = "4.10.1";
src = fetchFromGitHub {
owner = "syslog-ng";
repo = "syslog-ng";
tag = "syslog-ng-${finalAttrs.version}";
hash = "sha256-XqYfDRJc+AwkdQGSbkslFadYqNK0UDiZOruUUMYO1po=";
hash = "sha256-Iha0HExkB0oM8IxzgMjnqwY4AlrK8ifL6DU3MxgGdXQ=";
fetchSubmodules = true;
};
nativeBuildInputs = [
+4 -1
View File
@@ -163,7 +163,10 @@ python3Packages.buildPythonApplication rec {
homepage = "https://tahoe-lafs.org/";
license = [
lib.licenses.gpl2Plus # or
"TGPPLv1+"
{
fullName = "Transitive Grace Period Public Licence version 1.0";
url = "https://github.com/tahoe-lafs/tahoe-lafs/blob/master/COPYING.TGPPL.rst";
}
];
maintainers = with lib.maintainers; [ MostAwesomeDude ];
platforms = lib.platforms.linux;
+1 -1
View File
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
'';
homepage = "ftp://ftp.porcupine.org/pub/security/index.html";
license = "BSD-style";
license = lib.licenses.tcpWrappers;
platforms = lib.platforms.linux;
};
}
+2 -1
View File
@@ -1,4 +1,5 @@
{
lib,
stdenv,
fetchurl,
which,
@@ -41,6 +42,6 @@ stdenv.mkDerivation rec {
description = "GNU Arch (aka. `tla'), a distributed revision control system";
mainProgram = "tla";
homepage = "https://www.gnu.org/software/gnu-arch/";
license = "GPL";
license = lib.licenses.gpl2Plus;
};
}
+1 -1
View File
@@ -94,6 +94,6 @@ stdenv.mkDerivation {
homepage = "https://github.com/adaptivecomputing/torque";
description = "Resource management system for submitting and controlling jobs on supercomputers, clusters, and grids";
platforms = platforms.linux;
license = "TORQUEv1.1";
license = lib.licenses.torque11;
};
}
+7 -1
View File
@@ -47,7 +47,13 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "True Type to Postscript Type 3 converter, fpdf";
homepage = "https://ttf2pt1.sourceforge.net/index.html";
license = "ttf2pt1";
license = with lib.licenses; [
gpl2Plus
{
fullName = "ttf2pt1 License";
url = "https://git.altlinux.org/gears/t/ttf2pt1.git?p=ttf2pt1.git;a=blob;f=ttf2pt1/COPYRIGHT;h=75e8f38e5a7638ee7d23892c86442ddcc35f4761;hb=f3cdb9f16159edf8115dc81520be9af791e846b2";
}
];
platforms = lib.platforms.linux;
};
})
+1 -1
View File
@@ -14,7 +14,7 @@ bundlerApp {
meta = with lib; {
description = "OAuth-enabled curl for the Twitter API";
homepage = "https://github.com/twitter/twurl";
license = "MIT";
license = lib.licenses.mit;
maintainers = with maintainers; [ brecht ];
platforms = platforms.unix;
mainProgram = "twurl";
+4 -1
View File
@@ -66,7 +66,10 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://unifoundry.com/unifont/";
# Basically GPL2+ with font exception.
license = "https://unifoundry.com/LICENSE.txt";
license = with lib.licenses; [
gpl2Plus
fontException
];
maintainers = [ maintainers.rycee ];
platforms = platforms.all;
};
+4 -1
View File
@@ -28,7 +28,10 @@ stdenvNoCC.mkDerivation rec {
homepage = "https://unifoundry.com/unifont/";
# Basically GPL2+ with font exception.
license = "https://unifoundry.com/LICENSE.txt";
license = with lib.licenses; [
gpl2Plus
fontException
];
maintainers = [ maintainers.mathnerd314 ];
platforms = platforms.all;
};
+2 -7
View File
@@ -8,9 +8,7 @@
withPython3 ? true,
python3,
ncurses,
withPHP81 ? true,
php81,
withPHP82 ? false,
withPHP82 ? true,
php82,
withPerl ? true,
perl,
@@ -34,7 +32,6 @@ let
fpmSupport = false;
};
php81-unit = php81.override phpConfig;
php82-unit = php82.override phpConfig;
inherit (lib) optional optionals optionalString;
@@ -59,7 +56,6 @@ stdenv.mkDerivation rec {
python3
ncurses
]
++ optional withPHP81 php81-unit
++ optional withPHP82 php82-unit
++ optional withPerl perl
++ optional withRuby_3_1 ruby_3_1
@@ -77,11 +73,10 @@ stdenv.mkDerivation rec {
++ optional withDebug "--debug";
# Optionally add the PHP derivations used so they can be addressed in the configs
usedPhp81 = optionals withPHP81 php81-unit;
usedPhp82 = optionals withPHP82 php82-unit;
postConfigure = ''
${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"}
${optionalString withPHP81 "./configure php --module=php81 --config=${php81-unit.unwrapped.dev}/bin/php-config --lib-path=${php81-unit}/lib"}
${optionalString withPHP82 "./configure php --module=php82 --config=${php82-unit.unwrapped.dev}/bin/php-config --lib-path=${php82-unit}/lib"}
${optionalString withPerl "./configure perl --module=perl --perl=${perl}/bin/perl"}
${optionalString withRuby_3_1 "./configure ruby --module=ruby31 --ruby=${ruby_3_1}/bin/ruby"}
+5 -1
View File
@@ -77,7 +77,11 @@ stdenv.mkDerivation {
description = "Fork of NetHack";
mainProgram = "unnethack";
homepage = "https://unnethack.wordpress.com/";
license = "nethack";
license = with lib.licenses; [
gpl3Only
cc-by-sa-30
publicDomain
];
platforms = lib.platforms.all;
maintainers = [ ];
};
+5 -1
View File
@@ -80,7 +80,11 @@ stdenv.mkDerivation rec {
description = "Bitmapped character-art-friendly Unicode fonts";
# Basically GPL2+ with font exception — because of the Unifont-augmented
# version. The reduced version is public domain.
license = "http://unifoundry.com/LICENSE.txt";
license = with lib.licenses; [
gpl2Plus
fontException
ofl
];
maintainers = [ lib.maintainers.raskin ];
homepage = "http://viznut.fi/unscii/";
};
+2 -2
View File
@@ -9,13 +9,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "vcpkg";
version = "2025.08.27";
version = "2025.09.17";
src = fetchFromGitHub {
owner = "microsoft";
repo = "vcpkg";
tag = finalAttrs.version;
hash = "sha256-rgpFnISzqmmb3Ce+iLd9HkcZnhqQ2dEVl2GkoeLrs2U=";
hash = "sha256-DySLGZrsUwXEW3NbcG6hEvcJZyPHub+oI9HWiKvYIpM=";
leaveDotGit = true;
postFetch = ''
cd "$out"
+3 -3
View File
@@ -11,16 +11,16 @@
buildNpmPackage (finalAttrs: {
pname = "vsce";
version = "3.6.0";
version = "3.6.2";
src = fetchFromGitHub {
owner = "microsoft";
repo = "vscode-vsce";
tag = "v${finalAttrs.version}";
hash = "sha256-6Tt7IewbCLHG8DVoD8PV6VmrNu3MCUHITgYFq9smvOo=";
hash = "sha256-TcBzXDNpjJvI+0ir80d+HFp6mF/Ecle4vhOMcACvF7M=";
};
npmDepsHash = "sha256-pZUDui2mhGe+My9QL+pqeBU16AyJ+/udULbo2EQjZd0=";
npmDepsHash = "sha256-G09pn6JX389GMbIzYmmLutH7qwiaDb8V9zCGAOFaDdk=";
postPatch = ''
substituteInPlace package.json --replace-fail '"version": "0.0.0"' '"version": "${finalAttrs.version}"'
@@ -27,7 +27,8 @@ stdenv.mkDerivation {
homepage = "https://help.wooting.io/article/147-configuring-device-access-for-wootility-under-linux-udev-rules";
description = "udev rules that give NixOS permission to communicate with Wooting keyboards";
platforms = platforms.linux;
license = "unknown";
# We think they are so simple that they are uncopyrightable
license = lib.licenses.publicDomain;
maintainers = with maintainers; [
returntoreality
];

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