3
0
Fork 0
forked from mirrors/nixpkgs

Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-11-10 00:16:25 +00:00 committed by GitHub
commit 3ff06869dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
237 changed files with 4587 additions and 2522 deletions

5
.github/CODEOWNERS vendored
View file

@ -289,3 +289,8 @@
# Dotnet
/pkgs/build-support/dotnet @IvarWithoutBones
/pkgs/development/compilers/dotnet @IvarWithoutBones
# Node.js
/pkgs/build-support/node/build-npm-package @winterqt
/pkgs/build-support/node/fetch-npm-deps @winterqt
/doc/languages-frameworks/javascript.section.md @winterqt

View file

@ -157,6 +157,61 @@ git config --global url."https://github.com/".insteadOf git://github.com/
## Tool specific instructions {#javascript-tool-specific}
### buildNpmPackage {#javascript-buildNpmPackage}
`buildNpmPackage` allows you to package npm-based projects in Nixpkgs without the use of an auto-generated dependencies file (as used in [node2nix](#javascript-node2nix)). It works by utilizing npm's cache functionality -- creating a reproducible cache that contains the dependencies of a project, and pointing npm to it.
```nix
{ lib, buildNpmPackage, fetchFromGitHub }:
buildNpmPackage rec {
pname = "flood";
version = "4.7.0";
src = fetchFromGitHub {
owner = "jesec";
repo = pname;
rev = "v${version}";
hash = "sha256-BR+ZGkBBfd0dSQqAvujsbgsEPFYw/ThrylxUbOksYxM=";
};
patches = [ ./remove-prepack-script.patch ];
npmDepsHash = "sha256-s8SpZY/1tKZVd3vt7sA9vsqHvEaNORQBMrSyhWpj048=";
NODE_OPTIONS = "--openssl-legacy-provider";
meta = with lib; {
description = "A modern web UI for various torrent clients with a Node.js backend and React frontend";
homepage = "https://flood.js.org";
license = licenses.gpl3Only;
maintainers = with maintainers; [ winter ];
};
}
```
#### Arguments {#javascript-buildNpmPackage-arguments}
* `npmDepsHash`: The output hash of the dependencies for this project. Can be calculated in advance with [`prefetch-npm-deps`](#javascript-buildNpmPackage-prefetch-npm-deps).
* `makeCacheWritable`: Whether to make the cache writable prior to installing dependencies. Don't set this unless npm tries to write to the cache directory, as it can slow down the build.
* `npmBuildScript`: The script to run to build the project. Defaults to `"build"`.
* `npmFlags`: Flags to pass to all npm commands.
* `npmInstallFlags`: Flags to pass to `npm ci`.
* `npmBuildFlags`: Flags to pass to `npm run ${npmBuildScript}`.
* `npmPackFlags`: Flags to pass to `npm pack`.
#### prefetch-npm-deps {#javascript-buildNpmPackage-prefetch-npm-deps}
`prefetch-npm-deps` can calculate the hash of the dependencies of an npm project ahead of time.
```console
$ ls
package.json package-lock.json index.js
$ prefetch-npm-deps package-lock.json
...
sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
```
### node2nix {#javascript-node2nix}
#### Preparation {#javascript-node2nix-preparation}

View file

@ -990,21 +990,6 @@ in mkLicense lset) ({
fullName = "GNU Affero General Public License v3.0";
deprecated = true;
};
fdl11 = {
spdxId = "GFDL-1.1";
fullName = "GNU Free Documentation License v1.1";
deprecated = true;
};
fdl12 = {
spdxId = "GFDL-1.2";
fullName = "GNU Free Documentation License v1.2";
deprecated = true;
};
fdl13 = {
spdxId = "GFDL-1.3";
fullName = "GNU Free Documentation License v1.3";
deprecated = true;
};
gpl2 = {
spdxId = "GPL-2.0";
fullName = "GNU General Public License v2.0";

View file

@ -61,12 +61,12 @@ Readonly::Hash my %LICENSE_MAP => (
# GNU Free Documentation License, Version 1.2.
gfdl_1_2 => {
licenses => [qw( fdl12 )]
licenses => [qw( fdl12Plus )]
},
# GNU Free Documentation License, Version 1.3.
gfdl_1_3 => {
licenses => [qw( fdl13 )]
licenses => [qw( fdl13Plus )]
},
# GNU General Public License, Version 1.

View file

@ -575,7 +575,6 @@
./services/misc/etcd.nix
./services/misc/etebase-server.nix
./services/misc/etesync-dav.nix
./services/misc/ethminer.nix
./services/misc/exhibitor.nix
./services/misc/felix.nix
./services/misc/freeswitch.nix
@ -1224,6 +1223,7 @@
./services/x11/xfs.nix
./services/x11/xserver.nix
./system/activation/activation-script.nix
./system/activation/specialisation.nix
./system/activation/top-level.nix
./system/boot/binfmt.nix
./system/boot/emergency-mode.nix

View file

@ -177,8 +177,7 @@ in
hostname = mkOption {
description = lib.mdDoc "Kubernetes kubelet hostname override.";
default = config.networking.hostName;
defaultText = literalExpression "config.networking.hostName";
defaultText = literalExpression "config.networking.fqdnOrHostName";
type = str;
};
@ -349,8 +348,8 @@ in
boot.kernelModules = ["br_netfilter" "overlay"];
services.kubernetes.kubelet.hostname = with config.networking;
mkDefault (hostName + optionalString (domain != null) ".${domain}");
services.kubernetes.kubelet.hostname =
mkDefault config.networking.fqdnOrHostName;
services.kubernetes.pki.certs = with top.lib; {
kubelet = mkCert {

View file

@ -200,6 +200,7 @@ in
};
systemd.services.geoclue = {
after = lib.optionals cfg.enableWifi [ "network-online.target" ];
# restart geoclue service when the configuration changes
restartTriggers = [
config.environment.etc."geoclue/geoclue.conf".source

View file

@ -1,117 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.ethminer;
poolUrl = escapeShellArg "stratum1+tcp://${cfg.wallet}@${cfg.pool}:${toString cfg.stratumPort}/${cfg.rig}/${cfg.registerMail}";
in
{
###### interface
options = {
services.ethminer = {
enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "Enable ethminer ether mining.";
};
recheckInterval = mkOption {
type = types.ints.unsigned;
default = 2000;
description = lib.mdDoc "Interval in milliseconds between farm rechecks.";
};
toolkit = mkOption {
type = types.enum [ "cuda" "opencl" ];
default = "cuda";
description = lib.mdDoc "Cuda or opencl toolkit.";
};
apiPort = mkOption {
type = types.int;
default = -3333;
description = lib.mdDoc "Ethminer api port. minus sign puts api in read-only mode.";
};
wallet = mkOption {
type = types.str;
example = "0x0123456789abcdef0123456789abcdef01234567";
description = lib.mdDoc "Ethereum wallet address.";
};
pool = mkOption {
type = types.str;
example = "eth-us-east1.nanopool.org";
description = lib.mdDoc "Mining pool address.";
};
stratumPort = mkOption {
type = types.port;
default = 9999;
description = lib.mdDoc "Stratum protocol tcp port.";
};
rig = mkOption {
type = types.str;
default = "mining-rig-name";
description = lib.mdDoc "Mining rig name.";
};
registerMail = mkOption {
type = types.str;
example = "email%40example.org";
description = lib.mdDoc "Url encoded email address to register with pool.";
};
maxPower = mkOption {
type = types.ints.unsigned;
default = 113;
description = lib.mdDoc "Miner max watt usage.";
};
};
};
###### implementation
config = mkIf cfg.enable {
systemd.services.ethminer = {
path = optionals (cfg.toolkit == "cuda") [ pkgs.cudaPackages.cudatoolkit ];
description = "ethminer ethereum mining service";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
DynamicUser = true;
ExecStartPre = "${pkgs.ethminer}/bin/.ethminer-wrapped --list-devices";
ExecStartPost = optional (cfg.toolkit == "cuda") "+${getBin config.boot.kernelPackages.nvidia_x11}/bin/nvidia-smi -pl ${toString cfg.maxPower}";
Restart = "always";
};
environment = mkIf (cfg.toolkit == "cuda") {
LD_LIBRARY_PATH = "${config.boot.kernelPackages.nvidia_x11}/lib";
};
script = ''
${pkgs.ethminer}/bin/.ethminer-wrapped \
--farm-recheck ${toString cfg.recheckInterval} \
--report-hashrate \
--${cfg.toolkit} \
--api-port ${toString cfg.apiPort} \
--pool ${poolUrl}
'';
};
};
}

View file

@ -4,8 +4,7 @@ with lib;
let
host = config.networking.hostName or "unknown"
+ optionalString (config.networking.domain != null) ".${config.networking.domain}";
host = config.networking.fqdnOrHostName;
cfg = config.services.smartd;
opt = options.services.smartd;

View file

@ -32,6 +32,44 @@ let
};
};
configFile = format.generate "syncstorage.toml" (lib.recursiveUpdate settings cfg.settings);
setupScript = pkgs.writeShellScript "firefox-syncserver-setup" ''
set -euo pipefail
shopt -s inherit_errexit
schema_configured() {
mysql ${cfg.database.name} -Ne 'SHOW TABLES' | grep -q services
}
update_config() {
mysql ${cfg.database.name} <<"EOF"
BEGIN;
INSERT INTO `services` (`id`, `service`, `pattern`)
VALUES (1, 'sync-1.5', '{node}/1.5/{uid}')
ON DUPLICATE KEY UPDATE service='sync-1.5', pattern='{node}/1.5/{uid}';
INSERT INTO `nodes` (`id`, `service`, `node`, `available`, `current_load`,
`capacity`, `downed`, `backoff`)
VALUES (1, 1, '${cfg.singleNode.url}', ${toString cfg.singleNode.capacity},
0, ${toString cfg.singleNode.capacity}, 0, 0)
ON DUPLICATE KEY UPDATE node = '${cfg.singleNode.url}', capacity=${toString cfg.singleNode.capacity};
COMMIT;
EOF
}
for (( try = 0; try < 60; try++ )); do
if ! schema_configured; then
sleep 2
else
update_config
exit 0
fi
done
echo "Single-node setup failed"
exit 1
'';
in
{
@ -210,6 +248,7 @@ in
wantedBy = [ "multi-user.target" ];
requires = lib.mkIf dbIsLocal [ "mysql.service" ];
after = lib.mkIf dbIsLocal [ "mysql.service" ];
restartTriggers = lib.optional cfg.singleNode.enable setupScript;
environment.RUST_LOG = cfg.logLevel;
serviceConfig = {
User = defaultUser;
@ -255,56 +294,7 @@ in
requires = [ "firefox-syncserver.service" ] ++ lib.optional dbIsLocal "mysql.service";
after = [ "firefox-syncserver.service" ] ++ lib.optional dbIsLocal "mysql.service";
path = [ config.services.mysql.package ];
script = ''
set -euo pipefail
shopt -s inherit_errexit
schema_configured() {
mysql ${cfg.database.name} -Ne 'SHOW TABLES' | grep -q services
}
services_configured() {
[ 1 != $(mysql ${cfg.database.name} -Ne 'SELECT COUNT(*) < 1 FROM `services`') ]
}
create_services() {
mysql ${cfg.database.name} <<"EOF"
BEGIN;
INSERT INTO `services` (`id`, `service`, `pattern`)
VALUES (1, 'sync-1.5', '{node}/1.5/{uid}');
INSERT INTO `nodes` (`id`, `service`, `node`, `available`, `current_load`,
`capacity`, `downed`, `backoff`)
VALUES (1, 1, '${cfg.singleNode.url}', ${toString cfg.singleNode.capacity},
0, ${toString cfg.singleNode.capacity}, 0, 0);
COMMIT;
EOF
}
update_nodes() {
mysql ${cfg.database.name} <<"EOF"
UPDATE `nodes`
SET `capacity` = ${toString cfg.singleNode.capacity}
WHERE `id` = 1;
EOF
}
for (( try = 0; try < 60; try++ )); do
if ! schema_configured; then
sleep 2
elif services_configured; then
update_nodes
exit 0
else
create_services
exit 0
fi
done
echo "Single-node setup failed"
exit 1
'';
serviceConfig.ExecStart = [ "${setupScript}" ];
};
services.nginx.virtualHosts = lib.mkIf cfg.singleNode.enableNginx {

View file

@ -92,10 +92,8 @@ in {
Needed when running with Kubernetes as backend as this cannot be auto-detected";
'';
type = types.nullOr types.str;
default = with config.networking; (hostName + optionalString (domain != null) ".${domain}");
defaultText = literalExpression ''
with config.networking; (hostName + optionalString (domain != null) ".''${domain}")
'';
default = config.networking.fqdnOrHostName;
defaultText = literalExpression "config.networking.fqdnOrHostName";
example = "node1.example.com";
};

View file

@ -150,7 +150,7 @@ in
config = {
hostName = mkDefault name;
mucNickname = mkDefault (builtins.replaceStrings [ "." ] [ "-" ] (
config.networking.hostName + optionalString (config.networking.domain != null) ".${config.networking.domain}"
config.networking.fqdnOrHostName
));
};
}));

View file

@ -60,11 +60,8 @@ in {
hostname = lib.mkOption {
type = lib.types.str;
default = if config.networking.domain != null then
config.networking.fqdn
else
config.networking.hostName;
defaultText = lib.literalExpression "config.networking.fqdn";
default = config.networking.fqdnOrHostName;
defaultText = lib.literalExpression "config.networking.fqdnOrHostName";
example = "bookstack.example.com";
description = lib.mdDoc ''
The hostname to serve BookStack on.

View file

@ -42,11 +42,8 @@ in
hostname = lib.mkOption {
type = lib.types.str;
default = if config.networking.domain != null then
config.networking.fqdn
else
config.networking.hostName;
defaultText = lib.literalExpression "config.networking.fqdn";
default = config.networking.fqdnOrHostName;
defaultText = lib.literalExpression "config.networking.fqdnOrHostName";
example = "discourse.example.com";
description = lib.mdDoc ''
The hostname to serve Discourse on.

View file

@ -25,6 +25,7 @@ let
ENCRYPTION_KEY=
ENCRYPTION_CIPHER=AES-256
SETUP_COMPLETED=false
REMOVE_INDEXPHP=true
'';
extraConfig = hostName: cfg: pkgs.writeText "extraConfig.php" ''
@ -331,7 +332,7 @@ in
serviceConfig = {
Type = "oneshot";
User = user;
ExecStart = "${pkgs.curl}/bin/curl --header 'Host: ${hostName}' http://localhost/index.php/invoices/cron/recur/${cfg.cron.key}";
ExecStart = "${pkgs.curl}/bin/curl --header 'Host: ${hostName}' http://localhost/invoices/cron/recur/${cfg.cron.key}";
};
})
)) eachSite);
@ -344,9 +345,8 @@ in
virtualHosts = mapAttrs' (hostName: cfg: (
nameValuePair "http://${hostName}" {
extraConfig = ''
root * ${pkg hostName cfg}
root * ${pkg hostName cfg}
file_server
php_fastcgi unix/${config.services.phpfpm.pools."invoiceplane-${hostName}".socket}
'';
}

View file

@ -12,8 +12,6 @@ let
phpExecutionUnit = "phpfpm-${pool}";
databaseService = "mysql.service";
fqdn = if config.networking.domain != null then config.networking.fqdn else config.networking.hostName;
in {
imports = [
(mkRenamedOptionModule [ "services" "piwik" "enable" ] [ "services" "matomo" "enable" ])
@ -77,11 +75,9 @@ in {
hostname = mkOption {
type = types.str;
default = "${user}.${fqdn}";
default = "${user}.${config.networking.fqdnOrHostName}";
defaultText = literalExpression ''
if config.${options.networking.domain} != null
then "${user}.''${config.${options.networking.fqdn}}"
else "${user}.''${config.${options.networking.hostName}}"
"${user}.''${config.${options.networking.fqdnOrHostName}}"
'';
example = "matomo.yourdomain.org";
description = lib.mdDoc ''

View file

@ -54,11 +54,8 @@ in {
hostName = lib.mkOption {
type = lib.types.str;
default = if config.networking.domain != null then
config.networking.fqdn
else
config.networking.hostName;
defaultText = lib.literalExpression "config.networking.fqdn";
default = config.networking.fqdnOrHostName;
defaultText = lib.literalExpression "config.networking.fqdnOrHostName";
example = "snipe-it.example.com";
description = lib.mdDoc ''
The hostname to serve Snipe-IT on.

View file

@ -0,0 +1,85 @@
{ config, lib, pkgs, extendModules, noUserModules, ... }:
let
inherit (lib)
concatStringsSep
mapAttrs
mapAttrsToList
mkOption
types
;
# This attribute is responsible for creating boot entries for
# child configuration. They are only (directly) accessible
# when the parent configuration is boot default. For example,
# you can provide an easy way to boot the same configuration
# as you use, but with another kernel
# !!! fix this
children =
mapAttrs
(childName: childConfig: childConfig.configuration.system.build.toplevel)
config.specialisation;
in
{
options = {
specialisation = mkOption {
default = { };
example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.settings = { core = 0; max-jobs = 1; }; }; }";
description = lib.mdDoc ''
Additional configurations to build. If
`inheritParentConfig` is true, the system
will be based on the overall system configuration.
To switch to a specialised configuration
(e.g. `fewJobsManyCores`) at runtime, run:
```
sudo /run/current-system/specialisation/fewJobsManyCores/bin/switch-to-configuration test
```
'';
type = types.attrsOf (types.submodule (
local@{ ... }:
let
extend =
if local.config.inheritParentConfig
then extendModules
else noUserModules.extendModules;
in
{
options.inheritParentConfig = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc "Include the entire system's configuration. Set to false to make a completely differently configured system.";
};
options.configuration = mkOption {
default = { };
description = lib.mdDoc ''
Arbitrary NixOS configuration.
Anything you can add to a normal NixOS configuration, you can add
here, including imports and config values, although nested
specialisations will be ignored.
'';
visible = "shallow";
inherit (extend { modules = [ ./no-clone.nix ]; }) type;
};
}
));
};
};
config = {
system.systemBuilderCommands = ''
mkdir $out/specialisation
${concatStringsSep "\n"
(mapAttrsToList (name: path: "ln -s ${path} $out/specialisation/${name}") children)}
'';
};
# uses extendModules to generate a type
meta.buildDocsInSandbox = false;
}

View file

@ -1,21 +1,8 @@
{ config, lib, pkgs, extendModules, noUserModules, ... }:
{ config, lib, pkgs, ... }:
with lib;
let
# This attribute is responsible for creating boot entries for
# child configuration. They are only (directly) accessible
# when the parent configuration is boot default. For example,
# you can provide an easy way to boot the same configuration
# as you use, but with another kernel
# !!! fix this
children =
mapAttrs
(childName: childConfig: childConfig.configuration.system.build.toplevel)
config.specialisation;
systemBuilder =
let
kernelPath = "${config.boot.kernelPackages.kernel}/" +
@ -72,15 +59,10 @@ let
ln -s ${config.system.path} $out/sw
ln -s "$systemd" $out/systemd
echo -n "$configurationName" > $out/configuration-name
echo -n "systemd ${toString config.systemd.package.interfaceVersion}" > $out/init-interface-version
echo -n "$nixosLabel" > $out/nixos-version
echo -n "${config.boot.kernelPackages.stdenv.hostPlatform.system}" > $out/system
mkdir $out/specialisation
${concatStringsSep "\n"
(mapAttrsToList (name: path: "ln -s ${path} $out/specialisation/${name}") children)}
mkdir $out/bin
export localeArchive="${config.i18n.glibcLocales}/lib/locale/locale-archive"
substituteAll ${./switch-to-configuration.pl} $out/bin/switch-to-configuration
@ -93,6 +75,8 @@ let
fi
''}
${config.system.systemBuilderCommands}
echo -n "${toString config.system.extraDependencies}" > $out/extra-dependencies
${config.system.extraSystemBuilderCmds}
@ -103,7 +87,7 @@ let
# kernel, systemd units, init scripts, etc.) as well as a script
# `switch-to-configuration' that activates the configuration and
# makes it bootable.
baseSystem = pkgs.stdenvNoCC.mkDerivation {
baseSystem = pkgs.stdenvNoCC.mkDerivation ({
name = "nixos-system-${config.system.name}-${config.system.nixos.label}";
preferLocalBuild = true;
allowSubstitutes = false;
@ -121,11 +105,9 @@ let
dryActivationScript = config.system.dryActivationScript;
nixosLabel = config.system.nixos.label;
configurationName = config.boot.loader.grub.configurationName;
# Needed by switch-to-configuration.
perl = pkgs.perl.withPackages (p: with p; [ ConfigIniFiles FileSlurp ]);
};
} // config.system.systemBuilderArgs);
# Handle assertions and warnings
@ -140,16 +122,6 @@ let
pkgs.replaceDependency { inherit oldDependency newDependency drv; }
) baseSystemAssertWarn config.system.replaceRuntimeDependencies;
/* Workaround until https://github.com/NixOS/nixpkgs/pull/156533
Call can be replaced by argument when that's merged.
*/
tmpFixupSubmoduleBoundary = subopts:
lib.mkOption {
type = lib.types.submoduleWith {
modules = [ { options = subopts; } ];
};
};
in
{
@ -161,49 +133,6 @@ in
options = {
specialisation = mkOption {
default = {};
example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.settings = { core = 0; max-jobs = 1; }; }; }";
description = lib.mdDoc ''
Additional configurations to build. If
`inheritParentConfig` is true, the system
will be based on the overall system configuration.
To switch to a specialised configuration
(e.g. `fewJobsManyCores`) at runtime, run:
```
sudo /run/current-system/specialisation/fewJobsManyCores/bin/switch-to-configuration test
```
'';
type = types.attrsOf (types.submodule (
local@{ ... }: let
extend = if local.config.inheritParentConfig
then extendModules
else noUserModules.extendModules;
in {
options.inheritParentConfig = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc "Include the entire system's configuration. Set to false to make a completely differently configured system.";
};
options.configuration = mkOption {
default = {};
description = lib.mdDoc ''
Arbitrary NixOS configuration.
Anything you can add to a normal NixOS configuration, you can add
here, including imports and config values, although nested
specialisations will be ignored.
'';
visible = "shallow";
inherit (extend { modules = [ ./no-clone.nix ]; }) type;
};
})
);
};
system.boot.loader.id = mkOption {
internal = true;
default = "";
@ -231,7 +160,7 @@ in
'';
};
system.build = tmpFixupSubmoduleBoundary {
system.build = {
installBootLoader = mkOption {
internal = true;
# "; true" => make the `$out` argument from switch-to-configuration.pl
@ -276,6 +205,24 @@ in
'';
};
system.systemBuilderCommands = mkOption {
type = types.lines;
internal = true;
default = "";
description = ''
This code will be added to the builder creating the system store path.
'';
};
system.systemBuilderArgs = mkOption {
type = types.attrsOf types.unspecified;
internal = true;
default = {};
description = lib.mdDoc ''
`lib.mkDerivation` attributes that will be passed to the top level system builder.
'';
};
system.extraSystemBuilderCmds = mkOption {
type = types.lines;
internal = true;
@ -357,6 +304,4 @@ in
};
# uses extendModules to generate a type
meta.buildDocsInSandbox = false;
}

View file

@ -748,6 +748,11 @@ in
boot.loader.supportsInitrdSecrets = true;
system.systemBuilderArgs.configurationName = cfg.configurationName;
system.systemBuilderCommands = ''
echo -n "$configurationName" > $out/configuration-name
'';
system.build.installBootLoader =
let
install-grub-pl = pkgs.substituteAll {

View file

@ -473,9 +473,29 @@ in
defaultText = literalExpression ''"''${networking.hostName}.''${networking.domain}"'';
description = lib.mdDoc ''
The fully qualified domain name (FQDN) of this host. It is the result
of combining networking.hostName and networking.domain. Using this
of combining `networking.hostName` and `networking.domain.` Using this
option will result in an evaluation error if the hostname is empty or
no domain is specified.
Modules that accept a mere `networing.hostName` but prefer a fully qualified
domain name may use `networking.fqdnOrHostName` instead.
'';
};
networking.fqdnOrHostName = mkOption {
readOnly = true;
type = types.str;
default = if cfg.domain == null then cfg.hostName else cfg.fqdn;
defaultText = literalExpression ''
if cfg.domain == null then cfg.hostName else cfg.fqdn
'';
description = lib.mdDoc ''
Either the fully qualified domain name (FQDN), or just the host name if
it does not exists.
This is a convenience option for modules to read instead of `fqdn` when
a mere `hostName` is also an acceptable value; this option does not
throw an error when `domain` is unset.
'';
};

View file

@ -671,7 +671,6 @@ in {
uwsgi = handleTest ./uwsgi.nix {};
v2ray = handleTest ./v2ray.nix {};
varnish60 = handleTest ./varnish.nix { package = pkgs.varnish60; };
varnish71 = handleTest ./varnish.nix { package = pkgs.varnish71; };
varnish72 = handleTest ./varnish.nix { package = pkgs.varnish72; };
vault = handleTest ./vault.nix {};
vault-dev = handleTest ./vault-dev.nix {};

View file

@ -46,37 +46,37 @@ import ./make-test-python.nix ({ pkgs, ... }:
with subtest("Finish InvoicePlane setup"):
machine.succeed(
f"curl -sSfL --cookie-jar cjar {site_name}/index.php/setup/language"
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}/index.php/setup/language"
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}/index.php/setup/prerequisites"
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}/index.php/setup/configure_database"
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}/index.php/setup/install_tables"
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}/index.php/setup/upgrade_tables"
f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/upgrade_tables"
)
'';
})

