Merge branch 'staging-next' into staging
This commit is contained in:
commit
40272a77a3
@ -593,7 +593,7 @@ as the interpreter unless overridden otherwise.
|
|||||||
All parameters from `stdenv.mkDerivation` function are still supported. The following are specific to `buildPythonPackage`:
|
All parameters from `stdenv.mkDerivation` function are still supported. The following are specific to `buildPythonPackage`:
|
||||||
|
|
||||||
* `catchConflicts ? true`: If `true`, abort package build if a package name appears more than once in dependency tree. Default is `true`.
|
* `catchConflicts ? true`: If `true`, abort package build if a package name appears more than once in dependency tree. Default is `true`.
|
||||||
* `disabled` ? false: If `true`, package is not build for the particular Python interpreter version.
|
* `disabled` ? false: If `true`, package is not built for the particular Python interpreter version.
|
||||||
* `dontWrapPythonPrograms ? false`: Skip wrapping of python programs.
|
* `dontWrapPythonPrograms ? false`: Skip wrapping of python programs.
|
||||||
* `permitUserSite ? false`: Skip setting the `PYTHONNOUSERSITE` environment variable in wrapped programs.
|
* `permitUserSite ? false`: Skip setting the `PYTHONNOUSERSITE` environment variable in wrapped programs.
|
||||||
* `installFlags ? []`: A list of strings. Arguments to be passed to `pip install`. To pass options to `python setup.py install`, use `--install-option`. E.g., `installFlags=["--install-option='--cpp_implementation'"]`.
|
* `installFlags ? []`: A list of strings. Arguments to be passed to `pip install`. To pass options to `python setup.py install`, use `--install-option`. E.g., `installFlags=["--install-option='--cpp_implementation'"]`.
|
||||||
|
@ -1142,6 +1142,12 @@
|
|||||||
githubId = 5771456;
|
githubId = 5771456;
|
||||||
name = "Chaddaï Fouché";
|
name = "Chaddaï Fouché";
|
||||||
};
|
};
|
||||||
|
cfsmp3 = {
|
||||||
|
email = "carlos@sanz.dev";
|
||||||
|
github = "cfsmp3";
|
||||||
|
githubId = 5949913;
|
||||||
|
name = "Carlos Fernandez Sanz";
|
||||||
|
};
|
||||||
chaduffy = {
|
chaduffy = {
|
||||||
email = "charles@dyfis.net";
|
email = "charles@dyfis.net";
|
||||||
github = "charles-dyfis-net";
|
github = "charles-dyfis-net";
|
||||||
@ -1936,7 +1942,9 @@
|
|||||||
name = "Eric Hegnes";
|
name = "Eric Hegnes";
|
||||||
};
|
};
|
||||||
ehmry = {
|
ehmry = {
|
||||||
email = "emery@vfemail.net";
|
email = "ehmry@posteo.net";
|
||||||
|
github= "ehmry";
|
||||||
|
githubId = 537775;
|
||||||
name = "Emery Hemingway";
|
name = "Emery Hemingway";
|
||||||
};
|
};
|
||||||
eikek = {
|
eikek = {
|
||||||
@ -2420,6 +2428,11 @@
|
|||||||
github = "gavinrogers";
|
github = "gavinrogers";
|
||||||
name = "Gavin Rogers";
|
name = "Gavin Rogers";
|
||||||
};
|
};
|
||||||
|
gazally = {
|
||||||
|
email = "gazally@runbox.com";
|
||||||
|
github = "gazally";
|
||||||
|
name = "Gemini Lasswell";
|
||||||
|
};
|
||||||
gebner = {
|
gebner = {
|
||||||
email = "gebner@gebner.org";
|
email = "gebner@gebner.org";
|
||||||
github = "gebner";
|
github = "gebner";
|
||||||
@ -4069,6 +4082,12 @@
|
|||||||
githubId = 427866;
|
githubId = 427866;
|
||||||
name = "Matthias Beyer";
|
name = "Matthias Beyer";
|
||||||
};
|
};
|
||||||
|
matthuszagh = {
|
||||||
|
email = "huszaghmatt@gmail.com";
|
||||||
|
github = "matthuszagh";
|
||||||
|
githubId = 7377393;
|
||||||
|
name = "Matt Huszagh";
|
||||||
|
};
|
||||||
matti-kariluoma = {
|
matti-kariluoma = {
|
||||||
email = "matti@kariluo.ma";
|
email = "matti@kariluo.ma";
|
||||||
github = "matti-kariluoma";
|
github = "matti-kariluoma";
|
||||||
@ -6666,6 +6685,12 @@
|
|||||||
githubId = 178444;
|
githubId = 178444;
|
||||||
name = "Thomas Bereknyei";
|
name = "Thomas Bereknyei";
|
||||||
};
|
};
|
||||||
|
tomfitzhenry = {
|
||||||
|
email = "tom@tom-fitzhenry.me.uk";
|
||||||
|
github = "tomfitzhenry";
|
||||||
|
githubId = 61303;
|
||||||
|
name = "Tom Fitzhenry";
|
||||||
|
};
|
||||||
tomsmeets = {
|
tomsmeets = {
|
||||||
email = "tom.tsmeets@gmail.com";
|
email = "tom.tsmeets@gmail.com";
|
||||||
github = "tomsmeets";
|
github = "tomsmeets";
|
||||||
|
@ -42,10 +42,12 @@ luadbi,,,,,
|
|||||||
luadbi-mysql,,,,,
|
luadbi-mysql,,,,,
|
||||||
luadbi-postgresql,,,,,
|
luadbi-postgresql,,,,,
|
||||||
luadbi-sqlite3,,,,,
|
luadbi-sqlite3,,,,,
|
||||||
|
luadoc,,,,,
|
||||||
luaevent,,,,,
|
luaevent,,,,,
|
||||||
luaexpat,,,1.3.0-1,,arobyn flosse
|
luaexpat,,,1.3.0-1,,arobyn flosse
|
||||||
luaffi,,http://luarocks.org/dev,,,
|
luaffi,,http://luarocks.org/dev,,,
|
||||||
luafilesystem,,,1.7.0-2,,flosse vcunat
|
luafilesystem,,,1.7.0-2,,flosse vcunat
|
||||||
|
lualogging,,,,,
|
||||||
luaossl,,,,lua5_1,vcunat
|
luaossl,,,,lua5_1,vcunat
|
||||||
luaposix,,,,,vyp lblasc
|
luaposix,,,,,vyp lblasc
|
||||||
luasec,,,,,flosse
|
luasec,,,,,flosse
|
||||||
|
|
@ -15,7 +15,7 @@ nix-build '<nixpkgs/nixos/lib/eval-config.nix>' \
|
|||||||
-j 10
|
-j 10
|
||||||
|
|
||||||
img_path=$(echo gce/*.tar.gz)
|
img_path=$(echo gce/*.tar.gz)
|
||||||
img_name=$(basename "$img_path")
|
img_name=${IMAGE_NAME:-$(basename "$img_path")}
|
||||||
img_id=$(echo "$img_name" | sed 's|.raw.tar.gz$||;s|\.|-|g;s|_|-|g')
|
img_id=$(echo "$img_name" | sed 's|.raw.tar.gz$||;s|\.|-|g;s|_|-|g')
|
||||||
if ! gsutil ls "gs://${BUCKET_NAME}/$img_name"; then
|
if ! gsutil ls "gs://${BUCKET_NAME}/$img_name"; then
|
||||||
gsutil cp "$img_path" "gs://${BUCKET_NAME}/$img_name"
|
gsutil cp "$img_path" "gs://${BUCKET_NAME}/$img_name"
|
||||||
|
@ -89,11 +89,7 @@ with lib;
|
|||||||
};
|
};
|
||||||
|
|
||||||
consoleKeyMap = mkOption {
|
consoleKeyMap = mkOption {
|
||||||
type = mkOptionType {
|
type = with types; either str path;
|
||||||
name = "string or path";
|
|
||||||
check = t: (isString t || types.path.check t);
|
|
||||||
};
|
|
||||||
|
|
||||||
default = "us";
|
default = "us";
|
||||||
example = "fr";
|
example = "fr";
|
||||||
description = ''
|
description = ''
|
||||||
|
@ -321,6 +321,7 @@
|
|||||||
./services/games/factorio.nix
|
./services/games/factorio.nix
|
||||||
./services/games/minecraft-server.nix
|
./services/games/minecraft-server.nix
|
||||||
./services/games/minetest-server.nix
|
./services/games/minetest-server.nix
|
||||||
|
./services/games/openarena.nix
|
||||||
./services/games/terraria.nix
|
./services/games/terraria.nix
|
||||||
./services/hardware/acpid.nix
|
./services/hardware/acpid.nix
|
||||||
./services/hardware/actkbd.nix
|
./services/hardware/actkbd.nix
|
||||||
@ -729,6 +730,7 @@
|
|||||||
./services/networking/xinetd.nix
|
./services/networking/xinetd.nix
|
||||||
./services/networking/xl2tpd.nix
|
./services/networking/xl2tpd.nix
|
||||||
./services/networking/xrdp.nix
|
./services/networking/xrdp.nix
|
||||||
|
./services/networking/yggdrasil.nix
|
||||||
./services/networking/zerobin.nix
|
./services/networking/zerobin.nix
|
||||||
./services/networking/zeronet.nix
|
./services/networking/zeronet.nix
|
||||||
./services/networking/zerotierone.nix
|
./services/networking/zerotierone.nix
|
||||||
@ -793,6 +795,7 @@
|
|||||||
./services/web-apps/cryptpad.nix
|
./services/web-apps/cryptpad.nix
|
||||||
./services/web-apps/documize.nix
|
./services/web-apps/documize.nix
|
||||||
./services/web-apps/frab.nix
|
./services/web-apps/frab.nix
|
||||||
|
./services/web-apps/gotify-server.nix
|
||||||
./services/web-apps/icingaweb2/icingaweb2.nix
|
./services/web-apps/icingaweb2/icingaweb2.nix
|
||||||
./services/web-apps/icingaweb2/module-monitoring.nix
|
./services/web-apps/icingaweb2/module-monitoring.nix
|
||||||
./services/web-apps/limesurvey.nix
|
./services/web-apps/limesurvey.nix
|
||||||
|
@ -69,9 +69,9 @@ let
|
|||||||
plugins = mkOption {
|
plugins = mkOption {
|
||||||
type = types.listOf (types.enum [
|
type = types.listOf (types.enum [
|
||||||
"cert.der" "cert.pem" "chain.pem" "external.sh"
|
"cert.der" "cert.pem" "chain.pem" "external.sh"
|
||||||
"fullchain.pem" "full.pem" "key.der" "key.pem" "account_key.json"
|
"fullchain.pem" "full.pem" "key.der" "key.pem" "account_key.json" "account_reg.json"
|
||||||
]);
|
]);
|
||||||
default = [ "fullchain.pem" "full.pem" "key.pem" "account_key.json" ];
|
default = [ "fullchain.pem" "full.pem" "key.pem" "account_key.json" "account_reg.json" ];
|
||||||
description = ''
|
description = ''
|
||||||
Plugins to enable. With default settings simp_le will
|
Plugins to enable. With default settings simp_le will
|
||||||
store public certificate bundle in <filename>fullchain.pem</filename>,
|
store public certificate bundle in <filename>fullchain.pem</filename>,
|
||||||
@ -203,6 +203,11 @@ in
|
|||||||
description = "Renew ACME Certificate for ${cert}";
|
description = "Renew ACME Certificate for ${cert}";
|
||||||
after = [ "network.target" "network-online.target" ];
|
after = [ "network.target" "network-online.target" ];
|
||||||
wants = [ "network-online.target" ];
|
wants = [ "network-online.target" ];
|
||||||
|
# simp_le uses requests, which uses certifi under the hood,
|
||||||
|
# which doesn't respect the system trust store.
|
||||||
|
# At least in the acme test, we provision a fake CA, impersonating the LE endpoint.
|
||||||
|
# REQUESTS_CA_BUNDLE is a way to teach python requests to use something else
|
||||||
|
environment.REQUESTS_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
SuccessExitStatus = [ "0" "1" ];
|
SuccessExitStatus = [ "0" "1" ];
|
||||||
|
56
nixos/modules/services/games/openarena.nix
Normal file
56
nixos/modules/services/games/openarena.nix
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.openarena;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
services.openarena = {
|
||||||
|
enable = mkEnableOption "OpenArena";
|
||||||
|
|
||||||
|
openPorts = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Whether to open firewall ports for OpenArena";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraFlags = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [];
|
||||||
|
description = ''Extra flags to pass to <command>oa_ded</command>'';
|
||||||
|
example = [
|
||||||
|
"+set dedicated 2"
|
||||||
|
"+set sv_hostname 'My NixOS OpenArena Server'"
|
||||||
|
# Load a map. Mandatory for clients to be able to connect.
|
||||||
|
"+map oa_dm1"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
networking.firewall = mkIf cfg.openPorts {
|
||||||
|
allowedUDPPorts = [ 27960 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.openarena = {
|
||||||
|
description = "OpenArena";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "network.target" ];
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
StateDirectory = "openarena";
|
||||||
|
ExecStart = "${pkgs.openarena}/bin/openarena-server +set fs_basepath ${pkgs.openarena}/openarena-0.8.8 +set fs_homepath /var/lib/openarena ${concatStringsSep " " cfg.extraFlags}";
|
||||||
|
Restart = "on-failure";
|
||||||
|
|
||||||
|
# Hardening
|
||||||
|
CapabilityBoundingSet = "";
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
PrivateDevices = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -57,7 +57,13 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
CAPath = mkOption {
|
CAPath = mkOption {
|
||||||
type = types.path;
|
type = types.nullOr types.path;
|
||||||
|
default = null;
|
||||||
|
description = "Path to a directory containing certificates to validate against.";
|
||||||
|
};
|
||||||
|
|
||||||
|
CAFile = mkOption {
|
||||||
|
type = types.nullOr types.path;
|
||||||
default = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
default = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||||
description = "Path to a file containing certificates to validate against.";
|
description = "Path to a file containing certificates to validate against.";
|
||||||
};
|
};
|
||||||
@ -196,6 +202,7 @@ in
|
|||||||
verifyChain = ${yesNo v.verifyChain}
|
verifyChain = ${yesNo v.verifyChain}
|
||||||
verifyPeer = ${yesNo v.verifyPeer}
|
verifyPeer = ${yesNo v.verifyPeer}
|
||||||
${optionalString (v.CAPath != null) "CApath = ${v.CAPath}"}
|
${optionalString (v.CAPath != null) "CApath = ${v.CAPath}"}
|
||||||
|
${optionalString (v.CAFile != null) "CAFile = ${v.CAFile}"}
|
||||||
${optionalString (v.verifyHostname != null) "checkHost = ${v.verifyHostname}"}
|
${optionalString (v.verifyHostname != null) "checkHost = ${v.verifyHostname}"}
|
||||||
OCSPaia = yes
|
OCSPaia = yes
|
||||||
|
|
||||||
@ -216,6 +223,12 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with maintainers; [
|
||||||
|
# Server side
|
||||||
|
lschuermann
|
||||||
|
# Client side
|
||||||
|
das_j
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
193
nixos/modules/services/networking/yggdrasil.nix
Normal file
193
nixos/modules/services/networking/yggdrasil.nix
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.yggdrasil;
|
||||||
|
configProvided = (cfg.config != {});
|
||||||
|
configAsFile = (if configProvided then
|
||||||
|
toString (pkgs.writeTextFile {
|
||||||
|
name = "yggdrasil-conf";
|
||||||
|
text = builtins.toJSON cfg.config;
|
||||||
|
})
|
||||||
|
else null);
|
||||||
|
configFileProvided = (cfg.configFile != null);
|
||||||
|
generateConfig = (
|
||||||
|
if configProvided && configFileProvided then
|
||||||
|
"${pkgs.jq}/bin/jq -s add /run/yggdrasil/configFile.json ${configAsFile}"
|
||||||
|
else if configProvided then
|
||||||
|
"cat ${configAsFile}"
|
||||||
|
else if configFileProvided then
|
||||||
|
"cat /run/yggdrasil/configFile.json"
|
||||||
|
else
|
||||||
|
"${cfg.package}/bin/yggdrasil -genconf"
|
||||||
|
);
|
||||||
|
|
||||||
|
in {
|
||||||
|
options = with types; {
|
||||||
|
services.yggdrasil = {
|
||||||
|
enable = mkEnableOption "the yggdrasil system service";
|
||||||
|
|
||||||
|
configFile = mkOption {
|
||||||
|
type = nullOr str;
|
||||||
|
default = null;
|
||||||
|
example = "/run/keys/yggdrasil.conf";
|
||||||
|
description = ''
|
||||||
|
A file which contains JSON configuration for yggdrasil.
|
||||||
|
|
||||||
|
You do not have to supply a complete configuration, as
|
||||||
|
yggdrasil will use default values for anything which is
|
||||||
|
omitted. If the encryption and signing keys are omitted,
|
||||||
|
yggdrasil will generate new ones each time the service is
|
||||||
|
started, resulting in a random IPv6 address on the yggdrasil
|
||||||
|
network each time.
|
||||||
|
|
||||||
|
If both this option and <option>config</option> are
|
||||||
|
supplied, they will be combined, with values from
|
||||||
|
<option>config</option> taking precedence.
|
||||||
|
|
||||||
|
You can use the command <code>nix-shell -p yggdrasil --run
|
||||||
|
"yggdrasil -genconf -json"</code> to generate a default
|
||||||
|
JSON configuration.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkOption {
|
||||||
|
type = attrs;
|
||||||
|
default = {};
|
||||||
|
example = {
|
||||||
|
Peers = [
|
||||||
|
"tcp://aa.bb.cc.dd:eeeee"
|
||||||
|
"tcp://[aaaa:bbbb:cccc:dddd::eeee]:fffff"
|
||||||
|
];
|
||||||
|
Listen = [
|
||||||
|
"tcp://0.0.0.0:xxxxx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
description = ''
|
||||||
|
Configuration for yggdrasil, as a Nix attribute set.
|
||||||
|
|
||||||
|
Warning: this is stored in the WORLD-READABLE Nix store!
|
||||||
|
Therefore, it is not appropriate for private keys. If you
|
||||||
|
do not specify the keys, yggdrasil will generate a new set
|
||||||
|
each time the service is started, creating a random IPv6
|
||||||
|
address on the yggdrasil network each time.
|
||||||
|
|
||||||
|
If you wish to specify the keys, use
|
||||||
|
<option>configFile</option>. If both
|
||||||
|
<option>configFile</option> and <option>config</option> are
|
||||||
|
supplied, they will be combined, with values from
|
||||||
|
<option>config</option> taking precedence.
|
||||||
|
|
||||||
|
You can use the command <code>nix-shell -p yggdrasil --run
|
||||||
|
"yggdrasil -genconf"</code> to generate default
|
||||||
|
configuration values with documentation.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
openMulticastPort = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to open the UDP port used for multicast peer
|
||||||
|
discovery. The NixOS firewall blocks link-local
|
||||||
|
communication, so in order to make local peering work you
|
||||||
|
will also need to set <code>LinkLocalTCPPort</code> in your
|
||||||
|
yggdrasil configuration (<option>config</option> or
|
||||||
|
<option>configFile</option>) to a port number other than 0,
|
||||||
|
and then add that port to
|
||||||
|
<option>networking.firewall.allowedTCPPorts</option>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
denyDhcpcdInterfaces = mkOption {
|
||||||
|
type = listOf str;
|
||||||
|
default = [];
|
||||||
|
example = [ "tap*" ];
|
||||||
|
description = ''
|
||||||
|
Disable the DHCP client for any interface whose name matches
|
||||||
|
any of the shell glob patterns in this list. Use this
|
||||||
|
option to prevent the DHCP client from broadcasting requests
|
||||||
|
on the yggdrasil network. It is only necessary to do so
|
||||||
|
when yggdrasil is running in TAP mode, because TUN
|
||||||
|
interfaces do not support broadcasting.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = package;
|
||||||
|
default = pkgs.yggdrasil;
|
||||||
|
defaultText = "pkgs.yggdrasil";
|
||||||
|
description = "Yggdrasil package to use.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
assertions = [
|
||||||
|
{ assertion = config.networking.enableIPv6;
|
||||||
|
message = "networking.enableIPv6 must be true for yggdrasil to work";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.etc."yggdrasil.conf" = {
|
||||||
|
enable = true;
|
||||||
|
mode = "symlink";
|
||||||
|
source = "/run/yggdrasil/yggdrasil.conf";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.yggdrasil = {
|
||||||
|
description = "Yggdrasil Network Service";
|
||||||
|
path = [ cfg.package ] ++ optional (configProvided && configFileProvided) pkgs.jq;
|
||||||
|
bindsTo = [ "network-online.target" ];
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
preStart = ''
|
||||||
|
${generateConfig} | yggdrasil -normaliseconf -useconf > /run/yggdrasil/yggdrasil.conf
|
||||||
|
'';
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${cfg.package}/bin/yggdrasil -useconffile /etc/yggdrasil.conf";
|
||||||
|
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
|
Restart = "always";
|
||||||
|
|
||||||
|
RuntimeDirectory = "yggdrasil";
|
||||||
|
RuntimeDirectoryMode = "0700";
|
||||||
|
BindReadOnlyPaths = mkIf configFileProvided
|
||||||
|
[ "${cfg.configFile}:/run/yggdrasil/configFile.json" ];
|
||||||
|
|
||||||
|
# TODO: as of yggdrasil 0.3.8 and systemd 243, yggdrasil fails
|
||||||
|
# to set up the network adapter when DynamicUser is set. See
|
||||||
|
# github.com/yggdrasil-network/yggdrasil-go/issues/557. The
|
||||||
|
# following options are implied by DynamicUser according to
|
||||||
|
# the systemd.exec documentation, and can be removed if the
|
||||||
|
# upstream issue is fixed and DynamicUser is set to true:
|
||||||
|
PrivateTmp = true;
|
||||||
|
RemoveIPC = true;
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
# End of list of options implied by DynamicUser.
|
||||||
|
|
||||||
|
AmbientCapabilities = "CAP_NET_ADMIN";
|
||||||
|
CapabilityBoundingSet = "CAP_NET_ADMIN";
|
||||||
|
MemoryDenyWriteExecute = true;
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
ProtectHome = "tmpfs";
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @resources";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.dhcpcd.denyInterfaces = cfg.denyDhcpcdInterfaces;
|
||||||
|
networking.firewall.allowedUDPPorts = mkIf cfg.openMulticastPort [ 9001 ];
|
||||||
|
|
||||||
|
# Make yggdrasilctl available on the command line.
|
||||||
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
};
|
||||||
|
meta.maintainers = with lib.maintainers; [ gazally ];
|
||||||
|
}
|
49
nixos/modules/services/web-apps/gotify-server.nix
Normal file
49
nixos/modules/services/web-apps/gotify-server.nix
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{ pkgs, lib, config, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.gotify;
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
services.gotify = {
|
||||||
|
enable = mkEnableOption "Gotify webserver";
|
||||||
|
|
||||||
|
port = mkOption {
|
||||||
|
type = types.port;
|
||||||
|
description = ''
|
||||||
|
Port the server listens to.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
stateDirectoryName = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "gotify-server";
|
||||||
|
description = ''
|
||||||
|
The name of the directory below <filename>/var/lib</filename> where
|
||||||
|
gotify stores its runtime data.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.services.gotify-server = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "network.target" ];
|
||||||
|
description = "Simple server for sending and receiving messages";
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
GOTIFY_SERVER_PORT = toString cfg.port;
|
||||||
|
};
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}";
|
||||||
|
StateDirectory = cfg.stateDirectoryName;
|
||||||
|
Restart = "always";
|
||||||
|
DynamicUser = "yes";
|
||||||
|
ExecStart = "${pkgs.gotify-server}/bin/server";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -467,7 +467,7 @@ in {
|
|||||||
};
|
};
|
||||||
"/" = {
|
"/" = {
|
||||||
priority = 200;
|
priority = 200;
|
||||||
extraConfig = "rewrite ^ /index.php$request_uri;";
|
extraConfig = "rewrite ^ /index.php;";
|
||||||
};
|
};
|
||||||
"~ ^/store-apps" = {
|
"~ ^/store-apps" = {
|
||||||
priority = 201;
|
priority = 201;
|
||||||
@ -494,6 +494,7 @@ in {
|
|||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
include ${config.services.nginx.package}/conf/fastcgi.conf;
|
include ${config.services.nginx.package}/conf/fastcgi.conf;
|
||||||
fastcgi_split_path_info ^(.+\.php)(\\/.*)$;
|
fastcgi_split_path_info ^(.+\.php)(\\/.*)$;
|
||||||
|
try_files $fastcgi_script_name =404;
|
||||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||||
fastcgi_param HTTPS ${if cfg.https then "on" else "off"};
|
fastcgi_param HTTPS ${if cfg.https then "on" else "off"};
|
||||||
fastcgi_param modHeadersAvailable true;
|
fastcgi_param modHeadersAvailable true;
|
||||||
|
@ -31,7 +31,7 @@ in
|
|||||||
message = "networking.defaultGatewayWindowSize is not supported by networkd.";
|
message = "networking.defaultGatewayWindowSize is not supported by networkd.";
|
||||||
} {
|
} {
|
||||||
assertion = cfg.vswitches == {};
|
assertion = cfg.vswitches == {};
|
||||||
message = "networking.vswichtes are not supported by networkd.";
|
message = "networking.vswitches are not supported by networkd.";
|
||||||
} {
|
} {
|
||||||
assertion = cfg.defaultGateway == null || cfg.defaultGateway.interface == null;
|
assertion = cfg.defaultGateway == null || cfg.defaultGateway.interface == null;
|
||||||
message = "networking.defaultGateway.interface is not supported by networkd.";
|
message = "networking.defaultGateway.interface is not supported by networkd.";
|
||||||
|
@ -149,5 +149,12 @@ in
|
|||||||
# Make sure NetworkManager won't assume this interface being up
|
# Make sure NetworkManager won't assume this interface being up
|
||||||
# means we have internet access.
|
# means we have internet access.
|
||||||
networking.networkmanager.unmanaged = ["vboxnet0"];
|
networking.networkmanager.unmanaged = ["vboxnet0"];
|
||||||
})]);
|
}) (mkIf config.networking.useNetworkd {
|
||||||
|
systemd.network.networks."40-vboxnet0".extraConfig = ''
|
||||||
|
[Link]
|
||||||
|
RequiredForOnline=no
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
@ -91,9 +91,12 @@ in import ./make-test.nix {
|
|||||||
# get pulled in by the oneshot units. The target units linger after activation, and hence we
|
# get pulled in by the oneshot units. The target units linger after activation, and hence we
|
||||||
# can use them to probe that a oneshot fired. It is a bit ugly, but it is the best we can do
|
# can use them to probe that a oneshot fired. It is a bit ugly, but it is the best we can do
|
||||||
''
|
''
|
||||||
$client->waitForUnit("default.target");
|
$client->start;
|
||||||
|
$letsencrypt->start;
|
||||||
|
$acmeStandalone->start;
|
||||||
|
|
||||||
$letsencrypt->waitForUnit("default.target");
|
$letsencrypt->waitForUnit("default.target");
|
||||||
$letsencrypt->waitForUnit("boulder.service");
|
$letsencrypt->waitForUnit("pebble.service");
|
||||||
|
|
||||||
subtest "can request certificate with HTTPS-01 challenge", sub {
|
subtest "can request certificate with HTTPS-01 challenge", sub {
|
||||||
$acmeStandalone->waitForUnit("default.target");
|
$acmeStandalone->waitForUnit("default.target");
|
||||||
@ -101,15 +104,20 @@ in import ./make-test.nix {
|
|||||||
$acmeStandalone->waitForUnit("acme-finished-standalone.com.target");
|
$acmeStandalone->waitForUnit("acme-finished-standalone.com.target");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$client->waitForUnit("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');
|
||||||
|
|
||||||
subtest "Can request certificate for nginx service", sub {
|
subtest "Can request certificate for nginx service", sub {
|
||||||
$webserver->waitForUnit("acme-finished-a.example.com.target");
|
$webserver->waitForUnit("acme-finished-a.example.com.target");
|
||||||
$client->succeed('curl https://a.example.com/ | grep -qF "hello world"');
|
$client->succeed('curl --cacert /tmp/ca.crt https://a.example.com/ | grep -qF "hello world"');
|
||||||
};
|
};
|
||||||
|
|
||||||
subtest "Can add another certificate for nginx service", sub {
|
subtest "Can add another certificate for nginx service", sub {
|
||||||
$webserver->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
|
$webserver->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
|
||||||
$webserver->waitForUnit("acme-finished-b.example.com.target");
|
$webserver->waitForUnit("acme-finished-b.example.com.target");
|
||||||
$client->succeed('curl https://b.example.com/ | grep -qF "hello world"');
|
$client->succeed('curl --cacert /tmp/ca.crt https://b.example.com/ | grep -qF "hello world"');
|
||||||
};
|
};
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
@ -93,6 +93,7 @@ in
|
|||||||
fsck = handleTest ./fsck.nix {};
|
fsck = handleTest ./fsck.nix {};
|
||||||
fwupd = handleTestOn ["x86_64-linux"] ./fwupd.nix {}; # libsmbios is unsupported on aarch64
|
fwupd = handleTestOn ["x86_64-linux"] ./fwupd.nix {}; # libsmbios is unsupported on aarch64
|
||||||
gdk-pixbuf = handleTest ./gdk-pixbuf.nix {};
|
gdk-pixbuf = handleTest ./gdk-pixbuf.nix {};
|
||||||
|
gotify-server = handleTest ./gotify-server.nix {};
|
||||||
gitea = handleTest ./gitea.nix {};
|
gitea = handleTest ./gitea.nix {};
|
||||||
gitlab = handleTest ./gitlab.nix {};
|
gitlab = handleTest ./gitlab.nix {};
|
||||||
gitolite = handleTest ./gitolite.nix {};
|
gitolite = handleTest ./gitolite.nix {};
|
||||||
@ -201,6 +202,7 @@ in
|
|||||||
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
||||||
nsd = handleTest ./nsd.nix {};
|
nsd = handleTest ./nsd.nix {};
|
||||||
nzbget = handleTest ./nzbget.nix {};
|
nzbget = handleTest ./nzbget.nix {};
|
||||||
|
openarena = handleTest ./openarena.nix {};
|
||||||
openldap = handleTest ./openldap.nix {};
|
openldap = handleTest ./openldap.nix {};
|
||||||
opensmtpd = handleTest ./opensmtpd.nix {};
|
opensmtpd = handleTest ./opensmtpd.nix {};
|
||||||
openssh = handleTest ./openssh.nix {};
|
openssh = handleTest ./openssh.nix {};
|
||||||
@ -291,5 +293,6 @@ in
|
|||||||
xrdp = handleTest ./xrdp.nix {};
|
xrdp = handleTest ./xrdp.nix {};
|
||||||
xss-lock = handleTest ./xss-lock.nix {};
|
xss-lock = handleTest ./xss-lock.nix {};
|
||||||
yabar = handleTest ./yabar.nix {};
|
yabar = handleTest ./yabar.nix {};
|
||||||
|
yggdrasil = handleTest ./yggdrasil.nix {};
|
||||||
zookeeper = handleTest ./zookeeper.nix {};
|
zookeeper = handleTest ./zookeeper.nix {};
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
From c3b4004386074342d22cab5e129c1f7e623f4272 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?F=C3=A9lix=20Baylac-Jacqu=C3=A9?= <felix@alternativebit.fr>
|
||||||
|
Date: Mon, 21 Oct 2019 10:56:13 +0200
|
||||||
|
Subject: [PATCH] Change ACME directory endpoint to /directory
|
||||||
|
|
||||||
|
---
|
||||||
|
wfe/wfe.go | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/wfe/wfe.go b/wfe/wfe.go
|
||||||
|
index e24797f..10d29fb 100644
|
||||||
|
--- a/wfe/wfe.go
|
||||||
|
+++ b/wfe/wfe.go
|
||||||
|
@@ -39,7 +39,7 @@ const (
|
||||||
|
// Note: We deliberately pick endpoint paths that differ from Boulder to
|
||||||
|
// exercise clients processing of the /directory response
|
||||||
|
// We export the DirectoryPath so that the pebble binary can reference it
|
||||||
|
- DirectoryPath = "/dir"
|
||||||
|
+ DirectoryPath = "/directory"
|
||||||
|
noncePath = "/nonce-plz"
|
||||||
|
newAccountPath = "/sign-me-up"
|
||||||
|
acctPath = "/my-account/"
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
@ -1,27 +1,9 @@
|
|||||||
{ lib, nodes, ... }: {
|
{ lib, nodes, pkgs, ... }: let
|
||||||
|
letsencrypt-ca = nodes.letsencrypt.config.test-support.letsencrypt.caCert;
|
||||||
|
in {
|
||||||
networking.nameservers = [
|
networking.nameservers = [
|
||||||
nodes.letsencrypt.config.networking.primaryIPAddress
|
nodes.letsencrypt.config.networking.primaryIPAddress
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.overlays = lib.singleton (self: super: {
|
security.pki.certificateFiles = [ letsencrypt-ca ];
|
||||||
cacert = super.cacert.overrideDerivation (drv: {
|
|
||||||
installPhase = (drv.installPhase or "") + ''
|
|
||||||
cat "${nodes.letsencrypt.config.test-support.letsencrypt.caCert}" \
|
|
||||||
>> "$out/etc/ssl/certs/ca-bundle.crt"
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
# Override certifi so that it accepts fake certificate for Let's Encrypt
|
|
||||||
# Need to override the attribute used by simp_le, which is python3Packages
|
|
||||||
python3Packages = (super.python3.override {
|
|
||||||
packageOverrides = lib.const (pysuper: {
|
|
||||||
certifi = pysuper.certifi.overridePythonAttrs (attrs: {
|
|
||||||
postPatch = (attrs.postPatch or "") + ''
|
|
||||||
cat "${self.cacert}/etc/ssl/certs/ca-bundle.crt" \
|
|
||||||
> certifi/cacert.pem
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}).pkgs;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
# Fully pluggable module to have Letsencrypt's Boulder ACME service running in
|
|
||||||
# a test environment.
|
|
||||||
#
|
|
||||||
# The certificate for the ACME service is exported as:
|
# The certificate for the ACME service is exported as:
|
||||||
#
|
#
|
||||||
# config.test-support.letsencrypt.caCert
|
# config.test-support.letsencrypt.caCert
|
||||||
@ -54,277 +51,45 @@
|
|||||||
# that it has to be started _before_ the ACME service.
|
# that it has to be started _before_ the ACME service.
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
|
||||||
let
|
let
|
||||||
softhsm = pkgs.stdenv.mkDerivation rec {
|
|
||||||
pname = "softhsm";
|
|
||||||
version = "1.3.8";
|
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "https://dist.opendnssec.org/source/${pname}-${version}.tar.gz";
|
|
||||||
sha256 = "0flmnpkgp65ym7w3qyg78d3fbmvq3aznmi66rgd420n33shf7aif";
|
|
||||||
};
|
|
||||||
|
|
||||||
configureFlags = [ "--with-botan=${pkgs.botan}" ];
|
|
||||||
buildInputs = [ pkgs.sqlite ];
|
|
||||||
};
|
|
||||||
|
|
||||||
pkcs11-proxy = pkgs.stdenv.mkDerivation {
|
|
||||||
name = "pkcs11-proxy";
|
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "SUNET";
|
|
||||||
repo = "pkcs11-proxy";
|
|
||||||
rev = "944684f78bca0c8da6cabe3fa273fed3db44a890";
|
|
||||||
sha256 = "1nxgd29y9wmifm11pjcdpd2y293p0dgi0x5ycis55miy97n0f5zy";
|
|
||||||
};
|
|
||||||
|
|
||||||
postPatch = "patchShebangs mksyscalls.sh";
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgs.cmake ];
|
|
||||||
buildInputs = [ pkgs.openssl pkgs.libseccomp ];
|
|
||||||
};
|
|
||||||
|
|
||||||
mkGoDep = { goPackagePath, url ? "https://${goPackagePath}", rev, sha256 }: {
|
|
||||||
inherit goPackagePath;
|
|
||||||
src = pkgs.fetchgit { inherit url rev sha256; };
|
|
||||||
};
|
|
||||||
|
|
||||||
goose = let
|
|
||||||
owner = "liamstask";
|
|
||||||
repo = "goose";
|
|
||||||
rev = "8488cc47d90c8a502b1c41a462a6d9cc8ee0a895";
|
|
||||||
version = "20150116";
|
|
||||||
|
|
||||||
in pkgs.buildGoPackage rec {
|
|
||||||
name = "${repo}-${version}";
|
|
||||||
|
|
||||||
src = pkgs.fetchFromBitbucket {
|
|
||||||
name = "${name}-src";
|
|
||||||
inherit rev owner repo;
|
|
||||||
sha256 = "1jy0pscxjnxjdg3hj111w21g8079rq9ah2ix5ycxxhbbi3f0wdhs";
|
|
||||||
};
|
|
||||||
|
|
||||||
goPackagePath = "bitbucket.org/${owner}/${repo}";
|
|
||||||
subPackages = [ "cmd/goose" ];
|
|
||||||
extraSrcs = map mkGoDep [
|
|
||||||
{ goPackagePath = "github.com/go-sql-driver/mysql";
|
|
||||||
rev = "2e00b5cd70399450106cec6431c2e2ce3cae5034";
|
|
||||||
sha256 = "085g48jq9hzmlcxg122n0c4pi41sc1nn2qpx1vrl2jfa8crsppa5";
|
|
||||||
}
|
|
||||||
{ goPackagePath = "github.com/kylelemons/go-gypsy";
|
|
||||||
rev = "08cad365cd28a7fba23bb1e57aa43c5e18ad8bb8";
|
|
||||||
sha256 = "1djv7nii3hy451n5jlslk0dblqzb1hia1cbqpdwhnps1g8hqjy8q";
|
|
||||||
}
|
|
||||||
{ goPackagePath = "github.com/lib/pq";
|
|
||||||
rev = "ba5d4f7a35561e22fbdf7a39aa0070f4d460cfc0";
|
|
||||||
sha256 = "1mfbqw9g00bk24bfmf53wri5c2wqmgl0qh4sh1qv2da13a7cwwg3";
|
|
||||||
}
|
|
||||||
{ goPackagePath = "github.com/mattn/go-sqlite3";
|
|
||||||
rev = "2acfafad5870400156f6fceb12852c281cbba4d5";
|
|
||||||
sha256 = "1rpgil3w4hh1cibidskv1js898hwz83ps06gh0hm3mym7ki8d5h7";
|
|
||||||
}
|
|
||||||
{ goPackagePath = "github.com/ziutek/mymysql";
|
|
||||||
rev = "0582bcf675f52c0c2045c027fd135bd726048f45";
|
|
||||||
sha256 = "0bkc9x8sgqbzgdimsmsnhb0qrzlzfv33fgajmmjxl4hcb21qz3rf";
|
|
||||||
}
|
|
||||||
{ goPackagePath = "golang.org/x/net";
|
|
||||||
url = "https://go.googlesource.com/net";
|
|
||||||
rev = "10c134ea0df15f7e34d789338c7a2d76cc7a3ab9";
|
|
||||||
sha256 = "14cbr2shl08gyg85n5gj7nbjhrhhgrd52h073qd14j97qcxsakcz";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
boulder = let
|
|
||||||
owner = "letsencrypt";
|
|
||||||
repo = "boulder";
|
|
||||||
rev = "9c6a1f2adc4c26d925588f5ae366cfd4efb7813a";
|
|
||||||
version = "20180129";
|
|
||||||
|
|
||||||
in pkgs.buildGoPackage rec {
|
|
||||||
name = "${repo}-${version}";
|
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
name = "${name}-src";
|
|
||||||
inherit rev owner repo;
|
|
||||||
sha256 = "09kszswrifm9rc6idfaq0p1mz5w21as2qbc8gd5pphrq9cf9pn55";
|
|
||||||
};
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# compat for go < 1.8
|
|
||||||
sed -i -e 's/time\.Until(\([^)]\+\))/\1.Sub(time.Now())/' \
|
|
||||||
test/ocsp/helper/helper.go
|
|
||||||
|
|
||||||
find test -type f -exec sed -i -e '/libpkcs11-proxy.so/ {
|
|
||||||
s,/usr/local,${pkcs11-proxy},
|
|
||||||
}' {} +
|
|
||||||
|
|
||||||
sed -i -r \
|
|
||||||
-e '/^def +install/a \ return True' \
|
|
||||||
-e 's,exec \./bin/,,' \
|
|
||||||
test/startservers.py
|
|
||||||
|
|
||||||
cat ${lib.escapeShellArg snakeOilCerts.ca.key} > test/test-ca.key
|
|
||||||
cat ${lib.escapeShellArg snakeOilCerts.ca.cert} > test/test-ca.pem
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Until vendored pkcs11 is go 1.9 compatible
|
|
||||||
preBuild = ''
|
|
||||||
rm -r go/src/github.com/letsencrypt/boulder/vendor/github.com/miekg/pkcs11
|
|
||||||
'';
|
|
||||||
|
|
||||||
# XXX: Temporarily brought back putting the source code in the output,
|
|
||||||
# since e95f17e2720e67e2eabd59d7754c814d3e27a0b2 was removing that from
|
|
||||||
# buildGoPackage.
|
|
||||||
preInstall = ''
|
|
||||||
mkdir -p $out
|
|
||||||
pushd "$NIX_BUILD_TOP/go"
|
|
||||||
while read f; do
|
|
||||||
echo "$f" | grep -q '^./\(src\|pkg/[^/]*\)/${goPackagePath}' \
|
|
||||||
|| continue
|
|
||||||
mkdir -p "$(dirname "$out/share/go/$f")"
|
|
||||||
cp "$NIX_BUILD_TOP/go/$f" "$out/share/go/$f"
|
|
||||||
done < <(find . -type f)
|
|
||||||
popd
|
|
||||||
'';
|
|
||||||
|
|
||||||
extraSrcs = map mkGoDep [
|
|
||||||
{ goPackagePath = "github.com/miekg/pkcs11";
|
|
||||||
rev = "6dbd569b952ec150d1425722dbbe80f2c6193f83";
|
|
||||||
sha256 = "1m8g6fx7df6hf6q6zsbyw1icjmm52dmsx28rgb0h930wagvngfwb";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
goPackagePath = "github.com/${owner}/${repo}";
|
|
||||||
buildInputs = [ pkgs.libtool ];
|
|
||||||
};
|
|
||||||
|
|
||||||
boulderSource = "${boulder.out}/share/go/src/${boulder.goPackagePath}";
|
|
||||||
|
|
||||||
softHsmConf = pkgs.writeText "softhsm.conf" ''
|
|
||||||
0:/var/lib/softhsm/slot0.db
|
|
||||||
1:/var/lib/softhsm/slot1.db
|
|
||||||
'';
|
|
||||||
|
|
||||||
snakeOilCerts = import ./snakeoil-certs.nix;
|
snakeOilCerts = import ./snakeoil-certs.nix;
|
||||||
|
|
||||||
wfeDomain = "acme-v01.api.letsencrypt.org";
|
wfeDomain = "acme-v02.api.letsencrypt.org";
|
||||||
wfeCertFile = snakeOilCerts.${wfeDomain}.cert;
|
wfeCertFile = snakeOilCerts.${wfeDomain}.cert;
|
||||||
wfeKeyFile = snakeOilCerts.${wfeDomain}.key;
|
wfeKeyFile = snakeOilCerts.${wfeDomain}.key;
|
||||||
|
|
||||||
siteDomain = "letsencrypt.org";
|
siteDomain = "letsencrypt.org";
|
||||||
siteCertFile = snakeOilCerts.${siteDomain}.cert;
|
siteCertFile = snakeOilCerts.${siteDomain}.cert;
|
||||||
siteKeyFile = snakeOilCerts.${siteDomain}.key;
|
siteKeyFile = snakeOilCerts.${siteDomain}.key;
|
||||||
|
pebble = pkgs.pebble.overrideAttrs (attrs: {
|
||||||
# Retrieved via:
|
# The pebble directory endpoint is /dir when the bouder (official
|
||||||
# curl -s -I https://acme-v01.api.letsencrypt.org/terms \
|
# ACME server) is /directory. Sadly, this endpoint is hardcoded,
|
||||||
# | sed -ne 's/^[Ll]ocation: *//p'
|
# we have to patch it.
|
||||||
tosUrl = "https://letsencrypt.org/documents/2017.11.15-LE-SA-v1.2.pdf";
|
#
|
||||||
tosPath = builtins.head (builtins.match "https?://[^/]+(.*)" tosUrl);
|
# Tried to upstream, that said upstream maintainers rather keep
|
||||||
|
# this custom endpoint to test ACME clients robustness. See
|
||||||
tosFile = pkgs.fetchurl {
|
# https://github.com/letsencrypt/pebble/issues/283#issuecomment-545123242
|
||||||
url = tosUrl;
|
patches = [ ./0001-Change-ACME-directory-endpoint-to-directory.patch ];
|
||||||
sha256 = "0yvyckqzj0b1xi61sypcha82nanizzlm8yqy828h2jbza7cxi26c";
|
});
|
||||||
};
|
|
||||||
|
|
||||||
resolver = let
|
resolver = let
|
||||||
message = "You need to define a resolver for the letsencrypt test module.";
|
message = "You need to define a resolver for the letsencrypt test module.";
|
||||||
firstNS = lib.head config.networking.nameservers;
|
firstNS = lib.head config.networking.nameservers;
|
||||||
in if config.networking.nameservers == [] then throw message else firstNS;
|
in if config.networking.nameservers == [] then throw message else firstNS;
|
||||||
|
|
||||||
cfgDir = pkgs.stdenv.mkDerivation {
|
pebbleConf.pebble = {
|
||||||
name = "boulder-config";
|
listenAddress = "0.0.0.0:443";
|
||||||
src = "${boulderSource}/test/config";
|
managementListenAddress = "0.0.0.0:15000";
|
||||||
nativeBuildInputs = [ pkgs.jq ];
|
certificate = snakeOilCerts.${wfeDomain}.cert;
|
||||||
phases = [ "unpackPhase" "patchPhase" "installPhase" ];
|
privateKey = snakeOilCerts.${wfeDomain}.key;
|
||||||
postPatch = ''
|
httpPort = 80;
|
||||||
sed -i -e 's/5002/80/' -e 's/5002/443/' va.json
|
tlsPort = 443;
|
||||||
sed -i -e '/listenAddress/s/:4000/:80/' wfe.json
|
ocspResponderURL = "http://0.0.0.0:4002";
|
||||||
sed -i -r \
|
|
||||||
-e ${lib.escapeShellArg "s,http://boulder:4000/terms/v1,${tosUrl},g"} \
|
|
||||||
-e 's,http://(boulder|127\.0\.0\.1):4000,https://${wfeDomain},g' \
|
|
||||||
-e '/dnsResolver/s/127\.0\.0\.1:8053/${resolver}:53/' \
|
|
||||||
*.json
|
|
||||||
if grep 4000 *.json; then exit 1; fi
|
|
||||||
|
|
||||||
# Change all ports from 1909X to 909X, because the 1909X range of ports is
|
|
||||||
# allocated by startservers.py in order to intercept gRPC communication.
|
|
||||||
sed -i -e 's/\<1\(909[0-9]\)\>/\1/' *.json
|
|
||||||
|
|
||||||
# Patch out all additional issuer certs
|
|
||||||
jq '. + {ca: (.ca + {Issuers:
|
|
||||||
[.ca.Issuers[] | select(.CertFile == "test/test-ca.pem")]
|
|
||||||
})}' ca.json > tmp
|
|
||||||
mv tmp ca.json
|
|
||||||
'';
|
|
||||||
installPhase = "cp -r . \"$out\"";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
components = {
|
pebbleConfFile = pkgs.writeText "pebble.conf" (builtins.toJSON pebbleConf);
|
||||||
gsb-test-srv.args = "-apikey my-voice-is-my-passport";
|
pebbleDataDir = "/root/pebble";
|
||||||
gsb-test-srv.waitForPort = 6000;
|
|
||||||
gsb-test-srv.first = true;
|
|
||||||
boulder-sa.args = "--config ${cfgDir}/sa.json";
|
|
||||||
boulder-wfe.args = "--config ${cfgDir}/wfe.json";
|
|
||||||
boulder-ra.args = "--config ${cfgDir}/ra.json";
|
|
||||||
boulder-ca.args = "--config ${cfgDir}/ca.json";
|
|
||||||
boulder-va.args = "--config ${cfgDir}/va.json";
|
|
||||||
boulder-publisher.args = "--config ${cfgDir}/publisher.json";
|
|
||||||
boulder-publisher.waitForPort = 9091;
|
|
||||||
ocsp-updater.args = "--config ${cfgDir}/ocsp-updater.json";
|
|
||||||
ocsp-updater.after = [ "boulder-publisher" ];
|
|
||||||
ocsp-responder.args = "--config ${cfgDir}/ocsp-responder.json";
|
|
||||||
ct-test-srv = {};
|
|
||||||
mail-test-srv.args = let
|
|
||||||
key = "${boulderSource}/test/mail-test-srv/minica-key.pem";
|
|
||||||
crt = "${boulderSource}/test/mail-test-srv/minica.pem";
|
|
||||||
in
|
|
||||||
"--closeFirst 5 --cert ${crt} --key ${key}";
|
|
||||||
};
|
|
||||||
|
|
||||||
commonPath = [ softhsm pkgs.mariadb goose boulder ];
|
|
||||||
|
|
||||||
mkServices = a: b: with lib; listToAttrs (concatLists (mapAttrsToList a b));
|
|
||||||
|
|
||||||
componentServices = mkServices (name: attrs: let
|
|
||||||
mkSrvName = n: "boulder-${n}.service";
|
|
||||||
firsts = lib.filterAttrs (lib.const (c: c.first or false)) components;
|
|
||||||
firstServices = map mkSrvName (lib.attrNames firsts);
|
|
||||||
firstServicesNoSelf = lib.remove "boulder-${name}.service" firstServices;
|
|
||||||
additionalAfter = firstServicesNoSelf ++ map mkSrvName (attrs.after or []);
|
|
||||||
needsPort = attrs ? waitForPort;
|
|
||||||
inits = map (n: "boulder-init-${n}.service") [ "mysql" "softhsm" ];
|
|
||||||
portWaiter = {
|
|
||||||
name = "boulder-${name}";
|
|
||||||
value = {
|
|
||||||
description = "Wait For Port ${toString attrs.waitForPort} (${name})";
|
|
||||||
after = [ "boulder-real-${name}.service" "bind.service" ];
|
|
||||||
requires = [ "boulder-real-${name}.service" ];
|
|
||||||
requiredBy = [ "boulder.service" ];
|
|
||||||
serviceConfig.Type = "oneshot";
|
|
||||||
serviceConfig.RemainAfterExit = true;
|
|
||||||
script = let
|
|
||||||
netcat = "${pkgs.libressl.nc}/bin/nc";
|
|
||||||
portCheck = "${netcat} -z 127.0.0.1 ${toString attrs.waitForPort}";
|
|
||||||
in "while ! ${portCheck}; do :; done";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in lib.optional needsPort portWaiter ++ lib.singleton {
|
|
||||||
name = if needsPort then "boulder-real-${name}" else "boulder-${name}";
|
|
||||||
value = {
|
|
||||||
description = "Boulder ACME Component (${name})";
|
|
||||||
after = inits ++ additionalAfter;
|
|
||||||
requires = inits;
|
|
||||||
requiredBy = [ "boulder.service" ];
|
|
||||||
path = commonPath;
|
|
||||||
environment.GORACE = "halt_on_error=1";
|
|
||||||
environment.SOFTHSM_CONF = softHsmConf;
|
|
||||||
environment.PKCS11_PROXY_SOCKET = "tcp://127.0.0.1:5657";
|
|
||||||
serviceConfig.WorkingDirectory = boulderSource;
|
|
||||||
serviceConfig.ExecStart = "${boulder}/bin/${name} ${attrs.args or ""}";
|
|
||||||
serviceConfig.Restart = "on-failure";
|
|
||||||
};
|
|
||||||
}) components;
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
imports = [ ../resolver.nix ];
|
imports = [ ../resolver.nix ];
|
||||||
@ -352,94 +117,29 @@ in {
|
|||||||
networking.firewall.enable = false;
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
networking.extraHosts = ''
|
networking.extraHosts = ''
|
||||||
127.0.0.1 ${toString [
|
127.0.0.1 ${wfeDomain}
|
||||||
"sa.boulder" "ra.boulder" "wfe.boulder" "ca.boulder" "va.boulder"
|
|
||||||
"publisher.boulder" "ocsp-updater.boulder" "admin-revoker.boulder"
|
|
||||||
"boulder" "boulder-mysql" wfeDomain
|
|
||||||
]}
|
|
||||||
${config.networking.primaryIPAddress} ${wfeDomain} ${siteDomain}
|
${config.networking.primaryIPAddress} ${wfeDomain} ${siteDomain}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.mysql.enable = true;
|
|
||||||
services.mysql.package = pkgs.mariadb;
|
|
||||||
|
|
||||||
services.nginx.enable = true;
|
|
||||||
services.nginx.recommendedProxySettings = true;
|
|
||||||
# This fixes the test on i686
|
|
||||||
services.nginx.commonHttpConfig = ''
|
|
||||||
server_names_hash_bucket_size 64;
|
|
||||||
'';
|
|
||||||
services.nginx.virtualHosts.${wfeDomain} = {
|
|
||||||
onlySSL = true;
|
|
||||||
enableACME = false;
|
|
||||||
sslCertificate = wfeCertFile;
|
|
||||||
sslCertificateKey = wfeKeyFile;
|
|
||||||
locations."/".proxyPass = "http://127.0.0.1:80";
|
|
||||||
};
|
|
||||||
services.nginx.virtualHosts.${siteDomain} = {
|
|
||||||
onlySSL = true;
|
|
||||||
enableACME = false;
|
|
||||||
sslCertificate = siteCertFile;
|
|
||||||
sslCertificateKey = siteKeyFile;
|
|
||||||
locations."= ${tosPath}".alias = tosFile;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
pkcs11-daemon = {
|
pebble = {
|
||||||
description = "PKCS11 Daemon";
|
enable = true;
|
||||||
after = [ "boulder-init-softhsm.service" ];
|
description = "Pebble ACME server";
|
||||||
before = map (n: "${n}.service") (lib.attrNames componentServices);
|
requires = [ ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "network.target" ];
|
||||||
environment.SOFTHSM_CONF = softHsmConf;
|
preStart = ''
|
||||||
environment.PKCS11_DAEMON_SOCKET = "tcp://127.0.0.1:5657";
|
mkdir ${pebbleDataDir}
|
||||||
serviceConfig.ExecStart = let
|
|
||||||
softhsmLib = "${softhsm}/lib/softhsm/libsofthsm.so";
|
|
||||||
in "${pkcs11-proxy}/bin/pkcs11-daemon ${softhsmLib}";
|
|
||||||
};
|
|
||||||
|
|
||||||
boulder-init-mysql = {
|
|
||||||
description = "Boulder ACME Init (MySQL)";
|
|
||||||
after = [ "mysql.service" ];
|
|
||||||
serviceConfig.Type = "oneshot";
|
|
||||||
serviceConfig.RemainAfterExit = true;
|
|
||||||
serviceConfig.WorkingDirectory = boulderSource;
|
|
||||||
path = commonPath;
|
|
||||||
script = "${pkgs.bash}/bin/sh test/create_db.sh";
|
|
||||||
};
|
|
||||||
|
|
||||||
boulder-init-softhsm = {
|
|
||||||
description = "Boulder ACME Init (SoftHSM)";
|
|
||||||
environment.SOFTHSM_CONF = softHsmConf;
|
|
||||||
serviceConfig.Type = "oneshot";
|
|
||||||
serviceConfig.RemainAfterExit = true;
|
|
||||||
serviceConfig.WorkingDirectory = boulderSource;
|
|
||||||
preStart = "mkdir -p /var/lib/softhsm";
|
|
||||||
path = commonPath;
|
|
||||||
script = ''
|
|
||||||
softhsm --slot 0 --init-token \
|
|
||||||
--label intermediate --pin 5678 --so-pin 1234
|
|
||||||
softhsm --slot 0 --import test/test-ca.key \
|
|
||||||
--label intermediate_key --pin 5678 --id FB
|
|
||||||
softhsm --slot 1 --init-token \
|
|
||||||
--label root --pin 5678 --so-pin 1234
|
|
||||||
softhsm --slot 1 --import test/test-root.key \
|
|
||||||
--label root_key --pin 5678 --id FA
|
|
||||||
'';
|
'';
|
||||||
|
script = ''
|
||||||
|
cd ${pebbleDataDir}
|
||||||
|
${pebble}/bin/pebble -config ${pebbleConfFile}
|
||||||
|
'';
|
||||||
|
serviceConfig = {
|
||||||
|
# Required to bind on privileged ports.
|
||||||
|
User = "root";
|
||||||
|
Group = "root";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
boulder = {
|
|
||||||
description = "Boulder ACME Server";
|
|
||||||
after = map (n: "${n}.service") (lib.attrNames componentServices);
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
serviceConfig.Type = "oneshot";
|
|
||||||
serviceConfig.RemainAfterExit = true;
|
|
||||||
script = let
|
|
||||||
ports = lib.range 8000 8005 ++ lib.singleton 80;
|
|
||||||
netcat = "${pkgs.libressl.nc}/bin/nc";
|
|
||||||
mkPortCheck = port: "${netcat} -z 127.0.0.1 ${toString port}";
|
|
||||||
checks = "(${lib.concatMapStringsSep " && " mkPortCheck ports})";
|
|
||||||
in "while ! ${checks}; do :; done";
|
|
||||||
};
|
};
|
||||||
} // componentServices;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ pkgs ? import <nixpkgs> {}
|
{ pkgs ? import <nixpkgs> {}
|
||||||
, lib ? pkgs.lib
|
, lib ? pkgs.lib
|
||||||
|
|
||||||
, domains ? [ "acme-v01.api.letsencrypt.org" "letsencrypt.org" ]
|
, domains ? [ "acme-v02.api.letsencrypt.org" "letsencrypt.org" ]
|
||||||
}:
|
}:
|
||||||
|
|
||||||
pkgs.runCommand "letsencrypt-snakeoil-ca" {
|
pkgs.runCommand "letsencrypt-snakeoil-ca" {
|
||||||
|
@ -2,252 +2,253 @@
|
|||||||
{
|
{
|
||||||
ca.key = builtins.toFile "ca.key" ''
|
ca.key = builtins.toFile "ca.key" ''
|
||||||
-----BEGIN PRIVATE KEY-----
|
-----BEGIN PRIVATE KEY-----
|
||||||
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
|
||||||
Gvfq54FbDuB10XP8JdLrsy9Z6GEsmoE=
|
Eq4OVTSu/s8gmY94tgbjeOaLUPEPmg==
|
||||||
-----END PRIVATE KEY-----
|
-----END PRIVATE KEY-----
|
||||||
'';
|
'';
|
||||||
ca.cert = builtins.toFile "ca.cert" ''
|
ca.cert = builtins.toFile "ca.cert" ''
|
||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
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
|
||||||
|
kgwJ
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
'';
|
'';
|
||||||
"acme-v01.api.letsencrypt.org".key = builtins.toFile "acme-v01.api.letsencrypt.org.key" ''
|
"acme-v02.api.letsencrypt.org".key = builtins.toFile "acme-v02.api.letsencrypt.org.key" ''
|
||||||
-----BEGIN RSA PRIVATE KEY-----
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
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
|
||||||
-----END RSA PRIVATE KEY-----
|
-----END RSA PRIVATE KEY-----
|
||||||
'';
|
'';
|
||||||
"acme-v01.api.letsencrypt.org".cert = builtins.toFile "acme-v01.api.letsencrypt.org.cert" ''
|
"acme-v02.api.letsencrypt.org".cert = builtins.toFile "acme-v02.api.letsencrypt.org.cert" ''
|
||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
MIIEtDCCApwCAgKaMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC1NuYWtlb2ls
|
MIIEtDCCApwCAgKaMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC1NuYWtlb2ls
|
||||||
IENBMCAXDTE4MDcxMjAwMjIxN1oYDzIxMTgwNjE4MDAyMjE3WjAnMSUwIwYDVQQD
|
IENBMCAXDTE5MTAxODA3NTQxM1oYDzIxMTkwOTI0MDc1NDEzWjAnMSUwIwYDVQQD
|
||||||
DBxhY21lLXYwMS5hcGkubGV0c2VuY3J5cHQub3JnMIICIjANBgkqhkiG9w0BAQEF
|
DBxhY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnMIICIjANBgkqhkiG9w0BAQEF
|
||||||
AAOCAg8AMIICCgKCAgEAvG+sL4q0VkgSClBTn4NkPiUrtXx5oLyZ+CCM1jrQx/xo
|
AAOCAg8AMIICCgKCAgEApny0WhfDwEXe6WDTCw8qBuMAPDr88pj6kbhQWfzAW2c0
|
||||||
tUt5X2S4/7vMnAK/yRLsR7R2PhXO8CZPqJ7B6OfAgaDTgvipJkZYPZQSMP3KOinM
|
TggJEtjs9dktENeTpSl14nnLVMiSYIJPYY3KbOIFQH1qDaOuQ7NaOhj9CdMTm5r9
|
||||||
3WJLssqKh7/HOxZIf0iyUXewrnX5eTAo/CLsUnhBjBD7E99nmQz/leLWSl82sSYD
|
bl+CYAyqLIMQ9AAZDhUcQjOy3moiL7ClFHlkFYuEzZBO9DF7hJpfUFIs0Idg50mN
|
||||||
kO3nUk3/1qJZA8iddb4uH0IEQWcNKev3WoQQzwiVrXBiftlRQOJy5JJXm5m8229M
|
oZh/K/fb4P2skNjfCjjomTRUmZHxT6G00ImSTtSaYbN/WHut1xXwJvOoT1nlEA/P
|
||||||
CpMA1AUWmpdu6sl3/gFFdsDhUFq/a7LFrVyaUCMRIHg9szAB7ZFkixr9umQs8jKw
|
ghKmJJ9ZuRMSddUJmjL+sT09L8LVkK8CKeHi4r58DHM0D0u8owIFV9qsXd5UvZHa
|
||||||
uo983JHB11h2SirwgfIzHHmyhaWhCt22ucTwEXGhq63LtrzZvLsfP8Ql5S+AuqGT
|
NgvQ4OAWGukMX+TxRuqkUZkaj84vnNL+ttEMl4jedw0ImzNtCOYehDyTPRkfng5P
|
||||||
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
|
||||||
IRxst1BXEfI=
|
KkBZO00jHSE=
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
'';
|
'';
|
||||||
"letsencrypt.org".key = builtins.toFile "letsencrypt.org.key" ''
|
"letsencrypt.org".key = builtins.toFile "letsencrypt.org.key" ''
|
||||||
-----BEGIN RSA PRIVATE KEY-----
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
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
|
||||||
-----END RSA PRIVATE KEY-----
|
-----END RSA PRIVATE KEY-----
|
||||||
'';
|
'';
|
||||||
"letsencrypt.org".cert = builtins.toFile "letsencrypt.org.cert" ''
|
"letsencrypt.org".cert = builtins.toFile "letsencrypt.org.cert" ''
|
||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
MIIEpzCCAo8CAgKaMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC1NuYWtlb2ls
|
MIIEpzCCAo8CAgKaMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC1NuYWtlb2ls
|
||||||
IENBMCAXDTE4MDcxMjAwMjIxOVoYDzIxMTgwNjE4MDAyMjE5WjAaMRgwFgYDVQQD
|
IENBMCAXDTE5MTAxODA3NTQxNVoYDzIxMTkwOTI0MDc1NDE1WjAaMRgwFgYDVQQD
|
||||||
DA9sZXRzZW5jcnlwdC5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
DA9sZXRzZW5jcnlwdC5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
||||||
AQDA++GXB6aA+Lr3X2xIPs/PqXoJF9TUb98NzQC+ww3+dOaIY0Omqf15/UID5G0u
|
AQD12l08TLMPf8EF2zu0D/nWz5aYsXJa4WurjIx3ZH6+LmC8rueUs1UqFiCJOYrZ
|
||||||
0649zUsvISi9x+7vn9X7opKA7iTX0TYKsUIXCMQ5YMYXgOByVPfvnVYaYUmDM8R9
|
Sb5QSka5wmpkdxNJkDUHPhL/w0P8Aj0joSbC8GKdjn8+5vEQAuT1iIMD4jMfxkYU
|
||||||
l+Fs6uZB9Bq7zorEC01lWn0XFwpu4vJD+w03F80wH7sgdtWHC/NVyd0elhkQ/qR2
|
zzBeDt8xtskCzK/5IcC2vaOYKyCCum4Pl+DOzan4XarT6hWh4XAwA5R0B/aM200s
|
||||||
fC80s/bZui5fmrdq/FZK2WfTW5nQF9SbhfDFpQ0hTu3QO/noUr0L2Fb0Blp7R2jQ
|
SPZDoyJHler7AU5xG1eU2VdYhfc2ua5s7/E6kM2mzKPJgLkt35bToxLltMdJ2/no
|
||||||
EkFZEXvFLAt4Mmqf25nP6xfRf+0hppJBIG5nJKPQd7lkrN1Q7S2nHbFNLYGuXdjY
|
CRSDY+6AwKGPXlM510QkgrzM9cVOUxjJ71IrCOE1Rmi997jFcJpOPaebOty4wovP
|
||||||
E4lo4T3we5ta90qiyUu3hfatWszEZrzpKYXNzIMvVFKjBw/+u7LLnnmXul6kvmzh
|
5LewpB5NaOJFxjfDjNOUBuG0ZcONeOEw5usehYzx7dxMvg0ky+201K1d+JzFt5Ns
|
||||||
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
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
45
nixos/tests/gotify-server.nix
Normal file
45
nixos/tests/gotify-server.nix
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
import ./make-test.nix ({ pkgs, lib, ...} : {
|
||||||
|
name = "gotify-server";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ ma27 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine = { pkgs, ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.jq ];
|
||||||
|
|
||||||
|
services.gotify = {
|
||||||
|
enable = true;
|
||||||
|
port = 3000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
startAll;
|
||||||
|
|
||||||
|
$machine->waitForUnit("gotify-server");
|
||||||
|
$machine->waitForOpenPort(3000);
|
||||||
|
|
||||||
|
my $token = $machine->succeed(
|
||||||
|
"curl --fail -sS -X POST localhost:3000/application -F name=nixos " .
|
||||||
|
'-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' .
|
||||||
|
'| jq .token | xargs echo -n'
|
||||||
|
);
|
||||||
|
|
||||||
|
my $usertoken = $machine->succeed(
|
||||||
|
"curl --fail -sS -X POST localhost:3000/client -F name=nixos " .
|
||||||
|
'-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' .
|
||||||
|
'| jq .token | xargs echo -n'
|
||||||
|
);
|
||||||
|
|
||||||
|
$machine->succeed(
|
||||||
|
"curl --fail -sS -X POST 'localhost:3000/message?token=$token' -H 'Accept: application/json' " .
|
||||||
|
'-F title=Gotify -F message=Works'
|
||||||
|
);
|
||||||
|
|
||||||
|
my $title = $machine->succeed(
|
||||||
|
"curl --fail -sS 'localhost:3000/message?since=0&token=$usertoken' | jq '.messages|.[0]|.title' | xargs echo -n"
|
||||||
|
);
|
||||||
|
|
||||||
|
$title eq "Gotify" or die "Wrong title ($title), expected 'Gotify'!";
|
||||||
|
'';
|
||||||
|
})
|
36
nixos/tests/openarena.nix
Normal file
36
nixos/tests/openarena.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import ./make-test.nix ({ pkgs, ...} : {
|
||||||
|
name = "openarena";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ tomfitzhenry ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{ imports = [];
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
socat
|
||||||
|
];
|
||||||
|
services.openarena = {
|
||||||
|
enable = true;
|
||||||
|
extraFlags = [
|
||||||
|
"+set dedicated 2"
|
||||||
|
"+set sv_hostname 'My NixOS server'"
|
||||||
|
"+map oa_dm1"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript =
|
||||||
|
''
|
||||||
|
$machine->waitForUnit("openarena.service");
|
||||||
|
$machine->waitUntilSucceeds("ss --numeric --udp --listening | grep -q 27960");
|
||||||
|
|
||||||
|
# The log line containing 'resolve address' is last and only message that occurs after
|
||||||
|
# the server starts accepting clients.
|
||||||
|
$machine->waitUntilSucceeds("journalctl -u openarena.service | grep 'resolve address: dpmaster.deathmask.net'");
|
||||||
|
|
||||||
|
# Check it's possible to join the server.
|
||||||
|
$machine->succeed("echo -n -e '\\xff\\xff\\xff\\xffgetchallenge' | socat - UDP4-DATAGRAM:127.0.0.1:27960 | grep -q challengeResponse");
|
||||||
|
'';
|
||||||
|
})
|
123
nixos/tests/yggdrasil.nix
Normal file
123
nixos/tests/yggdrasil.nix
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
let
|
||||||
|
aliceIp6 = "200:3b91:b2d8:e708:fbf3:f06:fdd5:90d0";
|
||||||
|
aliceKeys = {
|
||||||
|
EncryptionPublicKey = "13e23986fe76bc3966b42453f479bc563348b7ff76633b7efcb76e185ec7652f";
|
||||||
|
EncryptionPrivateKey = "9f86947b15e86f9badac095517a1982e39a2db37ca726357f95987b898d82208";
|
||||||
|
SigningPublicKey = "e2c43349083bc1e998e4ec4535b4c6a8f44ca9a5a8e07336561267253b2be5f4";
|
||||||
|
SigningPrivateKey = "fe3add8da35316c05f6d90d3ca79bd2801e6ccab6d37e5339fef4152589398abe2c43349083bc1e998e4ec4535b4c6a8f44ca9a5a8e07336561267253b2be5f4";
|
||||||
|
};
|
||||||
|
bobIp6 = "201:ebbd:bde9:f138:c302:4afa:1fb6:a19a";
|
||||||
|
bobConfig = {
|
||||||
|
InterfacePeers = {
|
||||||
|
eth1 = [ "tcp://192.168.1.200:12345" ];
|
||||||
|
};
|
||||||
|
MulticastInterfaces = [ "eth1" ];
|
||||||
|
LinkLocalTCPPort = 54321;
|
||||||
|
EncryptionPublicKey = "c99d6830111e12d1b004c52fe9e5a2eef0f6aefca167aca14589a370b7373279";
|
||||||
|
EncryptionPrivateKey = "2e698a53d3fdce5962d2ff37de0fe77742a5c8b56cd8259f5da6aa792f6e8ba3";
|
||||||
|
SigningPublicKey = "de111da0ec781e45bf6c63ecb45a78c24d7d4655abfaeea83b26c36eb5c0fd5b";
|
||||||
|
SigningPrivateKey = "2a6c21550f3fca0331df50668ffab66b6dce8237bcd5728e571e8033b363e247de111da0ec781e45bf6c63ecb45a78c24d7d4655abfaeea83b26c36eb5c0fd5b";
|
||||||
|
};
|
||||||
|
|
||||||
|
in import ./make-test.nix ({ pkgs, ...} : {
|
||||||
|
name = "yggdrasil";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ gazally ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = rec {
|
||||||
|
# Alice is listening for peerings on a specified port,
|
||||||
|
# but has multicast peering disabled. Alice has part of her
|
||||||
|
# yggdrasil config in Nix and part of it in a file.
|
||||||
|
alice =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
networking = {
|
||||||
|
interfaces.eth1.ipv4.addresses = [{
|
||||||
|
address = "192.168.1.200";
|
||||||
|
prefixLength = 24;
|
||||||
|
}];
|
||||||
|
firewall.allowedTCPPorts = [ 80 12345 ];
|
||||||
|
};
|
||||||
|
services.httpd.enable = true;
|
||||||
|
services.httpd.adminAddr = "foo@example.org";
|
||||||
|
|
||||||
|
services.yggdrasil = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
Listen = ["tcp://0.0.0.0:12345"];
|
||||||
|
MulticastInterfaces = [ ];
|
||||||
|
};
|
||||||
|
configFile = toString (pkgs.writeTextFile {
|
||||||
|
name = "yggdrasil-alice-conf";
|
||||||
|
text = builtins.toJSON aliceKeys;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Bob is set up to peer with Alice, and also to do local multicast
|
||||||
|
# peering. Bob's yggdrasil config is in a file.
|
||||||
|
bob =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
networking.firewall.allowedTCPPorts = [ 54321 ];
|
||||||
|
services.yggdrasil = {
|
||||||
|
enable = true;
|
||||||
|
openMulticastPort = true;
|
||||||
|
configFile = toString (pkgs.writeTextFile {
|
||||||
|
name = "yggdrasil-bob-conf";
|
||||||
|
text = builtins.toJSON bobConfig;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Carol only does local peering. Carol's yggdrasil config is all Nix.
|
||||||
|
carol =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
networking.firewall.allowedTCPPorts = [ 43210 ];
|
||||||
|
services.yggdrasil = {
|
||||||
|
enable = true;
|
||||||
|
denyDhcpcdInterfaces = [ "ygg0" ];
|
||||||
|
config = {
|
||||||
|
IfTAPMode = true;
|
||||||
|
IFName = "ygg0";
|
||||||
|
MulticastInterfaces = [ "eth1" ];
|
||||||
|
LinkLocalTCPPort = 43210;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript =
|
||||||
|
''
|
||||||
|
# Give Alice a head start so she is ready when Bob calls.
|
||||||
|
$alice->start;
|
||||||
|
$alice->waitForUnit("yggdrasil.service");
|
||||||
|
|
||||||
|
$bob->start;
|
||||||
|
$carol->start;
|
||||||
|
$bob->waitForUnit("yggdrasil.service");
|
||||||
|
$carol->waitForUnit("yggdrasil.service");
|
||||||
|
|
||||||
|
$carol->waitUntilSucceeds("[ `ip -o -6 addr show dev ygg0 scope global | grep -v tentative | wc -l` -ge 1 ]");
|
||||||
|
my $carolIp6 = (split /[ \/]+/, $carol->succeed("ip -o -6 addr show dev ygg0 scope global"))[3];
|
||||||
|
|
||||||
|
# If Alice can talk to Carol, then Bob's outbound peering and Carol's
|
||||||
|
# local peering have succeeded and everybody is connected.
|
||||||
|
$alice->waitUntilSucceeds("ping -c 1 $carolIp6");
|
||||||
|
$alice->succeed("ping -c 1 ${bobIp6}");
|
||||||
|
|
||||||
|
$bob->succeed("ping -c 1 ${aliceIp6}");
|
||||||
|
$bob->succeed("ping -c 1 $carolIp6");
|
||||||
|
|
||||||
|
$carol->succeed("ping -c 1 ${aliceIp6}");
|
||||||
|
$carol->succeed("ping -c 1 ${bobIp6}");
|
||||||
|
|
||||||
|
$carol->fail("journalctl -u dhcpcd | grep ygg0");
|
||||||
|
|
||||||
|
$alice->waitForUnit("httpd.service");
|
||||||
|
$carol->succeed("curl --fail -g http://[${aliceIp6}]");
|
||||||
|
|
||||||
|
'';
|
||||||
|
})
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "lollypop";
|
pname = "lollypop";
|
||||||
version = "1.1.4.16";
|
version = "1.2.1";
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
url = "https://gitlab.gnome.org/World/lollypop";
|
url = "https://gitlab.gnome.org/World/lollypop";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
sha256 = "1azfxc1vc1j4ph0zrfsgz2gac1vwmbj65j6wjlxx3nr8kia4mccl";
|
sha256 = "0wmgs28ph9959lr6zhd2j7z2c3kpl64rng6s1xgzyhsgrcyvv4cd";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -42,7 +42,6 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = with gst_all_1; [
|
buildInputs = with gst_all_1; [
|
||||||
gobject-introspection
|
|
||||||
gst-libav
|
gst-libav
|
||||||
gst-plugins-bad
|
gst-plugins-bad
|
||||||
gst-plugins-base
|
gst-plugins-base
|
||||||
@ -73,6 +72,8 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
wrapPythonProgramsIn $out/libexec "$out $propagatedBuildInputs"
|
wrapPythonProgramsIn $out/libexec "$out $propagatedBuildInputs"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
strictDeps = false;
|
||||||
|
|
||||||
# Produce only one wrapper using wrap-python passing
|
# Produce only one wrapper using wrap-python passing
|
||||||
# gappsWrapperArgs to wrap-python additional wrapper
|
# gappsWrapperArgs to wrap-python additional wrapper
|
||||||
# argument
|
# argument
|
||||||
|
@ -35,13 +35,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "strawberry";
|
pname = "strawberry";
|
||||||
version = "0.6.3";
|
version = "0.6.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jonaski";
|
owner = "jonaski";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "01j5jzzicy895kg9sjy46lbcm5kvf3642d3q5wwb2fyvyq1fbcv0";
|
sha256 = "1kqx0q99n1p5pm6skvqjihz11byhxdid1qw6gqp67dh2na62z1lm";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -89,9 +89,11 @@ mkDerivation rec {
|
|||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Music player and music collection organizer";
|
description = "Music player and music collection organizer";
|
||||||
license = licenses.gpl2;
|
homepage = "https://www.strawberrymusicplayer.org/";
|
||||||
|
changelog = "https://raw.githubusercontent.com/jonaski/strawberry/${version}/Changelog";
|
||||||
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ peterhoeg ];
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
# upstream says darwin should work but they lack maintainers as of 0.6.3
|
# upstream says darwin should work but they lack maintainers as of 0.6.5
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
|
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "20190820";
|
version = "20191013";
|
||||||
pname = "x42-plugins";
|
pname = "x42-plugins";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
|
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0dqsa5yxm3nx50j9k28iillj4sx2mjndzyspymxx0ghir1qmi4vh";
|
sha256 = "18kn1bmc0s6dp834kc51ibifzzn3bxwya4p8s8yq9f4mpmkghi24";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -12,12 +12,16 @@ let
|
|||||||
build = "191.5900203";
|
build = "191.5900203";
|
||||||
sha256Hash = "0afxlif8pkrl6m1lhiqri1qv4vf5mfm1yg6qk5rad0442hm3kz4l";
|
sha256Hash = "0afxlif8pkrl6m1lhiqri1qv4vf5mfm1yg6qk5rad0442hm3kz4l";
|
||||||
};
|
};
|
||||||
betaVersion = latestVersion;
|
betaVersion = {
|
||||||
latestVersion = { # canary & dev
|
|
||||||
version = "3.6.0.13"; # "Android Studio 3.6 Beta 1"
|
version = "3.6.0.13"; # "Android Studio 3.6 Beta 1"
|
||||||
build = "192.5916306";
|
build = "192.5916306";
|
||||||
sha256Hash = "0kvz3mgpfb3wqr1pw9847d5syswlzls3b4nilzgk6w127k2zmkfy";
|
sha256Hash = "0kvz3mgpfb3wqr1pw9847d5syswlzls3b4nilzgk6w127k2zmkfy";
|
||||||
};
|
};
|
||||||
|
latestVersion = { # canary & dev
|
||||||
|
version = "4.0.0.1"; # "Android Studio 4.0 Canary 1"
|
||||||
|
build = "192.5959023";
|
||||||
|
sha256Hash = "1d9hvyk0wnfiip1612ci4sbw58rq93cyy026cx6s33rvjk3cwfrl";
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
# Attributes are named by their corresponding release channels
|
# Attributes are named by their corresponding release channels
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -3,13 +3,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "tiled";
|
pname = "tiled";
|
||||||
version = "1.2.4";
|
version = "1.2.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bjorn";
|
owner = "bjorn";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "18a0pkq8j20v1njrl0sswm0ch10c6c4fas7q9kk2d2fd610ga6gh";
|
sha256 = "0sz8klz0nz60dhvz7pdn44zwr9q578pq50sxsbynz7irhrv02b52";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig qmake ];
|
nativeBuildInputs = [ pkgconfig qmake ];
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "yEd";
|
pname = "yEd";
|
||||||
version = "3.19";
|
version = "3.19.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip";
|
url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip";
|
||||||
sha256 = "0l70pc7wl2ghfkjab9w2mbx7crwha7xwkrpmspsi5c6q56dw7s33";
|
sha256 = "19bnzpwszfrlpi5ssgfsv29gdmfj7pvxad9z8fdjf9k61187dgqj";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper unzip ];
|
nativeBuildInputs = [ makeWrapper unzip ];
|
||||||
|
@ -2,24 +2,24 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "1password";
|
pname = "1password";
|
||||||
version = "0.6.2";
|
version = "0.7.0";
|
||||||
src =
|
src =
|
||||||
if stdenv.hostPlatform.system == "i686-linux" then
|
if stdenv.hostPlatform.system == "i686-linux" then
|
||||||
fetchzip {
|
fetchzip {
|
||||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
|
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
|
||||||
sha256 = "08ha4qr064jyivsp8z3q2cwmmm6klqyicc1i9vpf7zd9xmmx72rd";
|
sha256 = "1lhp0ws543855rvpvh84rjvyi471259lg618cciqj8j6k04ls1g0";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
}
|
}
|
||||||
else if stdenv.hostPlatform.system == "x86_64-linux" then
|
else if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||||
fetchzip {
|
fetchzip {
|
||||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
|
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
|
||||||
sha256 = "1fjhn1k9h6rlrgin5czvpig8h70dh14i5k20g77jvxq24bf0sn9m";
|
sha256 = "1sjv5qrc80fk9yz0cn2yj0cdm47ab3ch8n9hzj9hv9d64gjv4w8n";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
}
|
}
|
||||||
else if stdenv.hostPlatform.system == "x86_64-darwin" then
|
else if stdenv.hostPlatform.system == "x86_64-darwin" then
|
||||||
fetchzip {
|
fetchzip {
|
||||||
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
|
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
|
||||||
sha256 = "1x7pj41a4wra3ws09cyc063ai5isf12qbkm2hxiiiq5glnacpvpl";
|
sha256 = "1hnixmq7mrc6ky79k3s61vv89v4qhkm31kyni3rscibfrab0r8ir";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
}
|
}
|
||||||
else throw "Architecture not supported";
|
else throw "Architecture not supported";
|
||||||
|
@ -54,6 +54,8 @@ with python3.pkgs; buildPythonApplication rec {
|
|||||||
--replace "@pytest.mark.slowtest" "@unittest.skip('skipping')" \
|
--replace "@pytest.mark.slowtest" "@unittest.skip('skipping')" \
|
||||||
--replace "self.assertEqual(shorturl, 'http://tny.im/yt')" "" \
|
--replace "self.assertEqual(shorturl, 'http://tny.im/yt')" "" \
|
||||||
--replace "self.assertEqual(url, 'https://www.google.com')" ""
|
--replace "self.assertEqual(url, 'https://www.google.com')" ""
|
||||||
|
substituteInPlace setup.py \
|
||||||
|
--replace mypy-extensions==0.4.1 mypy-extensions>=0.4.1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -1,16 +1,20 @@
|
|||||||
{ stdenv, mkDerivation, fetchurl, poppler_utils, pkgconfig, libpng
|
{ lib, mkDerivation, fetchurl, poppler_utils, pkgconfig, libpng
|
||||||
, imagemagick, libjpeg, fontconfig, podofo, qtbase, qmake, icu, sqlite
|
, imagemagick, libjpeg, fontconfig, podofo, qtbase, qmake, icu, sqlite
|
||||||
, unrarSupport ? false, chmlib, python2Packages, libusb1, libmtp
|
, unrarSupport ? false, chmlib, python2Packages, libusb1, libmtp
|
||||||
, xdg_utils, makeDesktopItem, wrapGAppsHook, removeReferencesTo, qt5
|
, xdg_utils, makeDesktopItem, removeReferencesTo
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
pypkgs = python2Packages;
|
||||||
|
|
||||||
|
in
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "calibre";
|
pname = "calibre";
|
||||||
version = "3.47.1";
|
version = "3.48.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
|
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "17lz6rawlv268vv8i5kj59rswsipq3c14066adaz1paw54zr62dk";
|
sha256 = "034m89h7j2088p324i1kya33dfldmqyynjxk3w98xiqkz7q2hi82";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -20,10 +24,10 @@ mkDerivation rec {
|
|||||||
# - switches the version update from enabled to disabled by default
|
# - switches the version update from enabled to disabled by default
|
||||||
./no_updates_dialog.patch
|
./no_updates_dialog.patch
|
||||||
# the unrar patch is not from debian
|
# the unrar patch is not from debian
|
||||||
] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
|
] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5_with_qtwebkit}/share/sip/PyQt5':" \
|
sed -i "/pyqt_sip_dir/ s:=.*:= '${pypkgs.pyqt5_with_qtwebkit}/share/sip/PyQt5':" \
|
||||||
setup/build_environment.py
|
setup/build_environment.py
|
||||||
|
|
||||||
# Remove unneeded files and libs
|
# Remove unneeded files and libs
|
||||||
@ -35,17 +39,21 @@ mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig qmake removeReferencesTo wrapGAppsHook ];
|
nativeBuildInputs = [ pkgconfig qmake removeReferencesTo ];
|
||||||
|
|
||||||
|
CALIBRE_PY3_PORT = builtins.toString pypkgs.isPy3k;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
poppler_utils libpng imagemagick libjpeg
|
poppler_utils libpng imagemagick libjpeg
|
||||||
fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
|
fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
|
||||||
] ++ (with python2Packages; [
|
] ++ (with pypkgs; [
|
||||||
apsw cssselect css-parser dateutil dnspython html5-parser lxml mechanize netifaces pillow
|
apsw cssselect css-parser dateutil dnspython html5-parser lxml netifaces pillow
|
||||||
python pyqt5_with_qtwebkit sip
|
python pyqt5_with_qtwebkit sip
|
||||||
regex msgpack beautifulsoup4
|
regex msgpack beautifulsoup4 html2text
|
||||||
# the following are distributed with calibre, but we use upstream instead
|
# the following are distributed with calibre, but we use upstream instead
|
||||||
odfpy
|
odfpy
|
||||||
|
]) ++ lib.optionals (!pypkgs.isPy3k) (with pypkgs; [
|
||||||
|
mechanize
|
||||||
]);
|
]);
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -60,8 +68,8 @@ mkDerivation rec {
|
|||||||
export FC_LIB_DIR=${fontconfig.lib}/lib
|
export FC_LIB_DIR=${fontconfig.lib}/lib
|
||||||
export PODOFO_INC_DIR=${podofo.dev}/include/podofo
|
export PODOFO_INC_DIR=${podofo.dev}/include/podofo
|
||||||
export PODOFO_LIB_DIR=${podofo.lib}/lib
|
export PODOFO_LIB_DIR=${podofo.lib}/lib
|
||||||
export SIP_BIN=${python2Packages.sip}/bin/sip
|
export SIP_BIN=${pypkgs.sip}/bin/sip
|
||||||
${python2Packages.python.interpreter} setup.py install --prefix=$out
|
${pypkgs.python.interpreter} setup.py install --prefix=$out
|
||||||
|
|
||||||
PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py
|
PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py
|
||||||
$out/lib/calibre/calibre/ebooks/metadata/*.py
|
$out/lib/calibre/calibre/ebooks/metadata/*.py
|
||||||
@ -111,7 +119,7 @@ mkDerivation rec {
|
|||||||
genericName = "E-book library management";
|
genericName = "E-book library management";
|
||||||
icon = "@out@/share/calibre/images/library.png";
|
icon = "@out@/share/calibre/images/library.png";
|
||||||
comment = "Manage, convert, edit, and read e-books";
|
comment = "Manage, convert, edit, and read e-books";
|
||||||
mimeType = stdenv.lib.concatStringsSep ";" [
|
mimeType = lib.concatStringsSep ";" [
|
||||||
"application/x-mobipocket-subscription"
|
"application/x-mobipocket-subscription"
|
||||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
||||||
"text/html"
|
"text/html"
|
||||||
@ -174,9 +182,9 @@ mkDerivation rec {
|
|||||||
extraEntries = "NoDisplay=true";
|
extraEntries = "NoDisplay=true";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with lib; {
|
||||||
description = "Comprehensive e-book software";
|
description = "Comprehensive e-book software";
|
||||||
homepage = https://calibre-ebook.com;
|
homepage = "https://calibre-ebook.com";
|
||||||
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
|
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
|
||||||
maintainers = with maintainers; [ domenkozar pSub AndersonTorres ];
|
maintainers = with maintainers; [ domenkozar pSub AndersonTorres ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "exercism";
|
pname = "exercism";
|
||||||
version = "3.0.12";
|
version = "3.0.13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "exercism";
|
owner = "exercism";
|
||||||
repo = "cli";
|
repo = "cli";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1xvxcl7j5izx5lgmjd97zd28lg2sydwgbgn2cnisz5r0d27pj3ra";
|
sha256 = "17gvz9a0sn4p36hf4l77bxhhfipf4x998iay31layqwbnzmb4xy7";
|
||||||
};
|
};
|
||||||
|
|
||||||
modSha256 = "0pg0hxrr6jjd03wbjn5y65x02md3h352mnm1gr6vyiv7hn4ws14m";
|
modSha256 = "0pg0hxrr6jjd03wbjn5y65x02md3h352mnm1gr6vyiv7hn4ws14m";
|
||||||
|
@ -22,8 +22,12 @@ mkDerivation {
|
|||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
inherit (s) url sha256;
|
inherit (s) url sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
qmakeFlags+=(*.pro)
|
||||||
|
'';
|
||||||
|
|
||||||
qmakeFlags = [
|
qmakeFlags = [
|
||||||
"*.pro"
|
|
||||||
"TARGET_INSTALL_PATH=${placeholder "out"}/bin"
|
"TARGET_INSTALL_PATH=${placeholder "out"}/bin"
|
||||||
"PLUGIN_INSTALL_PATH=${placeholder "out"}/lib/qpdfview"
|
"PLUGIN_INSTALL_PATH=${placeholder "out"}/lib/qpdfview"
|
||||||
"DATA_INSTALL_PATH=${placeholder "out"}/share/qpdfview"
|
"DATA_INSTALL_PATH=${placeholder "out"}/share/qpdfview"
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xmrig";
|
pname = "xmrig";
|
||||||
version = "3.1.3";
|
version = "3.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xmrig";
|
owner = "xmrig";
|
||||||
repo = "xmrig";
|
repo = "xmrig";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "05z3hpz42609zsrqwd9sbxkgzm4f28ajhvgk69jvcfw7azg5jcfq";
|
sha256 = "1qb20v3wvd6scx0dnlcqvj947ng4h0lxlvl9kpz0a2a3l5425rjf";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xmrig-proxy";
|
pname = "xmrig-proxy";
|
||||||
version = "3.1.1";
|
version = "3.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xmrig";
|
owner = "xmrig";
|
||||||
repo = "xmrig-proxy";
|
repo = "xmrig-proxy";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1qiwarf0bqc17w3r88ysxxpm71gm861zx1fnzp0xi4q3rbh3nfmd";
|
sha256 = "0scz78cc5zcdd6z4gm0zqsb36jf0z8fyn2ki52814ndxrk7nr4xg";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -140,15 +140,6 @@ let
|
|||||||
./patches/widevine.patch
|
./patches/widevine.patch
|
||||||
] ++ optionals (channel == "dev") [
|
] ++ optionals (channel == "dev") [
|
||||||
./patches/widevine-79.patch
|
./patches/widevine-79.patch
|
||||||
] ++ optionals (channel == "stable") [
|
|
||||||
# Revert "Implement GetFallbackFont on Linux" to fix a performance regression
|
|
||||||
# Remove after https://bugs.chromium.org/p/chromium/issues/detail?id=1003997 is fixed
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/chromium/chromium/commit/5a32abe4247f80fdb55c55a289b906b0e42faa5f.patch";
|
|
||||||
sha256 = "1a4jqmki6cyi2dwvaszh01db2diqnz1d50mhpdpby3dd1cw0xmfy";
|
|
||||||
revert = true;
|
|
||||||
})
|
|
||||||
|
|
||||||
# Unfortunately, chromium regularly breaks on major updates and
|
# Unfortunately, chromium regularly breaks on major updates and
|
||||||
# then needs various patches backported in order to be compiled with GCC.
|
# then needs various patches backported in order to be compiled with GCC.
|
||||||
# Good sources for such patches and other hints:
|
# Good sources for such patches and other hints:
|
||||||
|
@ -60,7 +60,7 @@ in let
|
|||||||
unpackCmd = let
|
unpackCmd = let
|
||||||
soPath =
|
soPath =
|
||||||
if upstream-info.channel == "stable" then
|
if upstream-info.channel == "stable" then
|
||||||
"./opt/google/chrome/libwidevinecdm.so"
|
"./opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
||||||
else if upstream-info.channel == "beta" then
|
else if upstream-info.channel == "beta" then
|
||||||
"./opt/google/chrome-beta/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
"./opt/google/chrome-beta/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
||||||
else if upstream-info.channel == "dev" then
|
else if upstream-info.channel == "dev" then
|
||||||
@ -112,12 +112,8 @@ in let
|
|||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -a ${browser}/* $out/
|
cp -a ${browser}/* $out/
|
||||||
chmod u+w $out/libexec/chromium
|
chmod u+w $out/libexec/chromium
|
||||||
if [[ ${channel} != "dev" ]]; then
|
|
||||||
cp ${widevine}/lib/libwidevinecdm.so $out/libexec/chromium/
|
|
||||||
else
|
|
||||||
mkdir -p $out/libexec/chromium/WidevineCdm/_platform_specific/linux_x64
|
mkdir -p $out/libexec/chromium/WidevineCdm/_platform_specific/linux_x64
|
||||||
cp ${widevine}/lib/libwidevinecdm.so $out/libexec/chromium/WidevineCdm/_platform_specific/linux_x64/
|
cp ${widevine}/lib/libwidevinecdm.so $out/libexec/chromium/WidevineCdm/_platform_specific/linux_x64/
|
||||||
fi
|
|
||||||
''
|
''
|
||||||
else browser;
|
else browser;
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
beta = {
|
beta = {
|
||||||
sha256 = "0al26nfcxa00gvgn02iasjm53wq089r3c6b3rqqanljffng565y7";
|
sha256 = "0qklm2wyixa5xkaykbxp71xix4h8gc2w4ng33afa2nynjx07kifx";
|
||||||
sha256bin64 = "0qfj08adqn19sxsgd98fy5l23cikvfkpzkz9mqq90mlabmhhrp0z";
|
sha256bin64 = "1y18fcql8sv0vg8zc97f1iasx660hhgdfpr3k1rlan8jzlzdnrkk";
|
||||||
version = "78.0.3904.50";
|
version = "78.0.3904.70";
|
||||||
};
|
};
|
||||||
dev = {
|
dev = {
|
||||||
sha256 = "0ck52j5acdns7vqqvb665xpc68yl6qz0ca8lwjfhriw5hn8g1pjy";
|
sha256 = "01g05pqcxrk6110jfi8arkh4cq5y18n0mgbxrjd3acyirpl43s75";
|
||||||
sha256bin64 = "073gxyfayrb1dqsq8ngmnrs8ajwwrr2qbs311ns64davn1z3sscf";
|
sha256bin64 = "1xm9fhqlc15wrz96f1zp00jwm1hkrjql41bbs95yvdmpdjvif34b";
|
||||||
version = "79.0.3928.4";
|
version = "79.0.3941.4";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
sha256 = "1y3ay0ppwakbw2hqrmxbv4ykil8dahf62ypld17ddkqxkfqgk4np";
|
sha256 = "0qklm2wyixa5xkaykbxp71xix4h8gc2w4ng33afa2nynjx07kifx";
|
||||||
sha256bin64 = "0j1sk36nfmhx6nk8lmsdi93vcrmn58pidhb5hzkapx8mgk6xraq7";
|
sha256bin64 = "0vwgi8q0zs0aclvdi91g8b0knbrlaj6dwgzb0qh6c1n5blx0dmkm";
|
||||||
version = "77.0.3865.120";
|
version = "78.0.3904.70";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{ stdenv, buildGoPackage, fetchFromGitHub }:
|
{ stdenv, buildGoPackage, fetchFromGitHub }:
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
version = "2.14.3";
|
version = "2.15.1";
|
||||||
pname = "helm";
|
pname = "helm";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "helm";
|
owner = "helm";
|
||||||
repo = "helm";
|
repo = "helm";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "18ly31db2kxybjlisz8dfz3cdxs7j2wsh4rx5lwhbm5hpp42h17d";
|
sha256 = "1afbymgpax7kgjjv1c9xb4dm7gcrhn2g69piamdq1k0ng348k5w0";
|
||||||
};
|
};
|
||||||
|
|
||||||
goPackagePath = "k8s.io/helm";
|
goPackagePath = "k8s.io/helm";
|
||||||
|
@ -297,6 +297,15 @@
|
|||||||
sha256 = "15vb86adns1izvbzjw0lmmzrwlarhbxw5qalhx10vzzdx73wh4ai";
|
sha256 = "15vb86adns1izvbzjw0lmmzrwlarhbxw5qalhx10vzzdx73wh4ai";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/gofrs/flock";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/gofrs/flock";
|
||||||
|
rev = "v0.7.1";
|
||||||
|
sha256 = "1xn48643h991p383hlhzd6k5v9akx8c6dcy93fz37fwqrrhzpb03";
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
goPackagePath = "github.com/ghodss/yaml";
|
goPackagePath = "github.com/ghodss/yaml";
|
||||||
fetch = {
|
fetch = {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "nomad";
|
pname = "nomad";
|
||||||
version = "0.9.5";
|
version = "0.10.0";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
|
|
||||||
goPackagePath = "github.com/hashicorp/nomad";
|
goPackagePath = "github.com/hashicorp/nomad";
|
||||||
@ -12,7 +12,7 @@ buildGoPackage rec {
|
|||||||
owner = "hashicorp";
|
owner = "hashicorp";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
inherit rev;
|
inherit rev;
|
||||||
sha256 = "01491470idb11z0ab4anb5caw46vy9s94a17l92j0z2f3f4k6xfl";
|
sha256 = "1hvnrbna4hsyp5byx5si2gn4h3m6shwmd8nk0vpbrs3ck3dl1p6l";
|
||||||
};
|
};
|
||||||
|
|
||||||
# ui:
|
# ui:
|
||||||
@ -36,6 +36,6 @@ buildGoPackage rec {
|
|||||||
description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
|
description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = licenses.mpl20;
|
license = licenses.mpl20;
|
||||||
maintainers = with maintainers; [ rushmorem pradeepchhetri ];
|
maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6,29 +6,37 @@
|
|||||||
, curl
|
, curl
|
||||||
, id3lib
|
, id3lib
|
||||||
, libxml2
|
, libxml2
|
||||||
|
, glibcLocales
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "castget";
|
pname = "castget";
|
||||||
version = "1.2.4";
|
version = "2.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mlj";
|
owner = "mlj";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
# Upstream uses `_` instead of `.` for the version, let's hope it will
|
# Upstream uses `_` instead of `.` for the version
|
||||||
# change in the next release
|
|
||||||
rev = "rel_${lib.replaceStrings ["."] ["_"] version}";
|
rev = "rel_${lib.replaceStrings ["."] ["_"] version}";
|
||||||
sha256 = "1pfrjmsikv35cc0praxgim26zq4r7dfp1pkn6n9fz3fm73gxylyv";
|
sha256 = "1129x64rw587q3sdpa3lrgs0gni5f0siwbvmfz8ya4zkbhgi2ik7";
|
||||||
};
|
};
|
||||||
# Otherwise, the autoreconfHook fails since Makefile.am requires it
|
|
||||||
preAutoreconf = ''
|
# without this, the build fails because of an encoding issue with the manual page.
|
||||||
touch NEWS
|
# https://stackoverflow.com/a/17031697/4935114
|
||||||
touch README
|
# This requires glibcLocales to be present in the build so it will have an impact.
|
||||||
touch ChangeLog
|
# See https://github.com/NixOS/nixpkgs/issues/8398
|
||||||
|
preBuild = ''
|
||||||
|
export LC_ALL="en_US.UTF-8";
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ glib curl id3lib libxml2 ];
|
buildInputs = [ glib curl id3lib libxml2 ];
|
||||||
nativeBuildInputs = [ ronn autoreconfHook pkgconfig ];
|
nativeBuildInputs = [
|
||||||
|
ronn
|
||||||
|
# See comment on locale above
|
||||||
|
glibcLocales
|
||||||
|
autoreconfHook
|
||||||
|
pkgconfig
|
||||||
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A simple, command-line based RSS enclosure downloader";
|
description = "A simple, command-line based RSS enclosure downloader";
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
{ akonadi-contacts
|
{ akonadi-contacts
|
||||||
, cmake
|
, cmake
|
||||||
, fetchgit
|
, fetchgit
|
||||||
|
, gnupg
|
||||||
, gpgme
|
, gpgme
|
||||||
, kcontacts
|
, kcontacts
|
||||||
|
, kf5gpgmepp
|
||||||
, lib
|
, lib
|
||||||
, mimetic
|
, mimetic
|
||||||
, mkDerivation
|
, mkDerivation
|
||||||
@ -33,18 +35,23 @@ mkDerivation rec {
|
|||||||
qtbase
|
qtbase
|
||||||
qtkeychain
|
qtkeychain
|
||||||
qtwebkit
|
qtwebkit
|
||||||
|
mimetic
|
||||||
|
kf5gpgmepp
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
pkgconfig
|
pkgconfig
|
||||||
qttools
|
qttools
|
||||||
|
gnupg
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A Qt IMAP e-mail client";
|
description = "A Qt IMAP e-mail client";
|
||||||
homepage = "http://trojita.flaska.net/";
|
homepage = "http://trojita.flaska.net/";
|
||||||
license = with licenses; [ gpl2 gpl3 ];
|
license = with licenses; [ gpl2 gpl3 ];
|
||||||
|
maintainers = with maintainers; [ ehmry ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "tixati";
|
pname = "tixati";
|
||||||
version = "2.62";
|
version = "2.64";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
|
url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
|
||||||
sha256 = "18lmzllkymdigfl1xf696zqmr2b83p4rzlc8ddrcr0zpzy2z2w4a";
|
sha256 = "0xz2b2vasfc39wqv9lak2wdli7pr5b1vcm1lgpqx6kz7j5ba6jqp";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -3,13 +3,13 @@ libX11, glib, gtk2, gdk-pixbuf, pango, atk, cairo, openssl }:
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "transgui";
|
pname = "transgui";
|
||||||
version = "5.17.0";
|
version = "5.18.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "transmission-remote-gui";
|
owner = "transmission-remote-gui";
|
||||||
repo = "transgui";
|
repo = "transgui";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0p76vavny5asi5naa4jn67raxlarsmrkbchfn96y6gh5p2vzwpl7";
|
sha256 = "1dyx778756zhvz5sxgdvy49p2c0x44w4nmcfd90wqrmgfknncnf5";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qownnotes";
|
pname = "qownnotes";
|
||||||
version = "19.9.16";
|
version = "19.10.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
|
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
|
||||||
# Can grab official version like so:
|
# Can grab official version like so:
|
||||||
# $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256
|
# $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256
|
||||||
sha256 = "01ja4a9z87y8wdf1p9pdjdhr2h4hlyf28iqh1wlcapfq8f53zq42";
|
sha256 = "1zhszlrcmi8l96wq6hp48d8qv16jlyni02wf41dvh5r9ccfwlq42";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake qttools ];
|
nativeBuildInputs = [ qmake qttools ];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ mkDerivation, lib, fetchurl,
|
{ mkDerivation, lib, fetchpatch, fetchurl,
|
||||||
cmake, extra-cmake-modules, qtwebengine, qtscript, grantlee,
|
cmake, extra-cmake-modules, qtwebengine, qtscript, grantlee,
|
||||||
kxmlgui, kwallet, kparts, kdoctools, kjobwidgets, kdesignerplugin,
|
kxmlgui, kwallet, kparts, kdoctools, kjobwidgets, kdesignerplugin,
|
||||||
kiconthemes, knewstuff, sqlcipher, qca-qt5, kactivities, karchive,
|
kiconthemes, knewstuff, sqlcipher, qca-qt5, kactivities, karchive,
|
||||||
@ -14,6 +14,14 @@ mkDerivation rec {
|
|||||||
sha256 = "0rakfngp7j2x7h1isg6lbc5kva6k1kg99dz0zl43dc28s15can1w";
|
sha256 = "0rakfngp7j2x7h1isg6lbc5kva6k1kg99dz0zl43dc28s15can1w";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "skrooge-2.20.0-missing-header.patch";
|
||||||
|
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-office/skrooge/files/skrooge-2.20.0-missing-header.patch?id=cb8c91474b0ae2f9e889f89afe2d9114dbd1784f";
|
||||||
|
sha256 = "154zsidx45h6qrcqjh6czjxrcwrcmbyv3yh2k1s40v8pzvjwzrld";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake extra-cmake-modules kdoctools shared-mime-info
|
cmake extra-cmake-modules kdoctools shared-mime-info
|
||||||
];
|
];
|
||||||
@ -37,6 +45,5 @@ mkDerivation rec {
|
|||||||
license = with licenses; [ gpl3 ];
|
license = with licenses; [ gpl3 ];
|
||||||
maintainers = with maintainers; [ joko ];
|
maintainers = with maintainers; [ joko ];
|
||||||
homepage = https://skrooge.org/;
|
homepage = https://skrooge.org/;
|
||||||
broken = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
43
pkgs/applications/science/biology/truvari/default.nix
Normal file
43
pkgs/applications/science/biology/truvari/default.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, python3Packages
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "truvari";
|
||||||
|
version = "1.3.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "spiralgenetics";
|
||||||
|
repo = "truvari";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0wmjz8nzibvj0ixky1m0qi7iyd204prk7glbvig1cvaab33k19f1";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
pyvcf
|
||||||
|
python-Levenshtein
|
||||||
|
progressbar2
|
||||||
|
pysam
|
||||||
|
pyfaidx
|
||||||
|
intervaltree
|
||||||
|
];
|
||||||
|
|
||||||
|
prePatch = ''
|
||||||
|
substituteInPlace ./setup.py \
|
||||||
|
--replace '"progressbar2==3.41.0",' "" \
|
||||||
|
--replace '"pysam==0.15.2",' ""
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Structural variant comparison tool for VCFs";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ scalavision ];
|
||||||
|
longDescription = ''
|
||||||
|
Truvari is a benchmarking tool for comparison sets of SVs.
|
||||||
|
It can calculate the recall, precision, and f-measure of a
|
||||||
|
vcf from a given structural variant caller. The tool
|
||||||
|
is created by Spiral Genetics.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "verilator";
|
pname = "verilator";
|
||||||
version = "4.018";
|
version = "4.020";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
|
url = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
|
||||||
sha256 = "0ih38dd8hiwgjyc6gclx8i9jlycgdlrxzz8bicm4a6yj4p0jxmcq";
|
sha256 = "06n3vds762vza4byrav0j3kp3aivvadndkgw7nirvasclp19zmxb";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
{ stdenv, fetchFromGitHub, writeText, pkgconfig
|
{ stdenv, fetchFromGitHub, writeText, pkgconfig
|
||||||
, ocamlPackages, ncurses
|
, ocamlPackages, ncurses
|
||||||
, buildIde ? !stdenv.lib.versionAtLeast version "8.10" # lablgtk3 cannot be built with GTK3 at version 3.24.11
|
, buildIde ? true
|
||||||
, glib, gnome3, wrapGAppsHook
|
, glib, gnome3, wrapGAppsHook
|
||||||
, darwin
|
, darwin
|
||||||
, csdp ? null
|
, csdp ? null
|
||||||
@ -30,6 +30,7 @@ let
|
|||||||
"8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
|
"8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
|
||||||
"8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2";
|
"8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2";
|
||||||
"8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg";
|
"8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg";
|
||||||
|
"8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4";
|
||||||
}.${version};
|
}.${version};
|
||||||
coq-version = stdenv.lib.versions.majorMinor version;
|
coq-version = stdenv.lib.versions.majorMinor version;
|
||||||
versionAtLeast = stdenv.lib.versionAtLeast coq-version;
|
versionAtLeast = stdenv.lib.versionAtLeast coq-version;
|
||||||
|
31
pkgs/applications/science/medicine/dcmtk/default.nix
Normal file
31
pkgs/applications/science/medicine/dcmtk/default.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, zlib, libtiff, libxml2, openssl, libiconv, libpng, cmake }:
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "dcmtk";
|
||||||
|
version = "3.6.4";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "DCMTK";
|
||||||
|
repo = pname;
|
||||||
|
rev = "DCMTK-${version}";
|
||||||
|
sha256 = "0fbx35zax8n4gayaac5bankqwzg2y2adggykbbf8lpd773jfxsp6";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [ libpng zlib libtiff libxml2 openssl libiconv ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Collection of libraries and applications implementing large parts of the DICOM standard";
|
||||||
|
longDescription = ''
|
||||||
|
DCMTK is a collection of libraries and applications implementing large parts of the DICOM standard.
|
||||||
|
It includes software for examining, constructing and converting DICOM image files, handling offline media,
|
||||||
|
sending and receiving images over a network connection, as well as demonstrative image storage and worklist servers.
|
||||||
|
DCMTK is is written in a mixture of ANSI C and C++.
|
||||||
|
It comes in complete source code and is made available as "open source" software.
|
||||||
|
'';
|
||||||
|
homepage = "https://dicom.offis.de/dcmtk";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ iimog ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "delta";
|
pname = "delta";
|
||||||
version = "0.0.12";
|
version = "0.0.14";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dandavison";
|
owner = "dandavison";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "10jmawxzqgz7gjg1xdna9q2v6l1qlf83ybbqxcbx6941s15lgs7x";
|
sha256 = "11kjxa39mqdd9jh969ibxd0nlp9bacj2fm4cj6sk4gp6xf7gv90h";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "1888bvkpalfcw9bc9zmf9bmil6x35l9ia31x6mx1h2dvrfpw3bb1";
|
cargoSha256 = "1888bvkpalfcw9bc9zmf9bmil6x35l9ia31x6mx1h2dvrfpw3bb1";
|
||||||
|
26
pkgs/applications/version-management/git-backup/default.nix
Normal file
26
pkgs/applications/version-management/git-backup/default.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security }:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "git-backup";
|
||||||
|
version = "0.2.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jsdw";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0h31j8clvk4gkw4mgva9p0ypf26zhf7f0y564fdmzyw6rsz9wzcj";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoSha256 = "1vfyhfdy5ks9zs9sy61ck9459w86hn9v6jqcar7rib82bclzr1mx";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://github.com/jsdw/git-backup";
|
||||||
|
description = "A tool to help you backup your git repositories from services like GitHub";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.marsam ];
|
||||||
|
};
|
||||||
|
}
|
31
pkgs/applications/video/catt/default.nix
Normal file
31
pkgs/applications/video/catt/default.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ buildPythonApplication, fetchPypi, lib
|
||||||
|
, youtube-dl
|
||||||
|
, PyChromecast
|
||||||
|
, click
|
||||||
|
, ifaddr
|
||||||
|
, requests
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonApplication rec {
|
||||||
|
pname = "catt";
|
||||||
|
version = "0.10.2";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0n6aa2vvbq0z3vcg4cylhpqxch783cxvxk234647knklgg9vdf1r";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
youtube-dl PyChromecast click ifaddr requests
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = false; # attempts to access various URLs
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Cast All The Things allows you to send videos from many, many online sources to your Chromecast";
|
||||||
|
homepage = "https://github.com/skorokithakis/catt";
|
||||||
|
license = licenses.bsd2;
|
||||||
|
maintainers = with maintainers; [ dtzWill ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -7,7 +7,7 @@
|
|||||||
# be nice to add the native GUI (and/or the GTK GUI) as an option too, but that
|
# be nice to add the native GUI (and/or the GTK GUI) as an option too, but that
|
||||||
# requires invoking the Xcode build system, which is non-trivial for now.
|
# requires invoking the Xcode build system, which is non-trivial for now.
|
||||||
|
|
||||||
{ stdenv, lib, fetchurl,
|
{ stdenv, lib, fetchurl, fetchpatch,
|
||||||
# Main build tools
|
# Main build tools
|
||||||
python2, pkgconfig, autoconf, automake, cmake, nasm, libtool, m4, lzma,
|
python2, pkgconfig, autoconf, automake, cmake, nasm, libtool, m4, lzma,
|
||||||
# Processing, video codecs, containers
|
# Processing, video codecs, containers
|
||||||
@ -81,6 +81,13 @@ stdenv.mkDerivation rec {
|
|||||||
# cp: cannot create regular file './internal_defaults.json': File exists
|
# cp: cannot create regular file './internal_defaults.json': File exists
|
||||||
enableParallelBuilding = false;
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
|
# The samplerate patch should be removed when HandBrake 1.3.0 is released
|
||||||
|
patches = [(fetchpatch {
|
||||||
|
name = "set-ffmpeg-samplerate.patch";
|
||||||
|
url = "https://patch-diff.githubusercontent.com/raw/HandBrake/HandBrake/pull/2126.patch";
|
||||||
|
sha256 = "00lds9h27cvyr53qpvv8gbv01hfxdxd8gphxcwbwg8akqrvk9gbf";
|
||||||
|
})];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
patchShebangs scripts
|
patchShebangs scripts
|
||||||
|
|
||||||
|
@ -13,13 +13,13 @@ with stdenv.lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mkvtoolnix";
|
pname = "mkvtoolnix";
|
||||||
version = "37.0.0";
|
version = "38.0.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "mbunkus";
|
owner = "mbunkus";
|
||||||
repo = "mkvtoolnix";
|
repo = "mkvtoolnix";
|
||||||
rev = "release-${version}";
|
rev = "release-${version}";
|
||||||
sha256 = "0r1qzvqc6xx7rmv4v4fjc70cqy832h8v0fjf6c5ljbg1c6pgkl0l";
|
sha256 = "0874rfslglywpa8ilhqv59zvn2hisdsbwd7r61psf5rd64v72ym4";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -20,23 +20,28 @@
|
|||||||
, libcdio-paranoia ? null
|
, libcdio-paranoia ? null
|
||||||
|
|
||||||
, vulkanSupport ? stdenv.isLinux
|
, vulkanSupport ? stdenv.isLinux
|
||||||
|
, libplacebo ? null
|
||||||
, shaderc ? null
|
, shaderc ? null
|
||||||
, vulkan-headers ? null
|
, vulkan-headers ? null
|
||||||
, vulkan-loader ? null
|
, vulkan-loader ? null
|
||||||
|
|
||||||
|
, drmSupport ? stdenv.isLinux
|
||||||
|
, libdrm ? null
|
||||||
|
, mesa ? null
|
||||||
|
|
||||||
, alsaSupport ? stdenv.isLinux, alsaLib ? null
|
, alsaSupport ? stdenv.isLinux, alsaLib ? null
|
||||||
, bluraySupport ? true, libbluray ? null
|
, bluraySupport ? true, libbluray ? null
|
||||||
, bs2bSupport ? true, libbs2b ? null
|
, bs2bSupport ? true, libbs2b ? null
|
||||||
, cacaSupport ? true, libcaca ? null
|
, cacaSupport ? true, libcaca ? null
|
||||||
, cmsSupport ? true, lcms2 ? null
|
, cmsSupport ? true, lcms2 ? null
|
||||||
, drmSupport ? stdenv.isLinux, libdrm ? null
|
|
||||||
, dvdnavSupport ? stdenv.isLinux, libdvdnav ? null
|
, dvdnavSupport ? stdenv.isLinux, libdvdnav ? null
|
||||||
, dvdreadSupport ? stdenv.isLinux, libdvdread ? null
|
|
||||||
, libpngSupport ? true, libpng ? null
|
, libpngSupport ? true, libpng ? null
|
||||||
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
|
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
|
||||||
, rubberbandSupport ? stdenv.isLinux, rubberband ? null
|
, rubberbandSupport ? stdenv.isLinux, rubberband ? null
|
||||||
, screenSaverSupport ? true, libXScrnSaver ? null
|
, screenSaverSupport ? true, libXScrnSaver ? null
|
||||||
|
, sambaSupport ? true, samba ? null
|
||||||
, sdl2Support ? true, SDL2 ? null
|
, sdl2Support ? true, SDL2 ? null
|
||||||
|
, sndioSupport ? true, sndio ? null
|
||||||
, speexSupport ? true, speex ? null
|
, speexSupport ? true, speex ? null
|
||||||
, theoraSupport ? true, libtheora ? null
|
, theoraSupport ? true, libtheora ? null
|
||||||
, vaapiSupport ? stdenv.isLinux, libva ? null
|
, vaapiSupport ? stdenv.isLinux, libva ? null
|
||||||
@ -44,6 +49,7 @@
|
|||||||
, xineramaSupport ? stdenv.isLinux, libXinerama ? null
|
, xineramaSupport ? stdenv.isLinux, libXinerama ? null
|
||||||
, xvSupport ? stdenv.isLinux, libXv ? null
|
, xvSupport ? stdenv.isLinux, libXv ? null
|
||||||
, youtubeSupport ? true, youtube-dl ? null
|
, youtubeSupport ? true, youtube-dl ? null
|
||||||
|
, zimgSupport ? true, zimg ? null
|
||||||
, archiveSupport ? false, libarchive ? null
|
, archiveSupport ? false, libarchive ? null
|
||||||
, jackaudioSupport ? false, libjack2 ? null
|
, jackaudioSupport ? false, libjack2 ? null
|
||||||
, openalSupport ? false, openalSoft ? null
|
, openalSupport ? false, openalSoft ? null
|
||||||
@ -62,26 +68,29 @@ assert bs2bSupport -> available libbs2b;
|
|||||||
assert cacaSupport -> available libcaca;
|
assert cacaSupport -> available libcaca;
|
||||||
assert cddaSupport -> all available [ libcdio libcdio-paranoia ];
|
assert cddaSupport -> all available [ libcdio libcdio-paranoia ];
|
||||||
assert cmsSupport -> available lcms2;
|
assert cmsSupport -> available lcms2;
|
||||||
assert drmSupport -> available libdrm;
|
assert drmSupport -> all available [ libdrm mesa ];
|
||||||
assert dvdnavSupport -> available libdvdnav;
|
assert dvdnavSupport -> available libdvdnav;
|
||||||
assert dvdreadSupport -> available libdvdread;
|
|
||||||
assert jackaudioSupport -> available libjack2;
|
assert jackaudioSupport -> available libjack2;
|
||||||
assert libpngSupport -> available libpng;
|
assert libpngSupport -> available libpng;
|
||||||
assert openalSupport -> available openalSoft;
|
assert openalSupport -> available openalSoft;
|
||||||
assert pulseSupport -> available libpulseaudio;
|
assert pulseSupport -> available libpulseaudio;
|
||||||
assert rubberbandSupport -> available rubberband;
|
assert rubberbandSupport -> available rubberband;
|
||||||
assert screenSaverSupport -> available libXScrnSaver;
|
assert screenSaverSupport -> available libXScrnSaver;
|
||||||
|
assert sambaSupport -> available samba;
|
||||||
assert sdl2Support -> available SDL2;
|
assert sdl2Support -> available SDL2;
|
||||||
|
assert sndioSupport -> available sndio;
|
||||||
assert speexSupport -> available speex;
|
assert speexSupport -> available speex;
|
||||||
assert theoraSupport -> available libtheora;
|
assert theoraSupport -> available libtheora;
|
||||||
assert vaapiSupport -> available libva;
|
assert vaapiSupport -> available libva;
|
||||||
assert vapoursynthSupport -> available vapoursynth;
|
assert vapoursynthSupport -> available vapoursynth;
|
||||||
assert vdpauSupport -> available libvdpau;
|
assert vdpauSupport -> available libvdpau;
|
||||||
|
assert vulkanSupport -> all available [ libplacebo shaderc vulkan-headers vulkan-loader ];
|
||||||
assert waylandSupport -> all available [ wayland wayland-protocols libxkbcommon ];
|
assert waylandSupport -> all available [ wayland wayland-protocols libxkbcommon ];
|
||||||
assert x11Support -> all available [ libGLU_combined libX11 libXext libXxf86vm libXrandr ];
|
assert x11Support -> all available [ libGLU_combined libX11 libXext libXxf86vm libXrandr ];
|
||||||
assert xineramaSupport -> x11Support && available libXinerama;
|
assert xineramaSupport -> x11Support && available libXinerama;
|
||||||
assert xvSupport -> x11Support && available libXv;
|
assert xvSupport -> x11Support && available libXv;
|
||||||
assert youtubeSupport -> available youtube-dl;
|
assert youtubeSupport -> available youtube-dl;
|
||||||
|
assert zimgSupport -> available zimg;
|
||||||
|
|
||||||
let
|
let
|
||||||
# Purity: Waf is normally downloaded by bootstrap.py, but
|
# Purity: Waf is normally downloaded by bootstrap.py, but
|
||||||
@ -96,13 +105,13 @@ let
|
|||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "mpv";
|
pname = "mpv";
|
||||||
version = "0.29.1";
|
version = "0.30.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mpv-player";
|
owner = "mpv-player";
|
||||||
repo = "mpv";
|
repo = "mpv";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "138921kx8g6qprim558xin09xximjhsj9ss8b71ifg2m6kclym8m";
|
sha256 = "17mxjgcfljlv6h0ik3332xsqbs0ybvk6dkwflyl0cjh15vl1iv6f";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
@ -115,7 +124,6 @@ in stdenv.mkDerivation rec {
|
|||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-libmpv-shared"
|
"--enable-libmpv-shared"
|
||||||
"--enable-manpage-build"
|
"--enable-manpage-build"
|
||||||
"--enable-zsh-comp"
|
|
||||||
"--disable-libmpv-static"
|
"--disable-libmpv-static"
|
||||||
"--disable-static-build"
|
"--disable-static-build"
|
||||||
"--disable-build-date" # Purity
|
"--disable-build-date" # Purity
|
||||||
@ -123,8 +131,10 @@ in stdenv.mkDerivation rec {
|
|||||||
(enableFeature archiveSupport "libarchive")
|
(enableFeature archiveSupport "libarchive")
|
||||||
(enableFeature cddaSupport "cdda")
|
(enableFeature cddaSupport "cdda")
|
||||||
(enableFeature dvdnavSupport "dvdnav")
|
(enableFeature dvdnavSupport "dvdnav")
|
||||||
(enableFeature dvdreadSupport "dvdread")
|
|
||||||
(enableFeature openalSupport "openal")
|
(enableFeature openalSupport "openal")
|
||||||
|
(enableFeature sambaSupport "libsmbclient")
|
||||||
|
(enableFeature sdl2Support "sdl2")
|
||||||
|
(enableFeature sndioSupport "sndio")
|
||||||
(enableFeature vaapiSupport "vaapi")
|
(enableFeature vaapiSupport "vaapi")
|
||||||
(enableFeature waylandSupport "wayland")
|
(enableFeature waylandSupport "wayland")
|
||||||
(enableFeature stdenv.isLinux "dvbin")
|
(enableFeature stdenv.isLinux "dvbin")
|
||||||
@ -147,15 +157,15 @@ in stdenv.mkDerivation rec {
|
|||||||
++ optional bs2bSupport libbs2b
|
++ optional bs2bSupport libbs2b
|
||||||
++ optional cacaSupport libcaca
|
++ optional cacaSupport libcaca
|
||||||
++ optional cmsSupport lcms2
|
++ optional cmsSupport lcms2
|
||||||
++ optional drmSupport libdrm
|
|
||||||
++ optional dvdreadSupport libdvdread
|
|
||||||
++ optional jackaudioSupport libjack2
|
++ optional jackaudioSupport libjack2
|
||||||
++ optional libpngSupport libpng
|
++ optional libpngSupport libpng
|
||||||
++ optional openalSupport openalSoft
|
++ optional openalSupport openalSoft
|
||||||
++ optional pulseSupport libpulseaudio
|
++ optional pulseSupport libpulseaudio
|
||||||
++ optional rubberbandSupport rubberband
|
++ optional rubberbandSupport rubberband
|
||||||
|
++ optional sambaSupport samba
|
||||||
++ optional screenSaverSupport libXScrnSaver
|
++ optional screenSaverSupport libXScrnSaver
|
||||||
++ optional sdl2Support SDL2
|
++ optional sdl2Support SDL2
|
||||||
|
++ optional sndioSupport sndio
|
||||||
++ optional speexSupport speex
|
++ optional speexSupport speex
|
||||||
++ optional theoraSupport libtheora
|
++ optional theoraSupport libtheora
|
||||||
++ optional vaapiSupport libva
|
++ optional vaapiSupport libva
|
||||||
@ -164,13 +174,15 @@ in stdenv.mkDerivation rec {
|
|||||||
++ optional xineramaSupport libXinerama
|
++ optional xineramaSupport libXinerama
|
||||||
++ optional xvSupport libXv
|
++ optional xvSupport libXv
|
||||||
++ optional youtubeSupport youtube-dl
|
++ optional youtubeSupport youtube-dl
|
||||||
|
++ optional zimgSupport zimg
|
||||||
++ optional stdenv.isDarwin libiconv
|
++ optional stdenv.isDarwin libiconv
|
||||||
++ optional stdenv.isLinux nv-codec-headers
|
++ optional stdenv.isLinux nv-codec-headers
|
||||||
++ optionals cddaSupport [ libcdio libcdio-paranoia ]
|
++ optionals cddaSupport [ libcdio libcdio-paranoia ]
|
||||||
|
++ optionals drmSupport [ libdrm mesa ]
|
||||||
++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ]
|
++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ]
|
||||||
++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ]
|
++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ]
|
||||||
++ optionals x11Support [ libX11 libXext libGLU_combined libXxf86vm libXrandr ]
|
++ optionals x11Support [ libX11 libXext libGLU_combined libXxf86vm libXrandr ]
|
||||||
++ optionals vulkanSupport [ shaderc vulkan-headers vulkan-loader ]
|
++ optionals vulkanSupport [ libplacebo shaderc vulkan-headers vulkan-loader ]
|
||||||
++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||||
CoreFoundation Cocoa CoreAudio
|
CoreFoundation Cocoa CoreAudio
|
||||||
]);
|
]);
|
||||||
|
83
pkgs/applications/virtualization/arion/default.nix
Normal file
83
pkgs/applications/virtualization/arion/default.nix
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
{ pkgs
|
||||||
|
, lib
|
||||||
|
, haskellPackages
|
||||||
|
, haskell
|
||||||
|
, runCommand
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
/* This derivation builds the arion tool.
|
||||||
|
|
||||||
|
It is based on the arion-compose Haskell package, but adapted and extended to
|
||||||
|
- have the correct name
|
||||||
|
- have a smaller closure size
|
||||||
|
- have functions to use Arion from inside Nix: arion.eval and arion.build
|
||||||
|
- make it self-contained by including docker-compose
|
||||||
|
*/
|
||||||
|
arion =
|
||||||
|
justStaticExecutables (
|
||||||
|
overrideCabal
|
||||||
|
arion-compose
|
||||||
|
cabalOverrides
|
||||||
|
);
|
||||||
|
|
||||||
|
inherit (haskell.lib) justStaticExecutables overrideCabal;
|
||||||
|
|
||||||
|
inherit (haskellPackages) arion-compose;
|
||||||
|
|
||||||
|
cabalOverrides = o: {
|
||||||
|
buildTools = (o.buildTools or []) ++ [pkgs.makeWrapper];
|
||||||
|
passthru = (o.passthru or {}) // {
|
||||||
|
inherit eval build;
|
||||||
|
};
|
||||||
|
# Patch away the arion-compose name. Unlike the Haskell library, the program
|
||||||
|
# is called arion (arion was already taken on hackage).
|
||||||
|
pname = "arion";
|
||||||
|
src = arion-compose.src;
|
||||||
|
|
||||||
|
# PYTHONPATH
|
||||||
|
#
|
||||||
|
# We close off the python module search path!
|
||||||
|
#
|
||||||
|
# Accepting directories from the environment into the search path
|
||||||
|
# tends to break things. Docker Compose does not have a plugin
|
||||||
|
# system as far as I can tell, so I don't expect this to break a
|
||||||
|
# feature, but rather to make the program more robustly self-
|
||||||
|
# contained.
|
||||||
|
|
||||||
|
postInstall = ''${o.postInstall or ""}
|
||||||
|
mkdir -p $out/libexec
|
||||||
|
mv $out/bin/arion $out/libexec
|
||||||
|
makeWrapper $out/libexec/arion $out/bin/arion \
|
||||||
|
--unset PYTHONPATH \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ pkgs.docker-compose ]} \
|
||||||
|
;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Unpacked sources for evaluation by `eval`
|
||||||
|
srcUnpacked = runCommand "arion-src" {}
|
||||||
|
"mkdir $out; tar -C $out --strip-components=1 -xf ${arion-compose.src}";
|
||||||
|
|
||||||
|
/* Function for evaluating a composition
|
||||||
|
|
||||||
|
Re-uses this Nixpkgs evaluation instead of `arion-pkgs.nix`.
|
||||||
|
|
||||||
|
Returns the module system's `config` and `options` variables.
|
||||||
|
*/
|
||||||
|
eval = args@{...}:
|
||||||
|
import (srcUnpacked + "/src/nix/eval-composition.nix")
|
||||||
|
({ inherit pkgs; } // args);
|
||||||
|
|
||||||
|
/* Function to derivation of the docker compose yaml file
|
||||||
|
NOTE: The output will change: https://github.com/hercules-ci/arion/issues/82
|
||||||
|
|
||||||
|
This function is particularly useful on CI, although the references
|
||||||
|
to image tarballs may not always be desirable.
|
||||||
|
*/
|
||||||
|
build = args@{...}:
|
||||||
|
let composition = eval args;
|
||||||
|
in composition.config.out.dockerComposeYaml;
|
||||||
|
|
||||||
|
in arion
|
@ -46,6 +46,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
# igrone glib-2.62 deprecations
|
||||||
|
# Drop in next stable release.
|
||||||
|
NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram "$out/etc/vmware-tools/scripts/vmware/network" \
|
wrapProgram "$out/etc/vmware-tools/scripts/vmware/network" \
|
||||||
--prefix PATH ':' "${lib.makeBinPath [ iproute dbus systemd which ]}"
|
--prefix PATH ':' "${lib.makeBinPath [ iproute dbus systemd which ]}"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ fetchFromGitHub, gnome-themes-extra, inkscape, stdenv, xcursorgen }:
|
{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "bibata-cursors";
|
pname = "bibata-cursors";
|
||||||
version = "0.4.1";
|
version = "0.4.1";
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||||||
cp -pr Bibata_* $out/share/icons/
|
cp -pr Bibata_* $out/share/icons/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenvNoCC.lib; {
|
||||||
description = "Material Based Cursor";
|
description = "Material Based Cursor";
|
||||||
homepage = https://github.com/KaizIqbal/Bibata_Cursor;
|
homepage = https://github.com/KaizIqbal/Bibata_Cursor;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
|
41
pkgs/data/icons/bibata-cursors/extra.nix
Normal file
41
pkgs/data/icons/bibata-cursors/extra.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen }:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation rec {
|
||||||
|
pname = "bibata-extra-cursors";
|
||||||
|
version = "unstable-2018-10-28";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "KaizIqbal";
|
||||||
|
repo = "Bibata_Extra_Cursor";
|
||||||
|
rev = "66fb64b8dbe830e3f7ba2c2bdc4dacae7c438789";
|
||||||
|
sha256 = "1xb7v06sbxbwzd7cnghv9c55lpbbkcaf1nswdrqy87gd0bnpdd2n";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs .
|
||||||
|
substituteInPlace build.sh --replace "gksu " ""
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
gnome-themes-extra
|
||||||
|
inkscape
|
||||||
|
xcursorgen
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
HOME="$NIX_BUILD_ROOT" ./build.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -dm 0755 $out/share/icons
|
||||||
|
cp -pr Bibata_* $out/share/icons/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenvNoCC.lib; {
|
||||||
|
description = "Cursors Based on Bibata";
|
||||||
|
homepage = https://github.com/KaizIqbal/Bibata_Extra_Cursor;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ dtzWill ];
|
||||||
|
};
|
||||||
|
}
|
41
pkgs/data/icons/bibata-cursors/translucent.nix
Normal file
41
pkgs/data/icons/bibata-cursors/translucent.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen }:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation rec {
|
||||||
|
pname = "bibata-cursors-translucent";
|
||||||
|
version = "unstable-2019-09-13";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Silicasandwhich";
|
||||||
|
repo = "Bibata_Cursor_Translucent";
|
||||||
|
rev = "2eed979d817148817ea6bca15c594809aa9c2cb9";
|
||||||
|
sha256 = "1s688v40xx9jbvfncb4kgfnnxkmknji7igqx7c4q1ly9s7imbd1f";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs .
|
||||||
|
substituteInPlace build.sh --replace "gksu " ""
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
gnome-themes-extra
|
||||||
|
inkscape
|
||||||
|
xcursorgen
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
HOME="$NIX_BUILD_ROOT" ./build.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -dm 0755 $out/share/icons
|
||||||
|
cp -pr Bibata_* $out/share/icons/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenvNoCC.lib; {
|
||||||
|
description = "Translucent Varient of the Material Based Cursor";
|
||||||
|
homepage = https://github.com/Silicasandwhich/Bibata_Cursor_Translucent;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ dtzWill ];
|
||||||
|
};
|
||||||
|
}
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "qogir-theme";
|
pname = "qogir-theme";
|
||||||
version = "2019-08-31";
|
version = "2019-10-25";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vinceliuice";
|
owner = "vinceliuice";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1pqfnqc2c6f5cidg6c3y492hqlyn5ma4b7ra2lchw7g2dxfvq8w1";
|
sha256 = "027c9pbfv5flqrjcvmbyjrfi37nzq33z19bai4zjjxjvryfqpmlm";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gdk-pixbuf librsvg ];
|
buildInputs = [ gdk-pixbuf librsvg ];
|
||||||
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A flat Design theme for GTK based desktop environments";
|
description = "Flat Design theme for GTK based desktop environments";
|
||||||
homepage = https://vinceliuice.github.io/Qogir-theme;
|
homepage = https://vinceliuice.github.io/Qogir-theme;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, intltool, glib, dbus-glib, libxklavier,
|
{ stdenv, fetchurl, pkgconfig, intltool, glib, dbus-glib, libxklavier,
|
||||||
libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate,
|
libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate,
|
||||||
pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio,
|
pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio,
|
||||||
wrapGAppsHook, fetchpatch }:
|
wrapGAppsHook, fetchpatch, autoreconfHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mate-settings-daemon";
|
pname = "mate-settings-daemon";
|
||||||
@ -21,8 +21,9 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkgconfig
|
autoreconfHook # drop with the above patch
|
||||||
intltool
|
intltool
|
||||||
|
pkgconfig
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
|
38
pkgs/development/coq-modules/coq-bits/default.nix
Normal file
38
pkgs/development/coq-modules/coq-bits/default.nix
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, coq, mathcomp-algebra }:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "20190812";
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "coq${coq.coq-version}-coq-bits-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "coq-community";
|
||||||
|
repo = "coq-bits";
|
||||||
|
rev = "f74498a6c67e97d9565e139d62be8eaae7111f06";
|
||||||
|
sha256 = "1ibg37qxgkmpbpvc78qcb179bcnzl149z1kzwdm8n98xk5ibavrf";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ coq ];
|
||||||
|
propagatedBuildInputs = [ mathcomp-algebra ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
make -f Makefile CoqMakefile
|
||||||
|
make -f CoqMakefile COQLIB=$out/lib/coq/${coq.coq-version}/ install
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/coq-community/coq-bits;
|
||||||
|
description = "A formalization of bitset operations in Coq";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ ptival ];
|
||||||
|
platforms = coq.meta.platforms;
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
compatibleCoqVersions = v: builtins.elem v [ "8.7" "8.8" "8.9" "8.10" ];
|
||||||
|
};
|
||||||
|
}
|
@ -1048,7 +1048,7 @@ self: super: {
|
|||||||
generateOptparseApplicativeCompletion "dhall" (
|
generateOptparseApplicativeCompletion "dhall" (
|
||||||
dontCheck super.dhall
|
dontCheck super.dhall
|
||||||
);
|
);
|
||||||
dhall_1_26_1 = dontCheck super.dhall_1_26_1;
|
dhall_1_27_0 = dontCheck super.dhall_1_27_0;
|
||||||
|
|
||||||
|
|
||||||
# Missing test files in source distribution, fixed once 1.4.0 is bumped
|
# Missing test files in source distribution, fixed once 1.4.0 is bumped
|
||||||
@ -1202,8 +1202,8 @@ self: super: {
|
|||||||
temporary-resourcet = doJailbreak super.temporary-resourcet;
|
temporary-resourcet = doJailbreak super.temporary-resourcet;
|
||||||
|
|
||||||
# Requires dhall >= 1.23.0
|
# Requires dhall >= 1.23.0
|
||||||
ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_26_1; };
|
ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_27_0; };
|
||||||
dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_26_1; };
|
dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_27_0; };
|
||||||
|
|
||||||
# Test suite doesn't work with current QuickCheck
|
# Test suite doesn't work with current QuickCheck
|
||||||
# https://github.com/pruvisto/heap/issues/11
|
# https://github.com/pruvisto/heap/issues/11
|
||||||
@ -1269,4 +1269,11 @@ self: super: {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
# upstream issue: https://github.com/vmchale/atspkg/issues/12
|
||||||
|
language-ats = dontCheck super.language-ats;
|
||||||
|
|
||||||
|
# polysemy has occasional test failures from what looks like buggy async tests.
|
||||||
|
# We think this will probably be fixed when updating to the polysemy version in LTS-15.
|
||||||
|
polysemy = dontCheck super.polysemy;
|
||||||
|
|
||||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||||
|
@ -43,14 +43,14 @@ core-packages:
|
|||||||
- ghcjs-base-0
|
- ghcjs-base-0
|
||||||
|
|
||||||
default-package-overrides:
|
default-package-overrides:
|
||||||
# LTS Haskell 14.10
|
# LTS Haskell 14.11
|
||||||
- abstract-deque ==0.3
|
- abstract-deque ==0.3
|
||||||
- abstract-deque-tests ==0.3
|
- abstract-deque-tests ==0.3
|
||||||
- abstract-par ==0.3.3
|
- abstract-par ==0.3.3
|
||||||
- accuerr ==0.2.0.2
|
- accuerr ==0.2.0.2
|
||||||
- ace ==0.6
|
- ace ==0.6
|
||||||
- action-permutations ==0.0.0.1
|
- action-permutations ==0.0.0.1
|
||||||
- active ==0.2.0.13
|
- active ==0.2.0.14
|
||||||
- ad ==4.3.6
|
- ad ==4.3.6
|
||||||
- adjunctions ==4.4
|
- adjunctions ==4.4
|
||||||
- adler32 ==0.1.2.0
|
- adler32 ==0.1.2.0
|
||||||
@ -73,7 +73,7 @@ default-package-overrides:
|
|||||||
- alarmclock ==0.7.0.2
|
- alarmclock ==0.7.0.2
|
||||||
- alerts ==0.1.2.0
|
- alerts ==0.1.2.0
|
||||||
- alex ==3.2.4
|
- alex ==3.2.4
|
||||||
- alg ==0.2.11.0
|
- alg ==0.2.12.0
|
||||||
- algebraic-graphs ==0.4
|
- algebraic-graphs ==0.4
|
||||||
- Allure ==0.9.5.0
|
- Allure ==0.9.5.0
|
||||||
- almost-fix ==0.0.2
|
- almost-fix ==0.0.2
|
||||||
@ -283,7 +283,7 @@ default-package-overrides:
|
|||||||
- cassava-records ==0.1.0.4
|
- cassava-records ==0.1.0.4
|
||||||
- cast ==0.1.0.2
|
- cast ==0.1.0.2
|
||||||
- caster ==0.0.3.0
|
- caster ==0.0.3.0
|
||||||
- category ==0.2.4.1
|
- category ==0.2.4.2
|
||||||
- cayley-client ==0.4.9
|
- cayley-client ==0.4.9
|
||||||
- cborg ==0.2.2.0
|
- cborg ==0.2.2.0
|
||||||
- cborg-json ==0.2.1.0
|
- cborg-json ==0.2.1.0
|
||||||
@ -399,7 +399,6 @@ default-package-overrides:
|
|||||||
- convertible ==1.1.1.0
|
- convertible ==1.1.1.0
|
||||||
- cookie ==0.4.4
|
- cookie ==0.4.4
|
||||||
- core-data ==0.2.0.0
|
- core-data ==0.2.0.0
|
||||||
- core-program ==0.2.0.0
|
|
||||||
- core-text ==0.2.0.0
|
- core-text ==0.2.0.0
|
||||||
- countable ==1.0
|
- countable ==1.0
|
||||||
- country ==0.1.6
|
- country ==0.1.6
|
||||||
@ -521,7 +520,7 @@ default-package-overrides:
|
|||||||
- dhall-json ==1.3.0
|
- dhall-json ==1.3.0
|
||||||
- diagrams ==1.4
|
- diagrams ==1.4
|
||||||
- diagrams-contrib ==1.4.3
|
- diagrams-contrib ==1.4.3
|
||||||
- diagrams-core ==1.4.1.1
|
- diagrams-core ==1.4.2
|
||||||
- diagrams-lib ==1.4.2.3
|
- diagrams-lib ==1.4.2.3
|
||||||
- diagrams-postscript ==1.4.1
|
- diagrams-postscript ==1.4.1
|
||||||
- diagrams-rasterific ==1.4.1.1
|
- diagrams-rasterific ==1.4.1.1
|
||||||
@ -563,7 +562,8 @@ default-package-overrides:
|
|||||||
- download ==0.3.2.7
|
- download ==0.3.2.7
|
||||||
- drinkery ==0.4
|
- drinkery ==0.4
|
||||||
- dsp ==0.2.5
|
- dsp ==0.2.5
|
||||||
- dual-tree ==0.2.2
|
- dual ==0.1.0.2
|
||||||
|
- dual-tree ==0.2.2.1
|
||||||
- dublincore-xml-conduit ==0.1.0.2
|
- dublincore-xml-conduit ==0.1.0.2
|
||||||
- dunai ==0.5.1
|
- dunai ==0.5.1
|
||||||
- dunai-core ==0.5.1.0
|
- dunai-core ==0.5.1.0
|
||||||
@ -915,7 +915,7 @@ default-package-overrides:
|
|||||||
- hinfo ==0.0.3.0
|
- hinfo ==0.0.3.0
|
||||||
- hinotify ==0.4
|
- hinotify ==0.4
|
||||||
- hint ==0.9.0.2
|
- hint ==0.9.0.2
|
||||||
- hjsmin ==0.2.0.3
|
- hjsmin ==0.2.0.4
|
||||||
- hkgr ==0.2.4
|
- hkgr ==0.2.4
|
||||||
- hlibgit2 ==0.18.0.16
|
- hlibgit2 ==0.18.0.16
|
||||||
- hlibsass ==0.1.8.0
|
- hlibsass ==0.1.8.0
|
||||||
@ -980,7 +980,7 @@ default-package-overrides:
|
|||||||
- hspec-discover ==2.7.1
|
- hspec-discover ==2.7.1
|
||||||
- hspec-expectations ==0.8.2
|
- hspec-expectations ==0.8.2
|
||||||
- hspec-expectations-lifted ==0.10.0
|
- hspec-expectations-lifted ==0.10.0
|
||||||
- hspec-expectations-pretty-diff ==0.7.2.4
|
- hspec-expectations-pretty-diff ==0.7.2.5
|
||||||
- hspec-golden-aeson ==0.7.0.0
|
- hspec-golden-aeson ==0.7.0.0
|
||||||
- hspec-leancheck ==0.0.3
|
- hspec-leancheck ==0.0.3
|
||||||
- hspec-megaparsec ==2.0.1
|
- hspec-megaparsec ==2.0.1
|
||||||
@ -1179,7 +1179,7 @@ default-package-overrides:
|
|||||||
- LambdaHack ==0.9.5.0
|
- LambdaHack ==0.9.5.0
|
||||||
- lame ==0.2.0
|
- lame ==0.2.0
|
||||||
- language-c ==0.8.3
|
- language-c ==0.8.3
|
||||||
- language-c-quote ==0.12.2
|
- language-c-quote ==0.12.2.1
|
||||||
- language-docker ==8.0.2
|
- language-docker ==8.0.2
|
||||||
- language-ecmascript ==0.19
|
- language-ecmascript ==0.19
|
||||||
- language-haskell-extract ==0.2.4
|
- language-haskell-extract ==0.2.4
|
||||||
@ -1370,7 +1370,7 @@ default-package-overrides:
|
|||||||
- monad-unlift-ref ==0.2.1
|
- monad-unlift-ref ==0.2.1
|
||||||
- mongoDB ==2.5.0.0
|
- mongoDB ==2.5.0.0
|
||||||
- monoidal-containers ==0.4.0.0
|
- monoidal-containers ==0.4.0.0
|
||||||
- monoid-extras ==0.5
|
- monoid-extras ==0.5.1
|
||||||
- monoid-subclasses ==0.4.6.1
|
- monoid-subclasses ==0.4.6.1
|
||||||
- monoid-transformer ==0.0.4
|
- monoid-transformer ==0.0.4
|
||||||
- mono-traversable ==1.0.13.0
|
- mono-traversable ==1.0.13.0
|
||||||
@ -1403,7 +1403,7 @@ default-package-overrides:
|
|||||||
- mysql-simple ==0.4.5
|
- mysql-simple ==0.4.5
|
||||||
- n2o ==0.11.1
|
- n2o ==0.11.1
|
||||||
- nagios-check ==0.3.2
|
- nagios-check ==0.3.2
|
||||||
- named ==0.3.0.0
|
- named ==0.3.0.1
|
||||||
- names-th ==0.3.0.0
|
- names-th ==0.3.0.0
|
||||||
- nano-erl ==0.1.0.1
|
- nano-erl ==0.1.0.1
|
||||||
- nanospec ==0.2.2
|
- nanospec ==0.2.2
|
||||||
@ -1472,7 +1472,7 @@ default-package-overrides:
|
|||||||
- odbc ==0.2.2
|
- odbc ==0.2.2
|
||||||
- oeis ==0.3.9
|
- oeis ==0.3.9
|
||||||
- oeis2 ==1.0.3
|
- oeis2 ==1.0.3
|
||||||
- ofx ==0.4.2.0
|
- ofx ==0.4.4.0
|
||||||
- old-locale ==1.0.0.7
|
- old-locale ==1.0.0.7
|
||||||
- old-time ==1.1.0.3
|
- old-time ==1.1.0.3
|
||||||
- once ==0.4
|
- once ==0.4
|
||||||
@ -1716,13 +1716,13 @@ default-package-overrides:
|
|||||||
- Ranged-sets ==0.4.0
|
- Ranged-sets ==0.4.0
|
||||||
- range-set-list ==0.1.3.1
|
- range-set-list ==0.1.3.1
|
||||||
- rank1dynamic ==0.4.0
|
- rank1dynamic ==0.4.0
|
||||||
- rank2classes ==1.3.1.1
|
- rank2classes ==1.3.1.2
|
||||||
- Rasterific ==0.7.4.4
|
- Rasterific ==0.7.4.4
|
||||||
- rasterific-svg ==0.3.3.2
|
- rasterific-svg ==0.3.3.2
|
||||||
- ratel ==1.0.8
|
- ratel ==1.0.8
|
||||||
- ratel-wai ==1.1.0
|
- ratel-wai ==1.1.0
|
||||||
- rattle ==0.1
|
- rattle ==0.1
|
||||||
- rattletrap ==9.0.2
|
- rattletrap ==9.0.6
|
||||||
- rawfilepath ==0.2.4
|
- rawfilepath ==0.2.4
|
||||||
- rawstring-qm ==0.2.3.0
|
- rawstring-qm ==0.2.3.0
|
||||||
- raw-strings-qq ==1.1
|
- raw-strings-qq ==1.1
|
||||||
@ -1769,6 +1769,8 @@ default-package-overrides:
|
|||||||
- repa ==3.4.1.4
|
- repa ==3.4.1.4
|
||||||
- repa-algorithms ==3.4.1.3
|
- repa-algorithms ==3.4.1.3
|
||||||
- repa-io ==3.4.1.1
|
- repa-io ==3.4.1.1
|
||||||
|
- replace-attoparsec ==1.0.2.0
|
||||||
|
- replace-megaparsec ==1.1.4.0
|
||||||
- repline ==0.2.1.0
|
- repline ==0.2.1.0
|
||||||
- req ==2.1.0
|
- req ==2.1.0
|
||||||
- req-conduit ==1.0.0
|
- req-conduit ==1.0.0
|
||||||
@ -1881,6 +1883,7 @@ default-package-overrides:
|
|||||||
- servant-mock ==0.8.5
|
- servant-mock ==0.8.5
|
||||||
- servant-multipart ==0.11.4
|
- servant-multipart ==0.11.4
|
||||||
- servant-pipes ==0.15.1
|
- servant-pipes ==0.15.1
|
||||||
|
- servant-rawm ==0.3.2.0
|
||||||
- servant-ruby ==0.9.0.0
|
- servant-ruby ==0.9.0.0
|
||||||
- servant-server ==0.16.2
|
- servant-server ==0.16.2
|
||||||
- servant-static-th ==0.2.2.1
|
- servant-static-th ==0.2.2.1
|
||||||
@ -1996,7 +1999,7 @@ default-package-overrides:
|
|||||||
- storable-tuple ==0.0.3.3
|
- storable-tuple ==0.0.3.3
|
||||||
- storablevector ==0.2.13
|
- storablevector ==0.2.13
|
||||||
- store ==0.5.1.2
|
- store ==0.5.1.2
|
||||||
- store-core ==0.4.4
|
- store-core ==0.4.4.1
|
||||||
- Strafunski-StrategyLib ==5.0.1.0
|
- Strafunski-StrategyLib ==5.0.1.0
|
||||||
- stratosphere ==0.40.0
|
- stratosphere ==0.40.0
|
||||||
- streaming ==0.2.3.0
|
- streaming ==0.2.3.0
|
||||||
@ -2143,7 +2146,7 @@ default-package-overrides:
|
|||||||
- throwable-exceptions ==0.1.0.9
|
- throwable-exceptions ==0.1.0.9
|
||||||
- th-strict-compat ==0.1.0.1
|
- th-strict-compat ==0.1.0.1
|
||||||
- th-test-utils ==1.0.1
|
- th-test-utils ==1.0.1
|
||||||
- th-utilities ==0.2.3.0
|
- th-utilities ==0.2.3.1
|
||||||
- thyme ==0.3.5.5
|
- thyme ==0.3.5.5
|
||||||
- tile ==0.3.0.0
|
- tile ==0.3.0.0
|
||||||
- time-compat ==1.9.2.2
|
- time-compat ==1.9.2.2
|
||||||
@ -2225,7 +2228,7 @@ default-package-overrides:
|
|||||||
- ucam-webauth ==0.1.0.0
|
- ucam-webauth ==0.1.0.0
|
||||||
- ucam-webauth-types ==0.1.0.0
|
- ucam-webauth-types ==0.1.0.0
|
||||||
- uglymemo ==0.1.0.1
|
- uglymemo ==0.1.0.1
|
||||||
- unagi-chan ==0.4.1.2
|
- unagi-chan ==0.4.1.3
|
||||||
- unbounded-delays ==0.1.1.0
|
- unbounded-delays ==0.1.1.0
|
||||||
- unbound-generics ==0.4.0
|
- unbound-generics ==0.4.0
|
||||||
- unboxed-ref ==0.4.0.0
|
- unboxed-ref ==0.4.0.0
|
||||||
@ -2275,7 +2278,7 @@ default-package-overrides:
|
|||||||
- users-test ==0.5.0.1
|
- users-test ==0.5.0.1
|
||||||
- utf8-light ==0.4.2
|
- utf8-light ==0.4.2
|
||||||
- utf8-string ==1.0.1.1
|
- utf8-string ==1.0.1.1
|
||||||
- util ==0.1.13.0
|
- util ==0.1.14.0
|
||||||
- utility-ht ==0.0.14
|
- utility-ht ==0.0.14
|
||||||
- uuid ==1.3.13
|
- uuid ==1.3.13
|
||||||
- uuid-types ==1.0.3
|
- uuid-types ==1.0.3
|
||||||
@ -2309,7 +2312,7 @@ default-package-overrides:
|
|||||||
- verbosity ==0.3.0.0
|
- verbosity ==0.3.0.0
|
||||||
- versions ==3.5.1.1
|
- versions ==3.5.1.1
|
||||||
- ViennaRNAParser ==1.3.3
|
- ViennaRNAParser ==1.3.3
|
||||||
- viewprof ==0.0.0.31
|
- viewprof ==0.0.0.32
|
||||||
- vinyl ==0.11.0
|
- vinyl ==0.11.0
|
||||||
- vivid ==0.4.2.3
|
- vivid ==0.4.2.3
|
||||||
- vivid-osc ==0.5.0.0
|
- vivid-osc ==0.5.0.0
|
||||||
@ -2818,6 +2821,7 @@ broken-packages:
|
|||||||
- aeson-tiled
|
- aeson-tiled
|
||||||
- aeson-typescript
|
- aeson-typescript
|
||||||
- affection
|
- affection
|
||||||
|
- affine
|
||||||
- affine-invariant-ensemble-mcmc
|
- affine-invariant-ensemble-mcmc
|
||||||
- afv
|
- afv
|
||||||
- ag-pictgen
|
- ag-pictgen
|
||||||
@ -2827,6 +2831,7 @@ broken-packages:
|
|||||||
- agda-snippets-hakyll
|
- agda-snippets-hakyll
|
||||||
- agentx
|
- agentx
|
||||||
- AGI
|
- AGI
|
||||||
|
- agum
|
||||||
- AhoCorasick
|
- AhoCorasick
|
||||||
- aig
|
- aig
|
||||||
- aip
|
- aip
|
||||||
@ -2841,6 +2846,7 @@ broken-packages:
|
|||||||
- alex-meta
|
- alex-meta
|
||||||
- alex-prelude
|
- alex-prelude
|
||||||
- alfred
|
- alfred
|
||||||
|
- alg
|
||||||
- alga
|
- alga
|
||||||
- algebra
|
- algebra
|
||||||
- algebra-sql
|
- algebra-sql
|
||||||
@ -2953,6 +2959,7 @@ broken-packages:
|
|||||||
- ApproxFun-hs
|
- ApproxFun-hs
|
||||||
- arb-fft
|
- arb-fft
|
||||||
- arbb-vm
|
- arbb-vm
|
||||||
|
- arbor-monad-counter
|
||||||
- arbor-monad-logger
|
- arbor-monad-logger
|
||||||
- arbor-monad-metric
|
- arbor-monad-metric
|
||||||
- arbor-monad-metric-datadog
|
- arbor-monad-metric-datadog
|
||||||
@ -3172,6 +3179,7 @@ broken-packages:
|
|||||||
- bidirectionalization-combined
|
- bidirectionalization-combined
|
||||||
- bidispec
|
- bidispec
|
||||||
- bidispec-extras
|
- bidispec-extras
|
||||||
|
- bifunctor
|
||||||
- BiGUL
|
- BiGUL
|
||||||
- billboard-parser
|
- billboard-parser
|
||||||
- billeksah-forms
|
- billeksah-forms
|
||||||
@ -3412,6 +3420,7 @@ broken-packages:
|
|||||||
- c0parser
|
- c0parser
|
||||||
- c2ats
|
- c2ats
|
||||||
- c2hsc
|
- c2hsc
|
||||||
|
- ca
|
||||||
- cabal-audit
|
- cabal-audit
|
||||||
- cabal-bundle-clib
|
- cabal-bundle-clib
|
||||||
- cabal-cache
|
- cabal-cache
|
||||||
@ -3522,6 +3531,7 @@ broken-packages:
|
|||||||
- Catana
|
- Catana
|
||||||
- catch-fd
|
- catch-fd
|
||||||
- categorical-algebra
|
- categorical-algebra
|
||||||
|
- category
|
||||||
- category-extras
|
- category-extras
|
||||||
- category-traced
|
- category-traced
|
||||||
- catnplus
|
- catnplus
|
||||||
@ -3685,6 +3695,7 @@ broken-packages:
|
|||||||
- cmonad
|
- cmonad
|
||||||
- cmph
|
- cmph
|
||||||
- cmt
|
- cmt
|
||||||
|
- cmu
|
||||||
- cmv
|
- cmv
|
||||||
- cnc-spec-compiler
|
- cnc-spec-compiler
|
||||||
- co-log
|
- co-log
|
||||||
@ -3814,7 +3825,9 @@ broken-packages:
|
|||||||
- constrained-category
|
- constrained-category
|
||||||
- constrained-dynamic
|
- constrained-dynamic
|
||||||
- constrained-monads
|
- constrained-monads
|
||||||
|
- constraint
|
||||||
- constraint-manip
|
- constraint-manip
|
||||||
|
- constraint-reflection
|
||||||
- ConstraintKinds
|
- ConstraintKinds
|
||||||
- constraints-emerge
|
- constraints-emerge
|
||||||
- constructive-algebra
|
- constructive-algebra
|
||||||
@ -3859,6 +3872,7 @@ broken-packages:
|
|||||||
- COrdering
|
- COrdering
|
||||||
- core
|
- core
|
||||||
- core-haskell
|
- core-haskell
|
||||||
|
- core-program
|
||||||
- corebot-bliki
|
- corebot-bliki
|
||||||
- CoreDump
|
- CoreDump
|
||||||
- CoreErlang
|
- CoreErlang
|
||||||
@ -3933,6 +3947,7 @@ broken-packages:
|
|||||||
- cryptocompare
|
- cryptocompare
|
||||||
- cryptoconditions
|
- cryptoconditions
|
||||||
- cryptol
|
- cryptol
|
||||||
|
- cryptostore
|
||||||
- cryptsy-api
|
- cryptsy-api
|
||||||
- crystalfontz
|
- crystalfontz
|
||||||
- csa
|
- csa
|
||||||
@ -5108,7 +5123,6 @@ broken-packages:
|
|||||||
- grakn
|
- grakn
|
||||||
- grammar-combinators
|
- grammar-combinators
|
||||||
- GrammarProducts
|
- GrammarProducts
|
||||||
- grammatical-parsers
|
|
||||||
- grapefruit-examples
|
- grapefruit-examples
|
||||||
- grapefruit-frp
|
- grapefruit-frp
|
||||||
- grapefruit-records
|
- grapefruit-records
|
||||||
@ -6416,6 +6430,7 @@ broken-packages:
|
|||||||
- iteratee-stm
|
- iteratee-stm
|
||||||
- iterIO
|
- iterIO
|
||||||
- iterio-server
|
- iterio-server
|
||||||
|
- ival
|
||||||
- ivor
|
- ivor
|
||||||
- ivory
|
- ivory
|
||||||
- ivory-backend-c
|
- ivory-backend-c
|
||||||
@ -7179,6 +7194,8 @@ broken-packages:
|
|||||||
- mlist
|
- mlist
|
||||||
- mltool
|
- mltool
|
||||||
- mm2
|
- mm2
|
||||||
|
- mmsyn2
|
||||||
|
- mmsyn4
|
||||||
- mmtf
|
- mmtf
|
||||||
- mmtl
|
- mmtl
|
||||||
- mmtl-base
|
- mmtl-base
|
||||||
@ -8015,6 +8032,7 @@ broken-packages:
|
|||||||
- precursor
|
- precursor
|
||||||
- pred-trie
|
- pred-trie
|
||||||
- predicate-class
|
- predicate-class
|
||||||
|
- predicate-typed
|
||||||
- prednote
|
- prednote
|
||||||
- prednote-test
|
- prednote-test
|
||||||
- prefork
|
- prefork
|
||||||
@ -8061,6 +8079,7 @@ broken-packages:
|
|||||||
- procrastinating-variable
|
- procrastinating-variable
|
||||||
- procstat
|
- procstat
|
||||||
- producer
|
- producer
|
||||||
|
- product
|
||||||
- prof2dot
|
- prof2dot
|
||||||
- prof2pretty
|
- prof2pretty
|
||||||
- progress
|
- progress
|
||||||
@ -8247,6 +8266,7 @@ broken-packages:
|
|||||||
- rasa-ext-vim
|
- rasa-ext-vim
|
||||||
- rascal
|
- rascal
|
||||||
- Rasenschach
|
- Rasenschach
|
||||||
|
- rational-list
|
||||||
- rattle
|
- rattle
|
||||||
- rattletrap
|
- rattletrap
|
||||||
- raven-haskell-scotty
|
- raven-haskell-scotty
|
||||||
@ -8277,6 +8297,7 @@ broken-packages:
|
|||||||
- read-io
|
- read-io
|
||||||
- reader-soup
|
- reader-soup
|
||||||
- readline-statevar
|
- readline-statevar
|
||||||
|
- readme-lhs
|
||||||
- readpyc
|
- readpyc
|
||||||
- readshp
|
- readshp
|
||||||
- really-simple-xml-parser
|
- really-simple-xml-parser
|
||||||
@ -8654,6 +8675,8 @@ broken-packages:
|
|||||||
- Semantique
|
- Semantique
|
||||||
- semdoc
|
- semdoc
|
||||||
- semi-iso
|
- semi-iso
|
||||||
|
- semialign-indexed
|
||||||
|
- semialign-optics
|
||||||
- semibounded-lattices
|
- semibounded-lattices
|
||||||
- Semigroup
|
- Semigroup
|
||||||
- semigroupoids-syntax
|
- semigroupoids-syntax
|
||||||
@ -9015,6 +9038,7 @@ broken-packages:
|
|||||||
- SourceGraph
|
- SourceGraph
|
||||||
- sousit
|
- sousit
|
||||||
- soyuz
|
- soyuz
|
||||||
|
- spacecookie
|
||||||
- SpaceInvaders
|
- SpaceInvaders
|
||||||
- spacepart
|
- spacepart
|
||||||
- SpacePrivateers
|
- SpacePrivateers
|
||||||
@ -9255,6 +9279,7 @@ broken-packages:
|
|||||||
- swearjure
|
- swearjure
|
||||||
- swf
|
- swf
|
||||||
- swift-lda
|
- swift-lda
|
||||||
|
- sws
|
||||||
- syb-extras
|
- syb-extras
|
||||||
- syb-with-class-instances-text
|
- syb-with-class-instances-text
|
||||||
- SybWidget
|
- SybWidget
|
||||||
@ -9725,6 +9750,7 @@ broken-packages:
|
|||||||
- unagi-bloomfilter
|
- unagi-bloomfilter
|
||||||
- unagi-streams
|
- unagi-streams
|
||||||
- unamb-custom
|
- unamb-custom
|
||||||
|
- unbeliever
|
||||||
- unbound
|
- unbound
|
||||||
- unbound-kind-generics
|
- unbound-kind-generics
|
||||||
- unbounded-delays-units
|
- unbounded-delays-units
|
||||||
|
1846
pkgs/development/haskell-modules/hackage-packages.nix
generated
1846
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -254,16 +254,16 @@ let
|
|||||||
|
|
||||||
in {
|
in {
|
||||||
php72 = generic {
|
php72 = generic {
|
||||||
version = "7.2.23";
|
version = "7.2.24";
|
||||||
sha256 = "03a3snx8wdn2pwfy8qdk035da9g3qdnpgqvpz4qfgmr97mjg6ym1";
|
sha256 = "00znhjcn6k4mbxz6jqlqf6bzr4cqdf8pnbmxkg6bns1hnr6r6yd0";
|
||||||
|
|
||||||
# https://bugs.php.net/bug.php?id=76826
|
# https://bugs.php.net/bug.php?id=76826
|
||||||
extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
|
extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
|
||||||
};
|
};
|
||||||
|
|
||||||
php73 = generic {
|
php73 = generic {
|
||||||
version = "7.3.10";
|
version = "7.3.11";
|
||||||
sha256 = "0j2lqiw8miv9aqg55z2dvfg3mwm5vyqx6ggmfbw013zvq1qxhvah";
|
sha256 = "1rxm256vhnvyabfwmyv51sqrkjlid1g8lczcy4skc2f72d5zzlcj";
|
||||||
|
|
||||||
# https://bugs.php.net/bug.php?id=76826
|
# https://bugs.php.net/bug.php?id=76826
|
||||||
extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
|
extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
|
||||||
|
@ -9,14 +9,14 @@ assert useVulkan -> withExamples;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dav1d";
|
pname = "dav1d";
|
||||||
version = "0.5.0";
|
version = "0.5.1";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "code.videolan.org";
|
domain = "code.videolan.org";
|
||||||
owner = "videolan";
|
owner = "videolan";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0ircy8jf5djai2mdghi4si7i3w8crlfbk8qxjv95fgyf3llz3wv7";
|
sha256 = "08cgccp7xvwn24w9iab4fzi18x3m6xyvvnz36qf7clcz0aqbfb9w";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja nasm pkgconfig ];
|
nativeBuildInputs = [ meson ninja nasm pkgconfig ];
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* Licensing options (yes some are listed twice, filters and such are not listed)
|
* Licensing options (yes some are listed twice, filters and such are not listed)
|
||||||
*/
|
*/
|
||||||
, gplLicensing ? true # GPL: fdkaac,openssl,frei0r,cdio,samba,utvideo,vidstab,x265,x265,xavs,avid,zvbi,x11grab
|
, gplLicensing ? true # GPL: fdkaac,openssl,frei0r,cdio,samba,utvideo,vidstab,x265,x265,xavs,avid,zvbi,x11grab
|
||||||
, version3Licensing ? true # (L)GPL3: opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc
|
, version3Licensing ? true # (L)GPL3: libvmaf,opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc
|
||||||
, nonfreeLicensing ? false # NONFREE: openssl,fdkaac,blackmagic-design-desktop-video
|
, nonfreeLicensing ? false # NONFREE: openssl,fdkaac,blackmagic-design-desktop-video
|
||||||
/*
|
/*
|
||||||
* Build options
|
* Build options
|
||||||
@ -87,6 +87,7 @@
|
|||||||
, libv4l ? null # Video 4 Linux support
|
, libv4l ? null # Video 4 Linux support
|
||||||
, libva ? null # Vaapi hardware acceleration
|
, libva ? null # Vaapi hardware acceleration
|
||||||
, libvdpau ? null # Vdpau hardware acceleration
|
, libvdpau ? null # Vdpau hardware acceleration
|
||||||
|
, libvmaf ? null # Netflix's VMAF (Video Multi-Method Assessment Fusion)
|
||||||
, libvorbis ? null # Vorbis de/encoding, native encoder exists
|
, libvorbis ? null # Vorbis de/encoding, native encoder exists
|
||||||
, libvpx ? null # VP8 & VP9 de/encoding
|
, libvpx ? null # VP8 & VP9 de/encoding
|
||||||
, libwebp ? null # WebP encoder
|
, libwebp ? null # WebP encoder
|
||||||
@ -364,6 +365,7 @@ stdenv.mkDerivation rec {
|
|||||||
(enableFeature ((isLinux || isFreeBSD) && libva != null) "vaapi")
|
(enableFeature ((isLinux || isFreeBSD) && libva != null) "vaapi")
|
||||||
(enableFeature (libvdpau != null) "vdpau")
|
(enableFeature (libvdpau != null) "vdpau")
|
||||||
(enableFeature (libvorbis != null) "libvorbis")
|
(enableFeature (libvorbis != null) "libvorbis")
|
||||||
|
(enableFeature (!isAarch64 && libvmaf != null && version3Licensing) "libvmaf")
|
||||||
(enableFeature (libvpx != null) "libvpx")
|
(enableFeature (libvpx != null) "libvpx")
|
||||||
(enableFeature (libwebp != null) "libwebp")
|
(enableFeature (libwebp != null) "libwebp")
|
||||||
(enableFeature (libX11 != null && libXv != null && libXext != null) "xlib")
|
(enableFeature (libX11 != null && libXv != null && libXext != null) "xlib")
|
||||||
@ -425,6 +427,7 @@ stdenv.mkDerivation rec {
|
|||||||
] ++ optional openglExtlib libGLU_combined
|
] ++ optional openglExtlib libGLU_combined
|
||||||
++ optionals nonfreeLicensing [ fdk_aac openssl ]
|
++ optionals nonfreeLicensing [ fdk_aac openssl ]
|
||||||
++ optional ((isLinux || isFreeBSD) && libva != null) libva
|
++ optional ((isLinux || isFreeBSD) && libva != null) libva
|
||||||
|
++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf
|
||||||
++ optionals isLinux [ alsaLib libraw1394 libv4l ]
|
++ optionals isLinux [ alsaLib libraw1394 libv4l ]
|
||||||
++ optional (isLinux && !isAarch64 && libmfx != null) libmfx
|
++ optional (isLinux && !isAarch64 && libmfx != null) libmfx
|
||||||
++ optional nvenc nv-codec-headers
|
++ optional nvenc nv-codec-headers
|
||||||
|
@ -7,7 +7,7 @@ assert x11Support -> libX11 != null && cairo != null;
|
|||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.0.4";
|
version = "2.1.0";
|
||||||
versmm = versions.major version + "." + versions.minor version;
|
versmm = versions.major version + "." + versions.minor version;
|
||||||
name = "hwloc-${version}";
|
name = "hwloc-${version}";
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.open-mpi.org/software/hwloc/v${versmm}/downloads/${name}.tar.bz2";
|
url = "https://www.open-mpi.org/software/hwloc/v${versmm}/downloads/${name}.tar.bz2";
|
||||||
sha256 = "1aa7s208gdijk19vvzzahyl8pglk1va3yd6kdbpfa5pz5ms0ag35";
|
sha256 = "0qh8s7pphz0m5cwb7liqmc17xzfs23xhz5wn24r6ikvjyx99fhhr";
|
||||||
};
|
};
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
|
24
pkgs/development/libraries/kf5gpgmepp/default.nix
Normal file
24
pkgs/development/libraries/kf5gpgmepp/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ mkDerivation, lib, fetchgit, cmake, extra-cmake-modules, qtbase, boost, gpgme }:
|
||||||
|
|
||||||
|
mkDerivation {
|
||||||
|
pname = "kf5gpgmepp";
|
||||||
|
version = "16.08.3";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://anongit.kde.org/gpgmepp.git";
|
||||||
|
rev = "9826f6674e496ce575f606d17c318566381b3b15";
|
||||||
|
sha256 = "02ck2l3s8s7xh44blqaqnc5k49ccicdnzvhiwa67a3zgicz5i0vh";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ extra-cmake-modules qtbase boost ];
|
||||||
|
propagatedBuildInputs = [ gpgme ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
license = [ licenses.lgpl2 ];
|
||||||
|
maintainers = [ maintainers.ehmry ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
|
|||||||
--replace "-Wl,-Bsymbolic " ""
|
--replace "-Wl,-Bsymbolic " ""
|
||||||
substituteInPlace src/EGL/Makefile.am \
|
substituteInPlace src/EGL/Makefile.am \
|
||||||
--replace "-Wl,-Bsymbolic " ""
|
--replace "-Wl,-Bsymbolic " ""
|
||||||
|
substituteInPlace src/GLdispatch/Makefile.am \
|
||||||
|
--replace "-Xlinker --version-script=$(VERSION_SCRIPT)" "-Xlinker"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = [
|
NIX_CFLAGS_COMPILE = [
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl }:
|
{ stdenv, fetchurl, fetchpatch }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libogg-1.3.4";
|
name = "libogg-1.3.4";
|
||||||
@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "doc" ];
|
||||||
|
|
||||||
|
patches = stdenv.lib.optionals stdenv.isDarwin [
|
||||||
|
# Fix unsigned typedefs on darwin. Remove with the next release https://github.com/xiph/ogg/pull/64
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/xiph/ogg/commit/c8fca6b4a02d695b1ceea39b330d4406001c03ed.patch";
|
||||||
|
sha256 = "1s72g37y87x0a74zjji9vx2hyk86kr4f2l3m4y2fipvlf9348b3f";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Media container library to manipulate Ogg files";
|
description = "Media container library to manipulate Ogg files";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
@ -64,11 +64,6 @@ let
|
|||||||
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
libressl_2_8 = generic {
|
|
||||||
version = "2.8.3";
|
|
||||||
sha256 = "0xw4z4z6m7lyf1r4m2w2w1k7as791c04ygnfk4d7d0ki0h9hnr4v";
|
|
||||||
};
|
|
||||||
|
|
||||||
libressl_2_9 = generic {
|
libressl_2_9 = generic {
|
||||||
version = "2.9.2";
|
version = "2.9.2";
|
||||||
sha256 = "1m6mz515dcbrbnyz8hrpdfjzdmj1c15vbgnqxdxb89g3z9kq3iy4";
|
sha256 = "1m6mz515dcbrbnyz8hrpdfjzdmj1c15vbgnqxdxb89g3z9kq3iy4";
|
||||||
@ -81,7 +76,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
libressl_3_0 = generic {
|
libressl_3_0 = generic {
|
||||||
version = "3.0.1";
|
version = "3.0.2";
|
||||||
sha256 = "1js3fddxwzafiyspif0bwmvpp1fz98mkv10q5xaagqzvjw8xnsk4";
|
sha256 = "13ir2lpxz8y1m151k7lrx306498nzfhwlvgkgv97v5cvywmifyyz";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
33
pkgs/development/libraries/libvmaf/default.nix
Normal file
33
pkgs/development/libraries/libvmaf/default.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, autoconf, automake, intltool, libtool, pkgconfig }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "libvmaf";
|
||||||
|
version = "1.3.15";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "netflix";
|
||||||
|
repo = "vmaf";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256="10kgcdf06hzhbl5r7zsllq88bxbyn282hfqx5i3hkp66fpq896d2";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoconf automake intltool libtool pkgconfig ];
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
substituteInPlace "$dev/lib/pkgconfig/libvmaf.pc" \
|
||||||
|
--replace "includedir=/usr/local/include" "includedir=$dev"
|
||||||
|
'';
|
||||||
|
|
||||||
|
makeFlags = [ "INSTALL_PREFIX=${placeholder "out"}" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://github.com/Netflix/vmaf";
|
||||||
|
description = "Perceptual video quality assessment based on multi-method fusion (VMAF)";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = [ maintainers.cfsmp3 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -3,14 +3,14 @@
|
|||||||
# Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
|
# Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "live555";
|
pname = "live555";
|
||||||
version = "2019.08.16";
|
version = "2019.10.20";
|
||||||
|
|
||||||
src = fetchurl { # the upstream doesn't provide a stable URL
|
src = fetchurl { # the upstream doesn't provide a stable URL
|
||||||
urls = [
|
urls = [
|
||||||
"mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
|
"mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
|
||||||
"https://download.videolan.org/contrib/live555/live.${version}.tar.gz"
|
"https://download.videolan.org/contrib/live555/live.${version}.tar.gz"
|
||||||
];
|
];
|
||||||
sha256 = "1y77dc5qxd731w96x707iibavmkfayy5s557d7lasg742h36lcqv";
|
sha256 = "085csq31s4kak0sym5y170f82wp542bg1ff3kycanvs8w4d4n9j4";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
@ -54,7 +54,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
|
description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
|
||||||
homepage = http://www.live555.com/liveMedia/;
|
homepage = "http://www.live555.com/liveMedia/";
|
||||||
|
changelog = "http://www.live555.com/liveMedia/public/changelog.txt";
|
||||||
license = licenses.lgpl21Plus;
|
license = licenses.lgpl21Plus;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
broken = stdenv.hostPlatform.isAarch64;
|
broken = stdenv.hostPlatform.isAarch64;
|
||||||
|
@ -96,7 +96,11 @@ let
|
|||||||
'' +
|
'' +
|
||||||
''
|
''
|
||||||
mkdir -p $bin
|
mkdir -p $bin
|
||||||
|
'' + stdenv.lib.optionalString (!stdenv.hostPlatform.isWindows)
|
||||||
|
''
|
||||||
substituteInPlace $out/bin/c_rehash --replace ${buildPackages.perl} ${perl}
|
substituteInPlace $out/bin/c_rehash --replace ${buildPackages.perl} ${perl}
|
||||||
|
'' +
|
||||||
|
''
|
||||||
mv $out/bin $bin/
|
mv $out/bin $bin/
|
||||||
|
|
||||||
mkdir $dev
|
mkdir $dev
|
||||||
@ -108,7 +112,7 @@ let
|
|||||||
rmdir $out/etc/ssl/{certs,private}
|
rmdir $out/etc/ssl/{certs,private}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = stdenv.lib.optionalString (!stdenv.hostPlatform.isWindows) ''
|
||||||
# Check to make sure the main output doesn't depend on perl
|
# Check to make sure the main output doesn't depend on perl
|
||||||
if grep -r '${buildPackages.perl}' $out; then
|
if grep -r '${buildPackages.perl}' $out; then
|
||||||
echo "Found an erroneous dependency on perl ^^^" >&2
|
echo "Found an erroneous dependency on perl ^^^" >&2
|
||||||
|
6
pkgs/development/libraries/protobuf/3.10.nix
Normal file
6
pkgs/development/libraries/protobuf/3.10.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{ callPackage, ... }:
|
||||||
|
|
||||||
|
callPackage ./generic-v3.nix {
|
||||||
|
version = "3.10.0";
|
||||||
|
sha256 = "0cjwfm9v2gv6skzrq4m7w28810p2h3m1jj4kw6df3x8vvg7q842c";
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, libjpeg, zlib, perl }:
|
{ stdenv, fetchurl, libjpeg, zlib, perl }:
|
||||||
|
|
||||||
let version = "9.0.1";
|
let version = "9.0.2";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "qpdf";
|
pname = "qpdf";
|
||||||
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/qpdf/qpdf/${version}/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/qpdf/qpdf/${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0lhgb82s2402ad2yiswkj227vjlw9zypphdfdivfkbril7dg6495";
|
sha256 = "0b6jhhsifgiwrznxxi3h7hqm7bi91wph65jjbvs4g2860vcm296h";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ perl ];
|
nativeBuildInputs = [ perl ];
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "rocksdb";
|
pname = "rocksdb";
|
||||||
version = "6.2.4";
|
version = "6.3.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "facebook";
|
owner = "facebook";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "08077agbimm7738xrknkw6fjw9f8jv6x3igp8b5pmsj9l954ywma";
|
sha256 = "0i993z7xxsbs595y7wxfhgm69mg5893lfkpidcbaqnzj8j0kn0ab";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
let
|
let
|
||||||
generic = { version, sha256 }:
|
generic = { version, sha256 }:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "spdlog-${version}";
|
pname = "spdlog";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
@ -15,7 +15,7 @@ let
|
|||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
cmakeFlags = [ "-DSPDLOG_BUILD_EXAMPLES=OFF" "-DSPDLOG_BUILD_BENCH=OFF" ];
|
cmakeFlags = [ "-DSPDLOG_BUILD_EXAMPLE=OFF" "-DSPDLOG_BUILD_BENCH=OFF" ];
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "doc" ];
|
||||||
|
|
||||||
@ -25,8 +25,8 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Very fast, header only, C++ logging library.";
|
description = "Very fast, header only, C++ logging library";
|
||||||
homepage = https://github.com/gabime/spdlog;
|
homepage = "https://github.com/gabime/spdlog";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ obadz ];
|
maintainers = with maintainers; [ obadz ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
@ -35,8 +35,8 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
spdlog_1 = generic {
|
spdlog_1 = generic {
|
||||||
version = "1.3.1";
|
version = "1.4.2";
|
||||||
sha256 = "1rd4zmrlkcdjx0m0wpmjm1g9srj7jak6ai08qkhbn2lsn0niifzd";
|
sha256 = "1qc3rphvik44136ms0gjq2wmkl6qglri4fqxlhr2l5jwm8zhr8fc";
|
||||||
};
|
};
|
||||||
|
|
||||||
spdlog_0 = generic {
|
spdlog_0 = generic {
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
with stdenv.lib; stdenv.mkDerivation rec {
|
with stdenv.lib; stdenv.mkDerivation rec {
|
||||||
pname = "tbb";
|
pname = "tbb";
|
||||||
version = "2019_U8";
|
version = "2019_U9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "01org";
|
owner = "01org";
|
||||||
repo = "tbb";
|
repo = "tbb";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0z0kh1a5g28gckcxlv3x7qqskh5fsl8knf2ypbbvk7z9ln9k3wfq";
|
sha256 = "1a39nflw7b2n51jfp3fdprnkpgzaspzww1dckfvaigflfli9s8rj";
|
||||||
};
|
};
|
||||||
|
|
||||||
makeFlags = concatStringsSep " " (
|
makeFlags = concatStringsSep " " (
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "thrift";
|
pname = "thrift";
|
||||||
version = "0.12.0";
|
version = "0.13.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://archive.apache.org/dist/thrift/${version}/${pname}-${version}.tar.gz";
|
url = "https://archive.apache.org/dist/thrift/${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0a04v7dgm1qzgii7v0sisnljhxc9xpq2vxkka60scrdp6aahjdn3";
|
sha256 = "0yai9c3bdsrkkjshgim7zk0i7malwfprg00l9774dbrkh2w4ilvs";
|
||||||
};
|
};
|
||||||
|
|
||||||
#enableParallelBuilding = true; problems on hydra
|
#enableParallelBuilding = true; problems on hydra
|
||||||
|
@ -28,13 +28,14 @@ let
|
|||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DWT_CPP_11_MODE=-std=c++11"
|
"-DWT_CPP_11_MODE=-std=c++11"
|
||||||
"-DHARFBUZZ_INCLUDE_DIR=${harfbuzz.dev}/include"
|
|
||||||
"--no-warn-unused-cli"
|
"--no-warn-unused-cli"
|
||||||
]
|
]
|
||||||
++ stdenv.lib.optionals (graphicsmagick != null) [
|
++ stdenv.lib.optionals (graphicsmagick != null) [
|
||||||
"-DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick"
|
"-DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick"
|
||||||
"-DGM_PREFIX=${graphicsmagick}"
|
"-DGM_PREFIX=${graphicsmagick}"
|
||||||
]
|
]
|
||||||
|
++ stdenv.lib.optional (harfbuzz != null)
|
||||||
|
"-DHARFBUZZ_INCLUDE_DIR=${harfbuzz.dev}/include"
|
||||||
++ stdenv.lib.optional (libmysqlclient != null)
|
++ stdenv.lib.optional (libmysqlclient != null)
|
||||||
"-DMYSQL_PREFIX=${libmysqlclient}";
|
"-DMYSQL_PREFIX=${libmysqlclient}";
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xxHash";
|
pname = "xxHash";
|
||||||
version = "0.7.1";
|
version = "0.7.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Cyan4973";
|
owner = "Cyan4973";
|
||||||
repo = "xxHash";
|
repo = "xxHash";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0hh1ypwk86m3b0x4433k95f94b48kvl7s79dml0f3g0cv8jdvkgw";
|
sha256 = "1f9gl0cymmi92ihsfan0p4zmyf2hxwx4arjimpbmbp719nbcvdsx";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
@ -905,6 +905,24 @@ luadbi-sqlite3 = buildLuarocksPackage {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
luadoc = buildLuarocksPackage {
|
||||||
|
pname = "luadoc";
|
||||||
|
version = "3.0.1-1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://luarocks/luadoc-3.0.1-1.src.rock;
|
||||||
|
sha256 = "112zqjbzkrhx3nvavrxx3vhpv2ix85pznzzbpa8fq4piyv5r781i";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = [ lualogging luafilesystem ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "http://luadoc.luaforge.net/";
|
||||||
|
description = "LuaDoc is a documentation tool for Lua source code";
|
||||||
|
license = {
|
||||||
|
fullName = "MIT/X11";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
luaevent = buildLuarocksPackage {
|
luaevent = buildLuarocksPackage {
|
||||||
pname = "luaevent";
|
pname = "luaevent";
|
||||||
version = "0.4.6-1";
|
version = "0.4.6-1";
|
||||||
@ -983,6 +1001,24 @@ luafilesystem = buildLuarocksPackage {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
lualogging = buildLuarocksPackage {
|
||||||
|
pname = "lualogging";
|
||||||
|
version = "1.3.0-1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://luarocks/lualogging-1.3.0-1.src.rock;
|
||||||
|
sha256 = "13fm1vlig3zmbfkmlq1vk3xfqhlvv5xf24b0p4k4d08395y858vc";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = [ luasocket ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://github.com/Neopallium/lualogging";
|
||||||
|
description = "A simple API to use logging features";
|
||||||
|
license = {
|
||||||
|
fullName = "MIT/X11";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
luaossl = buildLuarocksPackage {
|
luaossl = buildLuarocksPackage {
|
||||||
pname = "luaossl";
|
pname = "luaossl";
|
||||||
version = "20190731-0";
|
version = "20190731-0";
|
||||||
|
@ -23,6 +23,9 @@ let param = {
|
|||||||
"4.08" = {
|
"4.08" = {
|
||||||
version = "5.3+4.08.0";
|
version = "5.3+4.08.0";
|
||||||
sha256 = "0vdmhs3hpmh5iclx4lzgdpf362m4l35zprxs73r84z1yhr4jcr4m"; };
|
sha256 = "0vdmhs3hpmh5iclx4lzgdpf362m4l35zprxs73r84z1yhr4jcr4m"; };
|
||||||
|
"4.09" = {
|
||||||
|
version = "5.3+4.08.0";
|
||||||
|
sha256 = "0vdmhs3hpmh5iclx4lzgdpf362m4l35zprxs73r84z1yhr4jcr4m"; };
|
||||||
}.${ocaml.meta.branch};
|
}.${ocaml.meta.branch};
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
|
46
pkgs/development/python-modules/cocotb/default.nix
Normal file
46
pkgs/development/python-modules/cocotb/default.nix
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchFromGitHub, setuptools, swig, verilog }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "cocotb";
|
||||||
|
version = "1.2.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = pname;
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "091q63jcm87xggqgqi44lw2vjxhl1v4yl0mv2c76hgavb29w4w5y";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs bin/*.py
|
||||||
|
|
||||||
|
# POSIX portability (TODO: upstream this)
|
||||||
|
for f in \
|
||||||
|
cocotb/share/makefiles/Makefile.* \
|
||||||
|
cocotb/share/makefiles/simulators/Makefile.*
|
||||||
|
do
|
||||||
|
substituteInPlace $f --replace 'shell which' 'shell command -v'
|
||||||
|
# replace hardcoded gcc. Remove once https://github.com/cocotb/cocotb/pull/1137 gets merged
|
||||||
|
substituteInPlace $f --replace 'gcc' '$(CC)'
|
||||||
|
substituteInPlace $f --replace 'g++' '$(CXX)'
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
checkInputs = [ swig verilog ];
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
export PATH=$out/bin:$PATH
|
||||||
|
make test
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python";
|
||||||
|
homepage = https://github.com/cocotb/cocotb;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ matthuszagh ];
|
||||||
|
};
|
||||||
|
}
|
@ -30,8 +30,9 @@ buildPythonPackage rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
# Other tests touch network
|
# Other tests touch network
|
||||||
|
# Deselect socket tests on Darwin because it hits the path length limit for a Unix domain socket
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
${pytest}/bin/pytest tests/unit/
|
${pytest}/bin/pytest tests/unit/ ${stdenv.lib.optionalString stdenv.isDarwin "--deselect=tests/unit/api_test.py::TCPSocketStreamTest"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
20
pkgs/development/python-modules/holidays/default.nix
Normal file
20
pkgs/development/python-modules/holidays/default.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{ stdenv, buildPythonPackage, fetchPypi , six, dateutil }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "holidays";
|
||||||
|
version = "0.9.11";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "1g0irhh4kq3zy1disc9i5746p72a72s5j1q1cxhbdkwnnn9dnpwi";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ six dateutil ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/dr-prodigy/python-holidays;
|
||||||
|
description = "Generate and work with holidays in Python";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ jluttine ];
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,53 @@
|
|||||||
|
From 6750cda26821f703b120ba5c925cc696200570d3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Maximilian Bosch <maximilian@mbosch.me>
|
||||||
|
Date: Sat, 26 Oct 2019 10:31:02 +0200
|
||||||
|
Subject: [PATCH] Remove coding annotations
|
||||||
|
|
||||||
|
Those used to be needed for Python <=3.5. With `pluggy` 0.13.0 this breaks
|
||||||
|
tests on newer python3 versions.
|
||||||
|
---
|
||||||
|
mautrix_appservice/appservice.py | 1 -
|
||||||
|
mautrix_appservice/errors.py | 1 -
|
||||||
|
mautrix_appservice/intent_api.py | 1 -
|
||||||
|
mautrix_appservice/state_store.py | 1 -
|
||||||
|
4 files changed, 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/mautrix_appservice/appservice.py b/mautrix_appservice/appservice.py
|
||||||
|
index 3a141b1..47e37fe 100644
|
||||||
|
--- a/mautrix_appservice/appservice.py
|
||||||
|
+++ b/mautrix_appservice/appservice.py
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-# -*- coding: future_fstrings -*-
|
||||||
|
# Partly based on github.com/Cadair/python-appservice-framework (MIT license)
|
||||||
|
from contextlib import contextmanager
|
||||||
|
from typing import Optional, Callable, Awaitable, Union
|
||||||
|
diff --git a/mautrix_appservice/errors.py b/mautrix_appservice/errors.py
|
||||||
|
index 90d040f..702f541 100644
|
||||||
|
--- a/mautrix_appservice/errors.py
|
||||||
|
+++ b/mautrix_appservice/errors.py
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-# -*- coding: future_fstrings -*-
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/mautrix_appservice/intent_api.py b/mautrix_appservice/intent_api.py
|
||||||
|
index 4021bf8..7236cbb 100644
|
||||||
|
--- a/mautrix_appservice/intent_api.py
|
||||||
|
+++ b/mautrix_appservice/intent_api.py
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-# -*- coding: future_fstrings -*-
|
||||||
|
from urllib.parse import quote as urllib_quote
|
||||||
|
from time import time
|
||||||
|
from json.decoder import JSONDecodeError
|
||||||
|
diff --git a/mautrix_appservice/state_store.py b/mautrix_appservice/state_store.py
|
||||||
|
index 47bb970..6ebec2a 100644
|
||||||
|
--- a/mautrix_appservice/state_store.py
|
||||||
|
+++ b/mautrix_appservice/state_store.py
|
||||||
|
@@ -1,4 +1,3 @@
|
||||||
|
-# -*- coding: future_fstrings -*-
|
||||||
|
from typing import Optional
|
||||||
|
from abc import ABC, abstractmethod
|
||||||
|
import json
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
@ -9,6 +9,10 @@ buildPythonPackage rec {
|
|||||||
sha256 = "60192920cff75afdd096eea3a43276e33ec15f4f00bd04d2d1dda616c84f22a5";
|
sha256 = "60192920cff75afdd096eea3a43276e33ec15f4f00bd04d2d1dda616c84f22a5";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = lib.optional (!(pythonOlder "3.6")) [
|
||||||
|
./0001-Remove-coding-annotations.patch
|
||||||
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
aiohttp
|
aiohttp
|
||||||
future-fstrings
|
future-fstrings
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mysql-connector";
|
pname = "mysql-connector";
|
||||||
version = "8.0.17";
|
version = "8.0.18";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mysql";
|
owner = "mysql";
|
||||||
repo = "mysql-connector-python";
|
repo = "mysql-connector-python";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1by0g7hrbmb1wj2wh3q9y92mjimck2izh1i4fm1xfbp278p2acbd";
|
sha256 = "0pf91vbjigjv621dar47r741yvmdmapxh60wp20nzvlx0xchbmcm";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ protobuf ];
|
propagatedBuildInputs = [ protobuf ];
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
}:
|
}:
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "plac";
|
pname = "plac";
|
||||||
version = "1.0.0";
|
version = "1.1.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "b03f967f535b3bf5a71b191fa5eb09872a5cfb1e3b377efc4138995e10ba36d7";
|
sha256 = "10f0blwxn7k2qvd0vs4300jxb8n9r7jhngf9bx9bfxia8akwy5kw";
|
||||||
};
|
};
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
|
@ -14,6 +14,11 @@ buildPythonPackage rec {
|
|||||||
sha256 = "1e6f072ae516fc061c9442f8ca470463b53dc626f0f6a86ff3a803293f4b50dd";
|
sha256 = "1e6f072ae516fc061c9442f8ca470463b53dc626f0f6a86ff3a803293f4b50dd";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# https://github.com/Azure/azure-cosmos-python/issues/183
|
||||||
|
preBuild = ''
|
||||||
|
touch changelog.md
|
||||||
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = [ six requests ];
|
propagatedBuildInputs = [ six requests ];
|
||||||
|
|
||||||
# requires an active Azure Cosmos service
|
# requires an active Azure Cosmos service
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user