mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-08-25 17:55:21 +00:00
Merge release-20.03 into staging-20.03
This commit is contained in:
4
.github/CONTRIBUTING.md
vendored
4
.github/CONTRIBUTING.md
vendored
@@ -53,9 +53,9 @@ For package version upgrades and such a one-line commit message is usually suffi
|
||||
To [backport a change into a release branch](https://nixos.org/nixpkgs/manual/#submitting-changes-stable-release-branches):
|
||||
|
||||
1. Take note of the commit in which the change was introduced into `master`.
|
||||
2. Check out the target _release branch_, e.g. `release-19.09`. Do not use a _channel branch_ like `nixos-19.09` or `nixpkgs-19.09`.
|
||||
2. Check out the target _release branch_, e.g. `release-20.03`. Do not use a _channel branch_ like `nixos-20.03` or `nixpkgs-20.03`.
|
||||
3. Use `git cherry-pick -x <original commit>`.
|
||||
4. Open your backport PR. Make sure to select the release branch (e.g. `release-19.09`) as the target branch of the PR, and link to the PR in which the original change was made to `master`.
|
||||
4. Open your backport PR. Make sure to select the release branch (e.g. `release-20.03`) as the target branch of the PR, and link to the PR in which the original change was made to `master`.
|
||||
|
||||
## Reviewing contributions
|
||||
|
||||
|
||||
@@ -44,9 +44,9 @@ Nixpkgs and NixOS are built and tested by our continuous integration
|
||||
system, [Hydra](https://hydra.nixos.org/).
|
||||
|
||||
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
|
||||
* [Continuous package builds for the NixOS 19.09 release](https://hydra.nixos.org/jobset/nixos/release-19.09)
|
||||
* [Continuous package builds for the NixOS 20.03 release](https://hydra.nixos.org/jobset/nixos/release-20.03)
|
||||
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
|
||||
* [Tests for the NixOS 19.09 release](https://hydra.nixos.org/job/nixos/release-19.09/tested#tabs-constituents)
|
||||
* [Tests for the NixOS 20.03 release](https://hydra.nixos.org/job/nixos/release-20.03/tested#tabs-constituents)
|
||||
|
||||
Artifacts successfully built with Hydra are published to cache at
|
||||
https://cache.nixos.org/. When successful build and test criteria are
|
||||
|
||||
@@ -3997,6 +3997,12 @@
|
||||
githubId = 32152;
|
||||
name = "Luka Blaskovic";
|
||||
};
|
||||
lbpdt = {
|
||||
email = "nix@pdtpartners.com";
|
||||
github = "lbpdt";
|
||||
githubId = 45168934;
|
||||
name = "Louis Blin";
|
||||
};
|
||||
ldelelis = {
|
||||
email = "ldelelis@est.frba.utn.edu.ar";
|
||||
github = "ldelelis";
|
||||
@@ -7634,6 +7640,12 @@
|
||||
githubId = 3889405;
|
||||
name = "vyp";
|
||||
};
|
||||
wamserma = {
|
||||
name = "Markus S. Wamser";
|
||||
email = "github-dev@mail2013.wamser.eu";
|
||||
github = "wamserma";
|
||||
githubId = 60148;
|
||||
};
|
||||
waynr = {
|
||||
name = "Wayne Warren";
|
||||
email = "wayne.warren.s@gmail.com";
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<para>
|
||||
<emphasis>Stable channels</emphasis>, such as
|
||||
<literal
|
||||
xlink:href="https://nixos.org/channels/nixos-19.09">nixos-19.09</literal>.
|
||||
xlink:href="https://nixos.org/channels/nixos-20.03">nixos-20.03</literal>.
|
||||
These only get conservative bug fixes and package upgrades. For instance,
|
||||
a channel update may cause the Linux kernel on your system to be upgraded
|
||||
from 4.19.34 to 4.19.38 (a minor bug fix), but not from
|
||||
@@ -38,7 +38,7 @@
|
||||
<para>
|
||||
<emphasis>Small channels</emphasis>, such as
|
||||
<literal
|
||||
xlink:href="https://nixos.org/channels/nixos-19.09-small">nixos-19.09-small</literal>
|
||||
xlink:href="https://nixos.org/channels/nixos-20.03-small">nixos-20.03-small</literal>
|
||||
or
|
||||
<literal
|
||||
xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>.
|
||||
@@ -63,8 +63,8 @@
|
||||
<para>
|
||||
When you first install NixOS, you’re automatically subscribed to the NixOS
|
||||
channel that corresponds to your installation source. For instance, if you
|
||||
installed from a 19.09 ISO, you will be subscribed to the
|
||||
<literal>nixos-19.09</literal> channel. To see which NixOS channel you’re
|
||||
installed from a 20.03 ISO, you will be subscribed to the
|
||||
<literal>nixos-20.03</literal> channel. To see which NixOS channel you’re
|
||||
subscribed to, run the following as root:
|
||||
<screen>
|
||||
# nix-channel --list | grep nixos
|
||||
@@ -75,13 +75,13 @@ nixos https://nixos.org/channels/nixos-unstable
|
||||
# nix-channel --add https://nixos.org/channels/<replaceable>channel-name</replaceable> nixos
|
||||
</screen>
|
||||
(Be sure to include the <literal>nixos</literal> parameter at the end.) For
|
||||
instance, to use the NixOS 19.09 stable channel:
|
||||
instance, to use the NixOS 20.03 stable channel:
|
||||
<screen>
|
||||
# nix-channel --add https://nixos.org/channels/nixos-19.09 nixos
|
||||
# nix-channel --add https://nixos.org/channels/nixos-20.03 nixos
|
||||
</screen>
|
||||
If you have a server, you may want to use the “small” channel instead:
|
||||
<screen>
|
||||
# nix-channel --add https://nixos.org/channels/nixos-19.09-small nixos
|
||||
# nix-channel --add https://nixos.org/channels/nixos-20.03-small nixos
|
||||
</screen>
|
||||
And if you want to live on the bleeding edge:
|
||||
<screen>
|
||||
@@ -132,7 +132,7 @@ nixos https://nixos.org/channels/nixos-unstable
|
||||
kernel, initrd or kernel modules.
|
||||
You can also specify a channel explicitly, e.g.
|
||||
<programlisting>
|
||||
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.09;
|
||||
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-20.03;
|
||||
</programlisting>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-release-20.03">
|
||||
<title>Release 20.03 (“Markhor”, 2020.03/??)</title>
|
||||
<title>Release 20.03 (“Markhor”, 2020.04/20)</title>
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
@@ -1145,9 +1145,11 @@ systemd.services.nginx.serviceConfig.User = lib.mkForce "root";
|
||||
As well as this, the options <literal>security.acme.acceptTerms</literal> and either
|
||||
<literal>security.acme.email</literal> or <literal>security.acme.certs.<name>.email</literal>
|
||||
must be set in order to use the ACME module.
|
||||
Certificates will be regenerated anew on the next renewal date. The credentials for simp-le are
|
||||
preserved and thus it is possible to roll back to previous versions without breaking certificate
|
||||
generation.
|
||||
Certificates will be regenerated on activation, no account or certificate will be migrated from simp-le.
|
||||
In particular private keys will not be preserved. However, the credentials for simp-le are preserved and
|
||||
thus it is possible to roll back to previous versions without breaking certificate generation.
|
||||
Note also that in contrary to simp-le a new private key is recreated at each renewal by default, which can
|
||||
have consequences if you embed your public key in apps.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
||||
@@ -111,10 +111,10 @@ in
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Select internationalisation properties.
|
||||
# i18n = {
|
||||
# consoleFont = "Lat2-Terminus16";
|
||||
# consoleKeyMap = "us";
|
||||
# defaultLocale = "en_US.UTF-8";
|
||||
# i18n.defaultLocale = "en_US.UTF-8";
|
||||
# console = {
|
||||
# font = "Lat2-Terminus16";
|
||||
# keyMap = "us";
|
||||
# };
|
||||
|
||||
# Set your time zone.
|
||||
|
||||
@@ -109,8 +109,8 @@ in
|
||||
PRETTY_NAME="NixOS ${cfg.release} (${cfg.codeName})"
|
||||
LOGO="nix-snowflake"
|
||||
HOME_URL="https://nixos.org/"
|
||||
DOCUMENTATION_URL="https://nixos.org/nixos/manual/index.html"
|
||||
SUPPORT_URL="https://nixos.org/nixos/support.html"
|
||||
DOCUMENTATION_URL="https://nixos.org/learn.html"
|
||||
SUPPORT_URL="https://nixos.org/community.html"
|
||||
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
|
||||
'';
|
||||
|
||||
|
||||
@@ -297,12 +297,6 @@ in
|
||||
wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
# With RemainAfterExit the service is considered active even
|
||||
# after the main process having exited, which means when it
|
||||
# gets changed, the activation phase restarts it, meaning
|
||||
# the permissions of the StateDirectory get adjusted
|
||||
# according to the specified group
|
||||
RemainAfterExit = true;
|
||||
User = data.user;
|
||||
Group = data.group;
|
||||
PrivateTmp = true;
|
||||
@@ -325,7 +319,9 @@ in
|
||||
|
||||
# Test that existing cert is older than new cert
|
||||
KEY=${spath}/certificates/${keyName}.key
|
||||
KEY_CHANGED=no
|
||||
if [ -e $KEY -a $KEY -nt key.pem ]; then
|
||||
KEY_CHANGED=yes
|
||||
cp -p ${spath}/certificates/${keyName}.key key.pem
|
||||
cp -p ${spath}/certificates/${keyName}.crt fullchain.pem
|
||||
cp -p ${spath}/certificates/${keyName}.issuer.crt chain.pem
|
||||
@@ -336,7 +332,10 @@ in
|
||||
chmod ${fileMode} *.pem
|
||||
chown '${data.user}:${data.group}' *.pem
|
||||
|
||||
${data.postRun}
|
||||
if [ "$KEY_CHANGED" = "yes" ]; then
|
||||
: # noop in case postRun is empty
|
||||
${data.postRun}
|
||||
fi
|
||||
'';
|
||||
in
|
||||
"+${script}";
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
<link xlink:href="https://github.com/matrix-org/synapse#synapse-installation">
|
||||
installation instructions of Synapse </link>.
|
||||
<programlisting>
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
fqdn =
|
||||
let
|
||||
@@ -46,7 +47,7 @@ in {
|
||||
<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];
|
||||
|
||||
<link linkend="opt-services.postgresql.enable">services.postgresql.enable</link> = true;
|
||||
<link linkend="opt-services.postgresql.initialScript">services.postgresql.initialScript</link> = ''
|
||||
<link linkend="opt-services.postgresql.initialScript">services.postgresql.initialScript</link> = pkgs.writeText "synapse-init.sql" ''
|
||||
CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
|
||||
CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
|
||||
TEMPLATE template0
|
||||
|
||||
@@ -209,14 +209,14 @@ in {
|
||||
user = "php";
|
||||
group = "php";
|
||||
phpPackage = pkgs.php;
|
||||
settings = '''
|
||||
settings = {
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 10;
|
||||
"pm.min_spare_servers" = 5;
|
||||
"pm.max_spare_servers" = 20;
|
||||
"pm.max_requests" = 500;
|
||||
''';
|
||||
};
|
||||
}
|
||||
}'';
|
||||
description = ''
|
||||
|
||||
@@ -137,6 +137,8 @@ let
|
||||
''}
|
||||
|
||||
# Copy secrets if needed.
|
||||
#
|
||||
# TODO: move out to a separate script; see #85000.
|
||||
${optionalString (!config.boot.loader.supportsInitrdSecrets)
|
||||
(concatStringsSep "\n" (mapAttrsToList (dest: source:
|
||||
let source' = if source == null then dest else source; in
|
||||
@@ -565,6 +567,25 @@ in
|
||||
message = "boot.resumeDevice has to be an absolute path."
|
||||
+ " Old \"x:y\" style is no longer supported.";
|
||||
}
|
||||
# TODO: remove when #85000 is fixed
|
||||
{ assertion = !config.boot.loader.supportsInitrdSecrets ->
|
||||
all (source:
|
||||
builtins.isPath source ||
|
||||
(builtins.isString source && hasPrefix source builtins.storeDir))
|
||||
(attrValues config.boot.initrd.secrets);
|
||||
message = ''
|
||||
boot.loader.initrd.secrets values must be unquoted paths when
|
||||
using a bootloader that doesn't natively support initrd
|
||||
secrets, e.g.:
|
||||
|
||||
boot.initrd.secrets = {
|
||||
"/etc/secret" = /path/to/secret;
|
||||
};
|
||||
|
||||
Note that this will result in all secrets being stored
|
||||
world-readable in the Nix store!
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
system.build =
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
let
|
||||
commonConfig = ./common/letsencrypt/common.nix;
|
||||
commonConfig = ./common/acme/client;
|
||||
|
||||
dnsScript = {writeScript, dnsAddress, bash, curl}: writeScript "dns-hook.sh" ''
|
||||
#!${bash}/bin/bash
|
||||
@@ -16,8 +16,8 @@ in import ./make-test-python.nix {
|
||||
name = "acme";
|
||||
|
||||
nodes = rec {
|
||||
letsencrypt = { nodes, lib, ... }: {
|
||||
imports = [ ./common/letsencrypt ];
|
||||
acme = { nodes, lib, ... }: {
|
||||
imports = [ ./common/acme/server ];
|
||||
networking.nameservers = lib.mkForce [
|
||||
nodes.dnsserver.config.networking.primaryIPAddress
|
||||
];
|
||||
@@ -33,8 +33,7 @@ in import ./make-test-python.nix {
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.pebble}/bin/pebble-challtestsrv -dns01 ':53' -defaultIPv6 '' -defaultIPv4 '${nodes.webserver.config.networking.primaryIPAddress}'";
|
||||
# Required to bind on privileged ports.
|
||||
User = "root";
|
||||
Group = "root";
|
||||
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -45,19 +44,16 @@ in import ./make-test-python.nix {
|
||||
nodes.dnsserver.config.networking.primaryIPAddress
|
||||
];
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
security.acme = {
|
||||
server = "https://acme-v02.api.letsencrypt.org/dir";
|
||||
certs."standalone.com" = {
|
||||
webroot = "/var/lib/acme/acme-challenges";
|
||||
};
|
||||
security.acme.certs."standalone.test" = {
|
||||
webroot = "/var/lib/acme/acme-challenges";
|
||||
};
|
||||
systemd.targets."acme-finished-standalone.com" = {};
|
||||
systemd.services."acme-standalone.com" = {
|
||||
wants = [ "acme-finished-standalone.com.target" ];
|
||||
before = [ "acme-finished-standalone.com.target" ];
|
||||
systemd.targets."acme-finished-standalone.test" = {};
|
||||
systemd.services."acme-standalone.test" = {
|
||||
wants = [ "acme-finished-standalone.test.target" ];
|
||||
before = [ "acme-finished-standalone.test.target" ];
|
||||
};
|
||||
services.nginx.enable = true;
|
||||
services.nginx.virtualHosts."standalone.com" = {
|
||||
services.nginx.virtualHosts."standalone.test" = {
|
||||
locations."/.well-known/acme-challenge".root = "/var/lib/acme/acme-challenges";
|
||||
};
|
||||
};
|
||||
@@ -71,16 +67,16 @@ in import ./make-test-python.nix {
|
||||
|
||||
# A target remains active. Use this to probe the fact that
|
||||
# a service fired eventhough it is not RemainAfterExit
|
||||
systemd.targets."acme-finished-a.example.com" = {};
|
||||
systemd.services."acme-a.example.com" = {
|
||||
wants = [ "acme-finished-a.example.com.target" ];
|
||||
before = [ "acme-finished-a.example.com.target" ];
|
||||
systemd.targets."acme-finished-a.example.test" = {};
|
||||
systemd.services."acme-a.example.test" = {
|
||||
wants = [ "acme-finished-a.example.test.target" ];
|
||||
before = [ "acme-finished-a.example.test.target" ];
|
||||
after = [ "nginx.service" ];
|
||||
};
|
||||
|
||||
services.nginx.enable = true;
|
||||
|
||||
services.nginx.virtualHosts."a.example.com" = {
|
||||
services.nginx.virtualHosts."a.example.test" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/".root = pkgs.runCommand "docroot" {} ''
|
||||
@@ -89,17 +85,17 @@ in import ./make-test-python.nix {
|
||||
'';
|
||||
};
|
||||
|
||||
security.acme.server = "https://acme-v02.api.letsencrypt.org/dir";
|
||||
security.acme.server = "https://acme.test/dir";
|
||||
|
||||
nesting.clone = [
|
||||
({pkgs, ...}: {
|
||||
systemd.targets."acme-finished-b.example.com" = {};
|
||||
systemd.services."acme-b.example.com" = {
|
||||
wants = [ "acme-finished-b.example.com.target" ];
|
||||
before = [ "acme-finished-b.example.com.target" ];
|
||||
systemd.targets."acme-finished-b.example.test" = {};
|
||||
systemd.services."acme-b.example.test" = {
|
||||
wants = [ "acme-finished-b.example.test.target" ];
|
||||
before = [ "acme-finished-b.example.test.target" ];
|
||||
after = [ "nginx.service" ];
|
||||
};
|
||||
services.nginx.virtualHosts."b.example.com" = {
|
||||
services.nginx.virtualHosts."b.example.test" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/".root = pkgs.runCommand "docroot" {} ''
|
||||
@@ -109,8 +105,8 @@ in import ./make-test-python.nix {
|
||||
};
|
||||
})
|
||||
({pkgs, config, nodes, lib, ...}: {
|
||||
security.acme.certs."example.com" = {
|
||||
domain = "*.example.com";
|
||||
security.acme.certs."example.test" = {
|
||||
domain = "*.example.test";
|
||||
dnsProvider = "exec";
|
||||
dnsPropagationCheck = false;
|
||||
credentialsFile = with pkgs; writeText "wildcard.env" ''
|
||||
@@ -119,17 +115,17 @@ in import ./make-test-python.nix {
|
||||
user = config.services.nginx.user;
|
||||
group = config.services.nginx.group;
|
||||
};
|
||||
systemd.targets."acme-finished-example.com" = {};
|
||||
systemd.services."acme-example.com" = {
|
||||
wants = [ "acme-finished-example.com.target" ];
|
||||
before = [ "acme-finished-example.com.target" "nginx.service" ];
|
||||
systemd.targets."acme-finished-example.test" = {};
|
||||
systemd.services."acme-example.test" = {
|
||||
wants = [ "acme-finished-example.test.target" ];
|
||||
before = [ "acme-finished-example.test.target" "nginx.service" ];
|
||||
wantedBy = [ "nginx.service" ];
|
||||
};
|
||||
services.nginx.virtualHosts."c.example.com" = {
|
||||
services.nginx.virtualHosts."c.example.test" = {
|
||||
forceSSL = true;
|
||||
sslCertificate = config.security.acme.certs."example.com".directory + "/cert.pem";
|
||||
sslTrustedCertificate = config.security.acme.certs."example.com".directory + "/full.pem";
|
||||
sslCertificateKey = config.security.acme.certs."example.com".directory + "/key.pem";
|
||||
sslCertificate = config.security.acme.certs."example.test".directory + "/cert.pem";
|
||||
sslTrustedCertificate = config.security.acme.certs."example.test".directory + "/full.pem";
|
||||
sslCertificateKey = config.security.acme.certs."example.test".directory + "/key.pem";
|
||||
locations."/".root = pkgs.runCommand "docroot" {} ''
|
||||
mkdir -p "$out"
|
||||
echo hello world > "$out/index.html"
|
||||
@@ -161,46 +157,44 @@ in import ./make-test-python.nix {
|
||||
client.start()
|
||||
dnsserver.start()
|
||||
|
||||
letsencrypt.wait_for_unit("default.target")
|
||||
acme.wait_for_unit("default.target")
|
||||
dnsserver.wait_for_unit("pebble-challtestsrv.service")
|
||||
client.succeed(
|
||||
'curl --data \'{"host": "acme-v02.api.letsencrypt.org", "addresses": ["${nodes.letsencrypt.config.networking.primaryIPAddress}"]}\' http://${nodes.dnsserver.config.networking.primaryIPAddress}:8055/add-a'
|
||||
'curl --data \'{"host": "acme.test", "addresses": ["${nodes.acme.config.networking.primaryIPAddress}"]}\' http://${nodes.dnsserver.config.networking.primaryIPAddress}:8055/add-a'
|
||||
)
|
||||
client.succeed(
|
||||
'curl --data \'{"host": "standalone.com", "addresses": ["${nodes.acmeStandalone.config.networking.primaryIPAddress}"]}\' http://${nodes.dnsserver.config.networking.primaryIPAddress}:8055/add-a'
|
||||
'curl --data \'{"host": "standalone.test", "addresses": ["${nodes.acmeStandalone.config.networking.primaryIPAddress}"]}\' http://${nodes.dnsserver.config.networking.primaryIPAddress}:8055/add-a'
|
||||
)
|
||||
|
||||
letsencrypt.start()
|
||||
acme.start()
|
||||
acmeStandalone.start()
|
||||
|
||||
letsencrypt.wait_for_unit("default.target")
|
||||
letsencrypt.wait_for_unit("pebble.service")
|
||||
acme.wait_for_unit("default.target")
|
||||
acme.wait_for_unit("pebble.service")
|
||||
|
||||
with subtest("can request certificate with HTTPS-01 challenge"):
|
||||
acmeStandalone.wait_for_unit("default.target")
|
||||
acmeStandalone.succeed("systemctl start acme-standalone.com.service")
|
||||
acmeStandalone.wait_for_unit("acme-finished-standalone.com.target")
|
||||
acmeStandalone.succeed("systemctl start acme-standalone.test.service")
|
||||
acmeStandalone.wait_for_unit("acme-finished-standalone.test.target")
|
||||
|
||||
client.wait_for_unit("default.target")
|
||||
|
||||
client.succeed("curl https://acme-v02.api.letsencrypt.org:15000/roots/0 > /tmp/ca.crt")
|
||||
client.succeed(
|
||||
"curl https://acme-v02.api.letsencrypt.org:15000/intermediate-keys/0 >> /tmp/ca.crt"
|
||||
)
|
||||
client.succeed("curl https://acme.test:15000/roots/0 > /tmp/ca.crt")
|
||||
client.succeed("curl https://acme.test:15000/intermediate-keys/0 >> /tmp/ca.crt")
|
||||
|
||||
with subtest("Can request certificate for nginx service"):
|
||||
webserver.wait_for_unit("acme-finished-a.example.com.target")
|
||||
webserver.wait_for_unit("acme-finished-a.example.test.target")
|
||||
client.succeed(
|
||||
"curl --cacert /tmp/ca.crt https://a.example.com/ | grep -qF 'hello world'"
|
||||
"curl --cacert /tmp/ca.crt https://a.example.test/ | grep -qF 'hello world'"
|
||||
)
|
||||
|
||||
with subtest("Can add another certificate for nginx service"):
|
||||
webserver.succeed(
|
||||
"/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"
|
||||
)
|
||||
webserver.wait_for_unit("acme-finished-b.example.com.target")
|
||||
webserver.wait_for_unit("acme-finished-b.example.test.target")
|
||||
client.succeed(
|
||||
"curl --cacert /tmp/ca.crt https://b.example.com/ | grep -qF 'hello world'"
|
||||
"curl --cacert /tmp/ca.crt https://b.example.test/ | grep -qF 'hello world'"
|
||||
)
|
||||
|
||||
with subtest("Can request wildcard certificates using DNS-01 challenge"):
|
||||
@@ -210,9 +204,9 @@ in import ./make-test-python.nix {
|
||||
webserver.succeed(
|
||||
"/run/current-system/fine-tune/child-2/bin/switch-to-configuration test"
|
||||
)
|
||||
webserver.wait_for_unit("acme-finished-example.com.target")
|
||||
webserver.wait_for_unit("acme-finished-example.test.target")
|
||||
client.succeed(
|
||||
"curl --cacert /tmp/ca.crt https://c.example.com/ | grep -qF 'hello world'"
|
||||
"curl --cacert /tmp/ca.crt https://c.example.test/ | grep -qF 'hello world'"
|
||||
)
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ let
|
||||
in
|
||||
{
|
||||
_3proxy = handleTest ./3proxy.nix {};
|
||||
acme = handleTestOn ["x86_64-linux"] ./acme.nix {};
|
||||
acme = handleTest ./acme.nix {};
|
||||
atd = handleTest ./atd.nix {};
|
||||
automysqlbackup = handleTest ./automysqlbackup.nix {};
|
||||
avahi = handleTest ./avahi.nix {};
|
||||
|
||||
15
nixos/tests/common/acme/client/default.nix
Normal file
15
nixos/tests/common/acme/client/default.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{ lib, nodes, pkgs, ... }:
|
||||
|
||||
let
|
||||
acme-ca = nodes.acme.config.test-support.acme.caCert;
|
||||
in
|
||||
|
||||
{
|
||||
security.acme = {
|
||||
server = "https://acme.test/dir";
|
||||
email = "hostmaster@example.test";
|
||||
acceptTerms = true;
|
||||
};
|
||||
|
||||
security.pki.certificateFiles = [ acme-ca ];
|
||||
}
|
||||
@@ -1,27 +1,27 @@
|
||||
# The certificate for the ACME service is exported as:
|
||||
#
|
||||
# config.test-support.letsencrypt.caCert
|
||||
# config.test-support.acme.caCert
|
||||
#
|
||||
# This value can be used inside the configuration of other test nodes to inject
|
||||
# the snakeoil certificate into security.pki.certificateFiles or into package
|
||||
# overlays.
|
||||
#
|
||||
# Another value that's needed if you don't use a custom resolver (see below for
|
||||
# notes on that) is to add the letsencrypt node as a nameserver to every node
|
||||
# notes on that) is to add the acme node as a nameserver to every node
|
||||
# that needs to acquire certificates using ACME, because otherwise the API host
|
||||
# for letsencrypt.org can't be resolved.
|
||||
# for acme.test can't be resolved.
|
||||
#
|
||||
# A configuration example of a full node setup using this would be this:
|
||||
#
|
||||
# {
|
||||
# letsencrypt = import ./common/letsencrypt;
|
||||
# acme = import ./common/acme/server;
|
||||
#
|
||||
# example = { nodes, ... }: {
|
||||
# networking.nameservers = [
|
||||
# nodes.letsencrypt.config.networking.primaryIPAddress
|
||||
# nodes.acme.config.networking.primaryIPAddress
|
||||
# ];
|
||||
# security.pki.certificateFiles = [
|
||||
# nodes.letsencrypt.config.test-support.letsencrypt.caCert
|
||||
# nodes.acme.config.test-support.acme.caCert
|
||||
# ];
|
||||
# };
|
||||
# }
|
||||
@@ -33,9 +33,9 @@
|
||||
# override networking.nameservers like this:
|
||||
#
|
||||
# {
|
||||
# letsencrypt = { nodes, ... }: {
|
||||
# imports = [ ./common/letsencrypt ];
|
||||
# networking.nameservers = [
|
||||
# acme = { nodes, lib, ... }: {
|
||||
# imports = [ ./common/acme/server ];
|
||||
# networking.nameservers = lib.mkForce [
|
||||
# nodes.myresolver.config.networking.primaryIPAddress
|
||||
# ];
|
||||
# };
|
||||
@@ -55,16 +55,16 @@
|
||||
let
|
||||
snakeOilCerts = import ./snakeoil-certs.nix;
|
||||
|
||||
wfeDomain = "acme-v02.api.letsencrypt.org";
|
||||
wfeDomain = "acme.test";
|
||||
wfeCertFile = snakeOilCerts.${wfeDomain}.cert;
|
||||
wfeKeyFile = snakeOilCerts.${wfeDomain}.key;
|
||||
|
||||
siteDomain = "letsencrypt.org";
|
||||
siteDomain = "acme.test";
|
||||
siteCertFile = snakeOilCerts.${siteDomain}.cert;
|
||||
siteKeyFile = snakeOilCerts.${siteDomain}.key;
|
||||
pebble = pkgs.pebble;
|
||||
resolver = let
|
||||
message = "You need to define a resolver for the letsencrypt test module.";
|
||||
message = "You need to define a resolver for the acme test module.";
|
||||
firstNS = lib.head config.networking.nameservers;
|
||||
in if config.networking.nameservers == [] then throw message else firstNS;
|
||||
|
||||
@@ -76,15 +76,16 @@ let
|
||||
httpPort = 80;
|
||||
tlsPort = 443;
|
||||
ocspResponderURL = "http://0.0.0.0:4002";
|
||||
strict = true;
|
||||
};
|
||||
|
||||
pebbleConfFile = pkgs.writeText "pebble.conf" (builtins.toJSON pebbleConf);
|
||||
pebbleDataDir = "/root/pebble";
|
||||
|
||||
in {
|
||||
imports = [ ../resolver.nix ];
|
||||
imports = [ ../../resolver.nix ];
|
||||
|
||||
options.test-support.letsencrypt.caCert = lib.mkOption {
|
||||
options.test-support.acme.caCert = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
description = ''
|
||||
A certificate file to use with the <literal>nodes</literal> attribute to
|
||||
@@ -98,7 +99,7 @@ in {
|
||||
resolver.enable = let
|
||||
isLocalResolver = config.networking.nameservers == [ "127.0.0.1" ];
|
||||
in lib.mkOverride 900 isLocalResolver;
|
||||
letsencrypt.caCert = snakeOilCerts.ca.cert;
|
||||
acme.caCert = snakeOilCerts.ca.cert;
|
||||
};
|
||||
|
||||
# This has priority 140, because modules/testing/test-instrumentation.nix
|
||||
@@ -126,8 +127,7 @@ in {
|
||||
'';
|
||||
serviceConfig = {
|
||||
# Required to bind on privileged ports.
|
||||
User = "root";
|
||||
Group = "root";
|
||||
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,10 +1,9 @@
|
||||
{ pkgs ? import <nixpkgs> {}
|
||||
, lib ? pkgs.lib
|
||||
|
||||
, domains ? [ "acme-v02.api.letsencrypt.org" "letsencrypt.org" ]
|
||||
, domains ? [ "acme.test" ]
|
||||
}:
|
||||
|
||||
pkgs.runCommand "letsencrypt-snakeoil-ca" {
|
||||
pkgs.runCommand "acme-snakeoil-ca" {
|
||||
nativeBuildInputs = [ pkgs.openssl ];
|
||||
} ''
|
||||
addpem() {
|
||||
171
nixos/tests/common/acme/server/snakeoil-certs.nix
Normal file
171
nixos/tests/common/acme/server/snakeoil-certs.nix
Normal file
@@ -0,0 +1,171 @@
|
||||
# Generated via mkcert.sh in the same directory.
|
||||
{
|
||||
ca.key = builtins.toFile "ca.key" ''
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
JUsBXFNz132nP4iIr3UKrPedQZijSi4=
|
||||
-----END PRIVATE KEY-----
|
||||
'';
|
||||
ca.cert = builtins.toFile "ca.cert" ''
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFDzCCAvegAwIBAgIUTRDYSWJvmlhwIR3pzVrIQfnboLEwDQYJKoZIhvcNAQEL
|
||||
BQAwFjEUMBIGA1UEAwwLU25ha2VvaWwgQ0EwIBcNMjAwMzIyMjI1NjE3WhgPMjEy
|
||||
MDAyMjcyMjU2MTdaMBYxFDASBgNVBAMMC1NuYWtlb2lsIENBMIICIjANBgkqhkiG
|
||||
9w0BAQEFAAOCAg8AMIICCgKCAgEAwp1WRhJ+vHs15Q1hOYI7Aj6rrUeJ8cP8LyGw
|
||||
MQdlZNlnkOhxr7diXa8+anq9iF3e+mLaUHqnfn33rWi7THhU6/l8vcqhKcdgH75h
|
||||
BHC57olm7FBmc7B8Fu/+JD4ABQcvU8CZ/5PPdpUerkGGtEEt/Ql/OZCzGfy2V1Mg
|
||||
pSAWviMU9TqL5hqjDq+JxgEkUD+nf558p+NSp2rf3bacmmuc4H2MAOmFulMXMsLw
|
||||
UqTDlzNP/NgRWRsgC7d50Pn35q7SnLzI7DSwRWrJVfs2DtTzGy20wlvEpiU44c7m
|
||||
qV7QR67r6HtuNd911pb3D9cpWk8dGpcIkFia9VxDlFixBU4Dk3kcolQ8Q7p6c/u6
|
||||
BnMM3HThvJwoHesNGmGhAs9c70txWE0M/jIqphJMerOG49VPdCNJMFCW3lo46xju
|
||||
2PUKuItfRmnw4O3ADJ/XhwojWzaz4+rf4H2lWwq25Jt2VY5Ly00Npm9pb+/rVYou
|
||||
Odtu4jT7jUupcdhVZa/w14kazlX4IT76DsVH186ICYWS1eGZIvsnGxkGucPGDA2A
|
||||
r+HNPHSgOwGrVYTUutHNc4EDY7lhdwb6HEskshlKJ1U+odQ2JSfWAKoKjaXnYDUf
|
||||
ZKadN+EjIQe3Y/ZXgei0TAPnNXxv0/tZQ25APr6KXqbePt9KA3Ak2HxIn5dR8Kjc
|
||||
P21w5tcCAwEAAaNTMFEwHQYDVR0OBBYEFCIoeYSYjtMiPrmxfHmcrsZkyTpvMB8G
|
||||
A1UdIwQYMBaAFCIoeYSYjtMiPrmxfHmcrsZkyTpvMA8GA1UdEwEB/wQFMAMBAf8w
|
||||
DQYJKoZIhvcNAQELBQADggIBAHPdwOgAxyhIhbqFObNftW8K3sptorB/Fj6jwYCm
|
||||
mHleFueqQnjTHMWsflOjREvQp1M307FWooGj+KQkjwvAyDc/Hmy7WgJxBg9p3vc+
|
||||
/Xf/e7ZfBl8rv7vH8VXW/BC1vVsILdFncrgTrP8/4psV50/cl1F4+nPBiekvvxwZ
|
||||
k+R7SgeSvcWT7YlOG8tm1M3al4F4mWzSRkYjkrXmwRCKAiya9xcGSt0Bob+LoM/O
|
||||
mpDGV/PMC1WAoDc1mMuXN2hSc0n68xMcuFs+dj/nQYn8uL5pzOxpX9560ynKyLDv
|
||||
yOzQlM2VuZ7H2hSIeYOFgrtHJJwhDtzjmUNDQpQdp9Fx+LONQTS1VLCTXND2i/3F
|
||||
10X6PkdnLEn09RiPt5qy20pQkICxoEydmlwpFs32musYfJPdBPkZqZWrwINBv2Wb
|
||||
HfOmEB4xUvXufZ5Ju5icgggBkyNA3PCLo0GZFRrMtvA7i9IXOcXNR+njhKa9246V
|
||||
QQfeWiz05RmIvgShJYVsnZWtael8ni366d+UXypBYncohimyNlAD1n+Bh3z0PvBB
|
||||
+FK4JgOSeouM4SuBHdwmlZ/H0mvfUG81Y8Jbrw0yuRHtuCtX5HpN5GKpZPHDE7aQ
|
||||
fEShVB/GElC3n3DvgK9OJBeVVhYQgUEfJi4rsSxt3cdEI0NrdckUoZbApWVJ3CBc
|
||||
F8Y7
|
||||
-----END CERTIFICATE-----
|
||||
'';
|
||||
"acme.test".key = builtins.toFile "acme.test.key" ''
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
'';
|
||||
"acme.test".cert = builtins.toFile "acme.test.cert" ''
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEoTCCAokCAgKaMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC1NuYWtlb2ls
|
||||
IENBMCAXDTIwMDMyMjIyNTYxOFoYDzIxMjAwMjI3MjI1NjE4WjAUMRIwEAYDVQQD
|
||||
DAlhY21lLnRlc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCWBBNm
|
||||
Mp+zdofDQn33eTuMUCz6FVE9///McwCJSQ8pRg9NKXVPFL9s9uFbNKiibTSPhIuE
|
||||
YYaFt36We9ODS68pvGySABN/DlyVubVk36DHgO7HCMtXfEjGl5Jj48rOznPzD+T4
|
||||
AmH7M4/JfAfe63cL6iCnVL/kiGbNXdr/JT/qTTOkbGM3pk9FNcWvP3cjWk94KQnP
|
||||
3SXu2P7a4Vz3G0zbQ1BfnZ/RjahKFwbx8p01lXO4ceRleStkiGi7nn+dHLaMqAV4
|
||||
PcZBB9r2vA9atXJtDq0owyShrMH9SeTL3FxMjYslqt/GAcM72/3IUG+ZHhQzwHeQ
|
||||
zzY0egQ20dpnaaaIwZnNMRCV/zHBjIcWuoEUhVFYRSvuuv87lCv2Ag3RPi7frscJ
|
||||
7FVgArNs7Y/2HvlzPOMwygaRtfN71IxD+KSvESbAAeCvVfGHqJBiaA82TwBHd336
|
||||
jYjtYlkxRhkBEue6FWv0E1e/nXSKplOpfyVzIvl8SPdJPgBv4fut969m3o1TbqIk
|
||||
sFgCOsDaZK8f7C+RujGuBJLzFg+Q5bw0s0Rtuh3Oh8ikH5Jornc4iTRuP1zVgCCt
|
||||
I0RH9MNOANetZQ2uV9Vn8zv4AR15TTrCLuxWFWJ/o4EPc6mApI2N4TpO4kfzQ+Lk
|
||||
xa6BIUGvv3Zdvq6FWg+JU4U36qIYHpSTAGBIqQIDAQABMA0GCSqGSIb3DQEBCwUA
|
||||
A4ICAQBCDs0V4z00Ze6Ask3qDOLAPo4k85QCfItlRZmwl2XbPZq7kbe13MqF2wxx
|
||||
yiLalm6veK+ehU9MYN104hJZnuce5iEcZurk+8A+Pwn1Ifz+oWKVbUtUP3uV8Sm3
|
||||
chktJ2H1bebXtNJE5TwvdHiUkXU9ywQt2FkxiTSl6+eac7JKEQ8lVN/o6uYxF5ds
|
||||
+oIZplb7bv2XxsRCzq55F2tJX7fIzqXrSa+lQTnfLGmDVMAQX4TRB/lx0Gqd1a9y
|
||||
qGfFnZ7xVyW97f6PiL8MoxPfd2I2JzrzGyP/igNbFOW0ho1OwfxVmvZeS7fQSc5e
|
||||
+qu+nwnFfl0S4cHRif3G3zmz8Ryx9LM5TYkH41qePIHxoEO2sV0DgWJvbSjysV2S
|
||||
EU2a31dJ0aZ+z6YtZVpHlujKMVzxVTrqj74trS4LvU5h/9hv7e1gjYdox1TO0HMK
|
||||
mtDfgBevB21Tvxpz67Ijf31HvfTmCerKJEOjGnbYmyYpMeMNSONRDcToWk8sUwvi
|
||||
OWa5jlUFRAxgXNM09vCTPi9aRUhcFqACqfAd6I1NqGVlfplLWrc7SWaSa+PsLfBf
|
||||
4EOZfk8iEKBVeYXNjg+CcD8j8yk/oEs816/jpihIk8haCDRWYWGKyyGnwn6OQb8d
|
||||
MdRO2b7Oi/AAmEF3jMlICqv286GIYK5qTKk2/CKHlOLPnsWEuA==
|
||||
-----END CERTIFICATE-----
|
||||
'';
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{ lib, nodes, pkgs, ... }: let
|
||||
letsencrypt-ca = nodes.letsencrypt.config.test-support.letsencrypt.caCert;
|
||||
in {
|
||||
networking.nameservers = [
|
||||
nodes.letsencrypt.config.networking.primaryIPAddress
|
||||
];
|
||||
|
||||
security.acme.acceptTerms = true;
|
||||
security.acme.email = "webmaster@example.com";
|
||||
|
||||
security.pki.certificateFiles = [ letsencrypt-ca ];
|
||||
}
|
||||
@@ -1,254 +0,0 @@
|
||||
# Generated via mkcert.sh in the same directory.
|
||||
{
|
||||
ca.key = builtins.toFile "ca.key" ''
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
Eq4OVTSu/s8gmY94tgbjeOaLUPEPmg==
|
||||
-----END PRIVATE KEY-----
|
||||
'';
|
||||
ca.cert = builtins.toFile "ca.cert" ''
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFDzCCAvegAwIBAgIUU9rbCLTuvaI6gjSsFsJJjfLWIX8wDQYJKoZIhvcNAQEL
|
||||
BQAwFjEUMBIGA1UEAwwLU25ha2VvaWwgQ0EwIBcNMTkxMDE4MDc1NDEyWhgPMjEx
|
||||
OTA5MjQwNzU0MTJaMBYxFDASBgNVBAMMC1NuYWtlb2lsIENBMIICIjANBgkqhkiG
|
||||
9w0BAQEFAAOCAg8AMIICCgKCAgEA0NG9tyNbKyWcEdjDHb0iSuaXMC3611PuIBGR
|
||||
J1jck/MnlcHsmvvL5jTTpbyt88X/mYmP+2kNEWSTDodvlXZYB5q9kCoUE39R8H2Q
|
||||
P9OhaJQ9/w3EvgzCTEk1a9e/f1y53XlVWVKlO7Y7wQFikiEvB9oUhdVDj4vYAQ0f
|
||||
DMAj+kII/FmIW5LfauO/5TveqgJpulNRfkO0WDPWUCFiPNTdDLOcCaHIO5+ktfYl
|
||||
eunj4ewD2qWRWLqetYBRln2oZgNtexCyGXeep/MozhdHqW/bAtF6WAg0a2CgVi6j
|
||||
4r/usL3WbWbwCyLciL9PGcF5QZBYNy2wAIT539Fcc6WMrEJssss5IMtudp/kontJ
|
||||
MfgeKpunzpKX4GJT0lU29nV8f23v0hNPLtGvRTtH2aZAclhGSVFMJ4LCYC1GuzKK
|
||||
0H92r8aM3wtuV6r824nmX0l5QO5jlHJWWwv1lBacozJciVNngkPMEsLD15fdaMXG
|
||||
JTpLlS4HeNYK/aRl0EriiJK4G35H7Y4NrQwvu4OzvKq3ReNhY22YyMf++AGrJrBo
|
||||
eBk0LYkpLxJ07LYqAumgleOA5SVmwSDL5MmsLm41JT6Yo9B+umPUOLRHP5LXO6Bk
|
||||
H6qpbsi2+N03qG0zxwC7DXgGG9/azLQaOQwwlHPNbH7gzITK/6GFyqxbLVLIOQGO
|
||||
piWkRtECAwEAAaNTMFEwHQYDVR0OBBYEFAZcEiVphGxBT4OWXbM6lKu96dvbMB8G
|
||||
A1UdIwQYMBaAFAZcEiVphGxBT4OWXbM6lKu96dvbMA8GA1UdEwEB/wQFMAMBAf8w
|
||||
DQYJKoZIhvcNAQELBQADggIBAGJ5Jnxq1IQ++IRYxCE7r7BqzzF+HTx0EWKkSOmt
|
||||
eSPqeOdhC26hJlclgGZXAF/Xosmn8vkSQMHhj/jr4HI0VF9IyvDUJm8AKsnOgu/7
|
||||
DUey3lEUdOtJpTG9NyTOcrzxToMJ+hWlFLZKxx2dk4FLIvTLjmo1VHM97Bat7XYW
|
||||
IrL9RRIZ25V+eCYtlR7XYjceGFQ0rCdp8SFIQwC6C/AH2tV3b1AJFsND9PcoLu7c
|
||||
//fH+WUQCcD/N0grdC/QCX7AFWzd4rKQ8gjfND4TSYFTSDwW10Mud4kAVhY2P1sY
|
||||
Y3ZpnxWrCHbIZMbszlbMyD+cjsCBnNvOtYGm7pDut/371rllVcB/uOWYWMCtKPoj
|
||||
0elPrwNMrK+P+wceNBCRQO+9gwzB589F2morFTtsob/qtpAygW8Sfl8M+iLWXeYS
|
||||
c3LBLnj0TpgXKRWg7wgIWKSZx9v6pgy70U0qvkjNS1XseUCPf7hfAbxT3xF+37Dw
|
||||
zZRwF4WAWqdnJoOey21mgc+a2DQzqtykA6KfHgCqNFfDbQXPXvNy25DDThbk+paX
|
||||
G2M2EWtr+Nv9s/zm7Xv/pOXlgMFavaj+ikqZ4wfJf6c/sMOdZJtMA4TsYtAJgbc8
|
||||
ts+0eymTq4v5S8/fW51Lbjw6hc1Kcm8k7NbHSi9sEjBfxFLTZNQ5eb4NGr9Od3sU
|
||||
kgwJ
|
||||
-----END CERTIFICATE-----
|
||||
'';
|
||||
"acme-v02.api.letsencrypt.org".key = builtins.toFile "acme-v02.api.letsencrypt.org.key" ''
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
'';
|
||||
"acme-v02.api.letsencrypt.org".cert = builtins.toFile "acme-v02.api.letsencrypt.org.cert" ''
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEtDCCApwCAgKaMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC1NuYWtlb2ls
|
||||
IENBMCAXDTE5MTAxODA3NTQxM1oYDzIxMTkwOTI0MDc1NDEzWjAnMSUwIwYDVQQD
|
||||
DBxhY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnMIICIjANBgkqhkiG9w0BAQEF
|
||||
AAOCAg8AMIICCgKCAgEApny0WhfDwEXe6WDTCw8qBuMAPDr88pj6kbhQWfzAW2c0
|
||||
TggJEtjs9dktENeTpSl14nnLVMiSYIJPYY3KbOIFQH1qDaOuQ7NaOhj9CdMTm5r9
|
||||
bl+CYAyqLIMQ9AAZDhUcQjOy3moiL7ClFHlkFYuEzZBO9DF7hJpfUFIs0Idg50mN
|
||||
oZh/K/fb4P2skNjfCjjomTRUmZHxT6G00ImSTtSaYbN/WHut1xXwJvOoT1nlEA/P
|
||||
ghKmJJ9ZuRMSddUJmjL+sT09L8LVkK8CKeHi4r58DHM0D0u8owIFV9qsXd5UvZHa
|
||||
NgvQ4OAWGukMX+TxRuqkUZkaj84vnNL+ttEMl4jedw0ImzNtCOYehDyTPRkfng5P
|
||||
LWMSvWbwyP8jDd2578mSbx5BF7ypYX366+vknjIFyZ5WezcC1pscIHxLoEwuhuf+
|
||||
knN+kFkLOHeYbqQrU6mxSnu9q0hnNvGUkTP0a/1aLOGRfQ5C/pxpE/Rebi8qfM/O
|
||||
JFd4mSxGL93JUTXWAItiIeBnQpIne65/Ska9dWynOEfIb0okdet3kfmNHz3zc17d
|
||||
Z5g4AdOSCgHAlQgFt/Qd8W6xXUe4C5Mfv2ctxRrfQhDwtB6rMByPwzImnciC2h3v
|
||||
CwD3vS/vjUyWICyhZyi2LZDUQz+sCKBXCYYcYh8ThFO40j5x1OnYMq7XQvyl8QkC
|
||||
AwEAATANBgkqhkiG9w0BAQsFAAOCAgEAkx0GLPuCvKSLTHxVLh5tP4jxSGG/zN37
|
||||
PeZLu3QJTdRdRc8bgeOGXAVEVFbqOLTNTsuY1mvpiv2V6wxR6nns+PIHeLY/UOdc
|
||||
mOreKPtMU2dWPp3ybec2Jwii6PhAXZJ26AKintmug1psMw7662crR3SCnn85/CvW
|
||||
192vhr5gM1PqLBIlbsX0tAqxAwBe1YkxBb9vCq8NVghJlKme49xnwGULMTGs15MW
|
||||
hIPx6sW93zwrGiTsDImH49ILGF+NcX1AgAq90nG0j/l5zhDgXGJglX+K1xP99X1R
|
||||
de3I4uoufPa5q+Pjmhy7muL+o4Qt0D0Vm86RqqjTkNPsr7gAJtt66A7TJrYiIoKn
|
||||
GTIBsgM6egeFLLYQsT0ap/59HJismO2Pjx4Jk/jHOkC8TJsXQNRq1Km76VMBnuc0
|
||||
2CMoD9pb38GjUUH94D4hJK4Ls/gJMF3ftKUyR8Sr/LjE6qU6Yj+ZpeEQP4kW9ANq
|
||||
Lv9KSNDQQpRTL4LwGLTGomksLTQEekge7/q4J2TQRZNYJ/mxnrBKRcv9EAMgBMXq
|
||||
Q+7GHtKDv9tJVlMfG/MRD3CMuuSRiT3OVbvMMkFzsPkqxYAP1CqE/JGvh67TzKI+
|
||||
MUfXKehA6TKuxrTVqCtoFIfGaqA9IWyoRTtugYq/xssB9ESeEYGeaM1A9Yueqz+h
|
||||
KkBZO00jHSE=
|
||||
-----END CERTIFICATE-----
|
||||
'';
|
||||
"letsencrypt.org".key = builtins.toFile "letsencrypt.org.key" ''
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
'';
|
||||
"letsencrypt.org".cert = builtins.toFile "letsencrypt.org.cert" ''
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEpzCCAo8CAgKaMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC1NuYWtlb2ls
|
||||
IENBMCAXDTE5MTAxODA3NTQxNVoYDzIxMTkwOTI0MDc1NDE1WjAaMRgwFgYDVQQD
|
||||
DA9sZXRzZW5jcnlwdC5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
||||
AQD12l08TLMPf8EF2zu0D/nWz5aYsXJa4WurjIx3ZH6+LmC8rueUs1UqFiCJOYrZ
|
||||
Sb5QSka5wmpkdxNJkDUHPhL/w0P8Aj0joSbC8GKdjn8+5vEQAuT1iIMD4jMfxkYU
|
||||
zzBeDt8xtskCzK/5IcC2vaOYKyCCum4Pl+DOzan4XarT6hWh4XAwA5R0B/aM200s
|
||||
SPZDoyJHler7AU5xG1eU2VdYhfc2ua5s7/E6kM2mzKPJgLkt35bToxLltMdJ2/no
|
||||
CRSDY+6AwKGPXlM510QkgrzM9cVOUxjJ71IrCOE1Rmi997jFcJpOPaebOty4wovP
|
||||
5LewpB5NaOJFxjfDjNOUBuG0ZcONeOEw5usehYzx7dxMvg0ky+201K1d+JzFt5Ns
|
||||
iJi77t20XSr6JZpmp7Fzo90BoikVnRdLD6LmIt1BmYHDNjs0uUelC6l+HrN7SoNR
|
||||
VkAwO5ujgkpRMHMfpBO6EfH65Sbstzxh00Cufuj+8xkNDKbUSJrErFm4IZqoW+rx
|
||||
kricFWwd9xduEX9cPYcyJ3e3siZtERW72qdz4Sf5pxT9IlpoveuMxboctUyvr69C
|
||||
sLNiS8vMpimhSb0PUpyfp3w5/GXaIJpj0KQyvn/onWnXBxN1w3shVD8MUF5MNq7J
|
||||
ZvJmQ7+U+hmhqRbJc7H1L22AKXOEWY2BGRm/3A35CC40NwIDAQABMA0GCSqGSIb3
|
||||
DQEBCwUAA4ICAQBbJwE+qc0j6JGHWe0TGjv1viJU3WuyJkMRi+ejx0p/k7Ntp5An
|
||||
2wLC7b/lVP/Nh+PKY/iXWn/BErv2MUo4POc1g8svgxsmMMh5KGGieIfGs7xT+JMH
|
||||
dzZZM+pUpIB5fEO5JfjiOEOKDdAvRSs0mTAVYZEokGkXSNWyylvEaA16mHtMgPjo
|
||||
Lm75d0O66RfJDdd/hTl8umGpF7kEGW1qYk2QmuPr7AqOa8na7olL5fMPh6Q7yRqx
|
||||
GIS9JKQ0fWl8Ngk09WfwUN/kEMcp9Jl5iunNRkbpUJIM/lHFkSA7yOFFL+dVWzd4
|
||||
2r+ddJXTFzW8Rwt65l8SV2MEhijEamKva3mqKLIRWxDsfFVT1T04LWFtnzMW4Z29
|
||||
UHF9Pi7XSyKz0Y/Lz31mNTkjJYbOvbnwok8lc3wFWHc+lummZk8IkCq8xfqzwmwX
|
||||
Ow6EV+Q6VaQpOHumQZ12pBBLtL8DyDhWaRUgVy2vYpwYsMYa5BFMcKCynjlSewo9
|
||||
G2hNoW45cQZP1qHltRR9Xad7SaP7iTETDCiR7AWOqSpDipSh9eMfVW97ZbSfz+vl
|
||||
xl8PZEZMTRIIRVXsPP+E8gtDUhUQp2+Vcz8r6q71qslXM09xl/501uaNjCc3hH2R
|
||||
iw2N77Lho1F3FrBbHdML3RYHZI55eC9iQw6R4S+R4b+iWLJoHzHrW61itg==
|
||||
-----END CERTIFICATE-----
|
||||
'';
|
||||
}
|
||||
@@ -18,7 +18,7 @@
|
||||
defining this option needs to be explicitly imported.
|
||||
|
||||
The reason this option exists is for the
|
||||
<filename>nixos/tests/common/letsencrypt</filename> module, which
|
||||
<filename>nixos/tests/common/acme/server</filename> module, which
|
||||
needs that option to disable the resolver once the user has set its own
|
||||
resolver.
|
||||
'';
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
{ system ? builtins.currentSystem, ... }:
|
||||
{ system ? builtins.currentSystem
|
||||
, pkgs ? import ../../.. { inherit system; }
|
||||
, ...
|
||||
}:
|
||||
|
||||
let inherit (import ./common.nix { inherit system; }) baseConfig; in
|
||||
|
||||
{ mig = import ../make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
with import ../../lib/testing-python.nix { inherit system pkgs; };
|
||||
with pkgs.lib;
|
||||
|
||||
{ mig = makeTest {
|
||||
name = "hydra-db-migration";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ ma27 ];
|
||||
@@ -82,5 +88,5 @@ let inherit (import ./common.nix { inherit system; }) baseConfig; in
|
||||
|
||||
original.shutdown()
|
||||
'';
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
@@ -41,5 +41,6 @@ in py.buildPythonApplication rec {
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux; # fails on Darwin
|
||||
maintainers = [ maintainers.laikq ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,5 +19,6 @@ pythonPackages.buildPythonApplication rec {
|
||||
description = "A mopidy webclient based on the Spotify webbased interface";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.Gonzih ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,5 +19,6 @@ pythonPackages.buildPythonApplication rec {
|
||||
description = "Mopidy extension for playing music from SoundCloud";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.spwhitt ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,5 +19,6 @@ pythonPackages.buildPythonApplication rec {
|
||||
description = "Mopidy extension for playing music from SoundCloud";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.spwhitt ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,5 +19,6 @@ pythonPackages.buildPythonApplication rec {
|
||||
description = "Mopidy extension for playing music from YouTube";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.spwhitt ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,25 +1,33 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, libjack2
|
||||
, wrapQtAppsHook
|
||||
, qtsvg
|
||||
, qttools
|
||||
, cmake
|
||||
, libsndfile
|
||||
, libsamplerate
|
||||
, ladspaH
|
||||
, fluidsynth
|
||||
, alsaLib
|
||||
, rtaudio
|
||||
, lash
|
||||
, dssi
|
||||
, liblo
|
||||
, pkgconfig
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, qttools, wrapQtAppsHook
|
||||
, alsaLib, dssi, fluidsynth, ladspaH, lash, libinstpatch, libjack2, liblo
|
||||
, libsamplerate, libsndfile, lilv, librdf, lv2, qtsvg, rtaudio, rubberband, sord
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "muse-sequencer";
|
||||
version = "3.1pre1";
|
||||
version = "3.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "muse-sequencer";
|
||||
repo = "muse";
|
||||
rev = "muse_${builtins.replaceStrings ["."] ["_"] version}";
|
||||
sha256 = "08k25652w88xf2i79lw305x1phpk7idrww9jkqwcs8q6wzgmz8aq";
|
||||
};
|
||||
|
||||
sourceRoot = "source/muse3";
|
||||
|
||||
prePatch = ''
|
||||
chmod u+w $NIX_BUILD_TOP
|
||||
'';
|
||||
|
||||
patches = [ ./fix-parallel-building.patch ];
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig qttools wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
alsaLib dssi fluidsynth ladspaH lash libinstpatch libjack2 liblo
|
||||
libsamplerate libsndfile lilv librdf lv2 qtsvg rtaudio rubberband sord
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://www.muse-sequencer.org/";
|
||||
@@ -32,38 +40,7 @@ stdenv.mkDerivation {
|
||||
MusE aims to be a complete multitrack virtual studio for Linux,
|
||||
it is published under the GNU General Public License.
|
||||
'';
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
};
|
||||
|
||||
src =
|
||||
fetchFromGitHub {
|
||||
owner = "muse-sequencer";
|
||||
repo = "muse";
|
||||
rev = "2167ae053c16a633d8377acdb1debaac10932838";
|
||||
sha256 = "0rsdx8lvcbz5bapnjvypw8h8bq587s9z8cf2znqrk6ah38s6fsrf";
|
||||
};
|
||||
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
wrapQtAppsHook
|
||||
qttools
|
||||
cmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libjack2
|
||||
qtsvg
|
||||
libsndfile
|
||||
libsamplerate
|
||||
ladspaH
|
||||
fluidsynth
|
||||
alsaLib
|
||||
rtaudio
|
||||
lash
|
||||
dssi
|
||||
liblo
|
||||
];
|
||||
|
||||
sourceRoot = "source/muse3";
|
||||
}
|
||||
|
||||
78
pkgs/applications/audio/muse/fix-parallel-building.patch
Normal file
78
pkgs/applications/audio/muse/fix-parallel-building.patch
Normal file
@@ -0,0 +1,78 @@
|
||||
To confirm these dependencies, run in a fresh build tree:
|
||||
|
||||
|
||||
ninja muse/components/CMakeFiles/components.dir/confmport.o
|
||||
|
||||
In file included from ../muse/components/confmport.cpp:48:
|
||||
../muse/mplugins/midifilterimpl.h:28:10: fatal error:
|
||||
ui_midifilter.h: No such file or directory
|
||||
|
||||
|
||||
ninja muse/waveedit/CMakeFiles/waveedit.dir/wavecanvas.o
|
||||
|
||||
In file included from ../muse/waveedit/wavecanvas.cpp:72:
|
||||
../muse/components/copy_on_write.h:26:10: fatal error:
|
||||
ui_copy_on_write_base.h: No such file or directory
|
||||
|
||||
|
||||
ninja muse/instruments/CMakeFiles/instruments.dir/editinstrument.o
|
||||
|
||||
In file included from ../muse/instruments/editinstrument.cpp:58:
|
||||
../muse/components/editevent.h:26:10: fatal error:
|
||||
ui_editnotedialogbase.h: No such file or directory
|
||||
|
||||
|
||||
ninja muse/liste/CMakeFiles/liste.dir/listedit.o
|
||||
|
||||
In file included from ../muse/liste/listedit.cpp:37:
|
||||
../muse/components/editevent.h:26:10: fatal error:
|
||||
ui_editnotedialogbase.h: No such file or directory
|
||||
|
||||
|
||||
ninja muse/mixer/CMakeFiles/mixer.dir/rack.o
|
||||
|
||||
In file included from ../muse/mixer/rack.cpp:49:
|
||||
../muse/components/plugindialog.h:4:10: fatal error:
|
||||
ui_plugindialogbase.h: No such file or directory
|
||||
|
||||
|
||||
--- a/muse/components/CMakeLists.txt
|
||||
+++ b/muse/components/CMakeLists.txt
|
||||
@@ -343,4 +343,5 @@ set_target_properties( components
|
||||
target_link_libraries ( components
|
||||
${QT_LIBRARIES}
|
||||
+ mplugins
|
||||
widgets
|
||||
xml_module
|
||||
--- a/muse/waveedit/CMakeLists.txt
|
||||
+++ b/muse/waveedit/CMakeLists.txt
|
||||
@@ -79,4 +79,5 @@ set_target_properties( waveedit
|
||||
target_link_libraries( waveedit
|
||||
${QT_LIBRARIES}
|
||||
+ components
|
||||
widgets
|
||||
)
|
||||
--- a/muse/instruments/CMakeLists.txt
|
||||
+++ b/muse/instruments/CMakeLists.txt
|
||||
@@ -78,4 +78,5 @@ set_target_properties( instruments
|
||||
target_link_libraries ( instruments
|
||||
${QT_LIBRARIES}
|
||||
+ components
|
||||
icons
|
||||
widgets
|
||||
--- a/muse/liste/CMakeLists.txt
|
||||
+++ b/muse/liste/CMakeLists.txt
|
||||
@@ -65,4 +65,5 @@ set_target_properties( liste
|
||||
target_link_libraries ( liste
|
||||
${QT_LIBRARIES}
|
||||
+ components
|
||||
awl
|
||||
widgets
|
||||
--- a/muse/mixer/CMakeLists.txt
|
||||
+++ b/muse/mixer/CMakeLists.txt
|
||||
@@ -87,4 +87,5 @@ set_target_properties ( mixer
|
||||
target_link_libraries ( mixer
|
||||
${QT_LIBRARIES}
|
||||
+ components
|
||||
widgets
|
||||
)
|
||||
@@ -23,5 +23,6 @@ buildRustPackage rec {
|
||||
maintainers = [ maintainers.dbrock ];
|
||||
license = licenses.gpl3;
|
||||
inherit version;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
, nss
|
||||
, pciutils
|
||||
, pkgsi686Linux
|
||||
, ps
|
||||
, setxkbmap
|
||||
, stdenv
|
||||
, systemd
|
||||
@@ -89,6 +90,7 @@ let
|
||||
|
||||
# Runtime stuff
|
||||
git
|
||||
ps
|
||||
]}" \
|
||||
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
|
||||
|
||||
|
||||
@@ -51,5 +51,6 @@ stdenv.mkDerivation {
|
||||
homepage = http://www.bostic.com/vi/;
|
||||
description = "The Berkeley Vi Editor";
|
||||
license = stdenv.lib.licenses.free;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@ let
|
||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "0q1fk5a4ymndnyxzps8960y1rl657q95i2rydbqyjl37y79wmllx";
|
||||
x86_64-darwin = "02ybgp6v1ray4a867hihp2fvc872ilqla6z52qv90dfjx69g77ib";
|
||||
x86_64-linux = "15jg39hmlnicq0zrz77yar1bmn5y6gp2670dya2qm5klhva9hd0f";
|
||||
x86_64-darwin = "1ghqhn46jpbj3is8q5zcj0biyc7gwinhiz3qdpcnf88ga2blcsz8";
|
||||
}.${system};
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
@@ -21,7 +21,7 @@ in
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.44.0";
|
||||
version = "1.44.1";
|
||||
pname = "vscode";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
|
||||
@@ -11,8 +11,8 @@ let
|
||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "1prv4rzr5z905s6jnmkmd97zr5kz8nn4m9bil483bnx4wqr2k10g";
|
||||
x86_64-darwin = "1p0a94i80s7fq6ars01bvr41qxiq35s0r6crfv857ma01g9ia7k3";
|
||||
x86_64-linux = "16qwhnxpwarnwvlxwvy13g687g1cnfzysq16qkykkhqig0cnalmb";
|
||||
x86_64-darwin = "1p9qkbj59bfc0kn9fzg99gqxbzwxq297qxivxcjflsapd712s4vm";
|
||||
}.${system};
|
||||
|
||||
sourceRoot = {
|
||||
@@ -27,7 +27,7 @@ in
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.44.0";
|
||||
version = "1.44.1";
|
||||
pname = "vscodium";
|
||||
|
||||
executableName = "codium";
|
||||
|
||||
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.raskin ];
|
||||
license = licenses.gpl2;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ mkDerivation {
|
||||
meta = {
|
||||
license = with lib.licenses; [ gpl2Plus lgpl21Plus ];
|
||||
maintainers = kdepimTeam;
|
||||
broken = true;
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
|
||||
buildInputs = [
|
||||
|
||||
@@ -9,6 +9,7 @@ mkDerivation {
|
||||
meta = {
|
||||
license = with lib.licenses; [ lgpl21 ];
|
||||
maintainers = [ lib.maintainers.bkchr ];
|
||||
broken = true;
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules ];
|
||||
buildInputs = [
|
||||
|
||||
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
|
||||
license = license;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ yrashk ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -31,5 +31,6 @@ buildPythonApplication rec {
|
||||
homepage = https://github.com/regebro/hovercraft;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ goibhniu makefu ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -86,5 +86,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.genesis ];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -66,5 +66,6 @@ in buildPythonApplication rec {
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ srghma ];
|
||||
platforms = lib.platforms.all;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
inherit patches;
|
||||
|
||||
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
||||
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
|
||||
prePatch = optionalString (conf != null) ''
|
||||
cp ${writeText "config.def.h" conf} config.def.h
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ncurses ];
|
||||
buildInputs = [ libX11 libXft ] ++ extraLibs;
|
||||
|
||||
@@ -54,5 +54,6 @@ mkDerivation rec {
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ doronbehar ];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -30,5 +30,6 @@ buildPythonApplication rec {
|
||||
description = "A cli todo application compatible with the todo.txt format";
|
||||
homepage = "https://github.com/bram85/topydo";
|
||||
license = licenses.gpl3;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -45,11 +45,11 @@ let
|
||||
|
||||
flash = stdenv.mkDerivation rec {
|
||||
pname = "flashplayer-ppapi";
|
||||
version = "32.0.0.330";
|
||||
version = "32.0.0.363";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
||||
sha256 = "08gpx0fq0r1sz5smfdgv4fkfwq1hdijv4dw432d6jdz8lq09y1nk";
|
||||
sha256 = "0znk8an892mykgbz56hyv3gz65vc9mhb3vn96c6bsvicwl1fn460";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# This file is autogenerated from update.sh in the same directory.
|
||||
{
|
||||
beta = {
|
||||
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
|
||||
sha256bin64 = "1y70kmfz9nv507b0zdda7zfk2ac9qh9m2gq00aphdmzd0al7skj8";
|
||||
version = "81.0.4044.92";
|
||||
sha256 = "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17";
|
||||
sha256bin64 = "1iwn0yyhk0jn47pn7rx9kadli47xyvz3xilfl4faifmasin2fq8v";
|
||||
version = "81.0.4044.113";
|
||||
};
|
||||
dev = {
|
||||
sha256 = "1rydvjmv62zj95sf0fgsyipqz2hphbxm60y8q0813wq9ym35d4yy";
|
||||
sha256bin64 = "1m6740lw7xjjp1lplwp9ii4d3l7dfa9jrv5bysm4ar5pb9kywrai";
|
||||
version = "83.0.4100.3";
|
||||
sha256 = "1s16wl101yabq0l7w0q50lxkr2gn090pcaj6l5sj6g5xvi9lhgbf";
|
||||
sha256bin64 = "1hn2hjni5k370jhc0nikmx5ypwzcqnmr02h185a5ry697643abdd";
|
||||
version = "83.0.4103.14";
|
||||
};
|
||||
stable = {
|
||||
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
|
||||
sha256bin64 = "1ig899cpahw1xfhdff5xj6w4k8jja5smxvrcbw6b0jcjmawdrf72";
|
||||
version = "81.0.4044.92";
|
||||
sha256 = "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17";
|
||||
sha256bin64 = "0ap7flrw3h885454fa2r7psa4sh8567ql7v7x96q11gh9gjrdvp3";
|
||||
version = "81.0.4044.113";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ in stdenv.mkDerivation {
|
||||
--replace /opt/google/$appname/google-$appname $exe
|
||||
substituteInPlace $out/share/menu/google-$appname.menu \
|
||||
--replace /opt $out/share \
|
||||
--replace $out/share/google/chrome/google-$appname $exe
|
||||
--replace $out/share/google/$appname/google-$appname $exe
|
||||
|
||||
for icon_file in $out/share/google/chrome*/product_logo_*[0-9].png; do
|
||||
num_and_suffix="''${icon_file##*logo_}"
|
||||
|
||||
@@ -74,7 +74,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "flashplayer";
|
||||
version = "32.0.0.330";
|
||||
version = "32.0.0.363";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
@@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 =
|
||||
if debug then
|
||||
if arch == "x86_64" then
|
||||
"1k7h1p6g1vf96v31j1n8638jdxacap0729n0dnmh6l0h5q518k1b"
|
||||
"06711k4vbn6mqfd8gvx2snsxyalhw15hn5b64sja8726z5rxvzy7"
|
||||
else
|
||||
"0gabgllx79s6rhv0zivfj6z79rcsdrzrdm94xdr19c11dsbqxd6b"
|
||||
"0v584aqhy4xk08afi3ypkq4mqjq57y136z82i5ixyim88dqbaf4f"
|
||||
else
|
||||
if arch == "x86_64" then
|
||||
"1pf3k1x8c2kbkc9pf9y5n4jilp3g41v8v0q5ng77sbnl92s35zsj"
|
||||
"1g1ijxypm8a8mfc1x58gksmaakqpp7xmf277wiir8zqjn3vd6c64"
|
||||
else
|
||||
"1xibm6ffm09c553g100cgb6grnk21dfq8m81yy0jskph157vg962";
|
||||
"13nbxmqmbxqvdhdwdqimim2f9fz3y2vrsx6b3pck6352m4i4wzh8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "flashplayer-standalone";
|
||||
version = "32.0.0.330";
|
||||
version = "32.0.0.363";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
@@ -60,9 +60,9 @@ stdenv.mkDerivation {
|
||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
|
||||
sha256 =
|
||||
if debug then
|
||||
"0wrkg2in4c0bnbifm06m4rdggzs8zbaxwrh6z3mpbf4p3bl6xg84"
|
||||
"03zhza8lvc1nvz3racwfsajfd6rnbw3g56dp5wvr1qmaps8xaaqg"
|
||||
else
|
||||
"08qxa3zanlgmn8sn7crz242adx10jqymd4gzf1m0zlczw20ar09c";
|
||||
"0bhp7jv2l2agfzr8m564k749a5g75dw1390phlwvf49n1h8ldap2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
@@ -44,5 +44,6 @@ buildGoModule rec {
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ nicknovitski ];
|
||||
platforms = platforms.all;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ kamilchm kevincox pradeepchhetri ];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -258,5 +258,6 @@ in stdenv.mkDerivation rec {
|
||||
description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
|
||||
maintainers = with maintainers; [ cstrahan kevincox offline ];
|
||||
platforms = platforms.unix;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
{ stdenv, buildGoModule, fetchFromGitHub, systemd }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "node-problem-detector";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "02avknglmkr9k933a64hkw0rjfxvyh4sc3x70p41b8q2g6vzv2gs";
|
||||
};
|
||||
|
||||
# Project upstream recommends building through vendoring
|
||||
overrideModAttrs = (_: {
|
||||
buildCommand = ''
|
||||
echo "Skipping go.mod, using vendoring instead." && touch $out
|
||||
'';
|
||||
});
|
||||
|
||||
modSha256 = "0ip26j2h11n1kgkz36rl4akv694yz65hr72q4kv4b3lxcbi65b3p";
|
||||
|
||||
# Optionally, a log counter binary can be created to parse journald logs.
|
||||
# The binary is dynamically linked against systemd libraries, making it a
|
||||
# Linux-only feature. See 'ENABLE_JOURNALD' upstream:
|
||||
# https://github.com/kubernetes/node-problem-detector/blob/master/Makefile
|
||||
subPackages = [ "cmd/nodeproblemdetector" ] ++
|
||||
stdenv.lib.optionals stdenv.isLinux [ "cmd/logcounter" ];
|
||||
|
||||
preBuild = ''
|
||||
export CGO_ENABLED=${if stdenv.isLinux then "1" else "0"}
|
||||
'';
|
||||
|
||||
buildInputs = stdenv.lib.optionals stdenv.isLinux [ systemd ];
|
||||
|
||||
buildFlags = "-mod vendor" +
|
||||
stdenv.lib.optionalString stdenv.isLinux " -tags journald";
|
||||
|
||||
buildFlagsArray = [
|
||||
"-ldflags="
|
||||
"-X k8s.io/${pname}/pkg/version.version=v${version}"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Various problem detectors running on the Kubernetes nodes";
|
||||
homepage = "https://github.com/kubernetes/node-problem-detector";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ lbpdt ];
|
||||
};
|
||||
}
|
||||
@@ -24,5 +24,6 @@ stdenv.mkDerivation {
|
||||
homepage = http://amsn-project.net;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -56,5 +56,6 @@ in
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.raskin ];
|
||||
license = licenses.gpl3Plus;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ let
|
||||
else "");
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "signal-desktop";
|
||||
version = "1.33.0"; # Please backport all updates to the stable channel.
|
||||
version = "1.33.1"; # Please backport all updates to the stable channel.
|
||||
# All releases have a limited lifetime and "expire" 90 days after the release.
|
||||
# When releases "expire" the application becomes unusable until an update is
|
||||
# applied. The expiration date for the current release can be extracted with:
|
||||
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
sha256 = "0s403243cm8x3daj4p7cpp5z0hwmsnk21cq42zcfls2q5d30p6wz";
|
||||
sha256 = "0p9ak0cmk9b77dzbw4y2xmxqg211y62n7ckggwf7bcg48wzj0jy7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ hrdinka ];
|
||||
platforms = platforms.all;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,19 +1,29 @@
|
||||
{ stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
|
||||
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
|
||||
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite
|
||||
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite, zlib
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20200320";
|
||||
version = "20200417";
|
||||
pname = "neomutt";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "neomutt";
|
||||
repo = "neomutt";
|
||||
rev = version;
|
||||
sha256 = "06xcl9pr8dna4kqjaqm7ss50gdy185425bwl31i0xs3l11cyjap4";
|
||||
sha256 = "0s7943r2s14kavyjf7i70vca252l626539i09a9vk0i9sfi35vx5";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove on next release. Fixes the `change-folder`
|
||||
# macro (https://github.com/neomutt/neomutt/issues/2268)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/neomutt/neomutt/commit/9e7537caddb9c6adc720bb3322a7512cf51ab025.patch";
|
||||
sha256 = "1vmlvgnhx1ra3rnyjkpkv6lrqw8xfh2kkmqp43fqn9lnk3pkjxvv";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cyrus_sasl gss gpgme kerberos libidn ncurses
|
||||
notmuch openssl perl lmdb
|
||||
@@ -21,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
docbook_xsl docbook_xml_dtd_42 gettext libxml2 libxslt.bin makeWrapper tcl which
|
||||
docbook_xsl docbook_xml_dtd_42 gettext libxml2 libxslt.bin makeWrapper tcl which zlib
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@@ -61,6 +71,7 @@ stdenv.mkDerivation rec {
|
||||
"--with-mailpath="
|
||||
# Look in $PATH at runtime, instead of hardcoding /usr/bin/sendmail
|
||||
"ac_cv_path_SENDMAIL=sendmail"
|
||||
"--zlib"
|
||||
];
|
||||
|
||||
# Fix missing libidn in mutt;
|
||||
@@ -74,7 +85,20 @@ stdenv.mkDerivation rec {
|
||||
|
||||
doCheck = true;
|
||||
|
||||
preCheck = ''
|
||||
cp -r ${fetchFromGitHub {
|
||||
owner = "neomutt";
|
||||
repo = "neomutt-test-files";
|
||||
rev = "1ee274e9ae1330fb901eb7b8275b3079d7869222";
|
||||
sha256 = "0dhilz4rr7616jh8jcvh50a3rr09in43nsv72mm6f3vfklcqincp";
|
||||
}} $(pwd)/test-files
|
||||
(cd test-files && ./setup.sh)
|
||||
|
||||
export NEOMUTT_TEST_DIR=$(pwd)/test-files
|
||||
'';
|
||||
|
||||
checkTarget = "test";
|
||||
postCheck = "unset NEOMUTT_TEST_DIR";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A small but very powerful text-based mail client";
|
||||
|
||||
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ erictapen ];
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -59,5 +59,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ ahuzik ];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -24,5 +24,6 @@ in stdenv.mkDerivation {
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -52,5 +52,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
homepage = "https://github.com/rndusr/stig";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ doronbehar ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
, gtk_engines
|
||||
, alsaLib
|
||||
, zlib
|
||||
, version ? "19.12.0"
|
||||
, version ? "20.04.0"
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -71,7 +71,18 @@ let
|
||||
x86hash = "07rfp90ksnvr8zv7ix7f0z6a59n48s7bd4kqbzilfwxgs4ddqmcy";
|
||||
x64suffix = "19";
|
||||
x86suffix = "19";
|
||||
homepage = https://www.citrix.com/de-de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html;
|
||||
homepage = "https://www.citrix.com/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-1912.html";
|
||||
};
|
||||
|
||||
"20.04.0" = {
|
||||
major = "20";
|
||||
minor = "04";
|
||||
patch = "0";
|
||||
x64hash = "E923592216F9541173846F932784E6C062CB09C9E8858219C7489607BF82A0FB";
|
||||
x86hash = "A2E2E1882723DA6796E68916B3BB2B44DD575A83DEB03CA90A262F6C81B1A53F";
|
||||
x64suffix = "21";
|
||||
x86suffix = "21";
|
||||
homepage = "https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -102,5 +102,6 @@ in stdenv.mkDerivation {
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ offline ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
, aspellDicts, buildEnv
|
||||
, gnome3, librsvg
|
||||
, xvfb_run, dbus, libnotify
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
@@ -77,5 +78,6 @@ python3Packages.buildPythonApplication rec {
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = [ lib.maintainers.aszlig ];
|
||||
platforms = lib.platforms.linux;
|
||||
broken = stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -49,5 +49,6 @@ stdenv.mkDerivation {
|
||||
# See pkgs/applications/science/logic/glucose/default.nix
|
||||
# (The error is different due to glucose-fenv.patch, but the same)
|
||||
badPlatforms = [ "aarch64-linux" ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.linux;
|
||||
license = licenses.bsd3;
|
||||
homepage = http://www.leoprover.org/;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -40,5 +40,6 @@ mkDerivation rec {
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ lebastr ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -71,5 +71,6 @@ python.pkgs.buildPythonApplication rec {
|
||||
description = "Fitting and data analysis for small angle scattering data";
|
||||
maintainers = with maintainers; [ rprospero ];
|
||||
license = licenses.bsd3;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -69,5 +69,6 @@ mkDerivation rec {
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ pxc ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -23,5 +23,6 @@ buildPythonApplication rec {
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = with platforms; linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ assert sendEmailSupport -> perlSupport;
|
||||
assert svnSupport -> perlSupport;
|
||||
|
||||
let
|
||||
version = "2.25.0";
|
||||
version = "2.25.3";
|
||||
svn = subversionClient.override { perlBindings = perlSupport; };
|
||||
|
||||
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
|
||||
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
||||
sha256 = "1l58v42aazj0x9276gk8r9mwyl9pgp9w99aakz4xfhzv7wd2jq60";
|
||||
sha256 = "0yvr97cl0dvj3fwblq1mb0cp97v8hrn9l98p8b1jx8815mbsnz9h";
|
||||
};
|
||||
|
||||
outputs = [ "out" ];
|
||||
|
||||
@@ -57,5 +57,6 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
|
||||
license = with licenses; gpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = with platforms; linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
|
||||
license = with licenses; gpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = with platforms; linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
|
||||
license = with licenses; gpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = with platforms; linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ let
|
||||
buildType = "release";
|
||||
# Remember to change the extpackRev and version in extpack.nix and
|
||||
# guest-additions/default.nix as well.
|
||||
main = "036x2mvkk22lbg72cz6pik9z538j1ag6mmwjjmfikgrq1i7v24jy";
|
||||
version = "6.0.14";
|
||||
main = "59f8f5774473f593e3eb5940e2a337e0674bcd9854164b2578fd43f896260c99";
|
||||
version = "6.1.4";
|
||||
|
||||
iasl' = iasl.overrideAttrs (old: rec {
|
||||
inherit (old) pname;
|
||||
@@ -89,6 +89,7 @@ in stdenv.mkDerivation {
|
||||
|
||||
patches =
|
||||
optional enableHardening ./hardened.patch
|
||||
++ [ ./extra_symbols.patch ]
|
||||
# When hardening is enabled, we cannot use wrapQtApp to ensure that VirtualBoxVM sees
|
||||
# the correct environment variables needed for Qt to work, specifically QT_PLUGIN_PATH.
|
||||
# This is because VirtualBoxVM would detect that it is wrapped that and refuse to run,
|
||||
@@ -102,26 +103,6 @@ in stdenv.mkDerivation {
|
||||
})
|
||||
++ [
|
||||
./qtx11extras.patch
|
||||
# Kernel 5.4 fix, should be fixed with next upstream release
|
||||
# https://www.virtualbox.org/ticket/18945
|
||||
(fetchpatch {
|
||||
name = "kernel-5.4-fix-1.patch";
|
||||
url = "https://www.virtualbox.org/changeset/81586/vbox?format=diff";
|
||||
sha256 = "0zbkc9v65pkdmjik53x29g39qyf7narkhpwpx5n1n1bfqnhf0k1r";
|
||||
stripLen = 1;
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "kernel-5.4-fix-2.patch";
|
||||
url = "https://www.virtualbox.org/changeset/81587/vbox?format=diff";
|
||||
sha256 = "1j98cqxj8qlqwaqr4mvwwbkmchw8jmygjwgzz82gix7fj76j2y9c";
|
||||
stripLen = 1;
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "kernel-5.4-fix-3.patch";
|
||||
url = "https://www.virtualbox.org/changeset/81649/vbox?format=diff";
|
||||
sha256 = "1d6p5k5dgzmjglqfkbcbvpn1x3wxila30q4gcbb7pxwfgclaw2hk";
|
||||
stripLen = 1;
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{fetchurl, lib}:
|
||||
{fetchurl, lib, virtualbox}:
|
||||
|
||||
with lib;
|
||||
|
||||
let version = "6.0.14";
|
||||
let
|
||||
inherit (virtualbox) version;
|
||||
in
|
||||
fetchurl rec {
|
||||
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}.vbox-extpack";
|
||||
@@ -11,7 +12,7 @@ fetchurl rec {
|
||||
# Manually sha256sum the extensionPack file, must be hex!
|
||||
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
|
||||
# Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
|
||||
let value = "c8a5cc980c9c94cdac3d94e23cf159c2433aae76b416dbfb5b1a918758f21e63";
|
||||
let value = "3b73798d776ff223ea8025b1a45001762f8d4e5bcd1ea61449773c1249935800";
|
||||
in assert (builtins.stringLength value) == 64; value;
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
diff --git a/src/VBox/HostDrivers/linux/Makefile b/src/VBox/HostDrivers/linux/Makefile
|
||||
index 6e44129b..e68ce128 100644
|
||||
--- a/src/VBox/HostDrivers/linux/Makefile
|
||||
+++ b/src/VBox/HostDrivers/linux/Makefile
|
||||
@@ -95,13 +95,13 @@ vboxpci: vboxdrv
|
||||
install:
|
||||
@$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxdrv install
|
||||
@if [ -d vboxnetflt ]; then \
|
||||
- $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetflt install; \
|
||||
+ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) KBUILD_EXTRA_SYMBOLS=$(abspath vboxnetflt/Module.symvers) -C vboxnetflt install; \
|
||||
fi
|
||||
@if [ -d vboxnetadp ]; then \
|
||||
- $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxnetadp install; \
|
||||
+ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) KBUILD_EXTRA_SYMBOLS=$(abspath vboxnetadp/Module.symvers) -C vboxnetadp install; \
|
||||
fi
|
||||
@if [ -d vboxpci ]; then \
|
||||
- $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxpci install; \
|
||||
+ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) KBUILD_EXTRA_SYMBOLS=$(abspath vboxpci/Module.symvers) -C vboxpci install; \
|
||||
fi
|
||||
|
||||
else
|
||||
@@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
|
||||
, zlib, xorg, dbus, virtualbox, dos2unix, fetchpatch, findutils, patchutils }:
|
||||
, zlib, xorg, dbus, virtualbox}:
|
||||
|
||||
let
|
||||
version = virtualbox.version;
|
||||
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
||||
sha256 = "1c9ysx0fhxxginmp607b4fk74dvlr32n6w52gawm06prf4xg90nb";
|
||||
sha256 = "e2846a7576cce1b92a7c0744f41eaac750248d6e31dfca5c45d5766648b394c7";
|
||||
};
|
||||
|
||||
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||
@@ -43,67 +43,9 @@ in stdenv.mkDerivation rec {
|
||||
prePatch = ''
|
||||
substituteInPlace src/vboxguest-${version}/vboxvideo/vbox_ttm.c \
|
||||
--replace "<ttm/" "<drm/ttm/"
|
||||
|
||||
echo ${lib.escapeShellArgs patches} | \
|
||||
${findutils}/bin/xargs -n1 ${patchutils}/bin/lsdiff --strip=1 --addprefix=src/vboxguest-${version}/ | \
|
||||
${findutils}/bin/xargs ${dos2unix}/bin/dos2unix
|
||||
'';
|
||||
|
||||
patchFlags = [ "-p1" "-d" "src/vboxguest-${version}" ];
|
||||
# Kernel 5.4 fix, should be fixed with next upstream release
|
||||
# https://www.virtualbox.org/ticket/18945
|
||||
patches = lib.concatLists (lib.mapAttrsToList (changeset: args:
|
||||
map (arg:
|
||||
fetchpatch ({
|
||||
name = "kernel-5.4-fix-${changeset}.patch";
|
||||
url = "https://www.virtualbox.org/changeset/${changeset}/vbox?format=diff";
|
||||
} // arg)) args) {
|
||||
"81586" = [{
|
||||
sha256 = "126z67x6vy65w6jlqbh4z4f1cffxnycwb69vns0154bawbsbxsiw";
|
||||
stripLen = 5;
|
||||
extraPrefix = "vboxguest/";
|
||||
}];
|
||||
"81587" = [
|
||||
{
|
||||
sha256 = "0simzswnl0wvnc2i9gixz99rfc7lxk1nrnskksrlrrl9hqnh0lva";
|
||||
stripLen = 5;
|
||||
extraPrefix = "vboxsf/";
|
||||
includes = [ "*/the-linux-kernel.h" ];
|
||||
}
|
||||
{
|
||||
sha256 = "0a8r9h3x3lcjq2fykgqhdaykp00rnnkbxz8xnxg847zgvca15y02";
|
||||
stripLen = 5;
|
||||
extraPrefix = "vboxguest/";
|
||||
includes = [ "*/the-linux-kernel.h" ];
|
||||
}
|
||||
];
|
||||
"81649" = [
|
||||
{
|
||||
sha256 = "1p1skxlvqigydxr4sk7w51lpk7nxg0d9lppq39sdnfmgi1z0h0sc";
|
||||
stripLen = 2;
|
||||
extraPrefix = "vboxguest/";
|
||||
includes = [ "*/cdefs.h" ];
|
||||
}
|
||||
{
|
||||
sha256 = "1j060ggdnndyjdhkfvs15306gl7g932sim9xjmx2mnx8gjdmg37f";
|
||||
stripLen = 2;
|
||||
extraPrefix = "vboxsf/";
|
||||
includes = [ "*/cdefs.h" ];
|
||||
}
|
||||
{
|
||||
sha256 = "060h3a5k2yklbvlg0hyg4x87xrg37cvv3rjb67xizlwvlyy6ykkg";
|
||||
stripLen = 5;
|
||||
extraPrefix = "vboxguest/";
|
||||
includes = [ "*/thread2-r0drv-linux.c" ];
|
||||
}
|
||||
{
|
||||
sha256 = "0cxlkf7cy751gl8dgzr7vkims1kmx5pgzsrxyk8w18zyp5nk9glw";
|
||||
stripLen = 7;
|
||||
extraPrefix = "vboxvideo/";
|
||||
includes = [ "*/vbox_*.c" ];
|
||||
}
|
||||
];
|
||||
});
|
||||
|
||||
unpackPhase = ''
|
||||
${if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then ''
|
||||
@@ -162,7 +104,7 @@ in stdenv.mkDerivation rec {
|
||||
installPhase = ''
|
||||
# Install kernel modules.
|
||||
cd src/vboxguest-${version}
|
||||
make install INSTALL_MOD_PATH=$out
|
||||
make install INSTALL_MOD_PATH=$out KBUILD_EXTRA_SYMBOLS=$PWD/vboxsf/Module.symvers
|
||||
cd ../..
|
||||
|
||||
# Install binaries
|
||||
|
||||
@@ -75,32 +75,6 @@ index ce0f288..6193108 100644
|
||||
return supR3HardenedSetError3(VERR_SUPLIB_WRITE_NON_SYS_GROUP, pErrInfo,
|
||||
"An unknown (and thus untrusted) group has write access to '", pszPath,
|
||||
"' and we therefore cannot trust the directory content or that of any subdirectory");
|
||||
diff --git a/src/VBox/Main/src-server/MachineImpl.cpp b/src/VBox/Main/src-server/MachineImpl.cpp
|
||||
index 320c569..9bfe41f 100644
|
||||
--- a/src/VBox/Main/src-server/MachineImpl.cpp
|
||||
+++ b/src/VBox/Main/src-server/MachineImpl.cpp
|
||||
@@ -7543,7 +7543,7 @@ HRESULT Machine::i_launchVMProcess(IInternalSessionControl *aControl,
|
||||
|
||||
/* get the path to the executable */
|
||||
char szPath[RTPATH_MAX];
|
||||
- RTPathAppPrivateArch(szPath, sizeof(szPath) - 1);
|
||||
+ RTStrCopy(szPath, sizeof(szPath) - 1, "/run/wrappers/bin");
|
||||
size_t cchBufLeft = strlen(szPath);
|
||||
szPath[cchBufLeft++] = RTPATH_DELIMITER;
|
||||
szPath[cchBufLeft] = 0;
|
||||
diff --git a/src/VBox/Main/src-server/NetworkServiceRunner.cpp b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
index 1e38d99..5e43dda 100644
|
||||
--- a/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
+++ b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
@@ -85,7 +85,7 @@ int NetworkServiceRunner::start(bool aKillProcOnStop)
|
||||
|
||||
/* get the path to the executable */
|
||||
char exePathBuf[RTPATH_MAX];
|
||||
- const char *exePath = RTProcGetExecutablePath(exePathBuf, RTPATH_MAX);
|
||||
+ const char *exePath = RTProcGetSuidPath(exePathBuf, RTPATH_MAX);
|
||||
char *substrSl = strrchr(exePathBuf, '/');
|
||||
char *substrBs = strrchr(exePathBuf, '\\');
|
||||
char *suffix = substrSl ? substrSl : substrBs;
|
||||
diff --git a/src/VBox/Main/src-server/generic/NetIf-generic.cpp b/src/VBox/Main/src-server/generic/NetIf-generic.cpp
|
||||
index 98dc91a..43a819f 100644
|
||||
--- a/src/VBox/Main/src-server/generic/NetIf-generic.cpp
|
||||
@@ -180,3 +154,29 @@ index 2aab645..9795f21 100644
|
||||
|
||||
RTR3DECL(const char *) RTProcShortName(void)
|
||||
{
|
||||
diff --git a/src/VBox/Main/src-server/NetworkServiceRunner.cpp b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
index 2e57690..3272c84 100644
|
||||
--- a/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
+++ b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
|
||||
@@ -188,7 +188,7 @@ int NetworkServiceRunner::start(bool aKillProcessOnStop)
|
||||
* ASSUME it is relative to the directory that holds VBoxSVC.
|
||||
*/
|
||||
char szExePath[RTPATH_MAX];
|
||||
- AssertReturn(RTProcGetExecutablePath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
|
||||
+ AssertReturn(RTProcGetSuidPath(szExePath, RTPATH_MAX), VERR_FILENAME_TOO_LONG);
|
||||
RTPathStripFilename(szExePath);
|
||||
int vrc = RTPathAppend(szExePath, sizeof(szExePath), m->pszProcName);
|
||||
AssertLogRelRCReturn(vrc, vrc);
|
||||
diff --git a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
|
||||
index 2991d3a7..d042a08b 100644
|
||||
--- a/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
|
||||
+++ b/src/VBox/Main/src-all/MachineLaunchVMCommonWorker.cpp
|
||||
@@ -90,7 +90,7 @@ int MachineLaunchVMCommonWorker(const Utf8Str &aNameOrId,
|
||||
|
||||
/* Get the path to the executable directory w/ trailing slash: */
|
||||
char szPath[RTPATH_MAX];
|
||||
- int vrc = RTPathAppPrivateArch(szPath, sizeof(szPath));
|
||||
+ int vrc = RTStrCopy(szPath, sizeof(szPath) - 1, "/run/wrappers/bin");
|
||||
AssertRCReturn(vrc, vrc);
|
||||
size_t cbBufLeft = RTPathEnsureTrailingSeparator(szPath, sizeof(szPath));
|
||||
AssertReturn(cbBufLeft > 0, VERR_FILENAME_TOO_LONG);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jwm";
|
||||
version = "1685";
|
||||
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "joewing";
|
||||
repo = "jwm";
|
||||
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.romildo ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -171,9 +171,9 @@ in stdenv.mkDerivation (fBuildAttrs // {
|
||||
done
|
||||
linkopts=()
|
||||
host_linkopts=()
|
||||
for flag in $NIX_LD_FLAGS; do
|
||||
linkopts+=( "--linkopt=$flag" )
|
||||
host_linkopts+=( "--host_linkopt=$flag" )
|
||||
for flag in $NIX_LDFLAGS; do
|
||||
linkopts+=( "--linkopt=-Wl,$flag" )
|
||||
host_linkopts+=( "--host_linkopt=-Wl,$flag" )
|
||||
done
|
||||
|
||||
BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
|
||||
|
||||
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ etu ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -39,5 +39,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.isc;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = [ stdenv.lib.maintainers.earldouglas ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
||||
maintainers = [ ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -906,7 +906,8 @@ self: super: {
|
||||
cryptohash-md5 = doJailbreak super.cryptohash-md5;
|
||||
text-short = doJailbreak super.text-short;
|
||||
gitHUD = dontCheck super.gitHUD;
|
||||
githud = dontCheck super.githud;
|
||||
# broken 20.03
|
||||
githud = markBroken super.githud;
|
||||
|
||||
# https://github.com/aisamanra/config-ini/issues/12
|
||||
config-ini = dontCheck super.config-ini;
|
||||
@@ -1420,4 +1421,28 @@ self: super: {
|
||||
amqp = dontCheck super.amqp_0_19_1;
|
||||
};
|
||||
|
||||
# 20.03 broken packages
|
||||
|
||||
envy-extensible = markBroken super.envy-extensible;
|
||||
exceptionfree-readfile = markBroken super.exceptionfree-readfile;
|
||||
fcf-containers = markBroken super.fcf-containers;
|
||||
first-class-instances = markBroken super.first-class-instances;
|
||||
flp = markBroken super.flp;
|
||||
hal = markBroken super.hal;
|
||||
hcad = markBroken super.hcad;
|
||||
hedis-envy = markBroken super.hedis-envy;
|
||||
hhwloc = markBroken super.hhwloc;
|
||||
layered-state = markBroken super.layered-state;
|
||||
network-uri-static = markBroken super.network-uri-static;
|
||||
pandoc-plot = markBroken super.pandoc-plot;
|
||||
patch = markBroken super.patch;
|
||||
prologue = markBroken super.prologue;
|
||||
provenience = markBroken super.provenience;
|
||||
refractor = markBroken super.refractor;
|
||||
shwifty = markBroken super.shwifty;
|
||||
smallcheck-kind-generics = markBroken super.smallcheck-kind-generics;
|
||||
traversal-template = markBroken super.traversal-template;
|
||||
vector-text = markBroken super.vector-text;
|
||||
zbar = markBroken super.zbar;
|
||||
|
||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||
|
||||
@@ -122,7 +122,7 @@ let # packageJSON=./package.json;
|
||||
classp = cljdeps.makeClasspaths {
|
||||
extraClasspaths=["src/js" "src/cljs/bundled" "src/cljs/snapshot"];
|
||||
};
|
||||
|
||||
|
||||
|
||||
getJarPath = jarName: (lib.findFirst (p: p.name == jarName) null cljdeps.packages).path.jar;
|
||||
|
||||
@@ -147,7 +147,7 @@ in stdenv.mkDerivation {
|
||||
# configure clojure-cli
|
||||
mkdir ./.cpcache
|
||||
export CLJ_CONFIG=`pwd`
|
||||
export CLJ_CACHE=`pwd`/.cpcache
|
||||
export CLJ_CACHE=`pwd`/.cpcache
|
||||
|
||||
# require more namespaces for cljs-bundle
|
||||
sed -i "s!ns lumo.core! \
|
||||
@@ -155,7 +155,7 @@ in stdenv.mkDerivation {
|
||||
(:require ${requireDeps}) \
|
||||
(:require-macros [clojure.template :as temp] \
|
||||
[cljs.test :as test])!g" \
|
||||
./src/cljs/snapshot/lumo/core.cljs
|
||||
./src/cljs/snapshot/lumo/core.cljs
|
||||
|
||||
# Step 1: compile clojurescript with :none and :simple
|
||||
${clojure}/bin/clojure -Scp ${classp} -e "${compileClojurescript true}"
|
||||
@@ -204,7 +204,7 @@ in stdenv.mkDerivation {
|
||||
# Step 3: generate munged cache jsons
|
||||
${clojure}/bin/clojure -Scp ${classp} -e "${cacheToJsons}"
|
||||
rm ./target/cljs/core\$macros\.cljc\.cache\.json
|
||||
|
||||
|
||||
|
||||
# Step 4: Bunde javascript
|
||||
NODE_ENV=production node scripts/bundle.js
|
||||
@@ -251,6 +251,7 @@ in stdenv.mkDerivation {
|
||||
license = stdenv.lib.licenses.epl10;
|
||||
maintainers = [ stdenv.lib.maintainers.hlolli ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "evcxr";
|
||||
version = "0.5.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "evcxr";
|
||||
rev = "239e431c58d04c641da22af791e4d3e1b894365e";
|
||||
sha256 = "0vkcis06gwsqfwvrl8xcf74mfcs6j77b9fhcz5rrh77mwl7ixsdc";
|
||||
rev = "582ce09f216d4812f7d152f6eedf0b034fc4dbbd";
|
||||
sha256 = "12hlqgh74z8vmd7fkxh4vk3dqp8hlhzkxnbyywk6nphi562n6w5w";
|
||||
};
|
||||
|
||||
cargoSha256 = "04wffj2y9pqyk0x3y6ghp06pggmxnk2h245iabqq0mpwx36fd8b6";
|
||||
cargoSha256 = "0xd8slrd19sy6z17x4x7mxqiwgyg89p7xnknp08bxkm8qxdn3c33";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig makeWrapper cmake ];
|
||||
buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
|
||||
|
||||
29
pkgs/development/libraries/audio/libinstpatch/default.nix
Normal file
29
pkgs/development/libraries/audio/libinstpatch/default.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, pkg-config, glib, libsndfile }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libinstpatch";
|
||||
version = "1.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "swami";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1v7mv43xxwrzi3agrc60agcw46jaidr8ql9kkm1w4jxkf4c6z6dz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
propagatedBuildInputs = [ glib libsndfile ]; # Both are needed for includes.
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLIB_SUFFIX=" # Install in $out/lib.
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://www.swamiproject.org/";
|
||||
description = "MIDI instrument patch files support library";
|
||||
license = licenses.lgpl21;
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
|
||||
description = "High-level widget set for Tcl/Tk";
|
||||
license = stdenv.lib.licenses.tcltk;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -74,5 +74,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.lgpl3;
|
||||
maintainers = [ maintainers.smaret ];
|
||||
platforms = platforms.all;
|
||||
broken = pythonPackages.isPy38;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -113,5 +113,6 @@ stdenv.mkDerivation rec {
|
||||
description = "GNU Compiler Collection, version ${version} -- C++ standard library";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://sourceforge.net/projects/libgaminggear/;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
|
||||
version = "9.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.freedesktop.org/pub/mesa/${pname}/${pname}-${version}.tar.xz";
|
||||
url = "https://mesa.freedesktop.org/archive/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1g2m634p73mixkzv1qz1d0flwm390ydi41bwmchiqvdssqnlqnpv";
|
||||
};
|
||||
|
||||
|
||||
@@ -30,4 +30,6 @@ buildPackage {
|
||||
mv examples $doc/share/doc/nsss/examples
|
||||
'';
|
||||
|
||||
meta.broken = true;
|
||||
|
||||
}
|
||||
|
||||
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ doronbehar ];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -24,5 +24,6 @@ stdenv.mkDerivation {
|
||||
homepage = https://www.lonesock.net/soil.html;
|
||||
license = stdenv.lib.licenses.publicDomain;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.twey ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -28,5 +28,6 @@ buildPackage {
|
||||
mv doc $doc/share/doc/utmps/html
|
||||
mv examples $doc/share/doc/utmps/examples
|
||||
'';
|
||||
meta.broken = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -990,6 +990,7 @@ luaexpat = buildLuarocksPackage {
|
||||
license = {
|
||||
fullName = "MIT/X11";
|
||||
};
|
||||
broken = true;
|
||||
};
|
||||
};
|
||||
luaffi = buildLuarocksPackage {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user