Merge branch 'staging-next' into staging
This commit is contained in:
commit
a441eaa7b1
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
|
||||
|
@ -240,6 +240,8 @@ in
|
||||
|
||||
services.avahi.enable = mkDefault true;
|
||||
|
||||
xdg.portal.extraPortals = [ pkgs.gnome3.gnome-shell ];
|
||||
|
||||
services.geoclue2.enable = mkDefault true;
|
||||
services.geoclue2.enableDemoAgent = false; # GNOME has its own geoclue agent
|
||||
|
||||
|
@ -30,6 +30,7 @@ import ./make-test.nix ({ pkgs, ...} :
|
||||
enable = true;
|
||||
user = "alice";
|
||||
};
|
||||
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
|
||||
virtualisation.memorySize = 1024;
|
||||
environment.systemPackages = [ sddm_theme ];
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -17,6 +17,10 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
services.xserver.desktopManager.xfce.enable = true;
|
||||
|
||||
environment.systemPackages = [ pkgs.xorg.xmessage ];
|
||||
|
||||
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
|
||||
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
testScript =
|
||||
|
@ -12,6 +12,10 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
services.xserver.displayManager.auto.user = "alice";
|
||||
|
||||
services.xserver.desktopManager.xfce4-14.enable = true;
|
||||
|
||||
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
|
||||
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
testScript =
|
||||
|
@ -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
|
||||
|
@ -4,6 +4,7 @@
|
||||
, llvmPackages
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
let
|
||||
verMajor = "1";
|
||||
verMinor = "2";
|
||||
@ -47,7 +48,13 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "19x000m3jwnkqgi6ic81lkzyjvvxcfacw2j0vcfcaknvvagzhyhb";
|
||||
};
|
||||
|
||||
hunspellDictionaries = with stdenv.lib; filter isDerivation (unique (attrValues hunspellDicts));
|
||||
hunspellDictionaries = filter isDerivation (unique (attrValues hunspellDicts));
|
||||
# These dicts contain identically-named dict files, so we only keep the
|
||||
# -large versions in case of clashes
|
||||
largeDicts = filter (d: hasInfix "-large-wordlist" d) hunspellDictionaries;
|
||||
otherDicts = filter (d: !(hasAttr "dictFileName" d &&
|
||||
elem d.dictFileName (map (d: d.dictFileName) largeDicts))) hunspellDictionaries;
|
||||
dictionaries = largeDicts ++ otherDicts;
|
||||
|
||||
mathJaxSrc = fetchurl {
|
||||
url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-26.zip;
|
||||
@ -77,7 +84,7 @@ stdenv.mkDerivation rec {
|
||||
mv gwt-${gwtVer} $GWT_LIB_DIR/gwt/${gwtVer}
|
||||
|
||||
mkdir dependencies/common/dictionaries
|
||||
for dict in ${builtins.concatStringsSep " " hunspellDictionaries}; do
|
||||
for dict in ${builtins.concatStringsSep " " dictionaries}; do
|
||||
for i in "$dict/share/hunspell/"*; do
|
||||
ln -sv $i dependencies/common/dictionaries/
|
||||
done
|
||||
|
@ -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,15 +1,15 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, cmake, libeb, lzo, qtbase
|
||||
, qtmultimedia, qttools, qtwebengine }:
|
||||
{ mkDerivation, lib, fetchFromGitHub, pkgconfig, cmake, libeb, lzo
|
||||
, qtbase, qtmultimedia, qttools, qtwebengine }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
mkDerivation {
|
||||
pname = "qolibri";
|
||||
version = "2018-11-14";
|
||||
version = "2019-07-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ludios";
|
||||
repo = "qolibri";
|
||||
rev = "133a1c33e74d931ad54407f70d84a0016d96981f";
|
||||
sha256 = "16ifix0q8ww4l3xflgxr9j81c0lzlnkjr8fj961x3nxz7288pdg2";
|
||||
rev = "b58f9838d39300cba444eba725a369181c5d746b";
|
||||
sha256 = "0kcc6dvbcmq9y7hk8mp23pydiaqz6f0clg64d1f2y04ppphmah42";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig cmake ];
|
||||
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = with lib; {
|
||||
homepage = https://github.com/ludios/qolibri;
|
||||
description = "EPWING reader for viewing Japanese dictionaries";
|
||||
platforms = platforms.linux;
|
||||
|
@ -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 ];
|
||||
|
@ -47,7 +47,7 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pyyaml pyqt5 pyqtwebengine jinja2 pygments
|
||||
pypeg2 cssutils pyopengl attrs
|
||||
pypeg2 cssutils pyopengl attrs setuptools
|
||||
# scripts and userscripts libs
|
||||
tldextract beautifulsoup4
|
||||
pyreadability pykeepass stem
|
||||
|
@ -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
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
let
|
||||
stableVersion = "2.1.21";
|
||||
previewVersion = "2.2.0rc4";
|
||||
previewVersion = "2.2.0rc5";
|
||||
addVersion = args:
|
||||
let version = if args.stable then stableVersion else previewVersion;
|
||||
branch = if args.stable then "stable" else "preview";
|
||||
@ -18,7 +18,7 @@ in {
|
||||
};
|
||||
guiPreview = mkGui {
|
||||
stable = false;
|
||||
sha256Hash = "14fzjaanaxya97wrya2lybxz6qv72fk4ws8i92zvjz4jkvjdk9n3";
|
||||
sha256Hash = "0x4sp6yjnvzpk8cxdqlf51njckmvvkijdb7rvcb4hvqq1ab6gb2x";
|
||||
};
|
||||
|
||||
serverStable = mkServer {
|
||||
@ -27,6 +27,6 @@ in {
|
||||
};
|
||||
serverPreview = mkServer {
|
||||
stable = false;
|
||||
sha256Hash = "03s2kq5f8whk14rhprg9yp3918641b1cwj6djcbjw8xpz0n3w022";
|
||||
sha256Hash = "0inj6fac0683s1sxaba3ljia90cfach0y42xylzgzza36wpyqpqg";
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
|
@ -14,11 +14,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
|
||||
let
|
||||
inherit (stdenv.lib) concatStringsSep makeBinPath optional;
|
||||
|
||||
version = "3.0.287250.0828";
|
||||
version = "3.0.291715.0908";
|
||||
srcs = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
|
||||
sha256 = "0k4h43wydbcyx7b7gwxkmvbph8qc6kjpcypd7vwz8rph1l7kl1y1";
|
||||
sha256 = "1f2fcwf0p86bxcnfdhij6hvgizd7n7gjcccwzdm2jv0dbqskad2f";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,4 +0,0 @@
|
||||
---
|
||||
gem:
|
||||
https://rubygems.org/downloads/mini_portile-0.6.0.gem: 09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn
|
||||
https://rubygems.org/downloads/gpgme-2.0.7.gem: 1p84zhiri2ihcld7py9mwc2kg5xs5da8fk11zhndrhmw05yvf5mr
|
@ -1,9 +0,0 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem 'rake'
|
||||
gem 'sup'
|
||||
gem 'gpgme'
|
||||
|
||||
# Sup tries to `xapian-ruby` in its extconf instead of listing it as a
|
||||
# dependency.
|
||||
gem 'xapian-ruby', "~> 1.2.22"
|
@ -1,41 +0,0 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
chronic (0.9.1)
|
||||
gpgme (2.0.18)
|
||||
mini_portile2 (~> 2.3)
|
||||
highline (2.0.2)
|
||||
locale (2.1.2)
|
||||
lockfile (2.1.3)
|
||||
mime-types (3.2.2)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2019.0331)
|
||||
mini_portile2 (2.4.0)
|
||||
ncursesw (1.4.10)
|
||||
rake (12.3.2)
|
||||
rmail-sup (1.0.1)
|
||||
sup (0.22.1)
|
||||
chronic (~> 0.9.1)
|
||||
highline
|
||||
locale (~> 2.0)
|
||||
lockfile
|
||||
mime-types (> 2.0)
|
||||
ncursesw (~> 1.4.0)
|
||||
rmail-sup (~> 1.0.1)
|
||||
trollop (>= 1.12)
|
||||
unicode (~> 0.4.4)
|
||||
trollop (2.9.9)
|
||||
unicode (0.4.4.4)
|
||||
xapian-ruby (1.2.22)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
gpgme
|
||||
rake
|
||||
sup
|
||||
xapian-ruby (~> 1.2.22)
|
||||
|
||||
BUNDLED WITH
|
||||
1.17.2
|
@ -1,28 +0,0 @@
|
||||
{ lib, bundlerApp, bundlerUpdateScript }:
|
||||
|
||||
bundlerApp {
|
||||
pname = "sup";
|
||||
gemdir = ./.;
|
||||
exes = [
|
||||
"sup"
|
||||
"sup-add"
|
||||
"sup-config"
|
||||
"sup-dump"
|
||||
"sup-import-dump"
|
||||
"sup-psych-ify-config-files"
|
||||
"sup-recover-sources"
|
||||
"sup-sync"
|
||||
"sup-sync-back-maildir"
|
||||
"sup-tweak-labels"
|
||||
];
|
||||
|
||||
passthru.updateScript = bundlerUpdateScript "sup";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A curses threads-with-tags style email client";
|
||||
homepage = http://sup-heliotrope.github.io;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ cstrahan lovek323 manveru nicknovitski ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -1,155 +0,0 @@
|
||||
{
|
||||
chronic = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0kspaxpfy7yvyk1lvpx31w852qfj8wb9z04mcj5bzi70ljb9awqk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.1";
|
||||
};
|
||||
gpgme = {
|
||||
dependencies = ["mini_portile2"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "12fqirxr964mc8jwsfl5nif6q4wcckrmj7w4c9ci4xg9xy2b9v6m";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.18";
|
||||
};
|
||||
highline = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1g0zpalfj8wvca86hcnirir5py2zyqrhkgdgv9f87fxkjaw815wr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.2";
|
||||
};
|
||||
locale = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.2";
|
||||
};
|
||||
lockfile = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0dij3ijywylvfgrpi2i0k17f6w0wjhnjjw0k9030f54z56cz7jrr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.3";
|
||||
};
|
||||
mime-types = {
|
||||
dependencies = ["mime-types-data"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.2";
|
||||
};
|
||||
mime-types-data = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2019.0331";
|
||||
};
|
||||
mini_portile2 = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.4.0";
|
||||
};
|
||||
ncursesw = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1nc14wls1yiigz593vw7580hb99lf4n485axapiz6sqpg1jnlhcr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.10";
|
||||
};
|
||||
rake = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "12.3.2";
|
||||
};
|
||||
rmail-sup = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1xswk101s560lxqaax3plqh8vjx7jjspnggdwb3q80m358f92q9g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.1";
|
||||
};
|
||||
sup = {
|
||||
dependencies = ["chronic" "highline" "locale" "lockfile" "mime-types" "ncursesw" "rmail-sup" "trollop" "unicode"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17s2sxismf46zdhgr6g2v53fw9f3sp1ijx7xdw3wx8qpcsgazcgi";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.22.1";
|
||||
};
|
||||
trollop = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "074h7lns72kg1dl5gvz5apl3xz1i0axbnbc01pf2kbw4q0lkpnp4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.9.9";
|
||||
};
|
||||
unicode = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1v8kxmq9i85agjpl7pnl72688901xhs8wxhmj6lpy16a8xz3nzxk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.4.4";
|
||||
};
|
||||
xapian-ruby = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1xbarnxmhy6r0rxpspn4wk85j183w6b18nah73djcs06b3gfas15";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.22";
|
||||
};
|
||||
}
|
@ -19,7 +19,7 @@ pythonPackages.buildPythonPackage rec {
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
pyGtkGlade twisted Mako chardet pyxdg pyopenssl service-identity
|
||||
libtorrentRasterbar.dev libtorrentRasterbar.python
|
||||
libtorrentRasterbar.dev libtorrentRasterbar.python setuptools
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ intltool ];
|
||||
|
@ -7,11 +7,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ktorrent";
|
||||
version = "${libktorrent.mainVersion}.0";
|
||||
version = "${libktorrent.mainVersion}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/ktorrent/${libktorrent.mainVersion}/${pname}-${version}.tar.xz";
|
||||
sha256 = "18w6qh09k84qpzaxxb76a4g59k4mx5wk897vqp1wwv80g0pqhmrw";
|
||||
sha256 = "0kwd0npxfg4mdh7f3xadd2zjlqalpb1jxk61505qpcgcssijf534";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake kdoctools extra-cmake-modules ];
|
||||
@ -22,24 +22,6 @@ stdenv.mkDerivation rec {
|
||||
libktorrent taglib libgcrypt kplotting
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fix build with CMake 3.11
|
||||
(fetchpatch {
|
||||
url = "https://cgit.kde.org/ktorrent.git/patch/?id=672c5076de7e3a526d9bdbb484a69e9386bc49f8";
|
||||
sha256 = "1cn4rnbhadrsxqx50fawpd747azskavbjraygr6s11rh1wbfrxid";
|
||||
})
|
||||
|
||||
# Fix build against Qt 5.11
|
||||
(fetchpatch {
|
||||
url = "https://cgit.kde.org/ktorrent.git/patch/?id=7876857d204188016a135a25938d9f8530fba4e8";
|
||||
sha256 = "1wnmfzkhf6y7fd0z2djwphs6i9lsg7fcrj8fqmbyi0j57dvl9gxl";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://cgit.kde.org/ktorrent.git/patch/?id=36d112e56e56541d439326a267eb906da8b3ee60";
|
||||
sha256 = "1d41pqniljhwqs6awa644s6ks0zwm9sr0hpfygc63wyxnpcrsw2y";
|
||||
})
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -130,7 +130,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
dontPatchElf = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
updateScript = import ./update.nix { inherit writeScript runtimeShell; };
|
||||
|
||||
|
@ -1,11 +1,9 @@
|
||||
{ stdenv, buildGoPackage, fetchFromGitHub }:
|
||||
{ stdenv, buildGoModule, fetchFromGitHub, fetchpatch }:
|
||||
|
||||
buildGoPackage rec {
|
||||
buildGoModule rec {
|
||||
pname = "ghq";
|
||||
version = "0.12.6";
|
||||
|
||||
goPackagePath = "github.com/motemen/ghq";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "motemen";
|
||||
repo = "ghq";
|
||||
@ -13,7 +11,7 @@ buildGoPackage rec {
|
||||
sha256 = "14rm7fvphr7r9x0ys10vhzjwhfhhscgr574n1i1z4lzw551lrnp4";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
modSha256 = "1y2v8ir7kc2avgri06nagfyaxqr3xrg4g5pxl9rwzq9dyzm6ci5z";
|
||||
|
||||
buildFlagsArray = ''
|
||||
-ldflags=
|
||||
@ -21,9 +19,17 @@ buildGoPackage rec {
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
install -m 444 -D ${src}/zsh/_ghq $bin/share/zsh/site-functions/_ghq
|
||||
install -m 444 -D ${src}/zsh/_ghq $out/share/zsh/site-functions/_ghq
|
||||
'';
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# remove once the commit lands in a release.
|
||||
url = "https://github.com/motemen/ghq/commit/38ac89e60e60182b5870108f9753c9fe8d00e4a6.patch";
|
||||
sha256 = "1z8yvzmka3sh44my6jnwc39p8zs7mczxgvwc9z0pkqk4vgvaj8gj";
|
||||
})
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Remote repository management made easy";
|
||||
homepage = https://github.com/motemen/ghq;
|
||||
|
@ -1,138 +0,0 @@
|
||||
# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
|
||||
[
|
||||
{
|
||||
goPackagePath = "github.com/Songmu/gitconfig";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/Songmu/gitconfig";
|
||||
rev = "v0.0.2";
|
||||
sha256 = "0w1xd1mzxzwh755l6lgpn6psjp959kvx89l39zhc8lag9jh7rc44";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/daviddengcn/go-colortext";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/daviddengcn/go-colortext";
|
||||
rev = "186a3d44e920";
|
||||
sha256 = "18piv4zzcb8abbc7fllz9p6rd4zhsy1gc6iygym381caggmmgxgk";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/golangplus/bytes";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/golangplus/bytes";
|
||||
rev = "45c989fe5450";
|
||||
sha256 = "1fpwg1idakpbvkmk8j8yyhv9g7mhr9c922kvff6kj4br4k05zyzr";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/golangplus/fmt";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/golangplus/fmt";
|
||||
rev = "2a5d6d7d2995";
|
||||
sha256 = "1242q05qnawhv0klzy1pbq63q8jxkms5hc7421992hzq2m40k5yn";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/golangplus/testing";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/golangplus/testing";
|
||||
rev = "af21d9c3145e";
|
||||
sha256 = "1g83sjvcavqbh92vyirc48mrqd18yfci08zya0hrgk840cr94czc";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/motemen/go-colorine";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/motemen/go-colorine";
|
||||
rev = "45d19169413a";
|
||||
sha256 = "1mdy6q0926s1frj027nlzlvm2qssmkpjis7ic3l2smajkzh07118";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/urfave/cli";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/urfave/cli";
|
||||
rev = "v1.20.0";
|
||||
sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/crypto";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/crypto";
|
||||
rev = "c2843e01d9a2";
|
||||
sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/net";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/net";
|
||||
rev = "3ec191127204";
|
||||
sha256 = "0zzhbkw3065dp1jscp7q8dxw3mkwj95ixnrr8j7c47skis0m11i3";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/sync";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/sync";
|
||||
rev = "112230192c58";
|
||||
sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/sys";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/sys";
|
||||
rev = "d0b11bdaac8a";
|
||||
sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/text";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/text";
|
||||
rev = "v0.3.0";
|
||||
sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/xerrors";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/xerrors";
|
||||
rev = "3ee3066db522";
|
||||
sha256 = "12xyaa116bq9zy25fwk7zzi83v8aab9lm91pqg0c3jrfkjdbr255";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "gopkg.in/check.v1";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://gopkg.in/check.v1";
|
||||
rev = "20d25e280405";
|
||||
sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "gopkg.in/yaml.v2";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://gopkg.in/yaml.v2";
|
||||
rev = "v2.2.2";
|
||||
sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
|
||||
};
|
||||
}
|
||||
]
|
@ -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,13 +1,13 @@
|
||||
{ lib, stdenv, echo_build_heading, noisily, makeDeps }:
|
||||
{ crateName,
|
||||
dependencies,
|
||||
crateFeatures, libName, release, libPath,
|
||||
crateFeatures, crateRenames, libName, release, libPath,
|
||||
crateType, metadata, crateBin, hasCrateBin,
|
||||
extraRustcOpts, verbose, colors }:
|
||||
|
||||
let
|
||||
|
||||
deps = makeDeps dependencies;
|
||||
deps = makeDeps dependencies crateRenames;
|
||||
rustcOpts =
|
||||
lib.lists.foldl' (opts: opt: opts + " " + opt)
|
||||
(if release then "-C opt-level=3" else "-C debuginfo=2")
|
||||
|
@ -9,6 +9,7 @@
|
||||
, crateHomepage
|
||||
, crateFeatures
|
||||
, crateName
|
||||
, crateRenames
|
||||
, crateVersion
|
||||
, extraLinkFlags
|
||||
, extraRustcOpts
|
||||
@ -24,7 +25,7 @@ let version_ = lib.splitString "-" crateVersion;
|
||||
rustcOpts = lib.lists.foldl' (opts: opt: opts + " " + opt)
|
||||
(if release then "-C opt-level=3" else "-C debuginfo=2")
|
||||
(["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
|
||||
buildDeps = makeDeps buildDependencies;
|
||||
buildDeps = makeDeps buildDependencies crateRenames;
|
||||
authors = lib.concatStringsSep ":" crateAuthors;
|
||||
optLevel = if release then 3 else 0;
|
||||
completeDepsDir = lib.concatStringsSep " " completeDeps;
|
||||
|
@ -13,13 +13,18 @@ let
|
||||
then "macos"
|
||||
else stdenv.hostPlatform.parsed.kernel.name;
|
||||
|
||||
makeDeps = dependencies:
|
||||
makeDeps = dependencies: crateRenames:
|
||||
(lib.concatMapStringsSep " " (dep:
|
||||
let extern = lib.strings.replaceStrings ["-"] ["_"] dep.libName; in
|
||||
(if lib.lists.any (x: x == "lib") dep.crateType then
|
||||
" --extern ${extern}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib"
|
||||
let
|
||||
extern = lib.strings.replaceStrings ["-"] ["_"] dep.libName;
|
||||
name = if builtins.hasAttr dep.crateName crateRenames then
|
||||
lib.strings.replaceStrings ["-"] ["_"] crateRenames.${dep.crateName}
|
||||
else
|
||||
extern;
|
||||
in (if lib.lists.any (x: x == "lib") dep.crateType then
|
||||
" --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib"
|
||||
else
|
||||
" --extern ${extern}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
|
||||
" --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
|
||||
) dependencies);
|
||||
|
||||
echo_build_heading = colors: ''
|
||||
@ -60,7 +65,7 @@ let
|
||||
in
|
||||
|
||||
crate_: lib.makeOverridable ({ rust, release, verbose, features, buildInputs, crateOverrides,
|
||||
dependencies, buildDependencies,
|
||||
dependencies, buildDependencies, crateRenames,
|
||||
extraRustcOpts,
|
||||
preUnpack, postUnpack, prePatch, patches, postPatch,
|
||||
preConfigure, postConfigure, preBuild, postBuild, preInstall, postInstall }:
|
||||
@ -70,7 +75,7 @@ let crate = crate_ // (lib.attrByPath [ crate_.crateName ] (attr: {}) crateOverr
|
||||
buildDependencies_ = buildDependencies;
|
||||
processedAttrs = [
|
||||
"src" "buildInputs" "crateBin" "crateLib" "libName" "libPath"
|
||||
"buildDependencies" "dependencies" "features"
|
||||
"buildDependencies" "dependencies" "features" "crateRenames"
|
||||
"crateName" "version" "build" "authors" "colors" "edition"
|
||||
];
|
||||
extraDerivationAttrs = lib.filterAttrs (n: v: ! lib.elem n processedAttrs) crate;
|
||||
@ -143,13 +148,13 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
configurePhase = configureCrate {
|
||||
inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
|
||||
crateFeatures libName build workspace_member release libPath crateVersion
|
||||
crateFeatures crateRenames libName build workspace_member release libPath crateVersion
|
||||
extraLinkFlags extraRustcOpts
|
||||
crateAuthors crateHomepage verbose colors target_os;
|
||||
};
|
||||
buildPhase = buildCrate {
|
||||
inherit crateName dependencies
|
||||
crateFeatures libName release libPath crateType
|
||||
crateFeatures crateRenames libName release libPath crateType
|
||||
metadata crateBin hasCrateBin verbose colors
|
||||
extraRustcOpts;
|
||||
};
|
||||
@ -177,4 +182,5 @@ stdenv.mkDerivation (rec {
|
||||
postInstall = crate_.postInstall or "";
|
||||
dependencies = crate_.dependencies or [];
|
||||
buildDependencies = crate_.buildDependencies or [];
|
||||
crateRenames = crate_.crateRenames or {};
|
||||
}
|
||||
|
@ -22,6 +22,13 @@ let
|
||||
}
|
||||
'';
|
||||
|
||||
mkBinExtern = name: extern: mkFile name ''
|
||||
extern crate ${extern};
|
||||
fn main() {
|
||||
assert_eq!(${extern}::test(), 23);
|
||||
}
|
||||
'';
|
||||
|
||||
mkLib = name: mkFile name "pub fn test() -> i32 { return 23; }";
|
||||
|
||||
mkTest = crateArgs: let
|
||||
@ -34,12 +41,7 @@ let
|
||||
libTestBinary = if !isLib then null else mkCrate {
|
||||
crateName = "run-test-${crateName}";
|
||||
dependencies = [ crate ];
|
||||
src = mkFile "src/main.rs" ''
|
||||
extern crate ${libName};
|
||||
fn main() {
|
||||
assert_eq!(${libName}::test(), 23);
|
||||
}
|
||||
'';
|
||||
src = mkBinExtern "src/main.rs" libName;
|
||||
};
|
||||
|
||||
in runCommand "run-buildRustCrate-${crateName}-test" {
|
||||
@ -71,6 +73,18 @@ let
|
||||
};
|
||||
crateBinNoPath3 = { crateBin = [{ name = "my-binary5"; }]; src = mkBin "src/bin/main.rs"; };
|
||||
crateBinNoPath4 = { crateBin = [{ name = "my-binary6"; }]; src = mkBin "src/main.rs";};
|
||||
crateBinRename1 = {
|
||||
crateBin = [{ name = "my-binary-rename1"; }];
|
||||
src = mkBinExtern "src/main.rs" "foo_renamed";
|
||||
dependencies = [ (mkCrate { crateName = "foo"; src = mkLib "src/lib.rs"; }) ];
|
||||
crateRenames = { "foo" = "foo_renamed"; };
|
||||
};
|
||||
crateBinRename2 = {
|
||||
crateBin = [{ name = "my-binary-rename2"; }];
|
||||
src = mkBinExtern "src/main.rs" "foo_renamed";
|
||||
dependencies = [ (mkCrate { crateName = "foo"; libName = "foolib"; src = mkLib "src/lib.rs"; }) ];
|
||||
crateRenames = { "foo" = "foo_renamed"; };
|
||||
};
|
||||
};
|
||||
brotliCrates = (callPackage ./brotli-crates.nix {});
|
||||
in lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases // {
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "matcha";
|
||||
version = "2019-06-22";
|
||||
version = "2019-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = "matcha";
|
||||
rev = "f42df7a3219d7fbacb7be1b2e0e416d74339865e";
|
||||
sha256 = "1x954rmxv14xndn4ybhbr4pmzccnwqp462bpvzd2hak5wsqs4wxc";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1jv7qq4lsjpz40wchrqlzc8w4ggrmwjavy4ipzz11jal99skpv7i";
|
||||
};
|
||||
|
||||
buildInputs = [ gdk-pixbuf librsvg ];
|
||||
|
44
pkgs/desktops/plasma-5/kwin/scripts/tiling.nix
Normal file
44
pkgs/desktops/plasma-5/kwin/scripts/tiling.nix
Normal file
@ -0,0 +1,44 @@
|
||||
{ lib, mkDerivation, fetchFromGitHub
|
||||
, kcoreaddons, kwindowsystem, plasma-framework, systemsettings }:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "kwin-tiling";
|
||||
version = "2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kwin-scripts";
|
||||
repo = "kwin-tiling";
|
||||
rev = "v${version}";
|
||||
sha256 = "1sx64xv7g9yh3j26zxxrbndv79xam9jq0vs00fczgfv2n0m7j7bl";
|
||||
};
|
||||
|
||||
# This is technically not needed, but we might as well clean up
|
||||
postPatch = ''
|
||||
rm release.sh
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
kcoreaddons kwindowsystem plasma-framework systemsettings
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
# 1. --global still installs to $HOME/.local/share so we use --packageroot
|
||||
# 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
plasmapkg2 --type kwinscript --install ${src} --packageroot $out/share/kwin/scripts
|
||||
install -Dm644 ${src}/metadata.desktop $out/share/kservices5/kwin-script-tiling.desktop
|
||||
|
||||
runHook postInstalll
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tiling script for kwin";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
inherit (src.meta) homepage;
|
||||
inherit (kwindowsystem.meta) platforms;
|
||||
};
|
||||
}
|
@ -8,6 +8,8 @@
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
|
||||
, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
@ -69,7 +71,8 @@ let
|
||||
# Splicer will pull out correct variations
|
||||
libDeps = platform: [ ncurses ]
|
||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||
++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
|
||||
++ stdenv.lib.optional (platform.libc != "glibc") libiconv
|
||||
++ stdenv.lib.optional enableDwarf elfutils;
|
||||
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
@ -203,6 +206,8 @@ stdenv.mkDerivation (rec {
|
||||
] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
|
||||
# fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||
"--disable-large-address-space"
|
||||
] ++ stdenv.lib.optional enableDwarf [
|
||||
"--enable-dwarf-unwind"
|
||||
];
|
||||
|
||||
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
||||
|
@ -7,6 +7,8 @@
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
|
||||
, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
@ -71,7 +73,8 @@ let
|
||||
# Splicer will pull out correct variations
|
||||
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
|
||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
||||
++ stdenv.lib.optional enableDwarf elfutils;
|
||||
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
@ -180,6 +183,8 @@ stdenv.mkDerivation (rec {
|
||||
] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
|
||||
# fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||
"--disable-large-address-space"
|
||||
] ++ stdenv.lib.optional enableDwarf [
|
||||
"--enable-dwarf-unwind"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatability.
|
||||
|
@ -7,6 +7,8 @@
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
|
||||
, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
|
||||
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
@ -76,7 +78,8 @@ let
|
||||
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
|
||||
++ [libffi]
|
||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
||||
++ stdenv.lib.optional enableDwarf elfutils;
|
||||
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
@ -179,6 +182,8 @@ stdenv.mkDerivation (rec {
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
] ++ stdenv.lib.optional enableDwarf [
|
||||
"--enable-dwarf-unwind"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatability.
|
||||
|
@ -7,6 +7,8 @@
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
|
||||
, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
|
||||
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
@ -76,7 +78,8 @@ let
|
||||
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
|
||||
++ [libffi]
|
||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
||||
++ stdenv.lib.optional enableDwarf elfutils;
|
||||
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
@ -179,6 +182,8 @@ stdenv.mkDerivation (rec {
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
] ++ stdenv.lib.optional enableDwarf [
|
||||
"--enable-dwarf-unwind"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatability.
|
||||
|
@ -7,6 +7,8 @@
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
|
||||
, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
|
||||
|
||||
, # GHC can be built with system libffi or a bundled one.
|
||||
libffi ? null
|
||||
|
||||
@ -76,7 +78,8 @@ let
|
||||
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
|
||||
++ [libffi]
|
||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
||||
++ stdenv.lib.optional enableDwarf elfutils;
|
||||
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
@ -164,6 +167,8 @@ stdenv.mkDerivation (rec {
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
] ++ stdenv.lib.optional enableDwarf [
|
||||
"--enable-dwarf-unwind"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatability.
|
||||
|
@ -7,6 +7,8 @@
|
||||
|
||||
, libiconv ? null, ncurses
|
||||
|
||||
, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
|
||||
|
||||
, useLLVM ? !stdenv.targetPlatform.isx86
|
||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||
@ -73,7 +75,8 @@ let
|
||||
# Splicer will pull out correct variations
|
||||
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
|
||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
||||
++ stdenv.lib.optional enableDwarf elfutils;
|
||||
|
||||
toolsForTarget = [
|
||||
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||
@ -176,6 +179,8 @@ stdenv.mkDerivation (rec {
|
||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
|
||||
"--disable-large-address-space"
|
||||
] ++ stdenv.lib.optional enableDwarf [
|
||||
"--enable-dwarf-unwind"
|
||||
];
|
||||
|
||||
# Make sure we never relax`$PATH` and hooks support for compatability.
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, fetchurl, bash, cpio, pkgconfig, file, which, unzip, zip, cups, freetype
|
||||
, alsaLib, cacert, perl, liberation_ttf, fontconfig, zlib
|
||||
{ stdenv, lib, fetchurl, pkgconfig, lndir, bash, cpio, file, which, unzip, zip
|
||||
, cups, freetype, alsaLib, cacert, perl, liberation_ttf, fontconfig, zlib
|
||||
, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr
|
||||
, libjpeg, giflib
|
||||
, openjdk8-bootstrap
|
||||
@ -85,7 +85,7 @@ let
|
||||
|
||||
outputs = [ "out" "jre" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig lndir ];
|
||||
buildInputs = [
|
||||
cpio file which unzip zip perl openjdk8-bootstrap zlib cups freetype alsaLib
|
||||
libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
|
||||
@ -190,7 +190,8 @@ let
|
||||
# Move the JRE to a separate output
|
||||
mkdir -p $jre/lib/openjdk
|
||||
mv $out/lib/openjdk/jre $jre/lib/openjdk/jre
|
||||
ln -s $jre/lib/openjdk/jre $out/lib/openjdk/jre
|
||||
mkdir $out/lib/openjdk/jre
|
||||
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
|
||||
|
||||
# Setup fallback fonts
|
||||
${lib.optionalString (!headless) ''
|
||||
|
@ -43,7 +43,7 @@ core-packages:
|
||||
- ghcjs-base-0
|
||||
|
||||
default-package-overrides:
|
||||
# LTS Haskell 14.4
|
||||
# LTS Haskell 14.5
|
||||
- abstract-deque ==0.3
|
||||
- abstract-deque-tests ==0.3
|
||||
- abstract-par ==0.3.3
|
||||
@ -64,7 +64,7 @@ default-package-overrides:
|
||||
- aeson-extra ==0.4.1.2
|
||||
- aeson-generic-compat ==0.0.1.3
|
||||
- aeson-iproute ==0.2
|
||||
- aeson-picker ==0.1.0.4
|
||||
- aeson-picker ==0.1.0.5
|
||||
- aeson-pretty ==0.8.7
|
||||
- aeson-qq ==0.8.2
|
||||
- aeson-utils ==0.3.0.2
|
||||
@ -121,7 +121,7 @@ default-package-overrides:
|
||||
- atom-basic ==0.2.5
|
||||
- atomic-primops ==0.8.3
|
||||
- atomic-write ==0.2.0.6
|
||||
- attoparsec ==0.13.2.2
|
||||
- attoparsec ==0.13.2.3
|
||||
- attoparsec-base64 ==0.0.0
|
||||
- attoparsec-binary ==0.2
|
||||
- attoparsec-expr ==0.1.1.2
|
||||
@ -275,8 +275,8 @@ default-package-overrides:
|
||||
- cased ==0.1.0.0
|
||||
- case-insensitive ==1.2.0.11
|
||||
- cases ==0.1.3.2
|
||||
- casing ==0.1.4.0
|
||||
- cassava ==0.5.1.0
|
||||
- casing ==0.1.4.1
|
||||
- cassava ==0.5.2.0
|
||||
- cassava-conduit ==0.5.1
|
||||
- cassava-megaparsec ==2.0.0
|
||||
- cassava-records ==0.1.0.4
|
||||
@ -304,7 +304,7 @@ default-package-overrides:
|
||||
- cheapskate-highlight ==0.1.0.0
|
||||
- cheapskate-lucid ==0.1.0.0
|
||||
- check-email ==1.0.2
|
||||
- checkers ==0.5.0
|
||||
- checkers ==0.5.2
|
||||
- checksum ==0.0
|
||||
- chimera ==0.2.0.0
|
||||
- choice ==0.2.2
|
||||
@ -383,7 +383,7 @@ default-package-overrides:
|
||||
- configurator ==0.3.0.0
|
||||
- configurator-export ==0.1.0.1
|
||||
- configurator-pg ==0.1.0.3
|
||||
- connection ==0.3.0
|
||||
- connection ==0.3.1
|
||||
- connection-pool ==0.2.2
|
||||
- console-style ==0.0.2.1
|
||||
- constraint ==0.1.3.0
|
||||
@ -412,7 +412,7 @@ default-package-overrides:
|
||||
- crackNum ==2.3
|
||||
- crc32c ==0.0.0
|
||||
- credential-store ==0.1.2
|
||||
- criterion ==1.5.5.0
|
||||
- criterion ==1.5.6.0
|
||||
- criterion-measurement ==0.1.2.0
|
||||
- cron ==0.6.1
|
||||
- crypto-api ==0.13.3
|
||||
@ -538,7 +538,7 @@ default-package-overrides:
|
||||
- disk-free-space ==0.1.0.1
|
||||
- distributed-closure ==0.4.1.1
|
||||
- distribution-opensuse ==1.1.1
|
||||
- distributive ==0.6
|
||||
- distributive ==0.6.1
|
||||
- dl-fedora ==0.5
|
||||
- dlist ==0.8.0.7
|
||||
- dlist-instances ==0.1.1.1
|
||||
@ -596,10 +596,10 @@ default-package-overrides:
|
||||
- elm-street ==0.0.1
|
||||
- emacs-module ==0.1.1
|
||||
- email-validate ==2.3.2.11
|
||||
- emd ==0.1.4.0
|
||||
- emd ==0.1.5.1
|
||||
- enclosed-exceptions ==1.0.3
|
||||
- ENIG ==0.0.1.0
|
||||
- entropy ==0.4.1.4
|
||||
- entropy ==0.4.1.5
|
||||
- enummapset ==0.6.0.2
|
||||
- enumset ==0.0.5
|
||||
- enum-subset-generate ==0.1.0.0
|
||||
@ -648,7 +648,7 @@ default-package-overrides:
|
||||
- farmhash ==0.1.0.5
|
||||
- fast-builder ==0.1.1.0
|
||||
- fast-digits ==0.2.1.0
|
||||
- fast-logger ==2.4.16
|
||||
- fast-logger ==2.4.17
|
||||
- fast-math ==1.0.2
|
||||
- fb ==2.0.0
|
||||
- fclabels ==2.0.3.3
|
||||
@ -708,7 +708,7 @@ default-package-overrides:
|
||||
- forma ==1.1.2
|
||||
- format-numbers ==0.1.0.0
|
||||
- formatting ==6.3.7
|
||||
- foundation ==0.0.24
|
||||
- foundation ==0.0.25
|
||||
- free ==5.1.2
|
||||
- freenect ==1.2.1
|
||||
- freer-simple ==1.2.1.0
|
||||
@ -724,12 +724,12 @@ default-package-overrides:
|
||||
- function-builder ==0.3.0.1
|
||||
- functor-classes-compat ==1
|
||||
- functor-combinators ==0.1.1.1
|
||||
- fused-effects ==0.5.0.0
|
||||
- fused-effects ==0.5.0.1
|
||||
- fuzzcheck ==0.1.1
|
||||
- fuzzy-dates ==0.1.1.1
|
||||
- fuzzyset ==0.1.1
|
||||
- galois-field ==0.3.0
|
||||
- gauge ==0.2.4
|
||||
- gauge ==0.2.5
|
||||
- gc ==0.0.3
|
||||
- gd ==3000.7.3
|
||||
- gdp ==0.0.0.2
|
||||
@ -764,7 +764,7 @@ default-package-overrides:
|
||||
- genvalidity-uuid ==0.1.0.2
|
||||
- genvalidity-vector ==0.3.0.0
|
||||
- geojson ==4.0.1
|
||||
- getopt-generics ==0.13.0.3
|
||||
- getopt-generics ==0.13.0.4
|
||||
- ghc-compact ==0.1.0.0
|
||||
- ghc-core ==0.5.6
|
||||
- ghc-exactprint ==0.6.1
|
||||
@ -796,7 +796,7 @@ default-package-overrides:
|
||||
- ginger ==0.9.1.0
|
||||
- gingersnap ==0.3.1.0
|
||||
- gi-pango ==1.0.22
|
||||
- githash ==0.1.3.1
|
||||
- githash ==0.1.3.2
|
||||
- github-release ==1.2.4
|
||||
- github-types ==0.2.1
|
||||
- github-webhooks ==0.10.1
|
||||
@ -845,14 +845,14 @@ default-package-overrides:
|
||||
- hackage-db ==2.0.1
|
||||
- hackage-security ==0.5.3.0
|
||||
- haddock-library ==1.7.0
|
||||
- hadolint ==1.17.1
|
||||
- hadolint ==1.17.2
|
||||
- half ==0.3
|
||||
- hamilton ==0.1.0.3
|
||||
- hamtsolo ==1.0.3
|
||||
- HandsomeSoup ==0.4.2
|
||||
- hapistrano ==0.3.9.3
|
||||
- happy ==1.19.11
|
||||
- hasbolt ==0.1.3.4
|
||||
- happy ==1.19.12
|
||||
- hasbolt ==0.1.3.5
|
||||
- hashable ==1.2.7.0
|
||||
- hashable-time ==0.2.0.2
|
||||
- hashids ==1.0.2.4
|
||||
@ -863,14 +863,14 @@ default-package-overrides:
|
||||
- haskell-gi-base ==0.23.0
|
||||
- haskell-gi-overloading ==1.0
|
||||
- haskell-lexer ==1.0.2
|
||||
- haskell-lsp ==0.15.0.0
|
||||
- haskell-lsp-types ==0.15.0.0
|
||||
- haskell-lsp ==0.15.0.1
|
||||
- haskell-lsp-types ==0.15.0.1
|
||||
- haskell-names ==0.9.6
|
||||
- haskell-spacegoo ==0.2.0.1
|
||||
- haskell-src ==1.0.3.0
|
||||
- haskell-src-exts ==1.21.0
|
||||
- haskell-src-exts ==1.21.1
|
||||
- haskell-src-exts-util ==0.2.5
|
||||
- haskell-src-meta ==0.8.2
|
||||
- haskell-src-meta ==0.8.3
|
||||
- haskey-btree ==0.3.0.1
|
||||
- haskintex ==0.8.0.0
|
||||
- haskoin-core ==0.9.0
|
||||
@ -893,7 +893,7 @@ default-package-overrides:
|
||||
- hedgehog ==1.0
|
||||
- hedgehog-corpus ==0.1.0
|
||||
- hedgehog-fn ==1.0
|
||||
- hedis ==0.12.7
|
||||
- hedis ==0.12.8
|
||||
- hedn ==0.2.0.1
|
||||
- here ==1.2.13
|
||||
- heredoc ==0.2.0.0
|
||||
@ -1094,7 +1094,7 @@ default-package-overrides:
|
||||
- inline-r ==0.10.2
|
||||
- inliterate ==0.1.0
|
||||
- insert-ordered-containers ==0.2.2
|
||||
- inspection-testing ==0.4.2.1
|
||||
- inspection-testing ==0.4.2.2
|
||||
- instance-control ==0.1.2.0
|
||||
- int-cast ==0.2.0.0
|
||||
- integer-logarithms ==1.0.3
|
||||
@ -1164,7 +1164,7 @@ default-package-overrides:
|
||||
- kdt ==0.2.4
|
||||
- keycode ==0.2.2
|
||||
- keys ==3.12.2
|
||||
- kind-apply ==0.3.1.0
|
||||
- kind-apply ==0.3.2.0
|
||||
- kind-generics ==0.3.0.0
|
||||
- kind-generics-th ==0.1.1.0
|
||||
- kleene ==0.1
|
||||
@ -1276,11 +1276,11 @@ default-package-overrides:
|
||||
- markdown ==0.1.17.4
|
||||
- markdown-unlit ==0.5.0
|
||||
- markov-chain ==0.0.3.4
|
||||
- massiv ==0.4.0.0
|
||||
- massiv ==0.4.1.0
|
||||
- massiv-io ==0.1.6.0
|
||||
- massiv-test ==0.1.0
|
||||
- mathexpr ==0.3.0.0
|
||||
- math-functions ==0.3.1.0
|
||||
- math-functions ==0.3.2.0
|
||||
- matplotlib ==0.7.4
|
||||
- matrices ==0.5.0
|
||||
- matrix ==0.3.6.1
|
||||
@ -1329,6 +1329,7 @@ default-package-overrides:
|
||||
- missing-foreign ==0.1.1
|
||||
- MissingH ==1.4.1.0
|
||||
- mixed-types-num ==0.4.0.1
|
||||
- mixpanel-client ==0.2.1
|
||||
- mltool ==0.2.0.1
|
||||
- mmap ==0.5.9
|
||||
- mmark ==0.0.7.1
|
||||
@ -1376,7 +1377,7 @@ default-package-overrides:
|
||||
- mono-traversable-keys ==0.1.0
|
||||
- more-containers ==0.2.1.2
|
||||
- mountpoints ==1.0.2
|
||||
- mpi-hs ==0.5.1.2
|
||||
- mpi-hs ==0.5.3.0
|
||||
- msgpack ==1.0.1.0
|
||||
- msgpack-aeson ==0.1.0.0
|
||||
- mtl ==2.2.2
|
||||
@ -1469,7 +1470,7 @@ default-package-overrides:
|
||||
- oblivious-transfer ==0.1.0
|
||||
- odbc ==0.2.2
|
||||
- oeis ==0.3.9
|
||||
- oeis2 ==1.0.2
|
||||
- oeis2 ==1.0.3
|
||||
- ofx ==0.4.2.0
|
||||
- old-locale ==1.0.0.7
|
||||
- old-time ==1.1.0.3
|
||||
@ -1590,7 +1591,7 @@ default-package-overrides:
|
||||
- pipes-network-tls ==0.3
|
||||
- pipes-parse ==3.0.8
|
||||
- pipes-random ==1.0.0.5
|
||||
- pipes-safe ==2.3.1
|
||||
- pipes-safe ==2.3.2
|
||||
- pipes-wai ==3.2.0
|
||||
- pkcs10 ==0.2.0.0
|
||||
- placeholders ==0.1
|
||||
@ -1605,7 +1606,7 @@ default-package-overrides:
|
||||
- polynomials-bernstein ==1.1.2
|
||||
- polyparse ==1.12.1
|
||||
- polysemy ==1.0.0.0
|
||||
- polysemy-plugin ==0.2.2.0
|
||||
- polysemy-plugin ==0.2.3.0
|
||||
- polysemy-zoo ==0.5.0.1
|
||||
- pooled-io ==0.0.2.2
|
||||
- port-utils ==0.2.1.0
|
||||
@ -1676,9 +1677,10 @@ default-package-overrides:
|
||||
- psqueues ==0.2.7.2
|
||||
- pureMD5 ==2.1.3
|
||||
- purescript-bridge ==0.13.0.0
|
||||
- pure-zlib ==0.6.4
|
||||
- pure-zlib ==0.6.6
|
||||
- pushbullet-types ==0.4.1.0
|
||||
- pusher-http-haskell ==1.5.1.9
|
||||
- PyF ==0.8.1.0
|
||||
- qchas ==1.1.0.1
|
||||
- qm-interpolated-string ==0.3.0.0
|
||||
- qnap-decrypt ==0.3.5
|
||||
@ -1720,7 +1722,7 @@ default-package-overrides:
|
||||
- ratel ==1.0.8
|
||||
- ratel-wai ==1.1.0
|
||||
- rattle ==0.1
|
||||
- rattletrap ==9.0.1
|
||||
- rattletrap ==9.0.2
|
||||
- rawfilepath ==0.2.4
|
||||
- rawstring-qm ==0.2.3.0
|
||||
- raw-strings-qq ==1.1
|
||||
@ -1731,7 +1733,7 @@ default-package-overrides:
|
||||
- read-editor ==0.1.0.2
|
||||
- read-env-var ==1.0.0.0
|
||||
- reanimate ==0.1.5.0
|
||||
- reanimate-svg ==0.9.0.1
|
||||
- reanimate-svg ==0.9.1.0
|
||||
- rebase ==1.3.1.1
|
||||
- record-dot-preprocessor ==0.2
|
||||
- record-hasfield ==1.0
|
||||
@ -1827,7 +1829,7 @@ default-package-overrides:
|
||||
- scanner ==0.3
|
||||
- scheduler ==1.4.2
|
||||
- scientific ==0.3.6.2
|
||||
- scotty ==0.11.4
|
||||
- scotty ==0.11.5
|
||||
- scrypt ==0.5.0
|
||||
- sdl2 ==2.5.0.0
|
||||
- sdl2-gfx ==0.2
|
||||
@ -1873,13 +1875,12 @@ default-package-overrides:
|
||||
- servant-http-streams ==0.16
|
||||
- servant-js ==0.9.4
|
||||
- servant-JuicyPixels ==0.3.0.4
|
||||
- servant-kotlin ==0.1.1.8
|
||||
- servant-kotlin ==0.1.1.9
|
||||
- servant-lucid ==0.9
|
||||
- servant-machines ==0.15
|
||||
- servant-mock ==0.8.5
|
||||
- servant-multipart ==0.11.4
|
||||
- servant-pipes ==0.15
|
||||
- servant-rawm ==0.3.1.0
|
||||
- servant-ruby ==0.9.0.0
|
||||
- servant-server ==0.16.2
|
||||
- servant-static-th ==0.2.2.0
|
||||
@ -1901,7 +1902,7 @@ default-package-overrides:
|
||||
- sexpr-parser ==0.1.1.2
|
||||
- SHA ==1.6.4.4
|
||||
- shake-language-c ==0.12.0
|
||||
- shakespeare ==2.0.20
|
||||
- shakespeare ==2.0.21
|
||||
- shared-memory ==0.2.0.0
|
||||
- shell-conduit ==4.7.0
|
||||
- shell-escape ==0.2.0
|
||||
@ -2117,7 +2118,7 @@ default-package-overrides:
|
||||
- text-region ==0.3.1.0
|
||||
- text-short ==0.1.3
|
||||
- text-show ==3.8.2
|
||||
- text-show-instances ==3.8.1
|
||||
- text-show-instances ==3.8.2
|
||||
- text-zipper ==0.10.1
|
||||
- tfp ==1.0.1.1
|
||||
- tf-random ==0.5
|
||||
@ -2130,7 +2131,7 @@ default-package-overrides:
|
||||
- th-lift ==0.8.0.1
|
||||
- th-lift-instances ==0.1.14
|
||||
- th-nowq ==0.1.0.3
|
||||
- th-orphans ==0.13.7
|
||||
- th-orphans ==0.13.8
|
||||
- th-printf ==0.6.0
|
||||
- thread-hierarchy ==0.3.0.1
|
||||
- thread-local-storage ==0.2
|
||||
@ -2306,9 +2307,9 @@ default-package-overrides:
|
||||
- vector-split ==1.0.0.2
|
||||
- vector-th-unbox ==0.2.1.6
|
||||
- verbosity ==0.3.0.0
|
||||
- versions ==3.5.1
|
||||
- versions ==3.5.1.1
|
||||
- ViennaRNAParser ==1.3.3
|
||||
- viewprof ==0.0.0.28
|
||||
- viewprof ==0.0.0.29
|
||||
- vinyl ==0.11.0
|
||||
- vivid ==0.4.2.3
|
||||
- vivid-osc ==0.5.0.0
|
||||
@ -2363,7 +2364,7 @@ default-package-overrides:
|
||||
- windns ==0.1.0.1
|
||||
- winery ==1.1.2
|
||||
- wire-streams ==0.1.1.0
|
||||
- witherable ==0.3.2
|
||||
- witherable ==0.3.3
|
||||
- with-location ==0.1.0
|
||||
- witness ==0.4
|
||||
- wizards ==1.0.3
|
||||
@ -2406,7 +2407,7 @@ default-package-overrides:
|
||||
- xml-conduit-parse ==0.3.1.2
|
||||
- xml-conduit-writer ==0.1.1.2
|
||||
- xmlgen ==0.6.2.2
|
||||
- xml-hamlet ==0.5.0
|
||||
- xml-hamlet ==0.5.0.1
|
||||
- xml-html-qq ==0.1.0.1
|
||||
- xml-indexed-cursor ==0.1.1.0
|
||||
- xml-isogen ==0.3.0
|
||||
@ -2430,7 +2431,7 @@ default-package-overrides:
|
||||
- yesod-auth-hashdb ==1.7.1.1
|
||||
- yesod-auth-oauth2 ==0.6.1.2
|
||||
- yesod-bin ==1.6.0.3
|
||||
- yesod-core ==1.6.16
|
||||
- yesod-core ==1.6.16.1
|
||||
- yesod-csp ==0.2.5.0
|
||||
- yesod-eventsource ==1.6.0
|
||||
- yesod-fb ==0.5.0
|
||||
@ -5826,6 +5827,7 @@ broken-packages:
|
||||
- hiccup
|
||||
- hichi
|
||||
- hid-examples
|
||||
- hie-core
|
||||
- hieraclus
|
||||
- hierarchical-clustering
|
||||
- hierarchical-clustering-diagrams
|
||||
@ -8773,6 +8775,7 @@ broken-packages:
|
||||
- seqloc
|
||||
- seqloc-datafiles
|
||||
- sequence-formats
|
||||
- sequenceTools
|
||||
- sequent-core
|
||||
- sequor
|
||||
- serialize-instances
|
||||
|
@ -44,7 +44,7 @@ in
|
||||
);
|
||||
|
||||
tensorflow-proto = super.tensorflow-proto.override {
|
||||
inherit proto-lens proto-lens-protoc proto-lens-protobuf-types;
|
||||
inherit proto-lens proto-lens-protobuf-types;
|
||||
};
|
||||
tensorflow = super.tensorflow.override {
|
||||
inherit mainland-pretty proto-lens;
|
||||
|
1882
pkgs/development/haskell-modules/hackage-packages.nix
generated
1882
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -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;
|
||||
|
||||
|
@ -88,8 +88,9 @@ in rec {
|
||||
};
|
||||
} ./setuptools-check-hook.sh) {};
|
||||
|
||||
wheelUnpackHook = callPackage ({ }:
|
||||
wheelUnpackHook = callPackage ({ wheel }:
|
||||
makeSetupHook {
|
||||
name = "wheel-unpack-hook.sh";
|
||||
deps = [ wheel ];
|
||||
} ./wheel-unpack-hook.sh) {};
|
||||
}
|
||||
|
@ -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
|
||||
];
|
||||
|
||||
|
23
pkgs/development/libraries/libipt/default.nix
Normal file
23
pkgs/development/libraries/libipt/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libipt";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "libipt";
|
||||
rev = "v${version}";
|
||||
sha256 = "19y1lk5z1rf8xmr08m8zrpjkgr5as83b96xyaxwn67m2wz58mpmh";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Intel Processor Trace decoder library";
|
||||
homepage = https://github.com/intel/libipt;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
};
|
||||
}
|
@ -4,14 +4,15 @@
|
||||
}:
|
||||
|
||||
let
|
||||
mainVersion = "5.1";
|
||||
mainVersion = "5.1.2";
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "libktorrent-2.1";
|
||||
pname = "libktorrent";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/ktorrent/${mainVersion}/${name}.tar.xz";
|
||||
sha256 = "0vz2dwc4xd80q56g6r5bx5wqdl9fxcibxmw2irahqhbkxk7drvry";
|
||||
url = "mirror://kde/stable/ktorrent/${mainVersion}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0051zh8bb4p9wmcfn5ql987brhsaiw9880xdck7b5dm1a05mri2w";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
@ -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 ]
|
||||
|
@ -51,8 +51,12 @@ qtModule {
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE =
|
||||
# with gcc7 this warning blows the log over Hydra's limit
|
||||
[ "-Wno-expansion-to-defined" ]
|
||||
[
|
||||
# with gcc7 this warning blows the log over Hydra's limit
|
||||
"-Wno-expansion-to-defined"
|
||||
# with gcc8, -Wclass-memaccess became part of -Wall and this too exceeds the logging limit
|
||||
"-Wno-class-memaccess"
|
||||
]
|
||||
# with clang this warning blows the log over Hydra's limit
|
||||
++ optional stdenv.isDarwin "-Wno-inconsistent-missing-override"
|
||||
++ optionals flashplayerFix
|
||||
|
@ -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, libmysqlclient, 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=${libmysqlclient}"
|
||||
"-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";
|
||||
};
|
||||
}
|
||||
|
@ -37,7 +37,5 @@ let
|
||||
};
|
||||
};
|
||||
in {
|
||||
# xapian-ruby needs 1.2.22 as of 2017-05-06
|
||||
xapian_1_2_22 = generic "1.2.22" "0zsji22n0s7cdnbgj0kpil05a6bgm5cfv0mvx12d8ydg7z58g6r6";
|
||||
xapian_1_4 = generic "1.4.12" "0z5c1y9vp519h2x2igjq39v6j615nppry0wasd0xn4hphgd3d2jg";
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
@ -6,6 +6,10 @@
|
||||
which, makeWrapper, writeText
|
||||
}:
|
||||
|
||||
if stdenv.lib.versionAtLeast core_kernel.version "0.12"
|
||||
then throw "BAP needs core_kernel-0.11 (hence OCaml ≤ 4.06)"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-bap-${version}";
|
||||
version = "1.6.0";
|
||||
|
@ -1,22 +1,22 @@
|
||||
{ lib, fetchFromGitHub, buildDunePackage
|
||||
, core, lwt ? ocaml_lwt, ocaml_lwt, ocamlgraph, rresult, tyxml
|
||||
, base64, bos, core, lwt_react, ocamlgraph, rresult, tyxml
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "bistro";
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pveber";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0bxnggm4nkyl2iqwj4f5afw8lj5miq2rqsc9qfrlmg4g4rr3zh1c";
|
||||
sha256 = "114gq48cpj2mvycypa9lfyqqb26wa2gkdfwkcqhnx7m6sdwv9a38";
|
||||
};
|
||||
|
||||
buildInputs = [ lwt ocamlgraph rresult tyxml ];
|
||||
buildInputs = [ base64 bos lwt_react ocamlgraph rresult tyxml ];
|
||||
|
||||
propagatedBuildInputs = [ core ];
|
||||
|
||||
minimumOCamlVersion = "4.04";
|
||||
minimumOCamlVersion = "4.07";
|
||||
|
||||
meta = {
|
||||
inherit (src.meta) homepage;
|
||||
|
466
pkgs/development/ocaml-modules/janestreet/0.12.nix
Normal file
466
pkgs/development/ocaml-modules/janestreet/0.12.nix
Normal file
@ -0,0 +1,466 @@
|
||||
{ janePackage
|
||||
, ctypes
|
||||
, num
|
||||
, octavius
|
||||
, ppxlib
|
||||
, re
|
||||
, openssl
|
||||
}:
|
||||
|
||||
rec {
|
||||
|
||||
ocaml-compiler-libs = janePackage {
|
||||
pname = "ocaml-compiler-libs";
|
||||
hash = "0g9y1ljjsj1nw0lz460ivb6qmz9vhcmfl8krlmqfrni6pc7b0r6f";
|
||||
meta.description = "OCaml compiler libraries repackaged";
|
||||
};
|
||||
|
||||
sexplib0 = janePackage {
|
||||
pname = "sexplib0";
|
||||
hash = "13xdd0pvypxqn0ldwdgikmlinrp3yfh8ixknv1xrpxbx3np4qp0g";
|
||||
meta.description = "Library containing the definition of S-expressions and some base converters";
|
||||
};
|
||||
|
||||
base = janePackage {
|
||||
pname = "base";
|
||||
version = "0.12.2";
|
||||
hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri";
|
||||
meta.description = "Full standard library replacement for OCaml";
|
||||
propagatedBuildInputs = [ sexplib0 ];
|
||||
};
|
||||
|
||||
stdio = janePackage {
|
||||
pname = "stdio";
|
||||
hash = "1pn8jjcb79n6crpw7dkp68s4lz2mw103lwmfslil66f05jsxhjhg";
|
||||
meta.description = "Standard IO library for OCaml";
|
||||
propagatedBuildInputs = [ base ];
|
||||
};
|
||||
|
||||
ppx_sexp_conv = janePackage {
|
||||
pname = "ppx_sexp_conv";
|
||||
hash = "0idzp1kzds0gnilschzs9ydi54if8y5xpn6ajn710vkipq26qcld";
|
||||
meta.description = "[@@deriving] plugin to generate S-expression conversion functions";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
ppx_here = janePackage {
|
||||
pname = "ppx_here";
|
||||
hash = "07qbchwif1i9ii8z7v1bib57d3mjv0b27i8iixw78i83wnsycmdx";
|
||||
meta.description = "Expands [%here] into its location";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
ppx_compare = janePackage {
|
||||
pname = "ppx_compare";
|
||||
hash = "0n1ax4k2smhps9hc2v58lc06a0fgimwvbi1aj4x78vwh5j492bys";
|
||||
meta.description = "Generation of comparison functions from types";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
ppx_assert = janePackage {
|
||||
pname = "ppx_assert";
|
||||
hash = "0as6mzr6ki2a9d4k6132p9dskn0qssla1s7j5rkzp75bfikd0ip8";
|
||||
meta.description = "Assert-like extension nodes that raise useful errors on failure";
|
||||
propagatedBuildInputs = [ ppx_compare ppx_here ppx_sexp_conv ];
|
||||
};
|
||||
|
||||
ppx_inline_test = janePackage {
|
||||
pname = "ppx_inline_test";
|
||||
hash = "0nyz411zim94pzbxm2l2v2l9jishcxwvxhh142792g2s18r4vn50";
|
||||
meta.description = "Syntax extension for writing in-line tests in ocaml code";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
ppx_custom_printf = janePackage {
|
||||
pname = "ppx_custom_printf";
|
||||
version = "0.12.1";
|
||||
hash = "0q7591agvd3qy9ihhbyk4db48r0ng7yxspfj8afxxiawl7k5bas6";
|
||||
meta.description = "Printf-style format-strings for user-defined string conversion";
|
||||
propagatedBuildInputs = [ ppx_sexp_conv ];
|
||||
};
|
||||
|
||||
fieldslib = janePackage {
|
||||
pname = "fieldslib";
|
||||
hash = "0dlgr7cimqmjlcymk3bdcyzqzvdy12q5lqa844nqix0k2ymhyphf";
|
||||
meta.description = "Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values";
|
||||
propagatedBuildInputs = [ base ];
|
||||
};
|
||||
|
||||
ppx_fields_conv = janePackage {
|
||||
pname = "ppx_fields_conv";
|
||||
hash = "0flrdyxdfcqcmdrbipxdjq0s3djdgs7z5pvjdycsvs6czbixz70v";
|
||||
meta.description = "Generation of accessor and iteration functions for ocaml records";
|
||||
propagatedBuildInputs = [ fieldslib ppxlib ];
|
||||
};
|
||||
|
||||
variantslib = janePackage {
|
||||
pname = "variantslib";
|
||||
hash = "1cclb5magk63gyqmkci8abhs05g2pyhyr60a2c1bvmig0faqcnsf";
|
||||
meta.description = "Part of Jane Street's Core library";
|
||||
propagatedBuildInputs = [ base ];
|
||||
};
|
||||
|
||||
ppx_variants_conv = janePackage {
|
||||
pname = "ppx_variants_conv";
|
||||
hash = "05j9bgra8xq6fcp12ch3z9vjrk139p2wrcjjcs4h52n5hhc8vzbz";
|
||||
meta.description = "Generation of accessor and iteration functions for ocaml variant types";
|
||||
propagatedBuildInputs = [ variantslib ppxlib ];
|
||||
};
|
||||
|
||||
ppx_expect = janePackage {
|
||||
pname = "ppx_expect";
|
||||
hash = "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q";
|
||||
meta.description = "Cram like framework for OCaml";
|
||||
propagatedBuildInputs = [ ppx_assert ppx_custom_printf ppx_fields_conv ppx_inline_test ppx_variants_conv re ];
|
||||
};
|
||||
|
||||
ppx_enumerate = janePackage {
|
||||
pname = "ppx_enumerate";
|
||||
hash = "08zfpq6bdm5lh7xj9k72iz9f2ihv3aznl3nypw3x78vz1chj8dqa";
|
||||
meta.description = "Generate a list containing all values of a finite type";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
ppx_hash = janePackage {
|
||||
pname = "ppx_hash";
|
||||
hash = "1dfsfvhiyp1mnf24mr93svpdn432kla0y7x631lssacxxp2sadbg";
|
||||
meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions";
|
||||
propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ];
|
||||
};
|
||||
|
||||
ppx_js_style = janePackage {
|
||||
pname = "ppx_js_style";
|
||||
hash = "1lz931m3qdv3yzqy6dnb8fq1d99r61w0n7cwf3b9fl9rhk0pggwh";
|
||||
meta.description = "Code style checker for Jane Street Packages";
|
||||
propagatedBuildInputs = [ octavius ppxlib ];
|
||||
};
|
||||
|
||||
ppx_base = janePackage {
|
||||
pname = "ppx_base";
|
||||
hash = "0vd96rp2l084iamkwmvizzhl9625cagjb6gzzbir06czii5mlq2p";
|
||||
meta.description = "Base set of ppx rewriters";
|
||||
propagatedBuildInputs = [ ppx_enumerate ppx_hash ppx_js_style ];
|
||||
};
|
||||
|
||||
ppx_bench = janePackage {
|
||||
pname = "ppx_bench";
|
||||
hash = "1ib81irawxzq091bmpi50z0kmpx6z2drg14k2xcgmwbb1d4063xn";
|
||||
meta.description = "Syntax extension for writing in-line benchmarks in ocaml code";
|
||||
propagatedBuildInputs = [ ppx_inline_test ];
|
||||
};
|
||||
|
||||
ppx_sexp_message = janePackage {
|
||||
pname = "ppx_sexp_message";
|
||||
hash = "0yskd6v48jc6wa0nhg685kylh1n9qb6b7d1wglr9wnhl9sw990mc";
|
||||
meta.description = "A ppx rewriter for easy construction of s-expressions";
|
||||
propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
|
||||
};
|
||||
|
||||
splittable_random = janePackage {
|
||||
pname = "splittable_random";
|
||||
hash = "1wpyz7807cgj8b50gdx4rw6f1zsznp4ni5lzjbnqdwa66na6ynr4";
|
||||
meta.description = "PRNG that can be split into independent streams";
|
||||
propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ];
|
||||
};
|
||||
|
||||
ppx_let = janePackage {
|
||||
pname = "ppx_let";
|
||||
hash = "146dmyzkbmafa3giz69gpxccvdihg19cvk4xsg8krbbmlkvdda22";
|
||||
meta.description = "Monadic let-bindings";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
base_quickcheck = janePackage {
|
||||
pname = "base_quickcheck";
|
||||
hash = "1la6qgq1zwmfyq1hqy6i337w435ym5yqgx2ygk86qip6nws0s6r3";
|
||||
meta.description = "Randomized testing framework, designed for compatibility with Base";
|
||||
propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let splittable_random ];
|
||||
};
|
||||
|
||||
ppx_stable = janePackage {
|
||||
pname = "ppx_stable";
|
||||
hash = "15zvf66wlkvz0yd4bkvndkpq74dj20jv1qkljp9n52hh7d0f9ykh";
|
||||
meta.description = "Stable types conversions generator";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
bin_prot = janePackage {
|
||||
pname = "bin_prot";
|
||||
hash = "0hh6s7g9s004z35hsr8z6nw5phlcvcd6g2q3bj4f0s1s0anlsswm";
|
||||
meta.description = "A binary protocol generator";
|
||||
propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
|
||||
};
|
||||
|
||||
ppx_bin_prot = janePackage {
|
||||
pname = "ppx_bin_prot";
|
||||
version = "0.12.1";
|
||||
hash = "1j0kjgmv58dmg3x5dj5zrfbm920rwq21lvkkaqq493y76cd0x8xg";
|
||||
meta.description = "Generation of bin_prot readers and writers from types";
|
||||
propagatedBuildInputs = [ bin_prot ppx_here ];
|
||||
};
|
||||
|
||||
ppx_fail = janePackage {
|
||||
pname = "ppx_fail";
|
||||
hash = "0krsv6z9gi0ifxmw5ss6gwn108qhywyhbs41an10x9d5zpgf4l1n";
|
||||
meta.description = "Add location to calls to failwiths";
|
||||
propagatedBuildInputs = [ ppx_here ];
|
||||
};
|
||||
|
||||
jst-config = janePackage {
|
||||
pname = "jst-config";
|
||||
hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93";
|
||||
meta.description = "Compile-time configuration for Jane Street libraries";
|
||||
buildInputs = [ ppx_assert ];
|
||||
};
|
||||
|
||||
ppx_optcomp = janePackage {
|
||||
pname = "ppx_optcomp";
|
||||
hash = "0bdbx01kz0174g1szdhv3mcfqxqqf2frxq7hk13xaf6fsz04kwmj";
|
||||
meta.description = "Optional compilation for OCaml";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
jane-street-headers = janePackage {
|
||||
pname = "jane-street-headers";
|
||||
hash = "0qa4llf812rjqa8nb63snmy8d8ny91p3anwhb50afb7vjaby8m34";
|
||||
meta.description = "Jane Street C header files";
|
||||
};
|
||||
|
||||
time_now = janePackage {
|
||||
pname = "time_now";
|
||||
hash = "169mgsb3rja4j1j9nj5xa7bbkd21p9kfpskqz0wjf9x2fpxqsniq";
|
||||
meta.description = "Reports the current time";
|
||||
buildInputs = [ jst-config ppx_optcomp ];
|
||||
propagatedBuildInputs = [ jane-street-headers base ppx_base ];
|
||||
};
|
||||
|
||||
ppx_module_timer = janePackage {
|
||||
pname = "ppx_module_timer";
|
||||
hash = "0yziakm7f4c894na76k1z4bp7azy82xc33mh36fj761w1j9zy3wm";
|
||||
meta.description = "Ppx rewriter that records top-level module startup times";
|
||||
propagatedBuildInputs = [ time_now ];
|
||||
};
|
||||
|
||||
ppx_optional = janePackage {
|
||||
pname = "ppx_optional";
|
||||
hash = "07i0iipbd5xw2bc604qkwlcxmhncfpm3xmrr6svyj2ij86pyssh8";
|
||||
meta.description = "Pattern matching on flat options";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
ppx_pipebang = janePackage {
|
||||
pname = "ppx_pipebang";
|
||||
hash = "1p4pdpl8h2bblbhpn5nk17ri4rxpz0aih0gffg3cl1186irkj0xj";
|
||||
meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
};
|
||||
|
||||
ppx_sexp_value = janePackage {
|
||||
pname = "ppx_sexp_value";
|
||||
hash = "1mg81834a6dx1x7x9zb9wc58438cabjjw08yhkx6i386hxfy891p";
|
||||
meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values";
|
||||
propagatedBuildInputs = [ ppx_here ppx_sexp_conv ];
|
||||
};
|
||||
|
||||
typerep = janePackage {
|
||||
pname = "typerep";
|
||||
hash = "1psl6gsk06a62szh60y5sc1s92xpmrl1wpw3rhha09v884b7arbc";
|
||||
meta.description = "Typerep is a library for runtime types";
|
||||
propagatedBuildInputs = [ base ];
|
||||
};
|
||||
|
||||
ppx_typerep_conv = janePackage {
|
||||
pname = "ppx_typerep_conv";
|
||||
hash = "09vik6qma1id44k8nz87y48l9wbjhqhap1ar1hpfdfkjai1hrzzq";
|
||||
meta.description = "Generation of runtime types from type declarations";
|
||||
propagatedBuildInputs = [ ppxlib typerep ];
|
||||
};
|
||||
|
||||
ppx_jane = janePackage {
|
||||
pname = "ppx_jane";
|
||||
hash = "1a2602isqzsh640q20qbmarx0sc316mlsqc3i25ysv2kdyhh0kyw";
|
||||
meta.description = "Standard Jane Street ppx rewriters";
|
||||
propagatedBuildInputs = [ base_quickcheck ppx_bench ppx_bin_prot ppx_expect ppx_fail ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_sexp_value ppx_stable ppx_typerep_conv ];
|
||||
};
|
||||
|
||||
base_bigstring = janePackage {
|
||||
pname = "base_bigstring";
|
||||
hash = "0rbgyg511847fbnxad40prz2dyp4da6sffzyzl88j18cxqxbh1by";
|
||||
meta.description = "String type based on [Bigarray], for use in I/O and C-bindings";
|
||||
propagatedBuildInputs = [ ppx_jane ];
|
||||
};
|
||||
|
||||
parsexp = janePackage {
|
||||
pname = "parsexp";
|
||||
hash = "1974i9s2c2n03iffxrm6ncwbd2gg6j6avz5jsxfd35scc2zxcd4l";
|
||||
meta.description = "S-expression parsing library";
|
||||
propagatedBuildInputs = [ base sexplib0 ];
|
||||
};
|
||||
|
||||
sexplib = janePackage {
|
||||
pname = "sexplib";
|
||||
hash = "0780klc5nnv0ij6aklzra517cfnfkjdlp8ylwjrqwr8dl9rvxza2";
|
||||
meta.description = "Library for serializing OCaml values to and from S-expressions";
|
||||
propagatedBuildInputs = [ num parsexp ];
|
||||
};
|
||||
|
||||
core_kernel = janePackage {
|
||||
pname = "core_kernel";
|
||||
version = "0.12.2";
|
||||
hash = "0c85bjvadrb4pmjcg0gjk3bkkgka62r90pjm690mjvcbbv5zjxzj";
|
||||
meta.description = "System-independent part of Core";
|
||||
buildInputs = [ jst-config ];
|
||||
propagatedBuildInputs = [ base_bigstring sexplib ];
|
||||
};
|
||||
|
||||
spawn = janePackage {
|
||||
pname = "spawn";
|
||||
version = "0.13.0";
|
||||
hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf";
|
||||
meta.description = "Spawning sub-processes";
|
||||
buildInputs = [ ppx_expect ];
|
||||
};
|
||||
|
||||
core = janePackage {
|
||||
pname = "core";
|
||||
version = "0.12.3";
|
||||
hash = "1vmjqiafkg45hqfvahx6jnlaww1q4a4215k8znbgprf0qn3zymnj";
|
||||
meta.description = "System-independent part of Core";
|
||||
buildInputs = [ jst-config ];
|
||||
propagatedBuildInputs = [ core_kernel spawn ];
|
||||
};
|
||||
|
||||
async_kernel = janePackage {
|
||||
pname = "async_kernel";
|
||||
hash = "1d9illx7vvpblj1i2r9y0f2yff2fbhy3rp4hhvamq1n9n3lvxmh2";
|
||||
meta.description = "Monadic concurrency library";
|
||||
propagatedBuildInputs = [ core_kernel ];
|
||||
};
|
||||
|
||||
protocol_version_header = janePackage {
|
||||
pname = "protocol_version_header";
|
||||
hash = "14vqhx3r84rlfhcjq52gxdqksckiaswlck9s47g7y2z1lsc17v7r";
|
||||
meta.description = "Protocol versioning";
|
||||
propagatedBuildInputs = [ core_kernel ];
|
||||
};
|
||||
|
||||
async_rpc_kernel = janePackage {
|
||||
pname = "async_rpc_kernel";
|
||||
hash = "1znhqbzx4fp58i7dbcgyv5rx7difbhb5d8cbqzv96yqvbn67lsjk";
|
||||
meta.description = "Platform-independent core of Async RPC library";
|
||||
propagatedBuildInputs = [ async_kernel protocol_version_header ];
|
||||
};
|
||||
|
||||
async_unix = janePackage {
|
||||
pname = "async_unix";
|
||||
hash = "09h10rdyykbm88n6r9nb5a22mlb6vcxa04q6hvrcr0kys6qhhqmb";
|
||||
meta.description = "Monadic concurrency library";
|
||||
propagatedBuildInputs = [ async_kernel core ];
|
||||
};
|
||||
|
||||
async_extra = janePackage {
|
||||
pname = "async_extra";
|
||||
hash = "10j4mwlyqvf67yrp5dwd857llqjinpnnykmlzw2gpmks9azxk6mh";
|
||||
meta.description = "Monadic concurrency library";
|
||||
propagatedBuildInputs = [ async_rpc_kernel async_unix ];
|
||||
};
|
||||
|
||||
textutils = janePackage {
|
||||
pname = "textutils";
|
||||
hash = "0302awqihf3abib9mvzvn4g8m364hm6jxry1r3kc01hzybhy9acq";
|
||||
meta.description = "Text output utilities";
|
||||
propagatedBuildInputs = [ core ];
|
||||
};
|
||||
|
||||
async = janePackage {
|
||||
pname = "async";
|
||||
hash = "0pk7z3h2gi21nfchvmjz2wx516bynf9vgwf84zf5qhvlvqqsmyrx";
|
||||
meta.description = "Monadic concurrency library";
|
||||
propagatedBuildInputs = [ async_extra textutils ];
|
||||
};
|
||||
|
||||
async_ssl = janePackage {
|
||||
pname = "async_ssl";
|
||||
hash = "02ard8x5q5c42d9jdqmyzfx624yjq8cxxmvq3zb82hf6p8cc57ml";
|
||||
meta.description = "An Async-pipe-based interface with OpenSSL";
|
||||
propagatedBuildInputs = [ async ctypes openssl ];
|
||||
};
|
||||
|
||||
async_find = janePackage {
|
||||
pname = "async_find";
|
||||
hash = "0qsz9f15s5rlk6za10s810v6nlkdxg2g9p1827lcpa7nhjcpi673";
|
||||
meta.description = "Directory traversal with Async";
|
||||
propagatedBuildInputs = [ async ];
|
||||
};
|
||||
|
||||
re2 = janePackage {
|
||||
pname = "re2";
|
||||
hash = "1sw32lb0y501y971ij7287796lvfhs0nfgla895r74ymfks2rcjb";
|
||||
meta.description = "OCaml bindings for RE2, Google's regular expression library";
|
||||
propagatedBuildInputs = [ core_kernel ];
|
||||
};
|
||||
|
||||
shell = janePackage {
|
||||
pname = "shell";
|
||||
hash = "158857rdr6qgglc5iksg0l54jgf51b5lmsw7nlazpxwdwc9fcn5n";
|
||||
meta.description = "Yet another implementation of fork&exec and related functionality";
|
||||
buildInputs = [ jst-config ];
|
||||
propagatedBuildInputs = [ re2 textutils ];
|
||||
};
|
||||
|
||||
async_shell = janePackage {
|
||||
pname = "async_shell";
|
||||
hash = "0cxln9hkc3cy522la9yi9p23qjwl69kqmadsq4lnjh5bxdad06sv";
|
||||
meta.description = "Shell helpers for Async";
|
||||
propagatedBuildInputs = [ async shell ];
|
||||
};
|
||||
|
||||
core_bench = janePackage {
|
||||
pname = "core_bench";
|
||||
hash = "00hyzbbj19dkcw0vhfnc8w0ca3zkjriwwvl00ssa0a2g9mygijdm";
|
||||
meta.description = "Benchmarking library";
|
||||
propagatedBuildInputs = [ textutils ];
|
||||
};
|
||||
|
||||
core_extended = janePackage {
|
||||
pname = "core_extended";
|
||||
hash = "1gwx66235irpf5krb1r25a3c7w52qhmass8hp7rdv89il9jn49w4";
|
||||
meta.description = "Extra components that are not as closely vetted or as stable as Core";
|
||||
propagatedBuildInputs = [ core ];
|
||||
};
|
||||
|
||||
### Packages at version 0.11, with dependencies at version 0.12
|
||||
|
||||
configurator = janePackage {
|
||||
pname = "configurator";
|
||||
version = "0.11.0";
|
||||
hash = "0h686630cscav7pil8c3w0gbh6rj4b41dvbnwmicmlkc746q5bfk";
|
||||
propagatedBuildInputs = [ stdio ];
|
||||
meta.description = "Helper library for gathering system configuration";
|
||||
};
|
||||
|
||||
ppx_core = janePackage {
|
||||
pname = "ppx_core";
|
||||
version = "0.11.0";
|
||||
hash = "11hgm9mxig4cm3c827f6dns9mjv3pf8g6skf10x0gw9xnp1dmzmx";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
meta.description = "Deprecated (see ppxlib)";
|
||||
};
|
||||
|
||||
ppx_driver = janePackage {
|
||||
pname = "ppx_driver";
|
||||
version = "0.11.0";
|
||||
hash = "00kfx6js2kxk57k4v7hiqvwk7h35whgjihnxf75m82rnaf4yzvfi";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
meta.description = "Deprecated (see ppxlib)";
|
||||
};
|
||||
|
||||
ppx_type_conv = janePackage {
|
||||
pname = "ppx_type_conv";
|
||||
version = "0.11.0";
|
||||
hash = "04dbrglqqhkas25cpjz8xhjcbpk141c35qggzw66bn69izczfmaf";
|
||||
propagatedBuildInputs = [ ppxlib ];
|
||||
meta.description = "Deprecated (see ppxlib)";
|
||||
};
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }:
|
||||
|
||||
{ pname, version ? defaultVersion, hash, ...}@args:
|
||||
|
||||
buildDunePackage (args // {
|
||||
inherit version;
|
||||
|
||||
minimumOCamlVersion = "4.07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "janestreet";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = hash;
|
||||
};
|
||||
|
||||
meta.license = lib.licenses.mit;
|
||||
meta.homepage = "https://github.com/janestreet/${pname}";
|
||||
})
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, topkg
|
||||
, cpuid, ocb-stubblr, sexplib
|
||||
, cstruct, zarith, ppx_sexp_conv
|
||||
, cstruct, zarith, ppx_sexp_conv, ppx_deriving
|
||||
, cstruct-lwt ? null
|
||||
}:
|
||||
|
||||
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [ ocaml findlib ocamlbuild topkg cpuid ocb-stubblr ];
|
||||
propagatedBuildInputs = [ cstruct ppx_sexp_conv sexplib zarith ] ++ optional withLwt cstruct-lwt;
|
||||
propagatedBuildInputs = [ cstruct ppx_deriving ppx_sexp_conv sexplib zarith ] ++ optional withLwt cstruct-lwt;
|
||||
|
||||
buildPhase = "${topkg.buildPhase} --with-lwt ${boolToString withLwt}";
|
||||
inherit (topkg) installPhase;
|
||||
|
27
pkgs/development/ocaml-modules/rpclib/default.nix
Normal file
27
pkgs/development/ocaml-modules/rpclib/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ stdenv, fetchFromGitHub, buildDunePackage, alcotest, cmdliner, rresult, result, xmlm, yojson }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "rpclib";
|
||||
version = "5.9.0";
|
||||
|
||||
minimumOCamlVersion = "4.04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mirage";
|
||||
repo = "ocaml-rpc";
|
||||
rev = "v${version}";
|
||||
sha256 = "1swnnmmnkn53mxqpckdnd1j8bz0wksqznjbv0zamspxyqybmancq";
|
||||
};
|
||||
|
||||
buildInputs = [ alcotest cmdliner yojson ];
|
||||
propagatedBuildInputs = [ rresult result xmlm ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://github.com/mirage/ocaml-rpc";
|
||||
description = "Light library to deal with RPCs in OCaml";
|
||||
license = licenses.isc;
|
||||
maintainers = [ maintainers.vyorkin ];
|
||||
};
|
||||
}
|
33
pkgs/development/python-modules/aiohttp-swagger/default.nix
Normal file
33
pkgs/development/python-modules/aiohttp-swagger/default.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, aiohttp
|
||||
, flake8
|
||||
, jinja2
|
||||
, pytestCheckHook
|
||||
, pytest-aiohttp
|
||||
, pyyaml
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiohttp-swagger";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cr0hn";
|
||||
repo = pname;
|
||||
rev = "5a59e86f8c5672d2cc97dd35dc730c2f809d95ce"; # corresponds to 1.0.5 on PyPi, no tag on GitHub
|
||||
sha256 = "1vpfk5b3f7s9qzr2q48g776f39xzqppjwm57scfzqqmbldkk5nv7";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ aiohttp jinja2 pyyaml ];
|
||||
|
||||
checkInputs = [ flake8 pytestCheckHook pytest-aiohttp ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Swagger API Documentation builder for aiohttp";
|
||||
homepage = https://github.com/cr0hn/aiohttp-swagger;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ elohmeier ];
|
||||
};
|
||||
}
|
@ -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,20 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi, six, wcwidth, pytest, mock
|
||||
, glibcLocales }:
|
||||
{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, six
|
||||
, wcwidth, pytest, mock, glibcLocales
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
fixTestSuiteFailure_1 = fetchpatch {
|
||||
url = https://github.com/jquast/blessed/pull/108/commits/76a54d39b0f58bfc71af04ee143459eefb0e1e7b.patch;
|
||||
sha256 = "1higmv4c03ly7ywac1d7s71f3hrl531vj16nsfl9xh6zh9c47qcg";
|
||||
};
|
||||
|
||||
fixTestSuiteFailure_2 = fetchpatch {
|
||||
url = https://github.com/jquast/blessed/pull/108/commits/aa94e01aed745715e667601fb674844b257cfcc9.patch;
|
||||
sha256 = "1frygr6sc1vakdfx1hf6jj0dbwibiqz8hw9maf1b605cbslc9nay";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "blessed";
|
||||
@ -10,6 +25,8 @@ buildPythonPackage rec {
|
||||
sha256 = "777b0b6b5ce51f3832e498c22bc6a093b6b5f99148c7cbf866d26e2dec51ef21";
|
||||
};
|
||||
|
||||
patches = [ fixTestSuiteFailure_1 fixTestSuiteFailure_2 ];
|
||||
|
||||
checkInputs = [ pytest mock glibcLocales ];
|
||||
|
||||
checkPhase = ''
|
||||
|
@ -12,6 +12,8 @@ buildPythonPackage rec {
|
||||
sha256 = "1811b55wdfg4kbsjcgh1kc938g118jpvif97ilgrmbls25dfpvvw";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
checkInputs = [ pytest ];
|
||||
|
||||
checkPhase = ''
|
||||
|
28
pkgs/development/python-modules/clickclick/default.nix
Normal file
28
pkgs/development/python-modules/clickclick/default.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ stdenv, lib, buildPythonPackage, fetchFromGitHub, isPy36, flake8, click, pyyaml, six, pytestCheckHook, pytestcov }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "clickclick";
|
||||
version = "1.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hjacobs";
|
||||
repo = "python-clickclick";
|
||||
rev = version;
|
||||
sha256 = "1rij9ws9nhsmagiy1vclzliiqfkxi006rf65qvrw1k3sm2s8p5g0";
|
||||
};
|
||||
|
||||
checkInputs = [ pytestCheckHook pytestcov ];
|
||||
propagatedBuildInputs = [ flake8 click pyyaml six ];
|
||||
|
||||
disabledTests = lib.optionals isPy36 [
|
||||
"test_cli"
|
||||
"test_choice_default"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Click command line utilities";
|
||||
homepage = https://github.com/hjacobs/python-clickclick/;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ elohmeier ];
|
||||
};
|
||||
}
|
94
pkgs/development/python-modules/connexion/default.nix
Normal file
94
pkgs/development/python-modules/connexion/default.nix
Normal file
@ -0,0 +1,94 @@
|
||||
{ buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, isPy3k
|
||||
, glibcLocales
|
||||
, lib
|
||||
, pythonOlder
|
||||
|
||||
, aiohttp
|
||||
, aiohttp-swagger
|
||||
, aiohttp-jinja2
|
||||
, clickclick
|
||||
, decorator
|
||||
, flake8
|
||||
, flask
|
||||
, gevent
|
||||
, inflection
|
||||
, jsonschema
|
||||
, mock
|
||||
, openapi-spec-validator
|
||||
, pathlib
|
||||
, pytest
|
||||
, pytest-aiohttp
|
||||
, pytestcov
|
||||
, pyyaml
|
||||
, requests
|
||||
, six
|
||||
, swagger-ui-bundle
|
||||
, testfixtures
|
||||
, typing
|
||||
, ujson
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "connexion";
|
||||
version = "2.3.0";
|
||||
|
||||
# we're fetching from GitHub because tests weren't distributed on PyPi
|
||||
src = fetchFromGitHub {
|
||||
owner = "zalando";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1xdm3misxwgrl87ms0vvn0h4rjwzlmmi7kcra2ahs40iaraf33ln";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
decorator
|
||||
mock
|
||||
pytest
|
||||
pytestcov
|
||||
testfixtures
|
||||
flask
|
||||
swagger-ui-bundle
|
||||
]
|
||||
++ lib.optionals isPy3k [ aiohttp aiohttp-jinja2 aiohttp-swagger ujson pytest-aiohttp ]
|
||||
++ lib.optional (pythonOlder "3.7") glibcLocales
|
||||
;
|
||||
propagatedBuildInputs = [
|
||||
clickclick
|
||||
jsonschema
|
||||
pyyaml
|
||||
requests
|
||||
six
|
||||
inflection
|
||||
openapi-spec-validator
|
||||
swagger-ui-bundle
|
||||
flask
|
||||
]
|
||||
++ lib.optional (pythonOlder "3.4") pathlib
|
||||
++ lib.optional (pythonOlder "3.6") typing
|
||||
++ lib.optionals isPy3k [ aiohttp aiohttp-jinja2 aiohttp-swagger ujson ]
|
||||
;
|
||||
|
||||
preConfigure = lib.optional (pythonOlder "3.7") ''
|
||||
export LANG=en_US.UTF-8
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py --replace "'aiohttp>=2.3.10,<3.5.2'" "'aiohttp>=2.3.10'"
|
||||
'';
|
||||
|
||||
checkPhase = if isPy3k then ''
|
||||
pytest -k "not test_app_get_root_path and \
|
||||
not test_verify_oauth_scopes_remote and \
|
||||
not test_verify_oauth_scopes_local and \
|
||||
not test_run_with_aiohttp_not_installed"''
|
||||
else "pytest --ignore=tests/aiohttp";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Swagger/OpenAPI First framework on top of Flask";
|
||||
homepage = https://github.com/zalando/connexion/;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ elohmeier ];
|
||||
};
|
||||
}
|
@ -1,23 +1,31 @@
|
||||
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
|
||||
, six, typing
|
||||
, six, typing, pygments
|
||||
, django, shortuuid, python-dateutil, pytest
|
||||
, pytest-django, pytestcov, mock, vobject
|
||||
, werkzeug, glibcLocales
|
||||
, werkzeug, glibcLocales, factory_boy
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-extensions";
|
||||
version = "2.1.4";
|
||||
version = "2.1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1bp0ybarkrj66qx2gn9954vsjqq2ya1w4bppfhr763mkis8qnb4f";
|
||||
sha256 = "08vggm6wrn5cbf8brfprif0rjrkqz06wddsw0ir1skkk8q2sp1b2";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py --replace "'tox'," ""
|
||||
|
||||
# not yet pytest 5 compatible?
|
||||
rm tests/management/commands/test_set_fake_emails.py
|
||||
rm tests/management/commands/test_set_fake_passwords.py
|
||||
rm tests/management/commands/test_validate_templates.py
|
||||
|
||||
# pip should not be used during tests...
|
||||
rm tests/management/commands/test_pipchecker.py
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ six ] ++ lib.optional (pythonOlder "3.5") typing;
|
||||
@ -25,7 +33,7 @@ buildPythonPackage rec {
|
||||
checkInputs = [
|
||||
django shortuuid python-dateutil pytest
|
||||
pytest-django pytestcov mock vobject
|
||||
werkzeug glibcLocales
|
||||
werkzeug glibcLocales factory_boy pygments
|
||||
];
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
|
@ -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 = ''
|
||||
|
@ -21,11 +21,6 @@ buildPythonPackage rec {
|
||||
})
|
||||
];
|
||||
|
||||
# patch only $out/bin to avoid problems with starter templates (see #3134)
|
||||
postFixup = ''
|
||||
wrapPythonProgramsIn $out/bin "$out $pythonPath"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ pytz ];
|
||||
|
||||
# too complicated to setup
|
||||
|
@ -15,11 +15,6 @@ buildPythonPackage rec {
|
||||
# too complicated to setup
|
||||
doCheck = false;
|
||||
|
||||
# patch only $out/bin to avoid problems with starter templates (see #3134)
|
||||
postFixup = ''
|
||||
wrapPythonProgramsIn $out/bin "$out $pythonPath"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A high-level Python Web framework";
|
||||
homepage = https://www.djangoproject.com/;
|
||||
|
@ -24,11 +24,6 @@ buildPythonPackage rec {
|
||||
})
|
||||
];
|
||||
|
||||
# patch only $out/bin to avoid problems with starter templates (see #3134)
|
||||
postFixup = ''
|
||||
wrapPythonProgramsIn $out/bin "$out $pythonPath"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ pytz ];
|
||||
|
||||
# too complicated to setup
|
||||
|
@ -1,18 +1,18 @@
|
||||
{ stdenv, buildPythonPackage, fetchFromGitHub, fetchpatch, six, hypothesis, mock
|
||||
, python-Levenshtein, pytest }:
|
||||
, python-Levenshtein, pytest, termcolor, isPy27, enum34 }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fire";
|
||||
version = "0.1.3";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "python-fire";
|
||||
rev = "v${version}";
|
||||
sha256 = "0kdcmzr3sgzjsw5fmvdylgrn8akqjbs433jbgqzp498njl9cc6qx";
|
||||
sha256 = "1r6cmihafd7mb6j3mvgk251my6ckb0sqqj1l2ny2azklv175b38a";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ six ];
|
||||
propagatedBuildInputs = [ six termcolor ] ++ stdenv.lib.optional isPy27 enum34;
|
||||
|
||||
checkInputs = [ hypothesis mock python-Levenshtein pytest ];
|
||||
|
||||
@ -20,14 +20,6 @@ buildPythonPackage rec {
|
||||
py.test
|
||||
'';
|
||||
|
||||
patches = [
|
||||
# Add Python 3.7 support. Remove with the next release
|
||||
(fetchpatch {
|
||||
url = "https://github.com/google/python-fire/commit/668007ae41391f5964870b4597e41493a936a11e.patch";
|
||||
sha256 = "0rf7yzv9qx66zfmdggfz478z37fi4rwx4hlh3dk1065sx5rfksi0";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A library for automatically generating command line interfaces";
|
||||
longDescription = ''
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user