View file

@ -0,0 +1,191 @@
{ lib, stdenv
, fetchgit
, alsa-lib
, aubio
, boost
, cairomm
, cppunit
, curl
, dbus
, doxygen
, ffmpeg
, fftw
, fftwSinglePrec
, flac
, glibc
, glibmm
, graphviz
, gtkmm2
, harvid
, itstool
, libarchive
, libjack2
, liblo
, libogg
, libpulseaudio
, librdf_raptor
, librdf_rasqal
, libsamplerate
, libsigcxx
, libsndfile
, libusb1
, libuv
, libwebsockets
, libxml2
, libxslt
, lilv
, lrdf
, lv2
, makeWrapper
, pango
, perl
, pkg-config
, python3
, readline
, rubberband
, serd
, sord
, soundtouch
, sratom
, suil
, taglib
, vamp-plugin-sdk
, wafHook
, xjadeo
, videoSupport ? true
}:
stdenv.mkDerivation rec {
pname = "ardour";
version = "6.9";
# We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org
# result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info.
src = fetchgit {
url = "git://git.ardour.org/ardour/ardour.git";
rev = version;
sha256 = "0vlcbd70y0an881zv87kc3akmaiz4w7whsy3yaiiqqjww35jg1mm";
};
patches = [
# AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096
./as-flags.patch
];
nativeBuildInputs = [
doxygen
graphviz # for dot
itstool
makeWrapper
perl
pkg-config
python3
wafHook
];
buildInputs = [
alsa-lib
aubio
boost
cairomm
cppunit
curl
dbus
ffmpeg
fftw
fftwSinglePrec
flac
glibmm
gtkmm2
itstool
libarchive
libjack2
liblo
libogg
libpulseaudio
librdf_raptor
librdf_rasqal
libsamplerate
libsigcxx
libsndfile
libusb1
libuv
libwebsockets
libxml2
libxslt
lilv
lrdf
lv2
pango
perl
python3
readline
rubberband
serd
sord
soundtouch
sratom
suil
taglib
vamp-plugin-sdk
] ++ lib.optionals videoSupport [ harvid xjadeo ];
wafConfigureFlags = [
"--cxx11"
"--docs"
"--freedesktop"
"--no-phone-home"
"--optimize"
"--ptformat"
"--run-tests"
"--test"
];
# removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437
# "--use-external-libs"
# Ardour's wscript requires git revision and date to be available.
# Since they are not, let's generate the file manually.
postPatch = ''
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
patchShebangs ./tools/
substituteInPlace libs/ardour/video_tools_paths.cc \
--replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
--replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
'';
postInstall = ''
# wscript does not install these for some reason
install -vDm 644 "build/gtk2_ardour/ardour.xml" \
-t "$out/share/mime/packages"
install -vDm 644 "build/gtk2_ardour/ardour6.desktop" \
-t "$out/share/applications"
for size in 16 22 32 48 256 512; do
install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
done
install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
'' + lib.optionalString videoSupport ''
# `harvid` and `xjadeo` must be accessible in `PATH` for video to work.
wrapProgram "$out/bin/ardour6" \
--prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}"
'';
LINKFLAGS = "-lpthread";
meta = with lib; {
description = "Multi-track hard disk recording software";
longDescription = ''
Ardour is a digital audio workstation (DAW), You can use it to
record, edit and mix multi-track audio and midi. Produce your
own CDs. Mix video soundtracks. Experiment with new ideas about
music and sound.
Please consider supporting the ardour project financially:
https://community.ardour.org/donate
'';
homepage = "https://ardour.org/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ];
};
}

