Merge master into haskell-updates
This commit is contained in:
commit
3ff06869dc
5
.github/CODEOWNERS
vendored
5
.github/CODEOWNERS
vendored
@ -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
|
||||
|
@ -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}
|
||||
|
@ -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";
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
@ -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
|
||||
|
@ -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}
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
));
|
||||
};
|
||||
}));
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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}
|
||||
'';
|
||||
}
|
||||
|
@ -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 ''
|
||||
|
@ -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.
|
||||
|
85
nixos/modules/system/activation/specialisation.nix
Normal file
85
nixos/modules/system/activation/specialisation.nix
Normal 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;
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
@ -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 {
|
||||
|
@ -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.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -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 {};
|
||||
|
@ -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"
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
191
pkgs/applications/audio/ardour/6.nix
Normal file
191
pkgs/applications/audio/ardour/6.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 ]}"
|
||||
'';
|
||||
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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)
|
||||
|
@ -36,6 +36,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-pnAdlCCqWzR0W8dF9CE48K8yHMVIx3egZlXvibxU18A=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
|
@ -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";
|
||||
|
26
pkgs/applications/blockchains/sparrow/update.sh
Executable file
26
pkgs/applications/blockchains/sparrow/update.sh
Executable 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"
|
@ -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 = ''
|
||||
|
@ -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",
|
||||
|
@ -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 = [
|
||||
|
@ -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=";
|
||||
} {};
|
||||
}
|
||||
|
@ -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 \
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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 ];
|
||||
|
@ -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' )
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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 ];
|
||||
|
@ -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" ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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
@ -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 = [
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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=",
|
||||
|
@ -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=";
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user