Merge branch 'master' into staging-next
This commit is contained in:
commit
7d39ecdf58
11
.github/CODEOWNERS
vendored
11
.github/CODEOWNERS
vendored
@ -130,6 +130,12 @@
|
||||
/nixos/tests/hardened.nix @joachifm
|
||||
/pkgs/os-specific/linux/kernel/hardened-config.nix @joachifm
|
||||
|
||||
# Network Time Daemons
|
||||
/pkgs/tools/networking/chrony @thoughtpolice
|
||||
/pkgs/tools/networking/ntp @thoughtpolice
|
||||
/pkgs/tools/networking/openntpd @thoughtpolice
|
||||
/nixos/modules/services/networking/ntp @thoughtpolice
|
||||
|
||||
# Dhall
|
||||
/pkgs/development/dhall-modules @Gabriel439 @Profpatsch
|
||||
/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch
|
||||
@ -150,3 +156,8 @@
|
||||
/pkgs/applications/editors/emacs-modes @adisbladis
|
||||
/pkgs/applications/editors/emacs @adisbladis
|
||||
/pkgs/top-level/emacs-packages.nix @adisbladis
|
||||
|
||||
# Prometheus exporter modules and tests
|
||||
/nixos/modules/services/monitoring/prometheus/exporters.nix @WilliButz
|
||||
/nixos/modules/services/monitoring/prometheus/exporters.xml @WilliButz
|
||||
/nixos/tests/prometheus-exporters.nix @WilliButz
|
||||
|
@ -354,7 +354,7 @@ rec {
|
||||
=> { a = ["x" "y"]; b = ["z"] }
|
||||
*/
|
||||
zipAttrsWith = f: sets: zipAttrsWithNames (concatMap attrNames sets) f sets;
|
||||
/* Like `zipAttrsWith' with `(name: values: value)' as the function.
|
||||
/* Like `zipAttrsWith' with `(name: values: values)' as the function.
|
||||
|
||||
Example:
|
||||
zipAttrs [{a = "x";} {a = "y"; b = "z";}]
|
||||
|
@ -2602,6 +2602,15 @@
|
||||
email = "t@larkery.com";
|
||||
name = "Tom Hinton";
|
||||
};
|
||||
hkjn = {
|
||||
email = "me@hkjn.me";
|
||||
name = "Henrik Jonsson";
|
||||
github = "hkjn";
|
||||
keys = [{
|
||||
longkeyid = "rsa4096/0x03EFBF839A5FDC15";
|
||||
fingerprint = "D618 7A03 A40A 3D56 62F5 4B46 03EF BF83 9A5F DC15";
|
||||
}];
|
||||
};
|
||||
hlolli = {
|
||||
email = "hlolli@gmail.com";
|
||||
github = "hlolli";
|
||||
|
@ -392,7 +392,11 @@
|
||||
<filename>hardware-configuration.nix</filename> is included from
|
||||
<filename>configuration.nix</filename> and will be overwritten by future
|
||||
invocations of <command>nixos-generate-config</command>; thus, you
|
||||
generally should not modify it.)
|
||||
generally should not modify it.) Additionally, you may want to look at
|
||||
<link xlink:href="https://github.com/NixOS/nixos-hardware">Hardware
|
||||
configuration for known-hardware</link> at this point or after
|
||||
installation.
|
||||
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
|
@ -567,7 +567,6 @@
|
||||
./services/networking/bird.nix
|
||||
./services/networking/bitlbee.nix
|
||||
./services/networking/charybdis.nix
|
||||
./services/networking/chrony.nix
|
||||
./services/networking/cjdns.nix
|
||||
./services/networking/cntlm.nix
|
||||
./services/networking/connman.nix
|
||||
@ -650,14 +649,15 @@
|
||||
./services/networking/nntp-proxy.nix
|
||||
./services/networking/nsd.nix
|
||||
./services/networking/ntopng.nix
|
||||
./services/networking/ntpd.nix
|
||||
./services/networking/ntp/chrony.nix
|
||||
./services/networking/ntp/ntpd.nix
|
||||
./services/networking/ntp/openntpd.nix
|
||||
./services/networking/nullidentdmod.nix
|
||||
./services/networking/nylon.nix
|
||||
./services/networking/ocserv.nix
|
||||
./services/networking/ofono.nix
|
||||
./services/networking/oidentd.nix
|
||||
./services/networking/openfire.nix
|
||||
./services/networking/openntpd.nix
|
||||
./services/networking/openvpn.nix
|
||||
./services/networking/ostinato.nix
|
||||
./services/networking/owamp.nix
|
||||
|
@ -4,6 +4,7 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.programs.mtr;
|
||||
|
||||
in {
|
||||
options = {
|
||||
programs.mtr = {
|
||||
@ -15,13 +16,22 @@ in {
|
||||
setcap wrapper for it.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.mtr;
|
||||
description = ''
|
||||
The package to use.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ mtr ];
|
||||
environment.systemPackages = with pkgs; [ cfg.package ];
|
||||
|
||||
security.wrappers.mtr-packet = {
|
||||
source = "${pkgs.mtr}/bin/mtr-packet";
|
||||
source = "${cfg.package}/bin/mtr-packet";
|
||||
capabilities = "cap_net_raw+p";
|
||||
};
|
||||
};
|
||||
|
@ -6,16 +6,35 @@ let
|
||||
|
||||
cfg = config.services.mailman;
|
||||
|
||||
pythonEnv = pkgs.python3.withPackages (ps: [ps.mailman]);
|
||||
mailmanPyEnv = pkgs.python3.withPackages (ps: with ps; [mailman mailman-hyperkitty]);
|
||||
|
||||
mailmanExe = with pkgs; stdenv.mkDerivation {
|
||||
name = "mailman-" + python3Packages.mailman.version;
|
||||
buildInputs = [makeWrapper];
|
||||
unpackPhase = ":";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
sed >"$out/bin/mailman" <"${pythonEnv}/bin/mailman" \
|
||||
-e "2 iexport MAILMAN_CONFIG_FILE=/etc/mailman.cfg"
|
||||
chmod +x $out/bin/mailman
|
||||
makeWrapper ${mailmanPyEnv}/bin/mailman $out/bin/mailman \
|
||||
--set MAILMAN_CONFIG_FILE /etc/mailman.cfg
|
||||
'';
|
||||
};
|
||||
|
||||
mailmanWeb = pkgs.python3Packages.mailman-web.override {
|
||||
serverEMail = cfg.siteOwner;
|
||||
archiverKey = cfg.hyperkittyApiKey;
|
||||
allowedHosts = cfg.webHosts;
|
||||
};
|
||||
|
||||
mailmanWebPyEnv = pkgs.python3.withPackages (x: with x; [mailman-web]);
|
||||
|
||||
mailmanWebExe = with pkgs; stdenv.mkDerivation {
|
||||
inherit (mailmanWeb) name;
|
||||
buildInputs = [makeWrapper];
|
||||
unpackPhase = ":";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${mailmanWebPyEnv}/bin/django-admin $out/bin/mailman-web \
|
||||
--set DJANGO_SETTINGS_MODULE settings
|
||||
'';
|
||||
};
|
||||
|
||||
@ -28,11 +47,30 @@ let
|
||||
bin_dir: ${pkgs.python3Packages.mailman}/bin
|
||||
var_dir: /var/lib/mailman
|
||||
queue_dir: $var_dir/queue
|
||||
template_dir: $var_dir/templates
|
||||
log_dir: $var_dir/log
|
||||
lock_dir: $var_dir/lock
|
||||
etc_dir: /etc
|
||||
ext_dir: $etc_dir/mailman.d
|
||||
pid_file: /run/mailman/master.pid
|
||||
'' + optionalString (cfg.hyperkittyApiKey != null) ''
|
||||
[archiver.hyperkitty]
|
||||
class: mailman_hyperkitty.Archiver
|
||||
enable: yes
|
||||
configuration: ${pkgs.writeText "mailman-hyperkitty.cfg" mailmanHyperkittyCfg}
|
||||
'';
|
||||
|
||||
mailmanHyperkittyCfg = ''
|
||||
[general]
|
||||
# This is your HyperKitty installation, preferably on the localhost. This
|
||||
# address will be used by Mailman to forward incoming emails to HyperKitty
|
||||
# for archiving. It does not need to be publicly available, in fact it's
|
||||
# better if it is not.
|
||||
base_url: ${cfg.hyperkittyBaseUrl}
|
||||
|
||||
# Shared API key, must be the identical to the value in HyperKitty's
|
||||
# settings.
|
||||
api_key: ${cfg.hyperkittyApiKey}
|
||||
'';
|
||||
|
||||
in {
|
||||
@ -51,7 +89,7 @@ in {
|
||||
|
||||
siteOwner = mkOption {
|
||||
type = types.str;
|
||||
default = "postmaster";
|
||||
default = "postmaster@example.org";
|
||||
description = ''
|
||||
Certain messages that must be delivered to a human, but which can't
|
||||
be delivered to a list owner (e.g. a bounce from a list owner), will
|
||||
@ -59,6 +97,48 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
webRoot = mkOption {
|
||||
type = types.path;
|
||||
default = "${mailmanWeb}/${pkgs.python3.sitePackages}";
|
||||
defaultText = "pkgs.python3Packages.mailman-web";
|
||||
description = ''
|
||||
The web root for the Hyperkity + Postorius apps provided by Mailman.
|
||||
This variable can be set, of course, but it mainly exists so that site
|
||||
admins can refer to it in their own hand-written httpd configuration files.
|
||||
'';
|
||||
};
|
||||
|
||||
webHosts = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = ''
|
||||
The list of hostnames and/or IP addresses from which the Mailman Web
|
||||
UI will accept requests. By default, "localhost" and "127.0.0.1" are
|
||||
enabled. All additional names under which your web server accepts
|
||||
requests for the UI must be listed here or incoming requests will be
|
||||
rejected.
|
||||
'';
|
||||
};
|
||||
|
||||
hyperkittyBaseUrl = mkOption {
|
||||
type = types.str;
|
||||
default = "http://localhost/hyperkitty/";
|
||||
description = ''
|
||||
Where can Mailman connect to Hyperkitty's internal API, preferably on
|
||||
localhost?
|
||||
'';
|
||||
};
|
||||
|
||||
hyperkittyApiKey = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The shared secret used to authenticate Mailman's internal
|
||||
communication with Hyperkitty. Must be set to enable support for the
|
||||
Hyperkitty archiver. Note that this secret is going to be visible to
|
||||
all local users in the Nix store.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
@ -71,25 +151,22 @@ in {
|
||||
{ assertion = cfg.enable -> config.services.postfix.enable;
|
||||
message = "Mailman requires Postfix";
|
||||
}
|
||||
{ assertion = config.services.postfix.recipientDelimiter == "+";
|
||||
message = "Postfix's recipientDelimiter must be set to '+'.";
|
||||
}
|
||||
];
|
||||
|
||||
users.users.mailman = { description = "GNU Mailman"; isSystemUser = true; };
|
||||
|
||||
environment = {
|
||||
systemPackages = [ mailmanExe ];
|
||||
systemPackages = [ mailmanExe mailmanWebExe pkgs.sassc ];
|
||||
etc."mailman.cfg".text = mailmanCfg;
|
||||
};
|
||||
|
||||
services.postfix = {
|
||||
relayDomains = [ "hash:/var/lib/mailman/data/postfix_domains" ];
|
||||
recipientDelimiter = "+"; # bake recipient addresses in mail envelopes via VERP
|
||||
config = {
|
||||
transport_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ];
|
||||
local_recipient_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ];
|
||||
# Mailman uses recipient delimiters, so we don't need special handling.
|
||||
owner_request_special = "no";
|
||||
owner_request_special = "no"; # Mailman handles -owner addresses on its own
|
||||
};
|
||||
};
|
||||
|
||||
@ -109,6 +186,112 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.mailman-web = {
|
||||
description = "Init Postorius DB";
|
||||
before = [ "httpd.service" ];
|
||||
requiredBy = [ "httpd.service" ];
|
||||
script = ''
|
||||
${mailmanWebExe}/bin/mailman-web migrate
|
||||
rm -rf static
|
||||
${mailmanWebExe}/bin/mailman-web collectstatic
|
||||
${mailmanWebExe}/bin/mailman-web compress
|
||||
'';
|
||||
serviceConfig = {
|
||||
User = config.services.httpd.user;
|
||||
Type = "oneshot";
|
||||
StateDirectory = "mailman-web";
|
||||
StateDirectoryMode = "0700";
|
||||
WorkingDirectory = "/var/lib/mailman-web";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.mailman-daily = {
|
||||
description = "Trigger daily Mailman events";
|
||||
startAt = "daily";
|
||||
serviceConfig = {
|
||||
ExecStart = "${mailmanExe}/bin/mailman digests --send";
|
||||
User = "mailman";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.hyperkitty = {
|
||||
enable = cfg.hyperkittyApiKey != null;
|
||||
description = "GNU Hyperkitty QCluster Process";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "mailman.service" "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${mailmanWebExe}/bin/mailman-web qcluster";
|
||||
User = config.services.httpd.user;
|
||||
WorkingDirectory = "/var/lib/mailman-web";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.hyperkitty-minutely = {
|
||||
enable = cfg.hyperkittyApiKey != null;
|
||||
description = "Trigger minutely Hyperkitty events";
|
||||
startAt = "minutely";
|
||||
serviceConfig = {
|
||||
ExecStart = "${mailmanWebExe}/bin/mailman-web runjobs minutely";
|
||||
User = config.services.httpd.user;
|
||||
WorkingDirectory = "/var/lib/mailman-web";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.hyperkitty-quarter-hourly = {
|
||||
enable = cfg.hyperkittyApiKey != null;
|
||||
description = "Trigger quarter-hourly Hyperkitty events";
|
||||
startAt = "*:00/15";
|
||||
serviceConfig = {
|
||||
ExecStart = "${mailmanWebExe}/bin/mailman-web runjobs quarter_hourly";
|
||||
User = config.services.httpd.user;
|
||||
WorkingDirectory = "/var/lib/mailman-web";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.hyperkitty-hourly = {
|
||||
enable = cfg.hyperkittyApiKey != null;
|
||||
description = "Trigger hourly Hyperkitty events";
|
||||
startAt = "hourly";
|
||||
serviceConfig = {
|
||||
ExecStart = "${mailmanWebExe}/bin/mailman-web runjobs hourly";
|
||||
User = config.services.httpd.user;
|
||||
WorkingDirectory = "/var/lib/mailman-web";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.hyperkitty-daily = {
|
||||
enable = cfg.hyperkittyApiKey != null;
|
||||
description = "Trigger daily Hyperkitty events";
|
||||
startAt = "daily";
|
||||
serviceConfig = {
|
||||
ExecStart = "${mailmanWebExe}/bin/mailman-web runjobs daily";
|
||||
User = config.services.httpd.user;
|
||||
WorkingDirectory = "/var/lib/mailman-web";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.hyperkitty-weekly = {
|
||||
enable = cfg.hyperkittyApiKey != null;
|
||||
description = "Trigger weekly Hyperkitty events";
|
||||
startAt = "weekly";
|
||||
serviceConfig = {
|
||||
ExecStart = "${mailmanWebExe}/bin/mailman-web runjobs weekly";
|
||||
User = config.services.httpd.user;
|
||||
WorkingDirectory = "/var/lib/mailman-web";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.hyperkitty-yearly = {
|
||||
enable = cfg.hyperkittyApiKey != null;
|
||||
description = "Trigger yearly Hyperkitty events";
|
||||
startAt = "yearly";
|
||||
serviceConfig = {
|
||||
ExecStart = "${mailmanWebExe}/bin/mailman-web runjobs yearly";
|
||||
User = config.services.httpd.user;
|
||||
WorkingDirectory = "/var/lib/mailman-web";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -34,6 +34,7 @@ let
|
||||
"node"
|
||||
"postfix"
|
||||
"postgres"
|
||||
"rspamd"
|
||||
"snmp"
|
||||
"surfboard"
|
||||
"tor"
|
||||
@ -193,6 +194,8 @@ in
|
||||
services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000";
|
||||
services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey;
|
||||
services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
|
||||
})] ++ [(mkIf config.services.rspamd.enable {
|
||||
services.prometheus.exporters.rspamd.url = mkDefault "http://localhost:11334/stat";
|
||||
})] ++ (mapAttrsToList (name: conf:
|
||||
mkExporterConf {
|
||||
inherit name;
|
||||
|
@ -0,0 +1,92 @@
|
||||
{ config, lib, pkgs, options }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.prometheus.exporters.rspamd;
|
||||
|
||||
prettyJSON = conf:
|
||||
pkgs.runCommand "rspamd-exporter-config.yml" { } ''
|
||||
echo '${builtins.toJSON conf}' | ${pkgs.buildPackages.jq}/bin/jq '.' > $out
|
||||
'';
|
||||
|
||||
generateConfig = extraLabels: (map (path: {
|
||||
name = "rspamd_${replaceStrings [ "." " " ] [ "_" "_" ] path}";
|
||||
path = "$.${path}";
|
||||
labels = extraLabels;
|
||||
}) [
|
||||
"actions.'add header'"
|
||||
"actions.'no action'"
|
||||
"actions.'rewrite subject'"
|
||||
"actions.'soft reject'"
|
||||
"actions.greylist"
|
||||
"actions.reject"
|
||||
"bytes_allocated"
|
||||
"chunks_allocated"
|
||||
"chunks_freed"
|
||||
"chunks_oversized"
|
||||
"connections"
|
||||
"control_connections"
|
||||
"ham_count"
|
||||
"learned"
|
||||
"pools_allocated"
|
||||
"pools_freed"
|
||||
"read_only"
|
||||
"scanned"
|
||||
"shared_chunks_allocated"
|
||||
"spam_count"
|
||||
"total_learns"
|
||||
]) ++ [{
|
||||
name = "rspamd_statfiles";
|
||||
type = "object";
|
||||
path = "$.statfiles[*]";
|
||||
labels = recursiveUpdate {
|
||||
symbol = "$.symbol";
|
||||
type = "$.type";
|
||||
} extraLabels;
|
||||
values = {
|
||||
revision = "$.revision";
|
||||
size = "$.size";
|
||||
total = "$.total";
|
||||
used = "$.used";
|
||||
languages = "$.languages";
|
||||
users = "$.users";
|
||||
};
|
||||
}];
|
||||
in
|
||||
{
|
||||
port = 7980;
|
||||
extraOpts = {
|
||||
listenAddress = {}; # not used
|
||||
|
||||
url = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
URL to the rspamd metrics endpoint.
|
||||
Defaults to http://localhost:11334/stat when
|
||||
<option>services.rspamd.enable</option> is true.
|
||||
'';
|
||||
};
|
||||
|
||||
extraLabels = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {
|
||||
host = config.networking.hostName;
|
||||
};
|
||||
defaultText = "{ host = config.networking.hostName; }";
|
||||
example = literalExample ''
|
||||
{
|
||||
host = config.networking.hostName;
|
||||
custom_label = "some_value";
|
||||
}
|
||||
'';
|
||||
description = "Set of labels added to each metric.";
|
||||
};
|
||||
};
|
||||
serviceOpts.serviceConfig.ExecStart = ''
|
||||
${pkgs.prometheus-json-exporter}/bin/prometheus-json-exporter \
|
||||
--port ${toString cfg.port} \
|
||||
${cfg.url} ${prettyJSON (generateConfig cfg.extraLabels)} \
|
||||
${concatStringsSep " \\\n " cfg.extraFlags}
|
||||
'';
|
||||
}
|
@ -9,11 +9,11 @@ let
|
||||
keyFile = "${stateDir}/chrony.keys";
|
||||
|
||||
configFile = pkgs.writeText "chrony.conf" ''
|
||||
${concatMapStringsSep "\n" (server: "server " + server) cfg.servers}
|
||||
${concatMapStringsSep "\n" (server: "server " + server + " iburst") cfg.servers}
|
||||
|
||||
${optionalString
|
||||
(cfg.initstepslew.enabled && (cfg.servers != []))
|
||||
"initstepslew ${toString cfg.initstepslew.threshold} ${concatStringsSep " " cfg.initstepslew.servers}"
|
||||
"initstepslew ${toString cfg.initstepslew.threshold} ${concatStringsSep " " cfg.servers}"
|
||||
}
|
||||
|
||||
driftfile ${stateDir}/chrony.drift
|
||||
@ -24,7 +24,7 @@ let
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
chronyFlags = "-m -u chrony -f ${configFile} ${toString cfg.extraFlags}";
|
||||
chronyFlags = "-n -m -u chrony -f ${configFile} ${toString cfg.extraFlags}";
|
||||
in
|
||||
{
|
||||
options = {
|
||||
@ -48,7 +48,6 @@ in
|
||||
default = {
|
||||
enabled = true;
|
||||
threshold = 1000; # by default, same threshold as 'ntpd -g' (1000s)
|
||||
servers = cfg.servers;
|
||||
};
|
||||
description = ''
|
||||
Allow chronyd to make a rapid measurement of the system clock error at
|
||||
@ -76,6 +75,8 @@ in
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
meta.maintainers = with lib.maintainers; [ thoughtpolice ];
|
||||
|
||||
environment.systemPackages = [ pkgs.chrony ];
|
||||
|
||||
users.groups = singleton
|
||||
@ -115,7 +116,7 @@ in
|
||||
|
||||
unitConfig.ConditionCapability = "CAP_SYS_TIME";
|
||||
serviceConfig =
|
||||
{ Type = "forking";
|
||||
{ Type = "simple";
|
||||
ExecStart = "${pkgs.chrony}/bin/chronyd ${chronyFlags}";
|
||||
|
||||
ProtectHome = "yes";
|
@ -96,6 +96,7 @@ in
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.ntp.enable {
|
||||
meta.maintainers = with lib.maintainers; [ thoughtpolice ];
|
||||
|
||||
# Make tools such as ntpq available in the system path.
|
||||
environment.systemPackages = [ pkgs.ntp ];
|
@ -52,6 +52,7 @@ in
|
||||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
meta.maintainers = with lib.maintainers; [ thoughtpolice ];
|
||||
services.timesyncd.enable = mkForce false;
|
||||
|
||||
# Add ntpctl to the environment for status checking
|
@ -216,7 +216,6 @@ in
|
||||
index index.html index.php;
|
||||
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
|
||||
gzip_comp_level 6;
|
||||
gzip_min_length 1100;
|
||||
|
@ -179,7 +179,7 @@ in
|
||||
'' + optionalString (cfg.database.type == "oracle") ''
|
||||
extension=${pkgs.phpPackages.oci8}/lib/php/extensions/oci8.so
|
||||
'';
|
||||
phpEnv.ZABBIX_CONFIG = zabbixConfig;
|
||||
phpEnv.ZABBIX_CONFIG = "${zabbixConfig}";
|
||||
settings = {
|
||||
"listen.owner" = config.services.httpd.user;
|
||||
"listen.group" = config.services.httpd.group;
|
||||
@ -197,7 +197,7 @@ in
|
||||
<Directory "${cfg.package}/share/zabbix">
|
||||
<FilesMatch "\.php$">
|
||||
<If "-f %{REQUEST_FILENAME}">
|
||||
SetHandler "proxy:unix:${fpm.listen}|fcgi://localhost/"
|
||||
SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
|
||||
</If>
|
||||
</FilesMatch>
|
||||
AllowOverride all
|
||||
|
@ -94,7 +94,6 @@ let
|
||||
|
||||
${optionalString (cfg.recommendedGzipSettings) ''
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
gzip_proxied any;
|
||||
gzip_comp_level 5;
|
||||
gzip_types
|
||||
|
@ -297,6 +297,22 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
rspamd = {
|
||||
exporterConfig = {
|
||||
enable = true;
|
||||
};
|
||||
metricProvider = {
|
||||
services.rspamd.enable = true;
|
||||
};
|
||||
exporterTest = ''
|
||||
waitForUnit("rspamd.service");
|
||||
waitForUnit("prometheus-rspamd-exporter.service");
|
||||
waitForOpenPort(11334);
|
||||
waitForOpenPort(7980);
|
||||
waitUntilSucceeds("curl -sSf localhost:7980/metrics | grep -q 'rspamd_scanned{host=\"rspamd\"} 0'");
|
||||
'';
|
||||
};
|
||||
|
||||
snmp = {
|
||||
exporterConfig = {
|
||||
enable = true;
|
||||
|
@ -14,9 +14,9 @@ let
|
||||
};
|
||||
betaVersion = stableVersion;
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.6.0.10"; # "Android Studio 3.6 Canary 10"
|
||||
build = "192.5842447";
|
||||
sha256Hash = "0qyvqm0ihp6czx77skia87qnz87wrsp1a6la04dr4b0xln2c8m5b";
|
||||
version = "3.6.0.11"; # "Android Studio 3.6 Canary 11"
|
||||
build = "192.5863777";
|
||||
sha256Hash = "1wz4vcdj4225vffsq0ji4zgg9qaqlfd21x7c6nczhqvydbyrjzg8";
|
||||
};
|
||||
in {
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
@ -5,7 +5,7 @@
|
||||
incidenceeditor, kcalcore, kcalutils, kconfig, kdbusaddons, kdeclarative,
|
||||
kdepim-apps-libs, kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar,
|
||||
libksieve, mailcommon, mailimporter, messagelib, poppler, prison, kpkpass,
|
||||
kitinerary
|
||||
kitinerary, kontactinterface
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@ -20,6 +20,6 @@ mkDerivation {
|
||||
incidenceeditor kcalcore kcalutils kconfig kdbusaddons kdeclarative
|
||||
kdepim-apps-libs kholidays ki18n kmime ktexteditor ktnef libgravatar
|
||||
libksieve mailcommon mailimporter messagelib poppler prison kpkpass
|
||||
kitinerary
|
||||
kitinerary kontactinterface
|
||||
];
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "electrum-ltc";
|
||||
version = "3.1.3.1";
|
||||
version = "3.3.8.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://electrum-ltc.org/download/Electrum-LTC-${version}.tar.gz";
|
||||
|
@ -1,24 +1,24 @@
|
||||
{ stdenv, requireFile, unzip, rlwrap, bash }:
|
||||
{ stdenv, requireFile, unzip, rlwrap, bash, zlib }:
|
||||
|
||||
assert (stdenv.hostPlatform.system == "i686-linux");
|
||||
|
||||
let
|
||||
libPath = stdenv.lib.makeLibraryPath
|
||||
[ stdenv.cc.libc stdenv.cc.cc ];
|
||||
[ stdenv.cc.libc stdenv.cc.cc zlib ];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kdbplus";
|
||||
version = "3.3";
|
||||
version = "3.6";
|
||||
|
||||
src = requireFile {
|
||||
src = requireFile rec {
|
||||
message = ''
|
||||
Nix can't download kdb+ for you automatically. Go to
|
||||
http://kx.com and download the free, 32-bit version for
|
||||
Linux. Then run "nix-prefetch-url file://\$PWD/linux.zip" in
|
||||
the directory where you saved it. Note you need version 3.3.
|
||||
Linux. Then run "nix-prefetch-url file://\$PWD/${name}" in
|
||||
the directory where you saved it. Note you need version ${version}.
|
||||
'';
|
||||
name = "linux.zip";
|
||||
sha256 = "5fd0837599e24f0f437a8314510888a86ab0787684120a8fcf592299800aa940";
|
||||
name = "linuxx86.zip";
|
||||
sha256 = "0w6znd9warcqx28vf648n0vgmxyyy9kvsfpsfw37d1kp5finap4p";
|
||||
};
|
||||
|
||||
dontStrip = true;
|
||||
|
@ -104,6 +104,9 @@ in buildFHSUserEnv {
|
||||
# WINE
|
||||
cups lcms2 mpg123 cairo unixODBC samba4 sane-backends openldap
|
||||
ocl-icd utillinux
|
||||
|
||||
# Winetricks
|
||||
fribidi
|
||||
] ++ xorgDeps pkgs;
|
||||
|
||||
extraInstallCommands = ''
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ fetchurl, stdenv, pkgconfig, python, file, bc, fetchpatch
|
||||
{ fetchurl, lib, mkDerivation, pkgconfig, python, file, bc, fetchpatch
|
||||
, qtbase, qtsvg, hunspell, makeWrapper #, mythes, boost
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
mkDerivation rec {
|
||||
version = "2.3.0";
|
||||
pname = "lyx";
|
||||
|
||||
@ -30,10 +30,9 @@ stdenv.mkDerivation rec {
|
||||
doCheck = true;
|
||||
|
||||
# python is run during runtime to do various tasks
|
||||
postFixup = ''
|
||||
wrapProgram "$out/bin/lyx" \
|
||||
--prefix PATH : '${python}/bin'
|
||||
'';
|
||||
qtWrapperArgs = [
|
||||
" --prefix PATH : ${python}/bin"
|
||||
];
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
@ -42,7 +41,7 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = with lib; {
|
||||
description = "WYSIWYM frontend for LaTeX, DocBook";
|
||||
homepage = http://www.lyx.org;
|
||||
license = licenses.gpl2Plus;
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ fetchurl, stdenv, makeWrapper, pkgconfig, intltool, gettext, gtk2, expat, curl
|
||||
, gpsd, bc, file, gnome-doc-utils, libexif, libxml2, libxslt, scrollkeeper
|
||||
, docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect, hicolor-icon-theme
|
||||
, geoclue2, liboauth }:
|
||||
, geoclue2, liboauth, nettle }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "viking";
|
||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ makeWrapper intltool gettext gtk2 expat curl gpsd bc file gnome-doc-utils
|
||||
libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2 sqlite hicolor-icon-theme
|
||||
geoclue2 liboauth
|
||||
geoclue2 liboauth nettle
|
||||
];
|
||||
|
||||
configureFlags = [ "--disable-scrollkeeper --disable-mapnik" ];
|
||||
|
@ -1,22 +1,30 @@
|
||||
{stdenv, fetchurl, wxGTK, chmlib}:
|
||||
{ stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, chmlib }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xchm-1.23";
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/xchm/xchm-1.23.tar.gz;
|
||||
sha256 = "0qn0fyxcrn30ndq2asx31k0qkx3grbm16fb1y580wd2gjmh5r3wg";
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xchm";
|
||||
version = "1.30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rzvncj";
|
||||
repo = "xCHM";
|
||||
rev = version;
|
||||
sha256 = "1sjvh06m8jbb28k6y3knas3nkh1dfvff4mlwjs33x12ilhddhr8v";
|
||||
};
|
||||
buildInputs = [wxGTK chmlib];
|
||||
|
||||
postConfigure = ''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS $(${wxGTK}/lib/wx/config/* --libs | sed -e s@-pthread@@)"
|
||||
echo $NIX_LDFLAGS
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ wxGTK30 chmlib ];
|
||||
|
||||
configureFlags = [ "--with-wx-prefix=${wxGTK30}" ];
|
||||
|
||||
preConfigure = ''
|
||||
export LDFLAGS="$LDFLAGS $(${wxGTK30}/bin/wx-config --libs | sed -e s@-pthread@@) -lwx_gtk2u_aui-3.0"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A viewer for Microsoft HTML Help files";
|
||||
homepage = http://xchm.sourceforge.net;
|
||||
homepage = "https://github.com/rzvncj/xCHM";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ sikmir ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -100,11 +100,11 @@ let
|
||||
|
||||
flash = stdenv.mkDerivation rec {
|
||||
pname = "flashplayer-ppapi";
|
||||
version = "32.0.0.238";
|
||||
version = "32.0.0.255";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
||||
sha256 = "0jqx68lfqjpy6wbxdi0giclvh9mc9rha92hqdj1nx42v95k3gc65";
|
||||
sha256 = "1rqb54kqxq66vvqk5yrr3rsy3wcj9r9wnkngk27c7jayzm6bwgvv";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
@ -74,7 +74,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "flashplayer";
|
||||
version = "32.0.0.238";
|
||||
version = "32.0.0.255";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 =
|
||||
if debug then
|
||||
if arch == "x86_64" then
|
||||
"1f5i64nzkvxy20vi7kldaamwp6pi2zgmjiw061cgqrwf7hj45wkg"
|
||||
"1hd5z8qmki36k2wdwgg3v4sj32g8590r5563gdrjrk7bmrqfjnji"
|
||||
else
|
||||
"09jvxqp83hpk89ak8flq14s3s3nhy3ary91jc6k47v325axh1cl9"
|
||||
"0y13bxdgkxaqsyab09skiqj8dfjw76n2lr7p525ba8lbfbc8xj52"
|
||||
else
|
||||
if arch == "x86_64" then
|
||||
"05gvssjdz43pvgivdngrf8qr5b30p45hr2sr97cyl6b87581qw9s"
|
||||
"0qkslkaiw3c9xk1rjcl4x9d0fi6i91k7g01mf0gq28wgzcyz4cw7"
|
||||
else
|
||||
"06l7zhgh5rfxxw46b500zdgcqsk2h7kivng5b0b74s3vy7f0g270";
|
||||
"0qblmaa3nq1g7825yhvz98pvd1591q3q7bsrhv5bbhdbmb9c1qd5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
@ -141,7 +141,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Adobe Flash Player browser plugin";
|
||||
homepage = http://www.adobe.com/products/flashplayer/;
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
maintainers = [];
|
||||
maintainers = with stdenv.lib.maintainers; [ taku0 ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
};
|
||||
}
|
||||
|
@ -50,7 +50,7 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "flashplayer-standalone";
|
||||
version = "32.0.0.238";
|
||||
version = "32.0.0.255";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
@ -60,9 +60,9 @@ stdenv.mkDerivation {
|
||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
|
||||
sha256 =
|
||||
if debug then
|
||||
"1vhfjpwsmg96irfvz81ldzn2m4qcjnql5psg4cifjay423yxabvy"
|
||||
"1igc23mljmw1bw6fwx3rwpz7kxiy8n5znkng20w3yin2zh8qw8sy"
|
||||
else
|
||||
"0am95xi2jasvxj5b2i12wzpvl3bvxli537k1i04698cg0na6x0y0";
|
||||
"0rfvgx1g0s8wswwpmfjx6p59yh1cxya3x3bczbissrq4rcb1v315";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
@ -89,7 +89,7 @@ let
|
||||
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
|
||||
|
||||
# Upstream source
|
||||
version = "8.5.4";
|
||||
version = "8.5.5";
|
||||
|
||||
lang = "en-US";
|
||||
|
||||
@ -99,7 +99,7 @@ let
|
||||
"https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
];
|
||||
sha256 = "0nnzynk3nlnd847c8jjghs9anmr5a2hv7nk1qxigigxqa5vqy96z";
|
||||
sha256 = "00r5k9bbfpv3s6shxqypl13psr1zz51xiyz3vmm4flhr2qa4ycsz";
|
||||
};
|
||||
|
||||
i686-linux = fetchurl {
|
||||
@ -107,7 +107,7 @@ let
|
||||
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
"https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
];
|
||||
sha256 = "1b34skl3hwvpy0r4l5ykgnnwhbz7cvly2gi9ib4h7lijjfafiys1";
|
||||
sha256 = "1nxvw5kiggfr4n5an436ass84cvwjviaa894kfm72yf2ls149f29";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
@ -8,7 +8,7 @@ with lib;
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "telegram-desktop";
|
||||
version = "1.8.4";
|
||||
version = "1.8.8";
|
||||
# Note: Due to our strong dependency on the Arch patches it's probably best
|
||||
# to also wait for the Arch update (especially if the patches don't apply).
|
||||
|
||||
@ -17,7 +17,7 @@ mkDerivation rec {
|
||||
owner = "telegramdesktop";
|
||||
repo = "tdesktop";
|
||||
rev = "v${version}";
|
||||
sha256 = "1q6y05kb6jjarb690qq28fqkv6kfkxdmfx0va1qi7aqxlhd5rvyl";
|
||||
sha256 = "1aj1pnzc6bz8jbdrfwdj2r54jhw9z7b5fd1095r007zmlnzs51lv";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -25,8 +25,8 @@ mkDerivation rec {
|
||||
archPatches = fetchsvn {
|
||||
url = "svn://svn.archlinux.org/community/telegram-desktop/trunk";
|
||||
# svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
|
||||
rev = "498563";
|
||||
sha256 = "0g2y6impygqhfiqnyxc1ivxwl8j82q9qcnkqcjn6mwj3cisyxwnl";
|
||||
rev = "509240";
|
||||
sha256 = "1sf4mspbsqsnjzp9ys9l0asrx1bhj273d163i2bv1zhl4mmgpl3k";
|
||||
};
|
||||
privateHeadersPatch = fetchpatch {
|
||||
url = "https://github.com/telegramdesktop/tdesktop/commit/b9d3ba621eb8af638af46c6b3cfd7a8330bf0dd5.patch";
|
||||
|
@ -130,7 +130,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
dontPatchElf = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
updateScript = import ./update.nix { inherit writeScript runtimeShell; };
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ stdenv, fetchbzr, python3, rtmpdump, makeWrapper }:
|
||||
{ mkDerivation, lib, fetchbzr, python3, rtmpdump }:
|
||||
|
||||
let
|
||||
pythonEnv = python3.withPackages (ps: with ps; [ pyqt5 sip ]);
|
||||
in stdenv.mkDerivation {
|
||||
pythonEnv = python3.withPackages (ps: with ps; [ pyqt5_with_qtmultimedia ]);
|
||||
in mkDerivation {
|
||||
name = "qarte-4.6.0";
|
||||
src = fetchbzr {
|
||||
url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/qarte-4;
|
||||
@ -10,28 +10,33 @@ in stdenv.mkDerivation {
|
||||
sha256 = "0v4zpj8w67ydvnmanxbl8pwvn0cfv70c0mlw36a1r4n0rvgxffcn";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper pythonEnv ];
|
||||
buildInputs = [ pythonEnv ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
mv qarte $out/bin/
|
||||
substituteInPlace $out/bin/qarte \
|
||||
--replace '/usr/share' "$out/share"
|
||||
wrapProgram $out/bin/qarte \
|
||||
--prefix PATH : "${rtmpdump}/bin"
|
||||
|
||||
mkdir -p $out/share/man/man1/
|
||||
mv qarte.1 $out/share/man/man1/
|
||||
|
||||
mkdir -p $out/share/qarte
|
||||
mv * $out/share/qarte/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapQtApp $out/bin/qarte \
|
||||
--prefix PATH : ${rtmpdump}/bin
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = https://launchpad.net/qarte;
|
||||
description = "A recorder for Arte TV Guide and Arte Concert";
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
maintainers = with stdenv.lib.maintainers; [ vbgl ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ vbgl ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
31
pkgs/applications/virtualization/crun/default.nix
Normal file
31
pkgs/applications/virtualization/crun/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ stdenv, lib, fetchFromGitHub, autoreconfHook, go-md2man, pkgconfig
|
||||
, libcap, libseccomp, python3, systemd, yajl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "crun";
|
||||
version = "0.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1anvlgw373031w0pp0b28l10yrnyhbj192n60bbbjahw487dk2fi";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook go-md2man pkgconfig python3 ];
|
||||
|
||||
buildInputs = [ libcap libseccomp systemd yajl ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# the tests require additional permissions
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fast and lightweight fully featured OCI runtime and C library for running containers";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
inherit (src.meta) homepage;
|
||||
};
|
||||
}
|
@ -1,232 +0,0 @@
|
||||
{ stdenv, fetchurl, tzdata, iana-etc, runCommand
|
||||
, perl, which, pkgconfig, patch, procps, pcre, cacert, Security, Foundation
|
||||
, mailcap, runtimeShell
|
||||
, buildPackages, pkgsTargetTarget
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
inherit (stdenv.lib) optionals optionalString;
|
||||
|
||||
goBootstrap = runCommand "go-bootstrap" {} ''
|
||||
mkdir $out
|
||||
cp -rf ${buildPackages.go_bootstrap}/* $out/
|
||||
chmod -R u+w $out
|
||||
find $out -name "*.c" -delete
|
||||
cp -rf $out/bin/* $out/share/go/bin/
|
||||
'';
|
||||
|
||||
goarch = platform: {
|
||||
i686 = "386";
|
||||
x86_64 = "amd64";
|
||||
aarch64 = "arm64";
|
||||
arm = "arm";
|
||||
armv5tel = "arm";
|
||||
armv6l = "arm";
|
||||
armv7l = "arm";
|
||||
}.${platform.parsed.cpu.name} or (throw "Unsupported system");
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "go";
|
||||
version = "1.11.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/go/go${version}.src.tar.gz";
|
||||
sha256 = "0xj0pbviikdf8g0sfz5hwxf7hwz8b8g5akqnrvyclhgnsdghjcjh";
|
||||
};
|
||||
|
||||
# perl is used for testing go vet
|
||||
nativeBuildInputs = [ perl which pkgconfig patch procps ];
|
||||
buildInputs = [ cacert pcre ]
|
||||
++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
|
||||
++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
|
||||
|
||||
|
||||
propagatedBuildInputs = optionals stdenv.isDarwin [ Security Foundation ];
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
|
||||
prePatch = ''
|
||||
patchShebangs ./ # replace /bin/bash
|
||||
|
||||
# This source produces shell script at run time,
|
||||
# and thus it is not corrected by patchShebangs.
|
||||
substituteInPlace misc/cgo/testcarchive/carchive_test.go \
|
||||
--replace '#!/usr/bin/env bash' '#!${runtimeShell}'
|
||||
|
||||
# Patch the mimetype database location which is missing on NixOS.
|
||||
substituteInPlace src/mime/type_unix.go \
|
||||
--replace '/etc/mime.types' '${mailcap}/etc/mime.types'
|
||||
|
||||
# Disabling the 'os/http/net' tests (they want files not available in
|
||||
# chroot builds)
|
||||
rm src/net/{listen,parse}_test.go
|
||||
rm src/syscall/exec_linux_test.go
|
||||
|
||||
# !!! substituteInPlace does not seems to be effective.
|
||||
# The os test wants to read files in an existing path. Just don't let it be /usr/bin.
|
||||
sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
|
||||
sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
|
||||
# Disable the unix socket test
|
||||
sed -i '/TestShutdownUnix/areturn' src/net/net_test.go
|
||||
# Disable the hostname test
|
||||
sed -i '/TestHostname/areturn' src/os/os_test.go
|
||||
# ParseInLocation fails the test
|
||||
sed -i '/TestParseInSydney/areturn' src/time/format_test.go
|
||||
# Remove the api check as it never worked
|
||||
sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
|
||||
# Remove the coverage test as we have removed this utility
|
||||
sed -i '/TestCoverageWithCgo/areturn' src/cmd/go/go_test.go
|
||||
# Remove the timezone naming test
|
||||
sed -i '/TestLoadFixed/areturn' src/time/time_test.go
|
||||
# Remove disable setgid test
|
||||
sed -i '/TestRespectSetgidDir/areturn' src/cmd/go/internal/work/build_test.go
|
||||
# Remove cert tests that conflict with NixOS's cert resolution
|
||||
sed -i '/TestEnvVars/areturn' src/crypto/x509/root_unix_test.go
|
||||
# TestWritevError hangs sometimes
|
||||
sed -i '/TestWritevError/areturn' src/net/writev_test.go
|
||||
# TestVariousDeadlines fails sometimes
|
||||
sed -i '/TestVariousDeadlines/areturn' src/net/timeout_test.go
|
||||
|
||||
sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
|
||||
sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
|
||||
|
||||
# Disable cgo lookup tests not works, they depend on resolver
|
||||
rm src/net/cgo_unix_test.go
|
||||
|
||||
'' + optionalString stdenv.isLinux ''
|
||||
sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go
|
||||
'' + optionalString stdenv.isAarch32 ''
|
||||
echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
|
||||
'' + optionalString stdenv.isDarwin ''
|
||||
substituteInPlace src/race.bash --replace \
|
||||
"sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
|
||||
sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
|
||||
sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
|
||||
sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
|
||||
|
||||
sed -i '/TestChdirAndGetwd/areturn' src/os/os_test.go
|
||||
sed -i '/TestCredentialNoSetGroups/areturn' src/os/exec/exec_posix_test.go
|
||||
sed -i '/TestRead0/areturn' src/os/os_test.go
|
||||
sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go
|
||||
|
||||
sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/areturn' src/cmd/go/go_test.go
|
||||
sed -i '/TestBuildDashIInstallsDependencies/areturn' src/cmd/go/go_test.go
|
||||
|
||||
sed -i '/TestDisasmExtld/areturn' src/cmd/objdump/objdump_test.go
|
||||
|
||||
sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
|
||||
|
||||
touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./remove-tools-1.11.patch
|
||||
./ssl-cert-file-1.12.1.patch
|
||||
./remove-test-pie.patch
|
||||
./creds-test.patch
|
||||
./go-1.9-skip-flaky-19608.patch
|
||||
./go-1.9-skip-flaky-20072.patch
|
||||
./remove-fhs-test-references.patch
|
||||
./skip-external-network-tests.patch
|
||||
./skip-nohup-tests.patch
|
||||
# breaks under load: https://github.com/golang/go/issues/25628
|
||||
./skip-test-extra-files-on-386.patch
|
||||
];
|
||||
|
||||
GOOS = stdenv.targetPlatform.parsed.kernel.name;
|
||||
GOARCH = goarch stdenv.targetPlatform;
|
||||
# GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
|
||||
# Go will nevertheless build a for host system that we will copy over in
|
||||
# the install phase.
|
||||
GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
|
||||
GOHOSTARCH = goarch stdenv.buildPlatform;
|
||||
|
||||
# {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
|
||||
# to be different from CC/CXX
|
||||
CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
|
||||
"${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc"
|
||||
else
|
||||
null;
|
||||
CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
|
||||
"${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++"
|
||||
else
|
||||
null;
|
||||
|
||||
GOARM = toString (stdenv.lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
|
||||
GO386 = 387; # from Arch: don't assume sse2 on i686
|
||||
CGO_ENABLED = 1;
|
||||
# Hopefully avoids test timeouts on Hydra
|
||||
GO_TEST_TIMEOUT_SCALE = 3;
|
||||
|
||||
# Indicate that we are running on build infrastructure
|
||||
# Some tests assume things like home directories and users exists
|
||||
GO_BUILDER_NAME = "nix";
|
||||
|
||||
GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
|
||||
|
||||
postConfigure = ''
|
||||
export GOCACHE=$TMPDIR/go-cache
|
||||
# this is compiled into the binary
|
||||
export GOROOT_FINAL=$out/share/go
|
||||
|
||||
export PATH=$(pwd)/bin:$PATH
|
||||
|
||||
# Independent from host/target, CC should produce code for the building system.
|
||||
export CC=${buildPackages.stdenv.cc}/bin/cc
|
||||
ulimit -a
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
(cd src && ./make.bash)
|
||||
'';
|
||||
|
||||
doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
(cd src && ./run.bash --no-rebuild)
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
rm -r pkg/{bootstrap,obj}
|
||||
# Contains the wrong perl shebang when cross compiling,
|
||||
# since it is not used for anything we can deleted as well.
|
||||
rm src/regexp/syntax/make_perl_groups.pl
|
||||
'' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
|
||||
mv bin/*_*/* bin
|
||||
rmdir bin/*_*
|
||||
${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
|
||||
rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
|
||||
''}
|
||||
'' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
|
||||
rm -rf bin/*_*
|
||||
${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
|
||||
rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
|
||||
''}
|
||||
'' else "");
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $GOROOT_FINAL
|
||||
cp -a bin pkg src lib misc api doc $GOROOT_FINAL
|
||||
ln -s $GOROOT_FINAL/bin $out/bin
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
disallowedReferences = [ goBootstrap ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
branch = "1.11";
|
||||
homepage = http://golang.org/;
|
||||
description = "The Go Programming language";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ cstrahan orivej velovix mic92 rvolosatovs ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
@ -5,9 +5,11 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "love-0.8.0";
|
||||
pname = "love";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/rude/love/downloads/${name}-linux-src.tar.gz";
|
||||
url = "https://bitbucket.org/rude/love/downloads/${pname}-${version}-linux-src.tar.gz";
|
||||
sha256 = "1k4fcsa8zzi04ja179bmj24hvqcbm3icfvrvrzyz2gw9qwfclrwi";
|
||||
};
|
||||
|
||||
@ -36,13 +38,14 @@ stdenv.mkDerivation rec {
|
||||
} || true
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = ''
|
||||
-I${SDL.dev}/include/SDL
|
||||
-I${freetype.dev}include/freetype2
|
||||
'';
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${SDL.dev}/include/SDL"
|
||||
"-I${freetype.dev}include/freetype2"
|
||||
"-DGL_GLEXT_PROTOTYPES" # https://community.khronos.org/t/glgenbuffers-was-not-declared-in-this-scope/59283/2
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = http://love2d.org;
|
||||
homepage = "http://love2d.org";
|
||||
description = "A Lua-based 2D game engine/scripting language";
|
||||
license = stdenv.lib.licenses.zlib;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2, alsaLib, rtmidi }:
|
||||
{ stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2, alsaLib, pulseaudio, rtmidi }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "5.1.0";
|
||||
@ -13,18 +13,18 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [ autoconf automake libtool libjack2 alsaLib rtmidi ];
|
||||
buildInputs = [ autoconf automake libtool libjack2 alsaLib pulseaudio rtmidi ];
|
||||
|
||||
preConfigure = ''
|
||||
./autogen.sh --no-configure
|
||||
./configure
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A set of C++ classes that provide a cross platform API for realtime audio input/output";
|
||||
homepage = http://www.music.mcgill.ca/~gary/rtaudio/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = [ stdenv.lib.maintainers.magnetophon ];
|
||||
platforms = with stdenv.lib.platforms; linux ++ darwin;
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -3,11 +3,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "getdns";
|
||||
version = "1.5.1";
|
||||
version = "1.5.2";
|
||||
versionRewrite = builtins.splitVersion version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://getdnsapi.net/releases/${pname}-1-5-1/${pname}-${version}.tar.gz";
|
||||
sha256 = "5686e61100599c309ce03535f9899a5a3d94a82cc08d10718e2cd73ad3dc28af";
|
||||
url = "https://getdnsapi.net/releases/${pname}-${builtins.concatStringsSep "-" versionRewrite}/${pname}-${version}.tar.gz";
|
||||
sha256 = "1h4l0sbkpiahpx2pd5lby10yi22mdxgx5xf1y80r77pa46iac9hq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ libtool m4 autoreconfHook automake file ];
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
|
||||
, libdrm, udev, xorg, libGLU_combined, gstreamer, gst-plugins-bad, nasm
|
||||
, libvpx, python
|
||||
, libvpx, python, fetchpatch
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -12,6 +12,15 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "07qpynamiz0lniqajcaijh3n7ixs4lfk9a5mfk50sng0dricwzsf";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# See: https://mail.gnome.org/archives/distributor-list/2019-September/msg00000.html
|
||||
# Note that the patch has now been actually accepted upstream.
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/commit/a90daabb84f983d2fa05ff3159f7ad59aa648b55.patch";
|
||||
sha256 = "0p2qygq6b5h6nxjdfnlzbsyih43hjq5c94ag8sbyyb8pmnids9rb";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
|
||||
@ -28,8 +37,6 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
mesonFlags = [
|
||||
# Enables all features, so that we know when new dependencies are necessary.
|
||||
"-Dauto_features=enabled"
|
||||
"-Dexamples=disabled" # requires many dependencies and probably not useful for our users
|
||||
];
|
||||
|
||||
|
@ -16,7 +16,7 @@ top-level attribute to `top-level/all-packages.nix`.
|
||||
|
||||
{
|
||||
newScope,
|
||||
stdenv, fetchurl, fetchFromGitHub, makeSetupHook, makeWrapper,
|
||||
stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeSetupHook, makeWrapper,
|
||||
bison, cups ? null, harfbuzz, libGL, perl,
|
||||
gstreamer, gst-plugins-base, gtk3, dconf,
|
||||
llvmPackages_5,
|
||||
@ -55,7 +55,15 @@ let
|
||||
./qtbase-fixguicmake.patch
|
||||
];
|
||||
qtdeclarative = [ ./qtdeclarative.patch ];
|
||||
qtscript = [ ./qtscript.patch ];
|
||||
qtscript = [
|
||||
./qtscript.patch
|
||||
# needed due to changes in gcc 8.3, see https://bugreports.qt.io/browse/QTBUG-74196
|
||||
# fixed in qtscript 5.12.2
|
||||
(fetchpatch {
|
||||
url = "https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.diff";
|
||||
sha256 = "0khrapq13xzvxckzc9l7gqyjwibyd98vyqy6gmyhvsbm2kq8n6wi";
|
||||
})
|
||||
];
|
||||
qtserialport = [ ./qtserialport.patch ];
|
||||
qttools = [ ./qttools.patch ];
|
||||
qtwebengine = [
|
||||
|
@ -42,7 +42,15 @@ let
|
||||
./qtbase-openssl_1_1.patch
|
||||
];
|
||||
qtdeclarative = [ ./qtdeclarative.patch ];
|
||||
qtscript = [ ./qtscript.patch ];
|
||||
qtscript = [
|
||||
./qtscript.patch
|
||||
# needed due to changes in gcc 8.3, see https://bugreports.qt.io/browse/QTBUG-74196
|
||||
# fixed in qtscript 5.12.2
|
||||
(fetchpatch {
|
||||
url = "https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.diff";
|
||||
sha256 = "0khrapq13xzvxckzc9l7gqyjwibyd98vyqy6gmyhvsbm2kq8n6wi";
|
||||
})
|
||||
];
|
||||
qtserialport = [ ./qtserialport.patch ];
|
||||
qttools = [ ./qttools.patch ];
|
||||
qtwebengine = [ ./qtwebengine-no-build-skip.patch ]
|
||||
|
@ -73,6 +73,11 @@ stdenv.mkDerivation rec {
|
||||
chmod u+w -R .
|
||||
'';
|
||||
|
||||
postPatch = stdenv.lib.optionalString stdenv.isAarch64 ''
|
||||
substituteInPlace build/toolchain/linux/BUILD.gn \
|
||||
--replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
|
||||
'';
|
||||
|
||||
gnFlags = [
|
||||
"use_custom_libcxx=false"
|
||||
"is_clang=${if stdenv.cc.isClang then "true" else "false"}"
|
||||
@ -104,6 +109,17 @@ stdenv.mkDerivation rec {
|
||||
install -D d8 $out/bin/d8
|
||||
install -D obj/libv8_monolith.a $out/lib/libv8.a
|
||||
cp -r ../../include $out
|
||||
|
||||
mkdir -p $out/lib/pkgconfig
|
||||
cat > $out/lib/pkgconfig/v8.pc << EOF
|
||||
Name: v8
|
||||
Description: V8 JavaScript Engine
|
||||
Version: ${version}
|
||||
Libs: -L$out/lib -lv8 -pthread
|
||||
Cflags: -I$out/include
|
||||
Libs: -L$out/lib -lpulse
|
||||
Cflags: -I$out/include
|
||||
EOF
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, boost, pkgconfig, doxygen, qt48Full, libharu
|
||||
, pango, fcgi, firebird, mysql, postgresql, graphicsmagick, glew, openssl
|
||||
, pcre
|
||||
, pcre, harfbuzz
|
||||
}:
|
||||
|
||||
let
|
||||
@ -31,6 +31,7 @@ let
|
||||
"-DWT_CPP_11_MODE=-std=c++11"
|
||||
"-DGM_PREFIX=${graphicsmagick}"
|
||||
"-DMYSQL_PREFIX=${mysql.connector-c}"
|
||||
"-DHARFBUZZ_INCLUDE_DIR=${harfbuzz.dev}/include"
|
||||
"--no-warn-unused-cli"
|
||||
];
|
||||
|
||||
@ -44,12 +45,12 @@ let
|
||||
};
|
||||
in {
|
||||
wt3 = generic {
|
||||
version = "3.4.0";
|
||||
sha256 = "0y0b2h9jf5cg1gdh48dj32pj5nsvipab1cgygncxf98c46ikhysg";
|
||||
version = "3.4.1";
|
||||
sha256 = "1bsx7hmy6g2x9p3vl5xw9lv1xk891pnvs93a87s15g257gznkjmj";
|
||||
};
|
||||
|
||||
wt4 = generic {
|
||||
version = "4.1.0";
|
||||
sha256 = "1a9nl5gs8m8pssf2l3z6kbl2rc9fw5ad7lfslw5yr3gzi0zqn05x";
|
||||
version = "4.1.1";
|
||||
sha256 = "1f1imx5kbpqlysrqx5h75hf2f8pkq972rz42x0pl6cxbnsyzngid";
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchFromGitHub, mcpp, bzip2, expat, openssl, db5
|
||||
{ stdenv, lib, fetchFromGitHub, fetchpatch, mcpp, bzip2, expat, openssl, db5
|
||||
, darwin, libiconv, Security
|
||||
, cpp11 ? false
|
||||
}:
|
||||
@ -26,6 +26,16 @@ stdenv.mkDerivation rec {
|
||||
--replace xcrun ""
|
||||
'';
|
||||
|
||||
patches = [
|
||||
# Fixes compilation issues with GCC 8 using one of the patches
|
||||
# provided in https://github.com/zeroc-ice/ice/issues/82
|
||||
( fetchpatch {
|
||||
url = "https://github.com/zeroc-ice/ice/commit/a6a4981616b669432ff7b588179d6e93694d9e3f.patch";
|
||||
sha256 = "17j5r7gsa3izrm7zln4mrp7l16h532gvmpas0kzglybicbiz7d56";
|
||||
stripLen = 1;
|
||||
})
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
makeFlagsArray+=(
|
||||
"prefix=$out"
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rappel";
|
||||
version = "unstable-2019-07-08";
|
||||
version = "unstable-2019-09-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yrp604";
|
||||
repo = "rappel";
|
||||
rev = "95a776f850cf6a7c21923a2100b605408ef038de";
|
||||
sha256 = "0fmd15xa6hswh3x48av4g1sf6rncbiinbj7gbw1ffvqsbcfnsgcr";
|
||||
rev = "31a06762d34880ff2ed7176ca71bd8a6b91b10d5";
|
||||
sha256 = "0wj3hypqfrjra8mwmn32hs5qs6ic81cq3gn1v0b2fba6vkqcsqfy";
|
||||
};
|
||||
|
||||
buildInputs = [ libedit ];
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi
|
||||
, pytest, pytestcov, mock, coverage
|
||||
, pytest, pytestcov, mock, coverage, setuptools
|
||||
, Mako, sqlalchemy, python-editor, dateutil
|
||||
}:
|
||||
|
||||
@ -13,7 +13,7 @@ buildPythonPackage rec {
|
||||
};
|
||||
|
||||
buildInputs = [ pytest pytestcov mock coverage ];
|
||||
propagatedBuildInputs = [ Mako sqlalchemy python-editor dateutil ];
|
||||
propagatedBuildInputs = [ Mako sqlalchemy python-editor dateutil setuptools ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://bitbucket.org/zzzeek/alembic;
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ lib, buildPythonPackage, fetchPypi
|
||||
, setuptools_scm, django, dateutil, whoosh, pysolr
|
||||
, setuptools, setuptools_scm, django, dateutil, whoosh, pysolr
|
||||
, coverage, mock, nose, geopy, requests }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -12,7 +12,7 @@ buildPythonPackage rec {
|
||||
};
|
||||
|
||||
checkInputs = [ pysolr whoosh dateutil geopy coverage nose mock coverage requests ];
|
||||
propagatedBuildInputs = [ django ];
|
||||
propagatedBuildInputs = [ django setuptools ];
|
||||
nativeBuildInputs = [ setuptools_scm ];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -10,7 +10,7 @@ buildPythonPackage rec {
|
||||
|
||||
propagatedBuildInputs = [ ply ];
|
||||
|
||||
disabled = isPy3k;
|
||||
doCheck = !isPy3k;
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/erezsh/plyplus;
|
||||
|
@ -6,6 +6,7 @@
|
||||
, qtdeclarative
|
||||
, qtwebchannel
|
||||
, withConnectivity ? false, qtconnectivity
|
||||
, withMultimedia ? false, qtmultimedia
|
||||
, withWebKit ? false, qtwebkit
|
||||
, withWebSockets ? false, qtwebsockets
|
||||
}:
|
||||
@ -50,6 +51,7 @@ in buildPythonPackage rec {
|
||||
qtwebchannel
|
||||
]
|
||||
++ lib.optional withConnectivity qtconnectivity
|
||||
++ lib.optional withMultimedia qtmultimedia
|
||||
++ lib.optional withWebKit qtwebkit
|
||||
++ lib.optional withWebSockets qtwebsockets
|
||||
;
|
||||
@ -121,6 +123,7 @@ in buildPythonPackage rec {
|
||||
]
|
||||
++ lib.optional withWebSockets "PyQt5.QtWebSockets"
|
||||
++ lib.optional withWebKit "PyQt5.QtWebKit"
|
||||
++ lib.optional withMultimedia "PyQt5.QtMultimedia"
|
||||
++ lib.optional withConnectivity "PyQt5.QtConnectivity"
|
||||
;
|
||||
imports = lib.concatMapStrings (module: "import ${module};") modules;
|
||||
|
@ -14,7 +14,7 @@ buildPythonPackage rec {
|
||||
sha256 = "75e38454757c77060ad3782bd071682d6d316de86f9aec1c2042d236f93aec7b";
|
||||
};
|
||||
|
||||
buildInputs = [ pytest ];
|
||||
checkInputs = [ pytest ];
|
||||
propagatedBuildInputs = [ tvdb_api ];
|
||||
|
||||
# a ton of tests fail with: IOError: tvnamer/main.py could not be found in . or ..
|
||||
|
@ -5,12 +5,12 @@
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ammonite";
|
||||
version = "1.6.9";
|
||||
version = "1.7.1";
|
||||
scalaVersion = "2.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
|
||||
sha256 = "1fi5j0kcndq00x72d8bkx6qiy9nh2i6c6m29gzfqql52qgbq1fd0";
|
||||
sha256 = "0isg9flnzc2ldbx6q0lg0xyg9lnvqkd8qhgfln8p1hbzdq0n6jd0";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ jre ] ;
|
||||
|
@ -2,37 +2,27 @@
|
||||
, gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, ostree, libselinux, libseccomp
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.10.1";
|
||||
buildGoPackage rec {
|
||||
pname = "buildah";
|
||||
version = "1.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "containers";
|
||||
repo = "buildah";
|
||||
sha256 = "0dki2v8j2jzbw49sdzcyjqbalbh70m0lgzrldgj6cc92mj896pxk";
|
||||
rev = "v${version}";
|
||||
sha256 = "114dmjqacz5hairl1s8qhndzr52lcvh99g565cq5ydscblnzpw1b";
|
||||
};
|
||||
|
||||
goPackagePath = "github.com/containers/buildah";
|
||||
|
||||
in buildGoPackage {
|
||||
pname = "buildah";
|
||||
inherit version;
|
||||
inherit src;
|
||||
|
||||
outputs = [ "bin" "man" "out" ];
|
||||
|
||||
inherit goPackagePath;
|
||||
goPackagePath = "github.com/containers/buildah";
|
||||
excludedPackages = [ "tests" ];
|
||||
|
||||
# Optimizations break compilation of libseccomp c bindings
|
||||
hardeningDisable = [ "fortify" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux libseccomp ];
|
||||
|
||||
buildPhase = ''
|
||||
pushd go/src/${goPackagePath}
|
||||
patchShebangs .
|
||||
make GIT_COMMIT="unknown"
|
||||
install -Dm755 buildah $bin/bin/buildah
|
||||
'';
|
||||
@ -41,10 +31,10 @@ in buildGoPackage {
|
||||
make -C docs install PREFIX="$man"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A tool which facilitates building OCI images";
|
||||
homepage = https://github.com/containers/buildah;
|
||||
maintainers = with stdenv.lib.maintainers; [ Profpatsch vdemeester ];
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
homepage = "https://github.com/containers/buildah";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ Profpatsch vdemeester ];
|
||||
};
|
||||
}
|
||||
|
@ -2,21 +2,27 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "conftest";
|
||||
version = "0.7.0";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "instrumenta";
|
||||
repo = "conftest";
|
||||
rev = "v${version}";
|
||||
sha256 = "0qq2kp9h91rirlhml5vyzmi7rd4v3pkqjk2bn7mvdn578jnwww24";
|
||||
sha256 = "0blrbbnvnnxyw0idhglqdz16i7g6g86a6kw2iw707bg0yfdl1ncq";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Version 0.12.0 does not build with go 1.13. See https://github.com/instrumenta/conftest/pull/85.
|
||||
# TODO: Remove once https://github.com/instrumenta/conftest/pull/85 is merged and lands in a release.
|
||||
./go-1.13-deps.patch
|
||||
];
|
||||
|
||||
buildFlagsArray = ''
|
||||
-ldflags=
|
||||
-X main.version=${version}
|
||||
'';
|
||||
|
||||
modSha256 = "0c9phka7n2cfi8lf0a3prks2pjna5dgf5lj6az82iklnq4p7177y";
|
||||
modSha256 = "11999ywy73ng45gl1qypky8342jvishcp11bdxbigvqhwl2zbpav";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Write tests against structured configuration data";
|
||||
|
99
pkgs/development/tools/conftest/go-1.13-deps.patch
Normal file
99
pkgs/development/tools/conftest/go-1.13-deps.patch
Normal file
@ -0,0 +1,99 @@
|
||||
diff --git a/go.mod b/go.mod
|
||||
index a552a6b..a39703d 100644
|
||||
--- a/go.mod
|
||||
+++ b/go.mod
|
||||
@@ -1,6 +1,6 @@
|
||||
module github.com/instrumenta/conftest
|
||||
|
||||
-go 1.12
|
||||
+go 1.13
|
||||
|
||||
require (
|
||||
cloud.google.com/go v0.39.0 // indirect
|
||||
@@ -43,12 +43,16 @@ require (
|
||||
golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f // indirect
|
||||
golang.org/x/oauth2 v0.0.0-20190523182746-aaccbc9213b0 // indirect
|
||||
golang.org/x/sys v0.0.0-20190526052359-791d8a0f4d09 // indirect
|
||||
+ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 // indirect
|
||||
google.golang.org/appengine v1.6.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601 // indirect
|
||||
)
|
||||
|
||||
replace (
|
||||
+ git.apache.org/thrift.git => github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999
|
||||
github.com/containerd/containerd => github.com/containerd/containerd v1.2.6
|
||||
github.com/docker/docker => github.com/docker/docker v0.0.0-20190131205458-8a43b7bb99cd
|
||||
github.com/golang/lint => golang.org/x/lint v0.0.0-20190409202823-959b441ac422
|
||||
+ github.com/opencontainers/runc v1.0.1-0.20190307181833-2b18fe1d885e => github.com/opencontainers/runc v1.0.0-rc6.0.20190307181833-2b18fe1d885e
|
||||
+ golang.org/x/crypto v0.0.0-20190129210102-0709b304e793 => golang.org/x/crypto v0.0.0-20180904163835-0709b304e793
|
||||
)
|
||||
diff --git a/go.sum b/go.sum
|
||||
index 2441c4e..212ac69 100644
|
||||
--- a/go.sum
|
||||
+++ b/go.sum
|
||||
@@ -10,7 +10,6 @@ dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl
|
||||
dmitri.shuralyov.com/html/belt v0.0.0-20180602232347-f7d459c86be0/go.mod h1:JLBrvjyP0v+ecvNYvCpyZgu5/xkfAUhi6wJj28eUfSU=
|
||||
dmitri.shuralyov.com/service/change v0.0.0-20181023043359-a85b471d5412/go.mod h1:a1inKt/atXimZ4Mv927x+r7UpyzRUf4emIoiiSC2TN4=
|
||||
dmitri.shuralyov.com/state v0.0.0-20180228185332-28bcc343414c/go.mod h1:0PRwlb0D6DFvNNtx+9ybjezNCa8XF0xaYcETyp6rHWU=
|
||||
-git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg=
|
||||
github.com/Azure/azure-sdk-for-go v21.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
|
||||
@@ -43,6 +42,7 @@ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYU
|
||||
github.com/antchfx/xpath v0.0.0-20190129040759-c8489ed3251e/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
|
||||
github.com/antchfx/xquery v0.0.0-20180515051857-ad5b8c7a47b0/go.mod h1:LzD22aAzDP8/dyiCKFp31He4m2GPjl0AFyzDtZzUu9M=
|
||||
github.com/apache/thrift v0.0.0-20161221203622-b2a4d4ae21c7/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
|
||||
+github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
|
||||
github.com/apparentlymart/go-cidr v1.0.0 h1:lGDvXx8Lv9QHjrAVP7jyzleG4F9+FkRhJcEsDFxeb8w=
|
||||
github.com/apparentlymart/go-cidr v1.0.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
|
||||
github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM=
|
||||
@@ -132,13 +132,8 @@ github.com/docker/cli v0.0.0-20190511004558-53fc257292ad/go.mod h1:JLrzqnKDaYBop
|
||||
github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||
github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
|
||||
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||
-github.com/docker/docker v0.0.0-20180531152204-71cd53e4a197/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||
github.com/docker/docker v0.0.0-20190131205458-8a43b7bb99cd h1:h98Vus5/NAC3I4k243/B/KgCdpjCUK4lfxNEw2p/HAc=
|
||||
github.com/docker/docker v0.0.0-20190131205458-8a43b7bb99cd/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||
-github.com/docker/docker v1.14.0-0.20190131205458-8a43b7bb99cd h1:adRHD5aU4yFK0L4yZwjY3SyWapVmPdq1h19eJdgYUfs=
|
||||
-github.com/docker/docker v1.14.0-0.20190131205458-8a43b7bb99cd/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||
-github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c h1:rZ+3jNsgjvYgdZ0Nrd4Udrv8rneDbWBohAPuXsTsvGU=
|
||||
-github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||
github.com/docker/docker-credential-helpers v0.6.0/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
|
||||
github.com/docker/docker-credential-helpers v0.6.1/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
|
||||
github.com/docker/docker-credential-helpers v0.6.2 h1:CrW9H1VMf3a4GrtyAi7IUJjkJVpwBBpX0+mvkvYJaus=
|
||||
@@ -214,6 +209,7 @@ github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPg
|
||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
|
||||
github.com/google/shlex v0.0.0-20150127133951-6f45313302b9/go.mod h1:RpwtwJQFrIEPstU94h88MWPXP2ektJZ8cZ0YntAmXiE=
|
||||
+github.com/googleapis/gax-go v2.0.0+incompatible h1:j0GKcs05QVmm7yesiZq2+9cxHkNK9YM6zKx4D2qucQU=
|
||||
github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
|
||||
github.com/googleapis/gax-go/v2 v2.0.3/go.mod h1:LLvjysVCY1JZeum8Z6l8qUty8fiNwE08qbEPm1M08qg=
|
||||
github.com/googleapis/gax-go/v2 v2.0.4 h1:hU4mGcQI4DaAYW+IbTun+2qEZVFxK0ySjQLTbS0VQKc=
|
||||
@@ -407,8 +403,8 @@ github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zM
|
||||
github.com/opencontainers/runc v0.1.1 h1:GlxAyO6x8rfZYN9Tt0Kti5a/cP41iuiO2yYT0IJGY8Y=
|
||||
github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||
github.com/opencontainers/runc v1.0.0-rc6/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||
-github.com/opencontainers/runc v1.0.1-0.20190307181833-2b18fe1d885e h1:+uPGJuuDl61O9GKN/rLHkUCf597mpxmJI06RqMQX81A=
|
||||
-github.com/opencontainers/runc v1.0.1-0.20190307181833-2b18fe1d885e/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||
+github.com/opencontainers/runc v1.0.0-rc6.0.20190307181833-2b18fe1d885e h1:9wcty7nGPPNkY8/VsiZkjmMB8x7SydrklJE+vCr4uDg=
|
||||
+github.com/opencontainers/runc v1.0.0-rc6.0.20190307181833-2b18fe1d885e/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||
github.com/opencontainers/runtime-spec v0.0.0-20180909173843-eba862dc2470/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||
github.com/opentracing-contrib/go-stdlib v0.0.0-20171029140428-b1a47cfbdd75/go.mod h1:PLldrQSroqzH70Xl+1DQcGnefIbqsKR7UDaiux3zV+w=
|
||||
github.com/opentracing/opentracing-go v0.0.0-20171003133519-1361b9cd60be/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||
@@ -587,7 +583,6 @@ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnf
|
||||
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
-golang.org/x/crypto v0.0.0-20190129210102-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190129210102-ccddf3741a0c/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
@@ -679,6 +674,8 @@ golang.org/x/tools v0.0.0-20190425150028-36563e24a262 h1:qsl9y/CJx34tuA7QCPNp86J
|
||||
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373 h1:PPwnA7z1Pjf7XYaBP9GL1VAMZmcIWyFz7QCMSIIa3Bg=
|
||||
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
|
||||
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
||||
google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
||||
google.golang.org/api v0.1.0/go.mod h1:UGEZY7KEX120AnNLIHFMKIo4obdJhkp2tPbaPlQx13Y=
|
@ -18,11 +18,11 @@ let
|
||||
];
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "insomnia";
|
||||
version = "6.5.3";
|
||||
version = "6.6.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/getinsomnia/insomnia/releases/download/v${version}/insomnia_${version}_amd64.deb";
|
||||
sha256 = "0km7anw5xpcfr6j7pwqhv26pk7nxv1jywqlz0lpvgj6w85aafcm3";
|
||||
sha256 = "0hlny3lac7whdbpp0pcyaa30h6x9536jsg95gj9irw2qjsx74xa7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -19,6 +19,7 @@
|
||||
, glibcLocales
|
||||
, nose
|
||||
, jsonschema
|
||||
, setuptools
|
||||
, send2trash
|
||||
, CoreAudio
|
||||
# This little flag adds a huge number of dependencies, but we assume that
|
||||
@ -87,7 +88,7 @@ buildPythonApplication rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pyqtwebengine sqlalchemy beautifulsoup4 send2trash pyaudio requests decorator
|
||||
markdown jsonschema
|
||||
markdown jsonschema setuptools
|
||||
]
|
||||
++ lib.optional plotsSupport matplotlib
|
||||
++ lib.optional stdenv.isDarwin [ CoreAudio ]
|
||||
|
@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-lm" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = ''The classic version of a quick tactics game LiquidWar'';
|
||||
maintainers = [ maintainers.raskin ];
|
||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ libpng SDL2 libGL libjpeg SDL2_ttf libvorbis gettext physfs ];
|
||||
|
||||
dontPatchElf = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
patchPhase = ''
|
||||
sed -i -e 's@\./data@'$out/share/neverball/data@ share/base_config.h Makefile
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "rtl8812au-${kernel.version}-${version}";
|
||||
version = "5.2.20.2_28373.20180619";
|
||||
version = "5.2.20.2_28373.20190903";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zebulon2";
|
||||
repo = "rtl8812au-driver-5.2.20";
|
||||
rev = "ac063a4b1a87855e10f6cd1f358aaccbeee9b9c1";
|
||||
sha256 = "1cmsv22q4k6p2wzm73k60kxbjhcgx4hqr0x3djvqrlv4rzz75l92";
|
||||
rev = "30d47a0a3f43ccb19e8fd59fe93d74a955147bf2";
|
||||
sha256 = "1fy0f8ihxd0i5kr8gmky8v8xl0ns6bhxfdn64c97c5irzdvg37sr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ bc ];
|
||||
|
@ -65,10 +65,6 @@ let
|
||||
};
|
||||
})
|
||||
|
||||
(self: super: {
|
||||
pyyaml = super.pyyaml_3;
|
||||
})
|
||||
|
||||
# hass-frontend does not exist in python3.pkgs
|
||||
(self: super: {
|
||||
hass-frontend = self.callPackage ./frontend.nix { };
|
||||
|
512
pkgs/servers/mail/mailman/settings.py
Normal file
512
pkgs/servers/mail/mailman/settings.py
Normal file
@ -0,0 +1,512 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 1998-2019 by the Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of Postorius.
|
||||
#
|
||||
# Postorius is free software: you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation, either version 3 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# Postorius is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# Postorius. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
"""
|
||||
Django settings for postorius project.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/1.9/topics/settings/
|
||||
|
||||
For the full list of settings and their values, see
|
||||
https://docs.djangoproject.com/en/1.9/ref/settings/
|
||||
"""
|
||||
|
||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||
import os
|
||||
|
||||
# Compatibility with Bootstrap 3
|
||||
from django.contrib.messages import constants as messages
|
||||
|
||||
|
||||
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/
|
||||
|
||||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
SECRET_KEY = '$!-7^wl#wiifjbh)5@f7ji%x!vp7s1vzbvwt26hxv$idixq0u0'
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = False
|
||||
|
||||
ADMINS = (
|
||||
#('Admin', 'webmaster@example.com'),
|
||||
)
|
||||
|
||||
SITE_ID = 1
|
||||
|
||||
# Hosts/domain names that are valid for this site; required if DEBUG is False
|
||||
# See https://docs.djangoproject.com/en/1.8/ref/settings/#allowed-hosts
|
||||
ALLOWED_HOSTS = [
|
||||
"localhost", # Archiving API from Mailman, keep it.
|
||||
"127.0.0.1",
|
||||
# Add here all production URLs you may have.
|
||||
@ALLOWED_HOSTS@
|
||||
]
|
||||
|
||||
# Mailman API credentials
|
||||
MAILMAN_REST_API_URL = 'http://localhost:8001'
|
||||
MAILMAN_REST_API_USER = 'restadmin'
|
||||
MAILMAN_REST_API_PASS = 'restpass'
|
||||
MAILMAN_ARCHIVER_KEY = "@ARCHIVER_KEY@"
|
||||
MAILMAN_ARCHIVER_FROM = ('127.0.0.1', '::1')
|
||||
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = (
|
||||
'hyperkitty',
|
||||
'postorius',
|
||||
'django_mailman3',
|
||||
# Uncomment the next line to enable the admin:
|
||||
'django.contrib.admin',
|
||||
# Uncomment the next line to enable admin documentation:
|
||||
# 'django.contrib.admindocs',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.sites',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'rest_framework',
|
||||
'django_gravatar',
|
||||
'compressor',
|
||||
'haystack',
|
||||
'django_extensions',
|
||||
'django_q',
|
||||
'allauth',
|
||||
'allauth.account',
|
||||
'allauth.socialaccount',
|
||||
'django_mailman3.lib.auth.fedora',
|
||||
'allauth.socialaccount.providers.openid',
|
||||
'allauth.socialaccount.providers.github',
|
||||
'allauth.socialaccount.providers.gitlab',
|
||||
'allauth.socialaccount.providers.google',
|
||||
#'allauth.socialaccount.providers.facebook',
|
||||
#'allauth.socialaccount.providers.twitter',
|
||||
'allauth.socialaccount.providers.stackexchange',
|
||||
)
|
||||
|
||||
|
||||
MIDDLEWARE = (
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'django_mailman3.middleware.TimezoneMiddleware',
|
||||
)
|
||||
|
||||
ROOT_URLCONF = 'urls'
|
||||
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
'django.template.context_processors.debug',
|
||||
'django.template.context_processors.i18n',
|
||||
'django.template.context_processors.media',
|
||||
'django.template.context_processors.static',
|
||||
'django.template.context_processors.tz',
|
||||
'django.template.context_processors.csrf',
|
||||
'django.template.context_processors.request',
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
'django_mailman3.context_processors.common',
|
||||
'hyperkitty.context_processors.common',
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
WSGI_APPLICATION = 'wsgi.application'
|
||||
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.sqlite3',
|
||||
'NAME': '/var/lib/mailman-web/mailman-web.db'
|
||||
}
|
||||
}
|
||||
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators
|
||||
|
||||
AUTH_PASSWORD_VALIDATORS = [
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
|
||||
},
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
# If you're behind a proxy, use the X-Forwarded-Host header
|
||||
# See https://docs.djangoproject.com/en/1.8/ref/settings/#use-x-forwarded-host
|
||||
# USE_X_FORWARDED_HOST = True
|
||||
|
||||
# And if your proxy does your SSL encoding for you, set SECURE_PROXY_SSL_HEADER
|
||||
# https://docs.djangoproject.com/en/1.8/ref/settings/#secure-proxy-ssl-header
|
||||
# SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
|
||||
# SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_SCHEME', 'https')
|
||||
|
||||
# Other security settings
|
||||
# SECURE_SSL_REDIRECT = True
|
||||
# If you set SECURE_SSL_REDIRECT to True, make sure the SECURE_REDIRECT_EXEMPT
|
||||
# contains at least this line:
|
||||
# SECURE_REDIRECT_EXEMPT = [
|
||||
# "archives/api/mailman/.*", # Request from Mailman.
|
||||
# ]
|
||||
# SESSION_COOKIE_SECURE = True
|
||||
# SECURE_CONTENT_TYPE_NOSNIFF = True
|
||||
# SECURE_BROWSER_XSS_FILTER = True
|
||||
# CSRF_COOKIE_SECURE = True
|
||||
# CSRF_COOKIE_HTTPONLY = True
|
||||
# X_FRAME_OPTIONS = 'DENY'
|
||||
|
||||
|
||||
# Internationalization
|
||||
# https://docs.djangoproject.com/en/1.9/topics/i18n/
|
||||
|
||||
LANGUAGE_CODE = 'en-us'
|
||||
|
||||
TIME_ZONE = 'UTC'
|
||||
|
||||
USE_I18N = True
|
||||
|
||||
USE_L10N = True
|
||||
|
||||
USE_TZ = True
|
||||
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/1.9/howto/static-files/
|
||||
|
||||
|
||||
# Absolute path to the directory static files should be collected to.
|
||||
# Don't put anything in this directory yourself; store your static files
|
||||
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
|
||||
# Example: "/var/www/example.com/static/"
|
||||
STATIC_ROOT = 'static'
|
||||
|
||||
# URL prefix for static files.
|
||||
# Example: "http://example.com/static/", "http://static.example.com/"
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
# Additional locations of static files
|
||||
STATICFILES_DIRS = (
|
||||
# Put strings here, like "/home/html/static" or "C:/www/django/static".
|
||||
# Always use forward slashes, even on Windows.
|
||||
# Don't forget to use absolute paths, not relative paths.
|
||||
# BASE_DIR + '/static/',
|
||||
)
|
||||
|
||||
# List of finder classes that know how to find static files in
|
||||
# various locations.
|
||||
STATICFILES_FINDERS = (
|
||||
'django.contrib.staticfiles.finders.FileSystemFinder',
|
||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
||||
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
|
||||
'compressor.finders.CompressorFinder',
|
||||
)
|
||||
|
||||
# Django 1.6+ defaults to a JSON serializer, but it won't work with
|
||||
# django-openid, see
|
||||
# https://bugs.launchpad.net/django-openid-auth/+bug/1252826
|
||||
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
|
||||
|
||||
|
||||
LOGIN_URL = 'account_login'
|
||||
LOGIN_REDIRECT_URL = 'hk_root'
|
||||
LOGOUT_URL = 'account_logout'
|
||||
|
||||
|
||||
# If you enable internal authentication, this is the address that the emails
|
||||
# will appear to be coming from. Make sure you set a valid domain name,
|
||||
# otherwise the emails may get rejected.
|
||||
# https://docs.djangoproject.com/en/1.8/ref/settings/#default-from-email
|
||||
DEFAULT_FROM_EMAIL = "@SERVER_EMAIL@"
|
||||
|
||||
# If you enable email reporting for error messages, this is where those emails
|
||||
# will appear to be coming from. Make sure you set a valid domain name,
|
||||
# otherwise the emails may get rejected.
|
||||
# https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-SERVER_EMAIL
|
||||
SERVER_EMAIL = "@SERVER_EMAIL@"
|
||||
|
||||
|
||||
MESSAGE_TAGS = {
|
||||
messages.ERROR: 'danger'
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Social auth
|
||||
#
|
||||
AUTHENTICATION_BACKENDS = (
|
||||
'django.contrib.auth.backends.ModelBackend',
|
||||
'allauth.account.auth_backends.AuthenticationBackend',
|
||||
)
|
||||
|
||||
# Django Allauth
|
||||
ACCOUNT_AUTHENTICATION_METHOD = "username_email"
|
||||
ACCOUNT_EMAIL_REQUIRED = True
|
||||
ACCOUNT_EMAIL_VERIFICATION = "mandatory"
|
||||
ACCOUNT_DEFAULT_HTTP_PROTOCOL = "https"
|
||||
ACCOUNT_UNIQUE_EMAIL = True
|
||||
|
||||
SOCIALACCOUNT_PROVIDERS = {
|
||||
'openid': {
|
||||
'SERVERS': [
|
||||
dict(id='yahoo',
|
||||
name='Yahoo',
|
||||
openid_url='http://me.yahoo.com'),
|
||||
],
|
||||
},
|
||||
'google': {
|
||||
'SCOPE': ['profile', 'email'],
|
||||
'AUTH_PARAMS': {'access_type': 'online'},
|
||||
},
|
||||
'facebook': {
|
||||
'METHOD': 'oauth2',
|
||||
'SCOPE': ['email'],
|
||||
'FIELDS': [
|
||||
'email',
|
||||
'name',
|
||||
'first_name',
|
||||
'last_name',
|
||||
'locale',
|
||||
'timezone',
|
||||
],
|
||||
'VERSION': 'v2.4',
|
||||
},
|
||||
'gitlab': {
|
||||
'GITLAB_URL': 'https://gitlab.com',
|
||||
'SCOPE': ['read_user'],
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Gravatar
|
||||
# https://github.com/twaddington/django-gravatar
|
||||
#
|
||||
# Gravatar base url.
|
||||
# GRAVATAR_URL = 'http://cdn.libravatar.org/'
|
||||
# Gravatar base secure https url.
|
||||
# GRAVATAR_SECURE_URL = 'https://seccdn.libravatar.org/'
|
||||
# Gravatar size in pixels.
|
||||
# GRAVATAR_DEFAULT_SIZE = '80'
|
||||
# An image url or one of the following: 'mm', 'identicon', 'monsterid',
|
||||
# 'wavatar', 'retro'.
|
||||
# GRAVATAR_DEFAULT_IMAGE = 'mm'
|
||||
# One of the following: 'g', 'pg', 'r', 'x'.
|
||||
# GRAVATAR_DEFAULT_RATING = 'g'
|
||||
# True to use https by default, False for plain http.
|
||||
# GRAVATAR_DEFAULT_SECURE = True
|
||||
|
||||
# These can be set to override the defaults but are not mandatory:
|
||||
# EMAIL_CONFIRMATION_TEMPLATE = 'postorius/address_confirmation_message.txt'
|
||||
# EMAIL_CONFIRMATION_SUBJECT = 'Confirmation needed'
|
||||
|
||||
#
|
||||
# django-compressor
|
||||
# https://pypi.python.org/pypi/django_compressor
|
||||
#
|
||||
COMPRESS_PRECOMPILERS = (
|
||||
('text/x-scss', '/run/current-system/sw/bin/sassc -t compressed {infile} {outfile}'),
|
||||
('text/x-sass', '/run/current-system/sw/bin/sassc -t compressed {infile} {outfile}'),
|
||||
)
|
||||
# On a production setup, setting COMPRESS_OFFLINE to True will bring a
|
||||
# significant performance improvement, as CSS files will not need to be
|
||||
# recompiled on each requests. It means running an additional "compress"
|
||||
# management command after each code upgrade.
|
||||
# http://django-compressor.readthedocs.io/en/latest/usage/#offline-compression
|
||||
COMPRESS_ENABLED = True
|
||||
COMPRESS_OFFLINE = True
|
||||
|
||||
# Needed for debug mode
|
||||
# INTERNAL_IPS = ('127.0.0.1',)
|
||||
|
||||
|
||||
#
|
||||
# Full-text search engine
|
||||
#
|
||||
HAYSTACK_CONNECTIONS = {
|
||||
'default': {
|
||||
'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
|
||||
'PATH': "/var/lib/mailman-web/fulltext_index",
|
||||
# You can also use the Xapian engine, it's faster and more accurate,
|
||||
# but requires another library.
|
||||
# http://django-haystack.readthedocs.io/en/v2.4.1/installing_search_engines.html#xapian
|
||||
# Example configuration for Xapian:
|
||||
#'ENGINE': 'xapian_backend.XapianEngine'
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# REST framework
|
||||
#
|
||||
REST_FRAMEWORK = {
|
||||
'PAGE_SIZE': 10,
|
||||
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
|
||||
'DEFAULT_FILTER_BACKENDS': (
|
||||
'rest_framework.filters.OrderingFilter',
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# Asynchronous tasks
|
||||
#
|
||||
Q_CLUSTER = {
|
||||
'timeout': 300,
|
||||
'save_limit': 100,
|
||||
'orm': 'default',
|
||||
}
|
||||
|
||||
|
||||
# A sample logging configuration. The only tangible logging
|
||||
# performed by this configuration is to send an email to
|
||||
# the site admins on every HTTP 500 error when DEBUG=False.
|
||||
# See http://docs.djangoproject.com/en/dev/topics/logging for
|
||||
# more details on how to customize your logging configuration.
|
||||
LOGGING = {
|
||||
'version': 1,
|
||||
'disable_existing_loggers': False,
|
||||
'filters': {
|
||||
'require_debug_false': {
|
||||
'()': 'django.utils.log.RequireDebugFalse'
|
||||
}
|
||||
},
|
||||
'handlers': {
|
||||
'console': {
|
||||
'class': 'logging.StreamHandler',
|
||||
'formatter': 'simple',
|
||||
},
|
||||
'mail_admins': {
|
||||
'level': 'ERROR',
|
||||
'filters': ['require_debug_false'],
|
||||
'class': 'django.utils.log.AdminEmailHandler'
|
||||
},
|
||||
'file':{
|
||||
'level': 'INFO',
|
||||
#'class': 'logging.handlers.RotatingFileHandler',
|
||||
'class': 'logging.handlers.WatchedFileHandler',
|
||||
'filename': 'mailman-web.log',
|
||||
'formatter': 'verbose',
|
||||
},
|
||||
},
|
||||
'loggers': {
|
||||
'django': {
|
||||
'handlers': ['console', 'file'],
|
||||
'level': 'INFO',
|
||||
},
|
||||
'django.request': {
|
||||
'handlers': ['console', 'mail_admins', 'file'],
|
||||
'level': 'ERROR',
|
||||
'propagate': True,
|
||||
},
|
||||
'postorius': {
|
||||
'handlers': ['console', 'file'],
|
||||
'level': 'INFO',
|
||||
},
|
||||
'django': {
|
||||
'handlers': ['file'],
|
||||
'level': 'ERROR',
|
||||
'propagate': True,
|
||||
},
|
||||
'hyperkitty': {
|
||||
'handlers': ['file'],
|
||||
'level': 'DEBUG',
|
||||
'propagate': True,
|
||||
},
|
||||
},
|
||||
'formatters': {
|
||||
'simple': {
|
||||
'format': '%(levelname)s: %(message)s'
|
||||
},
|
||||
'verbose': {
|
||||
'format': '%(levelname)s %(asctime)s %(process)d %(name)s %(message)s'
|
||||
},
|
||||
'simple': {
|
||||
'format': '%(levelname)s %(message)s'
|
||||
},
|
||||
},
|
||||
#'root': {
|
||||
# 'handlers': ['file'],
|
||||
# 'level': 'INFO',
|
||||
#},
|
||||
}
|
||||
|
||||
|
||||
POSTORIUS_TEMPLATE_BASE_URL = "http://localhost:8000"
|
||||
|
||||
|
||||
# Using the cache infrastructure can significantly improve performance on a
|
||||
# production setup. This is an example with a local Memcached server.
|
||||
#CACHES = {
|
||||
# 'default': {
|
||||
# 'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
|
||||
# 'LOCATION': '127.0.0.1:11211',
|
||||
# }
|
||||
#}
|
||||
|
||||
|
||||
# When DEBUG is True, don't actually send emails to the SMTP server, just store
|
||||
# them in a directory. This way you won't accidentally spam your mailing-lists
|
||||
# while you're fiddling with the code.
|
||||
if DEBUG == True:
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'
|
||||
EMAIL_FILE_PATH = '/tmp/hyperkitty-emails'
|
||||
|
||||
|
||||
#
|
||||
# HyperKitty-specific
|
||||
#
|
||||
# Only display mailing-lists from the same virtual host as the webserver
|
||||
FILTER_VHOST = False
|
||||
# Disable singleton locking for Django-Q tasks.
|
||||
HYPERKITTY_DISABLE_SINGLETON_TASKS = False
|
||||
# Maximum time between two task runs with same function and arguments.
|
||||
# This setting is mostly meant for Mailman Developers and should be used
|
||||
# with caution.
|
||||
# Default set to 10mins.
|
||||
HYPERKITTY_TASK_LOCK_TIMEOUT = 10 * 60
|
||||
|
||||
|
||||
try:
|
||||
from settings_local import *
|
||||
except ImportError:
|
||||
pass
|
34
pkgs/servers/mail/mailman/urls.py
Normal file
34
pkgs/servers/mail/mailman/urls.py
Normal file
@ -0,0 +1,34 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 1998-2019 by the Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of Postorius.
|
||||
#
|
||||
# Postorius is free software: you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation, either version 3 of the License, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# Postorius is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
# more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# Postorius. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from django.conf.urls import include, url
|
||||
from django.contrib import admin
|
||||
from django.urls import reverse_lazy
|
||||
from django.views.generic import RedirectView
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^$', RedirectView.as_view(url=reverse_lazy('hk_root'))),
|
||||
url(r'^hyperkitty/', include('hyperkitty.urls')),
|
||||
url(r'^postorius/', include('postorius.urls')),
|
||||
url(r'', include('django_mailman3.urls')),
|
||||
url(r'^accounts/', include('allauth.urls')),
|
||||
# Django admin
|
||||
url(r'^admin/', admin.site.urls),
|
||||
]
|
37
pkgs/servers/mail/mailman/web.nix
Normal file
37
pkgs/servers/mail/mailman/web.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ stdenv, python, hyperkitty, postorius, buildPythonPackage
|
||||
, serverEMail ? "postmaster@example.org"
|
||||
, archiverKey ? "SecretArchiverAPIKey"
|
||||
, allowedHosts ? []
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
allowedHostsString = stdenv.lib.concatMapStringsSep ", " (x: "\""+x+"\"") allowedHosts;
|
||||
|
||||
in
|
||||
|
||||
# We turn those Djando configuration files into a make-shift Python library so
|
||||
# that Nix users can use this package as a part of their buildInputs to import
|
||||
# the code. Also, this package implicitly provides an environment in which the
|
||||
# Django app can be run.
|
||||
|
||||
buildPythonPackage {
|
||||
name = "mailman-web-0";
|
||||
|
||||
propagatedBuildInputs = [ hyperkitty postorius ];
|
||||
|
||||
unpackPhase = ":";
|
||||
buildPhase = ":";
|
||||
setuptoolsCheckPhase = ":";
|
||||
|
||||
installPhase = ''
|
||||
d=$out/${python.sitePackages}
|
||||
install -D -m 444 ${./urls.py} $d/urls.py
|
||||
install -D -m 444 ${./wsgi.py} $d/wsgi.py
|
||||
substitute ${./settings.py} $d/settings.py \
|
||||
--subst-var-by SERVER_EMAIL '${serverEMail}' \
|
||||
--subst-var-by ARCHIVER_KEY '${archiverKey}' \
|
||||
--subst-var-by ALLOWED_HOSTS '${allowedHostsString}'
|
||||
chmod 444 $d/settings.py
|
||||
'';
|
||||
}
|
17
pkgs/servers/mail/mailman/wsgi.py
Normal file
17
pkgs/servers/mail/mailman/wsgi.py
Normal file
@ -0,0 +1,17 @@
|
||||
"""
|
||||
WSGI config for meh project.
|
||||
|
||||
It exposes the WSGI callable as a module-level variable named ``application``.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
from django.core.wsgi import get_wsgi_application
|
||||
|
||||
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
|
||||
|
||||
application = get_wsgi_application()
|
@ -28,6 +28,7 @@ buildPythonPackage rec {
|
||||
telethon-session-sqlalchemy
|
||||
pillow
|
||||
lxml
|
||||
setuptools
|
||||
];
|
||||
|
||||
# `alembic` (a database migration tool) is only needed for the initial setup,
|
||||
|
@ -24,6 +24,11 @@ buildGoPackage rec {
|
||||
rm -rf testing
|
||||
'';
|
||||
|
||||
# Fix build with go >=1.12
|
||||
preBuild = ''
|
||||
sed -i s/"_Ctype_struct_GeoIPRecordTag"/"C.struct_GeoIPRecordTag"/ ./go/src/github.com/etix/geoip/geoip.go
|
||||
'';
|
||||
|
||||
goPackagePath = "github.com/etix/mirrorbits";
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "blackbox_exporter";
|
||||
version = "0.14.0";
|
||||
version = "0.15.0";
|
||||
rev = version;
|
||||
|
||||
goPackagePath = "github.com/prometheus/blackbox_exporter";
|
||||
@ -11,7 +11,7 @@ buildGoPackage rec {
|
||||
rev = "v${version}";
|
||||
owner = "prometheus";
|
||||
repo = "blackbox_exporter";
|
||||
sha256 = "1v5n59p9jl6y1ka9mqp0ibx1kpcb3gbpl0i6bhqpbr154frmqm4x";
|
||||
sha256 = "06llb37xpn5zjnqkw526vbk4mfdiwrv3yg7aw4365p3gz5dk085i";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, perl, openssl, db, zlib, uwimap, html-tidy, pam}:
|
||||
{ stdenv, fetchurl, fetchpatch, perl, openssl, db, zlib, uwimap, html-tidy, pam}:
|
||||
|
||||
let
|
||||
ssl = stdenv.lib.optionals uwimap.withSSL
|
||||
@ -12,7 +12,20 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "135fjbxjn385b6cjys6qhbwfw61mdcl2akkll4jfpdzfvhbxlyda";
|
||||
};
|
||||
|
||||
patches = [ ./install.patch ];
|
||||
patches = [
|
||||
./install.patch
|
||||
|
||||
# fix build errors which result from openssl changes
|
||||
(fetchpatch {
|
||||
url = "https://sources.debian.org/data/main/p/prayer/1.3.5-dfsg1-6/debian/patches/disable_ssl3.patch";
|
||||
sha256 = "1rx4bidc9prh4gffipykp144cyi3zd6qzd990s2aad3knzv5bkdd";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://sources.debian.org/data/main/p/prayer/1.3.5-dfsg1-6/debian/patches/openssl1.1.patch";
|
||||
sha256 = "0zinylvq3bcifdmki867gir49pbjx6qb5h019hawwif2l4jmlxw1";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e s/gmake/make/ -e 's/LDAP_ENABLE.*= true/LDAP_ENABLE=false/' \
|
||||
${ssl} \
|
||||
|
@ -1,10 +1,7 @@
|
||||
{ stdenv, coreutils, curl, diffutils, gawk, gnugrep, gnused, openssl, makeWrapper, fetchFromGitHub }:
|
||||
let
|
||||
pkgName = "dehydrated";
|
||||
version = "0.6.5";
|
||||
in
|
||||
{ stdenv, coreutils, curl, diffutils, gawk, gnugrep, gnused, openssl, makeWrapper, fetchFromGitHub, installShellFiles }:
|
||||
stdenv.mkDerivation rec {
|
||||
name = pkgName + "-" + version;
|
||||
pname = "dehydrated";
|
||||
version = "0.6.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lukas2511";
|
||||
@ -13,9 +10,16 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "14k7ykry16zp09i0bqb5pqaclvnjcb6p3x8knm9v5q0bdvlplkjv";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
installPhase = ''
|
||||
installManPage docs/man/dehydrated.1
|
||||
|
||||
mkdir -p "$out/share/docs/dehydrated"
|
||||
cp docs/*.md "$out/share/docs/dehydrated"
|
||||
cp -r docs/examples "$out/share/docs/dehydrated"
|
||||
cp {CHANGELOG,LICENSE,README.md} "$out/share/docs/dehydrated"
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -a dehydrated $out/bin
|
||||
wrapProgram "$out/bin/dehydrated" --prefix PATH : "${stdenv.lib.makeBinPath [ openssl coreutils gnused gnugrep diffutils curl gawk ]}"
|
||||
|
49
pkgs/tools/misc/dupd/default.nix
Normal file
49
pkgs/tools/misc/dupd/default.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ stdenv, fetchFromGitHub, perl, which
|
||||
, openssl, sqlite }:
|
||||
|
||||
# Instead of writing directly into $HOME, we change the default db location
|
||||
# from $HOME/.dupd_sqlite to $HOME/.cache/dupd.sqlite3
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dupd";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jvirkki";
|
||||
repo = "dupd";
|
||||
rev = version;
|
||||
sha256 = "0vg4vbiwjc5p22cisj8970mym4y2r29fcm08ibik92786vsbxcqk";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs tests
|
||||
|
||||
# tests need HOME to write the database
|
||||
export HOME=$TMPDIR
|
||||
|
||||
mkdir -p $HOME/.cache
|
||||
|
||||
for f in man/dupd man/dupd.1 src/main.c tests/test.56 tests/test.57 ; do
|
||||
substituteInPlace $f --replace .dupd_sqlite .cache/dupd.sqlite3
|
||||
done
|
||||
'';
|
||||
|
||||
buildInputs = [ openssl sqlite ];
|
||||
|
||||
nativeBuildInputs = [ perl which ];
|
||||
|
||||
makeFlags = [
|
||||
"INSTALL_PREFIX=$(out)"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "CLI utility to find duplicate files";
|
||||
homepage = http://www.virkki.com/dupd;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
};
|
||||
}
|
@ -1,27 +1,38 @@
|
||||
{ stdenv, buildGoPackage, fetchFromGitHub, openssl_1_0_2, pkgconfig, libpcap }:
|
||||
{ stdenv
|
||||
, lib
|
||||
, buildGoPackage
|
||||
, fetchFromGitHub
|
||||
, openssl_1_0_2
|
||||
, pkgconfig
|
||||
, libpcap
|
||||
}:
|
||||
|
||||
let
|
||||
tools = [
|
||||
"bsondump" "mongodump" "mongoexport" "mongofiles" "mongoimport"
|
||||
"mongoreplay" "mongorestore" "mongostat" "mongotop"
|
||||
"bsondump"
|
||||
"mongoimport"
|
||||
"mongoexport"
|
||||
"mongodump"
|
||||
"mongorestore"
|
||||
"mongostat"
|
||||
"mongofiles"
|
||||
"mongotop"
|
||||
"mongoreplay"
|
||||
];
|
||||
in
|
||||
version = "4.2.0";
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
buildGoPackage rec {
|
||||
in buildGoPackage {
|
||||
pname = "mongo-tools";
|
||||
version = "3.7.2";
|
||||
rev = "r${version}";
|
||||
inherit version;
|
||||
|
||||
goPackagePath = "github.com/mongodb/mongo-tools";
|
||||
subPackages = map (t: t + "/main") tools;
|
||||
subPackages = tools;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
rev = "r${version}";
|
||||
owner = "mongodb";
|
||||
repo = "mongo-tools";
|
||||
sha256 = "1y5hd4qw7422sqkj8vmy4agscvin3ck54r515bjrzn69iw73nhfl";
|
||||
sha256 = "0mjwvx0cxvb6zam6jyr3753xjnwcygxcjzqhhlsq0b3xnwws9yh7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
@ -31,18 +42,18 @@ buildGoPackage rec {
|
||||
# Let's work around this with our own installer
|
||||
buildPhase = ''
|
||||
# move vendored codes so nixpkgs go builder could find it
|
||||
mv go/src/github.com/mongodb/mongo-tools/vendor/src/* go/src/github.com/mongodb/mongo-tools/vendor/
|
||||
|
||||
runHook preBuild
|
||||
|
||||
${stdenv.lib.concatMapStrings (t: ''
|
||||
go build -o "$bin/bin/${t}" -tags ssl -ldflags "-s -w" $goPackagePath/${t}/main
|
||||
'') tools}
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/mongodb/mongo-tools;
|
||||
description = "Tools for the MongoDB";
|
||||
license = licenses.asl20;
|
||||
license = lib.licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
@ -18,11 +18,11 @@ buildPythonPackage rec {
|
||||
# The websites youtube-dl deals with are a very moving target. That means that
|
||||
# downloads break constantly. Because of that, updates should always be backported
|
||||
# to the latest stable release.
|
||||
version = "2019.09.01";
|
||||
version = "2019.09.12.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "0jbby0x5krww1acc8qxhmmwg0dsqmj6yjnynfm7r6k3rxbvlydqr";
|
||||
sha256 = "0h7v81kcxcpy82wq9b1aiz2zg6hg7rnlcfmzd13j6k8yhr7ah9yf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -5,7 +5,6 @@ assert stdenv.isLinux -> libcap != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "chrony";
|
||||
|
||||
version = "3.5";
|
||||
|
||||
src = fetchurl {
|
||||
@ -32,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
repositories.git = git://git.tuxfamily.org/gitroot/chrony/chrony.git;
|
||||
license = licenses.gpl2;
|
||||
platforms = with platforms; linux ++ freebsd ++ openbsd;
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
maintainers = with maintainers; [ fpletz thoughtpolice ];
|
||||
|
||||
longDescription = ''
|
||||
Chronyd is a daemon which runs in background on the system. It obtains
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
|
||||
{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
|
||||
, libcap, ncurses
|
||||
, withGtk ? false, gtk2 ? null }:
|
||||
|
||||
assert withGtk -> gtk2 != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mtr";
|
||||
pname = "mtr${lib.optionalString withGtk "-gui"}";
|
||||
version = "0.93";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||
# very close to isc and bsd2
|
||||
url = https://www.eecis.udel.edu/~mills/ntp/html/copyright.html;
|
||||
};
|
||||
maintainers = [ maintainers.eelco ];
|
||||
maintainers = with maintainers; [ eelco thoughtpolice ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.bsd3;
|
||||
description = "OpenBSD NTP daemon (Debian port)";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ thoughtpolice ];
|
||||
};
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ let
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
dontPatchElf = true;
|
||||
dontPatchELF = true;
|
||||
dontWrapGApps = true;
|
||||
|
||||
buildInputs = [ libsecret ] ++ atomEnv.packages;
|
||||
|
@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
dontPatchElf = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
unpackPhase = ''
|
||||
ar xf $src
|
||||
|
@ -2,14 +2,15 @@
|
||||
|
||||
let
|
||||
inherit (python3.pkgs) buildPythonApplication pytest mock pexpect;
|
||||
repo = "lesspass";
|
||||
in
|
||||
buildPythonApplication rec {
|
||||
pname = "lesspass-cli";
|
||||
version = "9.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
owner = repo;
|
||||
repo = repo;
|
||||
rev = version;
|
||||
sha256 = "1mdv0c0fn4d72iigy8hz4s7kf7q3pg4gjjadxwxyjwsalapnsapk";
|
||||
};
|
||||
|
@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
dontPatchelf = true; # stay away from exploit executables
|
||||
dontPatchELF = true; # stay away from exploit executables
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,share/msf}
|
||||
|
@ -2,19 +2,17 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "scdoc";
|
||||
version = "1.9.7";
|
||||
version = "1.10.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.sr.ht/~sircmpwn/scdoc/archive/${version}.tar.gz";
|
||||
sha256 = "0y9p03dzdaszx02jbkdf3vcs52fqml591cmic5jdch5yznrg03ky";
|
||||
sha256 = "0lk8wpz95ld1fnpnc3xkhvnd58px1vbhvlpkr8labi2ck65y10il";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "-static" "" \
|
||||
--replace "/usr/local" "$out"
|
||||
# It happens from time to time that the version wasn't updated:
|
||||
sed -iE 's/VERSION=[0-9]\.[0-9]\.[0-9]/VERSION=${version}/' Makefile
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
@ -1993,11 +1993,7 @@ in
|
||||
|
||||
mongodb-compass = callPackage ../tools/misc/mongodb-compass { };
|
||||
|
||||
mongodb-tools = callPackage ../tools/misc/mongodb-tools {
|
||||
# XXX: this is failing with Go 1.12. Error is related to cgo, an
|
||||
# update to this package might fix it.
|
||||
buildGoPackage = buildGo111Package;
|
||||
};
|
||||
mongodb-tools = callPackage ../tools/misc/mongodb-tools { };
|
||||
|
||||
moosefs = callPackage ../tools/filesystems/moosefs { };
|
||||
|
||||
@ -4798,11 +4794,7 @@ in
|
||||
|
||||
miredo = callPackage ../tools/networking/miredo { };
|
||||
|
||||
mirrorbits = callPackage ../servers/mirrorbits {
|
||||
# XXX: this is failing with Go 1.12. Error is related to cgo, an
|
||||
# update to this package might fix it.
|
||||
buildGoPackage = buildGo111Package;
|
||||
};
|
||||
mirrorbits = callPackage ../servers/mirrorbits { };
|
||||
|
||||
mitmproxy = callPackage ../tools/networking/mitmproxy { };
|
||||
|
||||
@ -4868,6 +4860,8 @@ in
|
||||
|
||||
mtr = callPackage ../tools/networking/mtr {};
|
||||
|
||||
mtr-gui = callPackage ../tools/networking/mtr { withGtk = true; };
|
||||
|
||||
mtx = callPackage ../tools/backup/mtx {};
|
||||
|
||||
mt-st = callPackage ../tools/backup/mt-st {};
|
||||
@ -5693,7 +5687,7 @@ in
|
||||
|
||||
openmodelica = callPackage ../applications/science/misc/openmodelica { };
|
||||
|
||||
qarte = callPackage ../applications/video/qarte { };
|
||||
qarte = libsForQt5.callPackage ../applications/video/qarte { };
|
||||
|
||||
qlcplus = libsForQt5.callPackage ../applications/misc/qlcplus { };
|
||||
|
||||
@ -7908,10 +7902,6 @@ in
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
|
||||
go_1_11 = callPackage ../development/compilers/go/1.11.nix {
|
||||
inherit (darwin.apple_sdk.frameworks) Security Foundation;
|
||||
};
|
||||
|
||||
go_1_12 = callPackage ../development/compilers/go/1.12.nix {
|
||||
inherit (darwin.apple_sdk.frameworks) Security Foundation;
|
||||
};
|
||||
@ -13176,7 +13166,7 @@ in
|
||||
qt511 = recurseIntoAttrs (makeOverridable
|
||||
(import ../development/libraries/qt-5/5.11) {
|
||||
inherit newScope;
|
||||
inherit stdenv fetchurl fetchFromGitHub makeSetupHook makeWrapper;
|
||||
inherit stdenv fetchurl fetchFromGitHub fetchpatch makeSetupHook makeWrapper;
|
||||
bison = bison2; # error: too few arguments to function 'int yylex(...
|
||||
inherit cups;
|
||||
harfbuzz = harfbuzzFull;
|
||||
@ -14349,19 +14339,12 @@ in
|
||||
|
||||
### DEVELOPMENT / GO MODULES
|
||||
|
||||
buildGo111Package = callPackage ../development/go-packages/generic {
|
||||
go = buildPackages.go_1_11;
|
||||
};
|
||||
buildGo112Package = callPackage ../development/go-packages/generic {
|
||||
go = buildPackages.go_1_12;
|
||||
};
|
||||
|
||||
buildGoPackage = buildGo112Package;
|
||||
|
||||
buildGo111Module = callPackage ../development/go-modules/generic {
|
||||
go = buildPackages.go_1_11;
|
||||
};
|
||||
|
||||
buildGo112Module = callPackage ../development/go-modules/generic {
|
||||
go = buildPackages.go_1_12;
|
||||
};
|
||||
@ -17693,6 +17676,8 @@ in
|
||||
|
||||
cpp_ethereum = callPackage ../applications/misc/cpp-ethereum { };
|
||||
|
||||
crun = callPackage ../applications/virtualization/crun {};
|
||||
|
||||
csdp = callPackage ../applications/science/math/csdp { };
|
||||
|
||||
ctop = callPackage ../tools/system/ctop { };
|
||||
@ -18928,6 +18913,8 @@ in
|
||||
|
||||
japa = callPackage ../applications/audio/japa { };
|
||||
|
||||
dupd = callPackage ../tools/misc/dupd { };
|
||||
|
||||
jdupes = callPackage ../tools/misc/jdupes { };
|
||||
|
||||
jedit = callPackage ../applications/editors/jedit { };
|
||||
@ -24336,7 +24323,7 @@ in
|
||||
terraform_plugins_test
|
||||
;
|
||||
|
||||
terraform = terraform_0_11;
|
||||
terraform = terraform_0_12;
|
||||
# deprecated
|
||||
terraform-full = terraform.full;
|
||||
|
||||
|
@ -719,6 +719,8 @@ in {
|
||||
|
||||
mailman = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/core.nix { });
|
||||
|
||||
mailman-web = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/web.nix { });
|
||||
|
||||
mailmanclient = callPackage ../development/python-modules/mailmanclient { };
|
||||
|
||||
mailman-hyperkitty = callPackage ../development/python-modules/mailman-hyperkitty { };
|
||||
@ -1000,6 +1002,8 @@ in {
|
||||
*/
|
||||
pyqt5_with_qtwebkit = self.pyqt5.override { withWebKit = true; };
|
||||
|
||||
pyqt5_with_qtmultimedia = self.pyqt5.override { withMultimedia = true; };
|
||||
|
||||
pyqtwebengine = pkgs.libsForQt5.callPackage ../development/python-modules/pyqtwebengine {
|
||||
pythonPackages = self;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user