View file

@ -1,5 +1,7 @@
{ lib, stdenv
{ lib
, stdenv
, fetchgit
, fetchzip
, alsa-lib
, aubio
, boost
@ -56,13 +58,21 @@
}:
stdenv.mkDerivation rec {
pname = "ardour";
version = "6.9";
version = "7.1";
# don't fetch releases from the GitHub mirror, they are broken
# We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org
# result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info.
src = fetchgit {
url = "git://git.ardour.org/ardour/ardour.git";
rev = version;
sha256 = "0vlcbd70y0an881zv87kc3akmaiz4w7whsy3yaiiqqjww35jg1mm";
hash = "sha256-eLF9n71tjdPA+ks0B8UonmPZqRgcZEA7ok79+m9PioU=";
};
bundledContent = fetchzip {
url = "https://web.archive.org/web/20221026200824/http://stuff.ardour.org/loops/ArdourBundledMedia.zip";
hash = "sha256-IbPQWFeyMuvCoghFl1ZwZNNcSvLNsH84rGArXnw+t7A=";
# archive does not contain a single folder at the root
stripRoot = false;
};
patches = [
@ -70,6 +80,17 @@ stdenv.mkDerivation rec {
./as-flags.patch
];
# Ardour's wscript requires git revision and date to be available.
# Since they are not, let's generate the file manually.
postPatch = ''
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
patchShebangs ./tools/
substituteInPlace libs/ardour/video_tools_paths.cc \
--replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
--replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
'';
nativeBuildInputs = [
doxygen
graphviz # for dot
@ -141,31 +162,23 @@ stdenv.mkDerivation rec {
# removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437
# "--use-external-libs"
# Ardour's wscript requires git revision and date to be available.
# Since they are not, let's generate the file manually.
postPatch = ''
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
patchShebangs ./tools/
substituteInPlace libs/ardour/video_tools_paths.cc \
--replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
--replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
'';
postInstall = ''
# wscript does not install these for some reason
install -vDm 644 "build/gtk2_ardour/ardour.xml" \
-t "$out/share/mime/packages"
install -vDm 644 "build/gtk2_ardour/ardour6.desktop" \
install -vDm 644 "build/gtk2_ardour/ardour${lib.versions.major version}.desktop" \
-t "$out/share/applications"
for size in 16 22 32 48 256 512; do
install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${lib.versions.major version}.png"
done
install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
# install additional bundled beats, chords and progressions
cp -rp "${bundledContent}"/* "$out/share/ardour${lib.versions.major version}/media"
'' + lib.optionalString videoSupport ''
# `harvid` and `xjadeo` must be accessible in `PATH` for video to work.
wrapProgram "$out/bin/ardour6" \
wrapProgram "$out/bin/ardour${lib.versions.major version}" \
--prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}"
'';

View file

@ -4,6 +4,7 @@
, fetchpatch
, cmake
, makeWrapper
, wrapGAppsHook
, pkg-config
, python3
, gettext
@ -91,6 +92,7 @@ stdenv.mkDerivation rec {
pkg-config
python3
makeWrapper
wrapGAppsHook
] ++ optionals stdenv.isLinux [
linuxHeaders
];

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "ft2-clone";
version = "1.60";
version = "1.61";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "ft2-clone";
rev = "v${version}";
sha256 = "sha256-6/9NaQSRNGnuIivIeWi/dOBSOzxhZYghy7zvdB5i500=";
sha256 = "sha256-dm+l+CECsr3TzL1ZGAqW+NLQXNh5JRtdYVROKOjKMXY=";
};
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)

View file

@ -36,6 +36,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-pnAdlCCqWzR0W8dF9CE48K8yHMVIx3egZlXvibxU18A=";
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [
cmake
pkg-config

View file

@ -5,7 +5,7 @@
, makeDesktopItem
, copyDesktopItems
, autoPatchelfHook
, openjdk17
, openjdk18
, gtk3
, gsettings-desktop-schemas
, writeScript
@ -20,11 +20,11 @@
let
pname = "sparrow";
version = "1.6.5";
version = "1.7.0";
src = fetchurl {
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
sha256 = "0zk33w664fky3ir6cqm6walc80fjhg9s0hnrllrc2hrxrqnrn88p";
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz";
sha256 = "1rrf5xba733c2vxgd7bf164iswc66ggp64ywh79d0vf188imzmwr";
};
launcher = writeScript "sparrow" ''
@ -60,7 +60,7 @@ let
-m com.sparrowwallet.sparrow
)
XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS ${openjdk17}/bin/java ''${params[@]} $@
XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS ${openjdk18}/bin/java ''${params[@]} $@
'';
torWrapper = writeScript "tor-wrapper" ''
@ -71,14 +71,14 @@ let
jdk-modules = stdenv.mkDerivation {
name = "jdk-modules";
nativeBuildInputs = [ openjdk17 ];
nativeBuildInputs = [ openjdk18 ];
dontUnpack = true;
buildPhase = ''
# Extract the JDK's JIMAGE and generate a list of modules.
mkdir modules
pushd modules
jimage extract ${openjdk17}/lib/openjdk/lib/modules
jimage extract ${openjdk18}/lib/openjdk/lib/modules
ls | xargs -d " " -- echo > ../manifest.txt
popd
'';
@ -93,7 +93,7 @@ let
sparrow-modules = stdenv.mkDerivation {
pname = "sparrow-modules";
inherit version src;
nativeBuildInputs = [ makeWrapper gnugrep openjdk17 autoPatchelfHook stdenv.cc.cc.lib zlib ];
nativeBuildInputs = [ makeWrapper gnugrep openjdk18 autoPatchelfHook stdenv.cc.cc.lib zlib ];
buildPhase = ''
# Extract Sparrow's JIMAGE and generate a list of them.
@ -187,6 +187,7 @@ stdenv.mkDerivation rec {
desktopName = "Sparrow Bitcoin Wallet";
genericName = "Bitcoin Wallet";
categories = [ "Finance" ];
mimeTypes = [ "application/psbt" "application/bitcoin-transaction" "x-scheme-handler/bitcoin" "x-scheme-handler/auth47" "x-scheme-handler/lightning" ];
})
];
@ -222,6 +223,8 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "A modern desktop Bitcoin wallet application supporting most hardware wallets and built on common standards such as PSBT, with an emphasis on transparency and usability.";
homepage = "https://sparrowwallet.com";

View file

@ -0,0 +1,26 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p coreutils curl jq gnused gnupg common-updater-scripts
set -eu -o pipefail
version="$(curl -s https://api.github.com/repos/sparrowwallet/sparrow/releases| jq '.[] | {name} | limit(1;.[])' | sed 's/[\"v]//g' | head -n 1)"
depname="sparrow-$version-x86_64.tar.gz"
src_root="https://github.com/sparrowwallet/sparrow/releases/download/$version";
src="$src_root/$depname";
manifest="$src_root/sparrow-$version-manifest.txt"
signature="$src_root/sparrow-$version-manifest.txt.asc"
key="D4D0 D320 2FC0 6849 A257 B38D E946 1833 4C67 4B40"
pushd $(mktemp -d --suffix=-sparrow-updater)
export GNUPGHOME=$PWD/gnupg
mkdir -m 700 -p "$GNUPGHOME"
curl -L -o "$depname" -- "$src"
curl -L -o manifest.txt -- "$manifest"
curl -L -o signature.asc -- "$signature"
gpg --batch --recv-keys "$key"
gpg --batch --verify signature.asc manifest.txt
sha256sum -c --ignore-missing manifest.txt
sha256=$(nix-prefetch-url --type sha256 "file://$PWD/$depname")
popd
update-source-version sparrow "$version" "$sha256"

View file

@ -38,13 +38,13 @@ let
in
stdenv.mkDerivation rec {
pname = "cudatext";
version = "1.175.0";
version = "1.176.0";
src = fetchFromGitHub {
owner = "Alexey-T";
repo = "CudaText";
rev = version;
hash = "sha256-Q4T4CmMK+sxOst18pW4L4uMYzc/heMetntM0L+HrSlo=";
hash = "sha256-7J/FAcmZYmgbmYEFm2V3+RBUcLE+8A+yOiJd/xp2Aww=";
};
postPatch = ''

View file

@ -11,13 +11,13 @@
},
"ATFlatControls": {
"owner": "Alexey-T",
"rev": "2022.11.03",
"hash": "sha256-U6jF+gXFOuPY512y4KWL18q8rZlfNwGqB9fTUHAHXl8="
"rev": "2022.11.09",
"hash": "sha256-2Q1azfhThrk1t65Q+2aRr00V0UFrvR+z5oVMeW9c2ug="
},
"ATSynEdit": {
"owner": "Alexey-T",
"rev": "2022.11.03",
"hash": "sha256-BLKzmkIopcvbngQFWS+f1MQfMBOpZ9S2qch7cDGY7/0="
"rev": "2022.11.09",
"hash": "sha256-rgXVOWmmc1ap/fCiXCvn34rhUbNRoMHbTXXYtnxk2pQ="
},
"ATSynEdit_Cmp": {
"owner": "Alexey-T",

View file

@ -21,12 +21,12 @@
}:
stdenv.mkDerivation rec {
version = "3.41.2";
version = "3.42.0";
pname = "gnome-latex";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "8xDwoUUEmfDP92y5+cXWaZGpUGH6s9bmcMSlZHOF1jM=";
sha256 = "ASMecEE3WNGu1pYNqhoigfqRNaYFkQuodM7VMn3LhUM=";
};
nativeBuildInputs = [

View file

@ -11,9 +11,9 @@ in
} {};
sublime4-dev = common {
buildVersion = "4137";
buildVersion = "4141";
dev = true;
x64sha256 = "oGBPoqVwTIQfIzh/8fEOOrZkrbzT0tG23ASeHbN/OMk=";
aarch64sha256 = "7mqYSoggfrcRoDh+QfA4rW0qvF2ZpiUY5yVxhxZKsfE=";
x64sha256 = "eFo9v4hSrp1gV56adVyFB9sOApOXlKNvVBW0wbFYG4g=";
aarch64sha256 = "MmwSptvSH507+X9GT8GC4tzZFzEfT2pKc+/Qu5SbMkM=";
} {};
}

View file

@ -124,7 +124,7 @@ stdenv.mkDerivation rec {
configurePhase = ''
export GIT_VERSION=${builtins.substring 0 7 src.rev}
buildFlags="$buildFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES"
buildFlags="$buildFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES}"
'' + optionalString enableX11 ''
cd x11
substituteInPlace Makefile.am \

View file

@ -1,86 +1,109 @@
{ lib, stdenv, fetchFromGitHub, gradle_6, perl, makeWrapper, jdk11, gsettings-desktop-schemas }:
{ lib
, stdenv
, fetchFromGitHub
, gradle_7
, perl
, makeWrapper
, writeText
, jdk11
, gsettings-desktop-schemas
}:
let
version = "0.9.3-3";
version = "1.1.0-1";
src = fetchFromGitHub {
owner = "mucommander";
repo = "mucommander";
rev = version;
sha256 = "1zhglsx3b5k6np3ppfkkrqz9wg0j7ip598xxfgn75gjl020w0can";
sha256 = "sha256-sCBbY3aBSuJmyOuy36pg8X2jX6hXwW8SW2UzYyp/isM=";
};
postPatch = ''
# there is no .git anyway
substituteInPlace build.gradle \
--replace "git = org.ajoberstar.grgit.Grgit.open(file('.'))" "" \
--replace "revision = git.head().id" "revision = 'abcdefgh'" \
--replace "proguard.enabled =" "// proguard.enabled =" \
--replace "version = '0.9.4'" "version = '${version}'"
# disable gradle plugins with native code and their targets
perl -i.bak1 -pe "s#(^\s*id '.+' version '.+'$)#// \1#" build.gradle
perl -i.bak2 -pe "s#(.*)#// \1# if /^(buildscript|task portable|task nsis|task proguard|task tgz|task\(afterEclipseImport\)|launch4j|macAppBundle|buildRpm|buildDeb|shadowJar)/ ... /^}/" build.gradle
# fix source encoding
find . -type f -name build.gradle \
-exec perl -i.bak3 -pe "s#(repositories\.jcenter\(\))#
\1
compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
#" {} \;
--replace "git = grgit.open(dir: project.rootDir)" "" \
--replace "id 'org.ajoberstar.grgit' version '3.1.1'" "" \
--replace "revision = git.head().id" "revision = '${version}'"
'';
# fake build to pre-download deps into fixed-output derivation
deps = stdenv.mkDerivation {
pname = "mucommander-deps";
inherit version src postPatch;
nativeBuildInputs = [ gradle_6 perl ];
nativeBuildInputs = [ gradle_7 perl ];
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
gradle --no-daemon build
gradle --no-daemon tgz
'';
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
# reproducible by sorting
installPhase = ''
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
| LC_ALL=C sort \
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
| sh
# copy maven-metadata.xml for commons-codec
# thankfully there is only one xml
cp $GRADLE_USER_HOME/caches/modules-2/resources-2.1/*/*/maven-metadata.xml $out/commons-codec/commons-codec/maven-metadata.xml
'';
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "1v5a76pvk7llbyv2rg50wlxc2wf468l2cslz1vi20aihycbyky7j";
outputHash = "sha256-15ThPkvcmOfa5m/HMJzjrOOUi/BYbd57p5bBfj5/3n4=";
};
in stdenv.mkDerivation {
in
stdenv.mkDerivation rec {
pname = "mucommander";
inherit version src postPatch;
nativeBuildInputs = [ gradle_6 perl makeWrapper ];
nativeBuildInputs = [ gradle_7 perl makeWrapper ];
# Point to our local deps repo
gradleInit = writeText "init.gradle" ''
logger.lifecycle 'Replacing Maven repositories with ${deps}...'
gradle.projectsLoaded {
rootProject.allprojects {
buildscript {
repositories {
clear()
maven { url '${deps}' }
}
}
repositories {
clear()
maven { url '${deps}' }
}
}
}
settingsEvaluated { settings ->
settings.pluginManagement {
repositories {
maven { url '${deps}' }
}
}
}
'';
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
# point to offline repo
find . -type f -name build.gradle \
-exec perl -i.bak3 -pe "s#repositories\.jcenter\(\)#
repositories { mavenLocal(); maven { url '${deps}' } }
#" {} \;
gradle --offline --no-daemon distTar
gradle --offline --init-script ${gradleInit} --no-daemon tgz
'';
installPhase = ''
mkdir $out
tar xvf build/distributions/mucommander-${version}.tar --directory=$out --strip=1
wrapProgram $out/bin/mucommander \
mkdir -p $out/share/mucommander
tar xvf build/distributions/mucommander-*.tgz --directory=$out/share/mucommander
makeWrapper $out/share/mucommander/mucommander.sh $out/bin/mucommander \
--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name} \
--set JAVA_HOME ${jdk11}
'';
meta = with lib; {
homepage = "http://www.mucommander.com/";
homepage = "https://www.mucommander.com/";
description = "Cross-platform file manager";
license = licenses.gpl3;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ jiegec ];
platforms = platforms.all;
};
}

View file

@ -1,34 +0,0 @@
{ lib, stdenv, fetchFromGitHub
, cmake, halide
, libpng, libjpeg, libtiff, libraw
}:
stdenv.mkDerivation rec {
pname = "hdr-plus";
version = "unstable-2021-12-10";
src = fetchFromGitHub {
owner = "timothybrooks";
repo = "hdr-plus";
rev = "0ab70564493bdbcd5aca899b5885505d0c824435";
sha256 = "sha256-QV8bGxkwFpbNzJG4kmrWwFQxUo2XzLPnoI1e32UmM6g=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ halide libpng libjpeg libtiff libraw ];
installPhase = ''
for bin in hdrplus stack_frames; do
install -Dm755 $bin $out/bin/$bin
done
'';
meta = with lib; {
description = "Burst photography pipeline based on Google's HDR+";
homepage = "https://www.timothybrooks.com/tech/hdr-plus/";
license = licenses.mit;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.all;
};
}

View file

@ -9,7 +9,7 @@
mkDerivation {
pname = "akonadi-import-wizard";
meta = {
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "akonadi-notes";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "akonadi-search";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -9,7 +9,7 @@
mkDerivation {
pname = "akonadiconsole";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -14,7 +14,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/akregator/";
description = "KDE feed reader";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "calendarsupport";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -13,7 +13,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/dolphin/";
description = "KDE file manager";
license = with lib.licenses; [ gpl2 fdl12 ];
license = with lib.licenses; [ gpl2Plus fdl12Plus ];
maintainers = [ lib.maintainers.ttuegel ];
broken = lib.versionOlder qtbase.version "5.14";
};

View file

@ -11,7 +11,7 @@ mkDerivation {
pname = "dragon";
meta = {
homepage = "https://apps.kde.org/dragonplayer/";
license = with lib.licenses; [ gpl2 fdl12 ];
license = with lib.licenses; [ gpl2Plus fdl12Plus ];
description = "A simple media player for KDE";
maintainers = [ lib.maintainers.jonathanreeve ];
};

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "eventviews";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/release-service/22.08.2/src -A '*.tar.xz' )
WGET_ARGS=( https://download.kde.org/stable/release-service/22.08.3/src -A '*.tar.xz' )

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "grantleetheme";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
broken = lib.versionOlder qtbase.version "5.13.0";
};

View file

@ -11,7 +11,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/gwenview/";
description = "KDE image viewer";
license = with lib.licenses; [ gpl2 fdl12 ];
license = with lib.licenses; [ gpl2Plus fdl12Plus ];
maintainers = [ lib.maintainers.ttuegel ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "incidenceeditor";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -12,7 +12,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/kaddressbook/";
description = "KDE contact manager";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "kcalutils";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -12,7 +12,7 @@
mkDerivation {
pname = "kdepim-runtime";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ];

View file

@ -10,7 +10,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/kdialog/";
description = "Display dialog boxes from shell scripts";
license = with lib.licenses; [ gpl2 fdl12 ];
license = with lib.licenses; [ gpl2Plus fdl12Plus ];
maintainers = with lib.maintainers; [ peterhoeg ];
};

View file

@ -10,7 +10,7 @@ mkDerivation {
buildInputs = [ kio kparts kwindowsystem ];
meta = with lib; {
homepage = "http://www.kde.org";
license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus bsd3 ];
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.linux;
};

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "kidentitymanagement";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "kimap";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "kldap";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -18,7 +18,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/kleopatra/";
description = "Certificate manager and unified crypto GUI";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
}

View file

@ -9,7 +9,7 @@
mkDerivation {
pname = "kmail-account-wizard";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ];

View file

@ -55,7 +55,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/kmail2/";
description = "Mail client";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -9,7 +9,7 @@
mkDerivation {
pname = "kmailtransport";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "kmbox";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -10,7 +10,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/kmix/";
description = "Sound mixer";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = [ lib.maintainers.rongcuid ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -28,7 +28,7 @@ mkDerivation {
meta = {
homepage = "https://github.com/KDE/kmousetool";
description = "Program that clicks the mouse for you";
license = with lib.licenses; [ gpl2 fdl12 ];
license = with lib.licenses; [ gpl2Plus fdl12Plus ];
maintainers = [ lib.maintainers.jayesh-bhoot ];
};
}

View file

@ -7,7 +7,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/kmplot/";
description = "Mathematical function plotter";
license = with lib.licenses; [ gpl2Plus fdl12 ];
license = with lib.licenses; [ gpl2Plus fdl12Plus ];
maintainers = [ lib.maintainers.orivej ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -12,7 +12,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/konsole/";
description = "KDE terminal emulator";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = with lib.maintainers; [ ttuegel turion ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -12,7 +12,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/kontact/";
description = "Personal information manager";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "kontactinterface";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -15,7 +15,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/korganizer/";
description = "Personal organizer";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -21,7 +21,7 @@ mkDerivation {
freecell-solver
];
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = with lib.maintainers; [ rnhmjoj ];
};
}

View file

@ -9,7 +9,7 @@
mkDerivation {
pname = "kpimtextedit";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
broken = lib.versionOlder qtbase.version "5.13.0";
};

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "kqtquickcharts";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = [ lib.maintainers.ttuegel ];
};
nativeBuildInputs = [ extra-cmake-modules ];

View file

@ -19,7 +19,7 @@ mkDerivation {
meta = with lib; {
homepage = "http://www.kde.org";
description = "Remote desktop client";
license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus bsd3 ];
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.linux;
broken = lib.versionOlder qtbase.version "5.14";

View file

@ -11,7 +11,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/krfb/";
description = "Desktop sharing (VNC)";
license = with lib.licenses; [ gpl2 fdl12 ];
license = with lib.licenses; [ gpl2Plus fdl12Plus ];
maintainers = with lib.maintainers; [ jerith666 ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "ksmtp";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "ktnef";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "libgravatar";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -9,7 +9,7 @@
mkDerivation {
pname = "libkdepim";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "libkgapi";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
broken = lib.versionOlder qtbase.version "5.14.0";
};

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "libkleo";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -9,7 +9,7 @@
mkDerivation {
pname = "libksieve";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
outputs = [ "out" "dev" ];

View file

@ -9,7 +9,7 @@
mkDerivation {
pname = "mailcommon";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "mailimporter";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -7,7 +7,7 @@
mkDerivation {
pname = "mbox-importer";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -11,7 +11,7 @@
mkDerivation {
pname = "messagelib";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -30,7 +30,7 @@ mkDerivation {
meta = with lib; {
homepage = "http://www.kde.org";
description = "KDE document viewer";
license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus bsd3 ];
maintainers = with maintainers; [ ttuegel turion ];
platforms = lib.platforms.linux;
};

View file

@ -12,7 +12,7 @@ mkDerivation {
meta = {
homepage = "https://apps.kde.org/pimdataexporter/";
description = "Saves and restores all data from PIM apps";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -8,7 +8,7 @@
mkDerivation {
pname = "pim-sieve-editor";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -10,7 +10,7 @@
mkDerivation {
pname = "pimcommon";
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
maintainers = kdepimTeam;
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];

View file

@ -11,7 +11,7 @@ mkDerivation {
meta = with lib; {
homepage = "https://edu.kde.org/rocs/";
description = "A graph theory IDE.";
license = with licenses; [ gpl2 lgpl21 fdl12 ];
license = with licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
platforms = lib.platforms.linux;
maintainers = with maintainers; [ knairda ];
};

File diff suppressed because it is too large Load diff

View file

@ -21,14 +21,14 @@
}:
mkDerivation rec {
version = "1.2.3";
version = "1.3.0";
pname = "syncthingtray";
src = fetchFromGitHub {
owner = "Martchus";
repo = "syncthingtray";
rev = "v${version}";
sha256 = "sha256-jMl2kXpHVXH/TfdPbq6bzdpNec6f1AUWsMNZzaAvK/I=";
sha256 = "sha256-uhVRO9aiYJbUmwDp1+LIYF3wNBbVduVpTtVzaS0oUMU=";
};
buildInputs = [

View file

@ -21,6 +21,8 @@ buildGoModule rec {
vendorSha256 = "sha256-fsMBL9qyhIrV6eAsqpSaNniibMdYRVBnl2KCzStvMGQ=";
ldflags = [ "-s" "-w" "-X github.com/0xERR0R/blocky/util.Version=${version}" ];
meta = with lib; {
description = "Fast and lightweight DNS proxy as ad-blocker for local network with many features.";
homepage = "https://0xerr0r.github.io/blocky";

View file

@ -65,6 +65,9 @@ let
# These are the providers that don't fall in line with the default model
special-providers =
{
netlify = automated-providers.netlify.overrideAttrs (_: { meta.broken = stdenv.isDarwin; });
pass = automated-providers.pass.overrideAttrs (_: { meta.broken = stdenv.isDarwin; });
tencentcloud = automated-providers.tencentcloud.overrideAttrs (_: { meta.broken = stdenv.isDarwin; });
# mkisofs needed to create ISOs holding cloud-init data and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630
libvirt = automated-providers.libvirt.overrideAttrs (_: { propagatedBuildInputs = [ cdrtools ]; });
};
@ -77,6 +80,7 @@ let
in
lib.optionalAttrs config.allowAliases {
b2 = removed "b2" "2022/06";
checkpoint = removed "checkpoint" "2022/11";
dome9 = removed "dome9" "2022/08";
ncloud = removed "ncloud" "2022/08";
opc = archived "opc" "2022/05";

View file

@ -48,13 +48,13 @@
"version": "3.0.0"
},
"alicloud": {
"hash": "sha256-IP5TCFi4NEjnBa9rKCZI6TVFAAyjfsZbmc+PgkwgvIo=",
"hash": "sha256-2ClWPe4sTt6rW9AamDH8td/W5/yDdD1qR4V1pzJm/0I=",
"owner": "aliyun",
"provider-source-address": "registry.terraform.io/aliyun/alicloud",
"repo": "terraform-provider-alicloud",
"rev": "v1.190.0",
"rev": "v1.191.0",
"vendorHash": null,
"version": "1.190.0"
"version": "1.191.0"
},
"ansible": {
"hash": "sha256-3nha5V4rNgVzgqliebmbC5e12Lj/zlCsyyiIVFlmUrY=",
@ -148,22 +148,22 @@
"version": "1.0.0"
},
"baiducloud": {
"hash": "sha256-kG0tE929wtiuSIwT0r6t/odirvZpdnTgcPGFHXmLYYQ=",
"hash": "sha256-O2DU47kabPleWr+HodOx+Canp1bFypAZ3UMJnC2mzqQ=",
"owner": "baidubce",
"provider-source-address": "registry.terraform.io/baidubce/baiducloud",
"repo": "terraform-provider-baiducloud",
"rev": "v1.17.1",
"rev": "v1.18.0",
"vendorHash": null,
"version": "1.17.1"
"version": "1.18.0"
},
"bigip": {
"hash": "sha256-uSe+J4AlW8Dt96BVF1ZI/yrgWUbZsl64b/D+k5ysHC0=",
"hash": "sha256-erJeg7KF3QUi85ueOQTrab2woIC1nkMXRIj/pFm0DGY=",
"owner": "F5Networks",
"provider-source-address": "registry.terraform.io/F5Networks/bigip",
"repo": "terraform-provider-bigip",
"rev": "v1.15.2",
"rev": "v1.16.0",
"vendorHash": null,
"version": "1.15.2"
"version": "1.16.0"
},
"bitbucket": {
"hash": "sha256-0Sts826Yt6xVVwGpqTC1ZAiNB2+7S6z9rPXDGPNpmOk=",
@ -202,17 +202,6 @@
"vendorHash": "sha256-VnYRDBneQ+bUzISJM9DJdBEBmjA1WOXPo+kaYBW4w4U=",
"version": "1.6.2"
},
"checkpoint": {
"deleteVendor": true,
"hash": "sha256-pErJcwpUGg2cGKWiagjfneUjSDtT+BxLy5JjZvwCUH0=",
"owner": "CheckPointSW",
"provider-source-address": "registry.terraform.io/CheckPointSW/checkpoint",
"proxyVendor": true,
"repo": "terraform-provider-checkpoint",
"rev": "v2.1.0",
"vendorHash": "sha256-6tH/U0qJ83w9qibuF8/TcRAsCke/VnRVRGfHaWsW9+4=",
"version": "2.1.0"
},
"ciscoasa": {
"hash": "sha256-xzc44FEy2MPo51Faq/VFwg411JK9e0kQucpt0vdN8yg=",
"owner": "CiscoDevNet",
@ -433,13 +422,13 @@
"version": "2.2.0"
},
"github": {
"hash": "sha256-fPT7wqpwAKQKqe9fZZsdPqffIQ9N4Iz/kHpFbTkUTRQ=",
"hash": "sha256-cLBBz5qPRY+TpcO0yfyTXOQLQYz58hB1l6ufThbBSuM=",
"owner": "integrations",
"provider-source-address": "registry.terraform.io/integrations/github",
"repo": "terraform-provider-github",
"rev": "v5.7.0",
"rev": "v5.8.0",
"vendorHash": null,
"version": "5.7.0"
"version": "5.8.0"
},
"gitlab": {
"hash": "sha256-eNd1o0UjG6A9OTRmcJfcPLLtWIJmdZ+viDnSZhyHpgY=",
@ -580,13 +569,13 @@
"version": "0.1.2"
},
"ibm": {
"hash": "sha256-zxPl76D5ddw+7WowQf4LY9MYTGfX3CMEBQofXKwbowQ=",
"hash": "sha256-VFJ86dMKOHzfq5W154+kmX9poRFjT+LlLRl3HNA52pc=",
"owner": "IBM-Cloud",
"provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
"repo": "terraform-provider-ibm",
"rev": "v1.47.0",
"vendorHash": "sha256-Ggiu+nGTABxK+HiBvY2l/l3+Gqg4GoczZJf69v3Ylfk=",
"version": "1.47.0"
"rev": "v1.47.1",
"vendorHash": "sha256-9UIM6T6ceF6WXIbjhSuDv1lNn9rphcZoePPk11X2Olo=",
"version": "1.47.1"
},
"icinga2": {
"hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
@ -634,13 +623,13 @@
"version": "4.0.1"
},
"ksyun": {
"hash": "sha256-xmBpDYN1MRQ9cyIOqHMAD7RucRkOKmwnmzjIsjxA7VQ=",
"hash": "sha256-62ylxBt5F3J2n7BW8qD5ukE8OJa63E6Qyuuf8dPo9FQ=",
"owner": "kingsoftcloud",
"provider-source-address": "registry.terraform.io/kingsoftcloud/ksyun",
"repo": "terraform-provider-ksyun",
"rev": "v1.3.56",
"rev": "v1.3.57",
"vendorHash": "sha256-miHKAz+ONXtuC1DNukcyZbbaYReY69dz9Zk6cJdORdQ=",
"version": "1.3.56"
"version": "1.3.57"
},
"kubectl": {
"hash": "sha256-UkUwWi7Z9cSMyZakD6JxMl+qdczAYfZQgwroCUjFIUM=",

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "dnscontrol";
version = "3.21.0";
version = "3.22.0";
src = fetchFromGitHub {
owner = "StackExchange";
repo = pname;
rev = "v${version}";
sha256 = "sha256-S07v9SATmE7gqM7+X/eWBG5A+h8lAKJ6mPvU7ImEfN4=";
sha256 = "sha256-idcgBaUOOFsQmId9I8X5ixxGkfrX9NG328DliHNzk6s=";
};
vendorSha256 = "sha256-h3UOFs7pxf9gwVAcjih8Kxr0b+68W1DanYoTpmeirg8=";

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "go-graft";
version = "0.2.13";
version = "0.2.14";
src = fetchFromGitHub {
owner = "mzz2017";
repo = "gg";
rev = "v${version}";
sha256 = "sha256-+AQFvYmuyU2z0F8XHdzkimf/zHMVUiw3TN2jMXTe11s=";
sha256 = "sha256-XymtLguAHCtOrRADRcWsPYq9cZo+FVUPOceIj7SmH8k=";
};
CGO_ENABLED = 0;

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, qt5, cmake
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, qt5, cmake
, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
, alsa-lib, python3
, rnnoise
@ -108,6 +108,17 @@ let
sha256 = "sha256-SYsGCuj3HeyAQRUecGLaRdJR9Rm7lbaM54spY/zx0jU=";
fetchSubmodules = true;
};
patches = [
# fixes 'static assertion failed: static_assert(sizeof(CCameraAngles) == 0x408, "");'
# when compiling pkgsi686Linux.mumble, which is a dependency of x64 mumble_overlay
# https://github.com/mumble-voip/mumble/pull/5850
# Remove with next version update
(fetchpatch {
url = "https://github.com/mumble-voip/mumble/commit/13c051b36b387356815cff5d685bc628b74ba136.patch";
hash = "sha256-Rq8fb6NFd4DCNWm6OOMYIP7tBllufmQcB5CSxPU4qqg=";
})
];
};
in {
mumble = client source;

View file

@ -8,6 +8,7 @@ in stdenv.mkDerivation {
version = mumble.version;
inherit (mumble) src;
patches = mumble.patches or [];
installPhase = ''
mkdir -p $out/lib

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