Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2019-02-16 09:29:54 +01:00
commit 6fe10d2779
202 changed files with 4386 additions and 3640 deletions

View file

@ -352,9 +352,9 @@ you want them to come from. Add the following to `configuration.nix`.
```nix
services.hoogle = {
enable = true;
packages = (hpkgs: with hpkgs; [text cryptonite]);
haskellPackages = pkgs.haskellPackages;
enable = true;
packages = (hpkgs: with hpkgs; [text cryptonite]);
haskellPackages = pkgs.haskellPackages;
};
```

View file

@ -121,7 +121,7 @@ rec {
auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
origArgs = auto // args;
pkgs = f origArgs;
mkAttrOverridable = name: pkg: makeOverridable (newArgs: (f newArgs).${name}) origArgs;
mkAttrOverridable = name: _: makeOverridable (newArgs: (f newArgs).${name}) origArgs;
in lib.mapAttrs mkAttrOverridable pkgs;

View file

@ -793,6 +793,11 @@
github = "caugner";
name = "Claas Augner";
};
cbley = {
email = "claudio.bley@gmail.com";
github = "avdv";
name = "Claudio Bley";
};
cdepillabout = {
email = "cdep.illabout@gmail.com";
github = "cdepillabout";
@ -3233,6 +3238,11 @@
github = "nequissimus";
name = "Tim Steinbach";
};
netixx = {
email = "dev.espinetfrancois@gmail.com";
github = "netixx";
name = "François Espinet";
};
nikitavoloboev = {
email = "nikita.voloboev@gmail.com";
github = "nikitavoloboev";

View file

@ -7,12 +7,17 @@ fifo
inspect
lgi
lpeg_patterns
lpty
lrexlib-gnu,
lrexlib-posix,
ltermbox,
lua-cmsgpack,
lua_cliargs,
lua-iconv,
lua-term,
luabitop,
luaevent,
luacheck
luaffi,http://luarocks.org/dev,
luuid,
penlight,

1 ansicolors,
7 inspect
8 lgi
9 lpeg_patterns
10 lpty
11 lrexlib-gnu,
12 lrexlib-posix,
13 ltermbox,
14 lua-cmsgpack,
15 lua_cliargs,
16 lua-iconv,
17 lua-term,
18 luabitop,
19 luaevent,
20 luacheck
21 luaffi,http://luarocks.org/dev,
22 luuid,
23 penlight,

View file

@ -29,7 +29,10 @@
networks are set, it will default to using a configuration file at
<literal>/etc/wpa_supplicant.conf</literal>. You should edit this file
yourself to define wireless networks, WPA keys and so on (see
wpa_supplicant.conf(5)).
<citerefentry>
<refentrytitle>wpa_supplicant.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>).
</para>
<para>

View file

@ -444,6 +444,23 @@
<option>services.matomo.package</option> which determines the used
Matomo version.
</para>
<para>
The Matomo module now also comes with the systemd service <literal>matomo-archive-processing.service</literal>
and a timer that automatically triggers archive processing every hour.
This means that you can safely
<link xlink:href="https://matomo.org/docs/setup-auto-archiving/#disable-browser-triggers-for-matomo-archiving-and-limit-matomo-reports-to-updating-every-hour">
disable browser triggers for Matomo archiving
</link> at <literal>Administration > System > General Settings</literal>.
</para>
<para>
Additionally, you can enable to
<link xlink:href="https://matomo.org/docs/privacy/#step-2-delete-old-visitors-logs">
delete old visitor logs
</link> at <literal>Administration > System > Privacy</literal>,
but make sure that you run <literal>systemctl start matomo-archive-processing.service</literal>
at least once without errors if you have already collected data before,
so that the reports get archived before the source data gets deleted.
</para>
</listitem>
<listitem>
<para>

View file

@ -36,14 +36,14 @@ in
nixos.revision = mkOption {
internal = true;
type = types.str;
default = lib.trivial.revisionWithDefault "master";
default = trivial.revisionWithDefault "master";
description = "The Git revision from which this NixOS configuration was built.";
};
nixos.codeName = mkOption {
readOnly = true;
type = types.str;
default = lib.trivial.codeName;
default = trivial.codeName;
description = "The NixOS release code name (e.g. <literal>Emu</literal>).";
};

View file

@ -4,6 +4,7 @@ with lib;
let
cfg = config.services.nzbget;
dataDir = builtins.dirOf cfg.configFile;
in {
options = {
services.nzbget = {
@ -41,6 +42,12 @@ in {
default = "nzbget";
description = "Group under which NZBGet runs";
};
configFile = mkOption {
type = types.str;
default = "/var/lib/nzbget/nzbget.conf";
description = "Path for NZBGet's config file. (If this doesn't exist, the default config template is copied here.)";
};
};
};
@ -54,36 +61,25 @@ in {
p7zip
];
preStart = ''
datadir=${cfg.dataDir}
configfile=${cfg.dataDir}/nzbget.conf
cfgtemplate=${cfg.package}/share/nzbget/nzbget.conf
test -d $datadir || {
echo "Creating nzbget data directory in $datadir"
mkdir -p $datadir
}
test -f $configfile || {
echo "nzbget.conf not found. Copying default config $cfgtemplate to $configfile"
cp $cfgtemplate $configfile
echo "Setting $configfile permissions to 0700 (needs to be written and contains plaintext credentials)"
chmod 0700 $configfile
if [ ! -f ${cfg.configFile} ]; then
echo "${cfg.configFile} not found. Copying default config $cfgtemplate to ${cfg.configFile}"
install -m 0700 $cfgtemplate ${cfg.configFile}
echo "Setting temporary \$MAINDIR variable in default config required in order to allow nzbget to complete initial start"
echo "Remember to change this to a proper value once NZBGet startup has been completed"
sed -i -e 's/MainDir=.*/MainDir=\/tmp/g' $configfile
}
echo "Ensuring proper ownership of $datadir (${cfg.user}:${cfg.group})."
chown -R ${cfg.user}:${cfg.group} $datadir
sed -i -e 's/MainDir=.*/MainDir=\/tmp/g' ${cfg.configFile}
fi
'';
script = ''
configfile=${cfg.dataDir}/nzbget.conf
args="--daemon --configfile $configfile"
# The script in preStart (above) copies nzbget's config template to datadir on first run, containing paths that point to the nzbget derivation installed at the time.
# These paths break when nzbget is upgraded & the original derivation is garbage collected. If such broken paths are found in the config file, override them to point to
args="--daemon --configfile ${cfg.configFile}"
# The script in preStart (above) copies nzbget's config template to datadir on first run, containing paths that point to the nzbget derivation installed at the time.
# These paths break when nzbget is upgraded & the original derivation is garbage collected. If such broken paths are found in the config file, override them to point to
# the currently installed nzbget derivation.
cfgfallback () {
local hit=`grep -Po "(?<=^$1=).*+" "$configfile" | sed 's/[ \t]*$//'` # Strip trailing whitespace
local hit=`grep -Po "(?<=^$1=).*+" "${cfg.configFile}" | sed 's/[ \t]*$//'` # Strip trailing whitespace
( test $hit && test -e $hit ) || {
echo "In $configfile, valid $1 not found; falling back to $1=$2"
echo "In ${cfg.configFile}, valid $1 not found; falling back to $1=$2"
args+=" -o $1=$2"
}
}
@ -93,6 +89,8 @@ in {
'';
serviceConfig = {
StateDirectory = dataDir;
StateDirectoryMode = "0700";
Type = "forking";
User = cfg.user;
Group = cfg.group;

View file

@ -85,70 +85,70 @@ let
portOptions = { name, ...}: {
options = {
name = mkOption {
internal = true;
default = name;
internal = true;
default = name;
};
ip = mkOption {
default = "127.0.0.1";
description = "Ip where rippled listens.";
type = types.str;
default = "127.0.0.1";
description = "Ip where rippled listens.";
type = types.str;
};
port = mkOption {
description = "Port where rippled listens.";
type = types.int;
description = "Port where rippled listens.";
type = types.int;
};
protocol = mkOption {
description = "Protocols expose by rippled.";
type = types.listOf (types.enum ["http" "https" "ws" "wss" "peer"]);
description = "Protocols expose by rippled.";
type = types.listOf (types.enum ["http" "https" "ws" "wss" "peer"]);
};
user = mkOption {
description = "When set, these credentials will be required on HTTP/S requests.";
type = types.str;
default = "";
description = "When set, these credentials will be required on HTTP/S requests.";
type = types.str;
default = "";
};
password = mkOption {
description = "When set, these credentials will be required on HTTP/S requests.";
type = types.str;
default = "";
description = "When set, these credentials will be required on HTTP/S requests.";
type = types.str;
default = "";
};
admin = mkOption {
description = "A comma-separated list of admin IP addresses.";
type = types.listOf types.str;
default = ["127.0.0.1"];
description = "A comma-separated list of admin IP addresses.";
type = types.listOf types.str;
default = ["127.0.0.1"];
};
ssl = {
key = mkOption {
description = ''
Specifies the filename holding the SSL key in PEM format.
'';
default = null;
type = types.nullOr types.path;
};
key = mkOption {
description = ''
Specifies the filename holding the SSL key in PEM format.
'';
default = null;
type = types.nullOr types.path;
};
cert = mkOption {
description = ''
Specifies the path to the SSL certificate file in PEM format.
This is not needed if the chain includes it.
'';
default = null;
type = types.nullOr types.path;
};
cert = mkOption {
description = ''
Specifies the path to the SSL certificate file in PEM format.
This is not needed if the chain includes it.
'';
default = null;
type = types.nullOr types.path;
};
chain = mkOption {
description = ''
If you need a certificate chain, specify the path to the
certificate chain here. The chain may include the end certificate.
'';
default = null;
type = types.nullOr types.path;
};
chain = mkOption {
description = ''
If you need a certificate chain, specify the path to the
certificate chain here. The chain may include the end certificate.
'';
default = null;
type = types.nullOr types.path;
};
};
};
};
@ -175,14 +175,14 @@ let
onlineDelete = mkOption {
description = "Enable automatic purging of older ledger information.";
type = types.addCheck (types.nullOr types.int) (v: v > 256);
type = types.nullOr (types.addCheck types.int (v: v > 256));
default = cfg.ledgerHistory;
};
advisoryDelete = mkOption {
description = ''
If set, then require administrative RPC call "can_delete"
to enable online deletion of ledger records.
If set, then require administrative RPC call "can_delete"
to enable online deletion of ledger records.
'';
type = types.nullOr types.bool;
default = null;
@ -207,168 +207,168 @@ in
enable = mkEnableOption "rippled";
package = mkOption {
description = "Which rippled package to use.";
type = types.package;
default = pkgs.rippled;
defaultText = "pkgs.rippled";
description = "Which rippled package to use.";
type = types.package;
default = pkgs.rippled;
defaultText = "pkgs.rippled";
};
ports = mkOption {
description = "Ports exposed by rippled";
type = with types; attrsOf (submodule portOptions);
default = {
rpc = {
port = 5005;
admin = ["127.0.0.1"];
protocol = ["http"];
};
description = "Ports exposed by rippled";
type = with types; attrsOf (submodule portOptions);
default = {
rpc = {
port = 5005;
admin = ["127.0.0.1"];
protocol = ["http"];
};
peer = {
port = 51235;
ip = "0.0.0.0";
protocol = ["peer"];
};
peer = {
port = 51235;
ip = "0.0.0.0";
protocol = ["peer"];
};
ws_public = {
port = 5006;
ip = "0.0.0.0";
protocol = ["ws" "wss"];
};
};
ws_public = {
port = 5006;
ip = "0.0.0.0";
protocol = ["ws" "wss"];
};
};
};
nodeDb = mkOption {
description = "Rippled main database options.";
type = with types; nullOr (submodule dbOptions);
default = {
type = "rocksdb";
extraOpts = ''
open_files=2000
filter_bits=12
cache_mb=256
file_size_pb=8
file_size_mult=2;
'';
};
description = "Rippled main database options.";
type = with types; nullOr (submodule dbOptions);
default = {
type = "rocksdb";
extraOpts = ''
open_files=2000
filter_bits=12
cache_mb=256
file_size_pb=8
file_size_mult=2;
'';
};
};
tempDb = mkOption {
description = "Rippled temporary database options.";
type = with types; nullOr (submodule dbOptions);
default = null;
description = "Rippled temporary database options.";
type = with types; nullOr (submodule dbOptions);
default = null;
};
importDb = mkOption {
description = "Settings for performing a one-time import.";
type = with types; nullOr (submodule dbOptions);
default = null;
description = "Settings for performing a one-time import.";
type = with types; nullOr (submodule dbOptions);
default = null;
};
nodeSize = mkOption {
description = ''
Rippled size of the node you are running.
"tiny", "small", "medium", "large", and "huge"
'';
type = types.enum ["tiny" "small" "medium" "large" "huge"];
default = "small";
description = ''
Rippled size of the node you are running.
"tiny", "small", "medium", "large", and "huge"
'';
type = types.enum ["tiny" "small" "medium" "large" "huge"];
default = "small";
};
ips = mkOption {
description = ''
List of hostnames or ips where the Ripple protocol is served.
For a starter list, you can either copy entries from:
https://ripple.com/ripple.txt or if you prefer you can let it
default to r.ripple.com 51235
description = ''
List of hostnames or ips where the Ripple protocol is served.
For a starter list, you can either copy entries from:
https://ripple.com/ripple.txt or if you prefer you can let it
default to r.ripple.com 51235
A port may optionally be specified after adding a space to the
address. By convention, if known, IPs are listed in from most
to least trusted.
'';
type = types.listOf types.str;
default = ["r.ripple.com 51235"];
A port may optionally be specified after adding a space to the
address. By convention, if known, IPs are listed in from most
to least trusted.
'';
type = types.listOf types.str;
default = ["r.ripple.com 51235"];
};
ipsFixed = mkOption {
description = ''
List of IP addresses or hostnames to which rippled should always
attempt to maintain peer connections with. This is useful for
manually forming private networks, for example to configure a
validation server that connects to the Ripple network through a
public-facing server, or for building a set of cluster peers.
description = ''
List of IP addresses or hostnames to which rippled should always
attempt to maintain peer connections with. This is useful for
manually forming private networks, for example to configure a
validation server that connects to the Ripple network through a
public-facing server, or for building a set of cluster peers.
A port may optionally be specified after adding a space to the address
'';
type = types.listOf types.str;
default = [];
A port may optionally be specified after adding a space to the address
'';
type = types.listOf types.str;
default = [];
};
validators = mkOption {
description = ''
List of nodes to always accept as validators. Nodes are specified by domain
or public key.
'';
type = types.listOf types.str;
default = [
"n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7 RL1"
"n9MD5h24qrQqiyBC8aeqqCWvpiBiYQ3jxSr91uiDvmrkyHRdYLUj RL2"
"n9L81uNCaPgtUJfaHh89gmdvXKAmSt5Gdsw2g1iPWaPkAHW5Nm4C RL3"
"n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS RL4"
"n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA RL5"
];
description = ''
List of nodes to always accept as validators. Nodes are specified by domain
or public key.
'';
type = types.listOf types.str;
default = [
"n949f75evCHwgyP4fPVgaHqNHxUVN15PsJEZ3B3HnXPcPjcZAoy7 RL1"
"n9MD5h24qrQqiyBC8aeqqCWvpiBiYQ3jxSr91uiDvmrkyHRdYLUj RL2"
"n9L81uNCaPgtUJfaHh89gmdvXKAmSt5Gdsw2g1iPWaPkAHW5Nm4C RL3"
"n9KiYM9CgngLvtRCQHZwgC2gjpdaZcCcbt3VboxiNFcKuwFVujzS RL4"
"n9LdgEtkmGB9E2h3K4Vp7iGUaKuq23Zr32ehxiU8FWY7xoxbWTSA RL5"
];
};
databasePath = mkOption {
description = ''
Path to the ripple database.
'';
type = types.path;
default = "/var/lib/rippled";
description = ''
Path to the ripple database.
'';
type = types.path;
default = "/var/lib/rippled";
};
validationQuorum = mkOption {
description = ''
The minimum number of trusted validations a ledger must have before
the server considers it fully validated.
'';
type = types.int;
default = 3;
description = ''
The minimum number of trusted validations a ledger must have before
the server considers it fully validated.
'';
type = types.int;
default = 3;
};
ledgerHistory = mkOption {
description = ''
The number of past ledgers to acquire on server startup and the minimum
to maintain while running.
'';
type = types.either types.int (types.enum ["full"]);
default = 1296000; # 1 month
description = ''
The number of past ledgers to acquire on server startup and the minimum
to maintain while running.
'';
type = types.either types.int (types.enum ["full"]);
default = 1296000; # 1 month
};
fetchDepth = mkOption {
description = ''
The number of past ledgers to serve to other peers that request historical
ledger data (or "full" for no limit).
'';
type = types.either types.int (types.enum ["full"]);
default = "full";
description = ''
The number of past ledgers to serve to other peers that request historical
ledger data (or "full" for no limit).
'';
type = types.either types.int (types.enum ["full"]);
default = "full";
};
sntpServers = mkOption {
description = ''
IP address or domain of NTP servers to use for time synchronization.;
'';
type = types.listOf types.str;
default = [
"time.windows.com"
"time.apple.com"
"time.nist.gov"
"pool.ntp.org"
];
description = ''
IP address or domain of NTP servers to use for time synchronization.;
'';
type = types.listOf types.str;
default = [
"time.windows.com"
"time.apple.com"
"time.nist.gov"
"pool.ntp.org"
];
};
logLevel = mkOption {
description = "Logging verbosity.";
type = types.enum ["debug" "error" "info"];
default = "error";
type = types.enum ["debug" "error" "info"];
default = "error";
};
statsd = {
@ -389,14 +389,14 @@ in
extraConfig = mkOption {
default = "";
description = ''
Extra lines to be added verbatim to the rippled.cfg configuration file.
'';
description = ''
Extra lines to be added verbatim to the rippled.cfg configuration file.
'';
};
config = mkOption {
internal = true;
default = pkgs.writeText "rippled.conf" rippledCfg;
internal = true;
default = pkgs.writeText "rippled.conf" rippledCfg;
};
};
};
@ -410,8 +410,8 @@ in
{ name = "rippled";
description = "Ripple server user";
uid = config.ids.uids.rippled;
home = cfg.databasePath;
createHome = true;
home = cfg.databasePath;
createHome = true;
};
systemd.services.rippled = {
@ -421,8 +421,8 @@ in
serviceConfig = {
ExecStart = "${cfg.package}/bin/rippled --fg --conf ${cfg.config}";
User = "rippled";
Restart = "on-failure";
LimitNOFILE=10000;
Restart = "on-failure";
LimitNOFILE=10000;
};
};

View file

@ -205,15 +205,13 @@ in {
mysql = lib.mkIf cfg.database.createLocally {
ensureDatabases = [ cfg.database.name ];
ensureUsers = {
ensureUsers = [{
name = cfg.database.username;
ensurePermissions = [
{ "${cfg.database.name}.*" = "ALL PRIVILEGES"; }
];
ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
initialDatabases = [
{ inherit (cfg.database) name; schema = "${pkg}/share/zoneminder/db/zm_create.sql"; }
];
};
}];
};
nginx = lib.mkIf useNginx {

View file

@ -73,11 +73,35 @@ in {
};
};
kubeconfig = mkOption {
description = ''
Path to kubeconfig to use for storing flannel config using the
Kubernetes API
'';
type = types.nullOr types.path;
default = null;
};
network = mkOption {
description = " IPv4 network in CIDR format to use for the entire flannel network.";
type = types.str;
};
nodeName = mkOption {
description = ''
Needed when running with Kubernetes as backend as this cannot be auto-detected";
'';
type = types.nullOr types.str;
default = with config.networking; (hostName + optionalString (!isNull domain) ".${domain}");
example = "node1.example.com";
};
storageBackend = mkOption {
description = "Determines where flannel stores its configuration at runtime";
type = types.enum ["etcd" "kubernetes"];
default = "etcd";
};
subnetLen = mkOption {
description = ''
The size of the subnet allocated to each host. Defaults to 24 (i.e. /24)
@ -122,17 +146,22 @@ in {
after = [ "network.target" ];
environment = {
FLANNELD_PUBLIC_IP = cfg.publicIp;
FLANNELD_IFACE = cfg.iface;
} // optionalAttrs (cfg.storageBackend == "etcd") {
FLANNELD_ETCD_ENDPOINTS = concatStringsSep "," cfg.etcd.endpoints;
FLANNELD_ETCD_KEYFILE = cfg.etcd.keyFile;
FLANNELD_ETCD_CERTFILE = cfg.etcd.certFile;
FLANNELD_ETCD_CAFILE = cfg.etcd.caFile;
FLANNELD_IFACE = cfg.iface;
ETCDCTL_CERT_FILE = cfg.etcd.certFile;
ETCDCTL_KEY_FILE = cfg.etcd.keyFile;
ETCDCTL_CA_FILE = cfg.etcd.caFile;
ETCDCTL_PEERS = concatStringsSep "," cfg.etcd.endpoints;
} // optionalAttrs (cfg.storageBackend == "kubernetes") {
FLANNELD_KUBE_SUBNET_MGR = "true";
FLANNELD_KUBECONFIG_FILE = cfg.kubeconfig;
NODE_NAME = cfg.nodeName;
};
preStart = ''
preStart = mkIf (cfg.storageBackend == "etcd") ''
echo "setting network configuration"
until ${pkgs.etcdctl.bin}/bin/etcdctl set /coreos.com/network/config '${builtins.toJSON networkConfig}'
do
@ -149,6 +178,12 @@ in {
serviceConfig.ExecStart = "${cfg.package}/bin/flannel";
};
services.etcd.enable = mkDefault (cfg.etcd.endpoints == ["http://127.0.0.1:2379"]);
services.etcd.enable = mkDefault (cfg.storageBackend == "etcd" && cfg.etcd.endpoints == ["http://127.0.0.1:2379"]);
# for some reason, flannel doesn't let you configure this path
# see: https://github.com/coreos/flannel/blob/master/Documentation/configuration.md#configuration
environment.etc."kube-flannel/net-conf.json" = mkIf (cfg.storageBackend == "kubernetes") {
source = pkgs.writeText "net-conf.json" (builtins.toJSON networkConfig);
};
};
}

View file

@ -86,7 +86,12 @@ in {
'';
description = ''
Use this option to configure advanced authentication methods like EAP.
See wpa_supplicant.conf(5) for example configurations.
See
<citerefentry>
<refentrytitle>wpa_supplicant.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
for example configurations.
Mutually exclusive with <varname>psk</varname> and <varname>pskRaw</varname>.
'';
@ -122,7 +127,12 @@ in {
'';
description = ''
Extra configuration lines appended to the network block.
See wpa_supplicant.conf(5) for available options.
See
<citerefentry>
<refentrytitle>wpa_supplicant.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
for available options.
'';
};
@ -174,7 +184,12 @@ in {
'';
description = ''
Extra lines appended to the configuration file.
See wpa_supplicant.conf(5) for available options.
See
<citerefentry>
<refentrytitle>wpa_supplicant.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
for available options.
'';
};
};

View file

@ -316,6 +316,10 @@ in
mkdir -m 0755 -p ${cfg.tempDir}
mkdir -m 0755 -p /var/lib/cups
# While cups will automatically create self-signed certificates if accessed via TLS,
# this directory to store the certificates needs to be created manually.
mkdir -m 0700 -p /var/lib/cups/ssl
# Backwards compatibility
if [ ! -L /etc/cups ]; then
mv /etc/cups/* /var/lib/cups

View file

@ -12,15 +12,15 @@
An automatic setup is not suported by Matomo, so you need to configure Matomo
itself in the browser-based Matomo setup.
</para>
<section xml:id="module-services-matomo-database-setup">
<title>Database Setup</title>
<para>
You also need to configure a MariaDB or MySQL database and -user for Matomo
yourself, and enter those credentials in your browser. You can use
passwordless database authentication via the UNIX_SOCKET authentication
plugin with the following SQL commands:
<programlisting>
<programlisting>
# For MariaDB
INSTALL PLUGIN unix_socket SONAME 'auth_socket';
CREATE DATABASE matomo;
@ -32,7 +32,7 @@
CREATE DATABASE matomo;
CREATE USER 'matomo'@'localhost' IDENTIFIED WITH auth_socket;
GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
</programlisting>
</programlisting>
Then fill in <literal>matomo</literal> as database user and database name,
and leave the password field blank. This authentication works by allowing
only the <literal>matomo</literal> unix user to authenticate as the
@ -46,9 +46,30 @@
database is not on the same host.
</para>
</section>
<section xml:id="module-services-matomo-archive-processing">
<title>Archive Processing</title>
<para>
This module comes with the systemd service <literal>matomo-archive-processing.service</literal>
and a timer that automatically triggers archive processing every hour.
This means that you can safely
<link xlink:href="https://matomo.org/docs/setup-auto-archiving/#disable-browser-triggers-for-matomo-archiving-and-limit-matomo-reports-to-updating-every-hour">
disable browser triggers for Matomo archiving
</link> at <literal>Administration > System > General Settings</literal>.
</para>
<para>
With automatic archive processing, you can now also enable to
<link xlink:href="https://matomo.org/docs/privacy/#step-2-delete-old-visitors-logs">
delete old visitor logs
</link> at <literal>Administration > System > Privacy</literal>,
but make sure that you run <literal>systemctl start matomo-archive-processing.service</literal>
at least once without errors if you have already collected data before,
so that the reports get archived before the source data gets deleted.
</para>
</section>
<section xml:id="module-services-matomo-backups">
<title>Backup</title>
<para>
You only need to take backups of your MySQL database and the
<filename>/var/lib/matomo/config/config.ini.php</filename> file. Use a user
@ -57,9 +78,9 @@
<link xlink:href="https://matomo.org/faq/how-to-install/faq_138/" />.
</para>
</section>
<section xml:id="module-services-matomo-issues">
<title>Issues</title>
<itemizedlist>
<listitem>
<para>
@ -76,6 +97,7 @@
</listitem>
</itemizedlist>
</section>
<section xml:id="module-services-matomo-other-web-servers">
<title>Using other Web Servers than nginx</title>

View file

@ -23,20 +23,24 @@ in {
options = {
services.matomo = {
# NixOS PR for database setup: https://github.com/NixOS/nixpkgs/pull/6963
# matomo issue for automatic matomo setup: https://github.com/matomo-org/matomo/issues/10257
# TODO: find a nice way to do this when more NixOS MySQL and / or matomo automatic setup stuff is implemented.
# Matomo issue for automatic Matomo setup: https://github.com/matomo-org/matomo/issues/10257
# TODO: find a nice way to do this when more NixOS MySQL and / or Matomo automatic setup stuff is implemented.
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable matomo web analytics with php-fpm backend.
Enable Matomo web analytics with php-fpm backend.
Either the nginx option or the webServerUser option is mandatory.
'';
};
package = mkOption {
type = types.package;
description = "Matomo package to use";
description = ''
Matomo package for the service to use.
This can be used to point to newer releases from nixos-unstable,
as they don't get backported if they are not security-relevant.
'';
default = pkgs.matomo;
defaultText = "pkgs.matomo";
};
@ -45,12 +49,25 @@ in {
type = types.nullOr types.str;
default = null;
example = "lighttpd";
# TODO: piwik.php might get renamed to matomo.php in future releases
description = ''
Name of the web server user that forwards requests to the ${phpSocket} fastcgi socket for matomo if the nginx
Name of the web server user that forwards requests to the ${phpSocket} fastcgi socket for Matomo if the nginx
option is not used. Either this option or the nginx option is mandatory.
If you want to use another webserver than nginx, you need to set this to that server's user
and pass fastcgi requests to `index.php` and `piwik.php` to this socket.
and pass fastcgi requests to `index.php`, `matomo.php` and `piwik.php` (legacy name) to this socket.
'';
};
periodicArchiveProcessing = mkOption {
type = types.bool;
default = true;
description = ''
Enable periodic archive processing, which generates aggregated reports from the visits.
This means that you can safely disable browser triggers for Matomo archiving,
and safely enable to delete old visitor logs.
Before deleting visitor logs,
make sure though that you run <literal>systemctl start matomo-archive-processing.service</literal>
at least once without errors if you have already collected data before.
'';
};
@ -69,7 +86,7 @@ in {
catch_workers_output = yes
'';
description = ''
Settings for phpfpm's process manager. You might need to change this depending on the load for matomo.
Settings for phpfpm's process manager. You might need to change this depending on the load for Matomo.
'';
};
@ -79,7 +96,7 @@ in {
(import ../web-servers/nginx/vhost-options.nix { inherit config lib; })
{
# enable encryption by default,
# as sensitive login and matomo data should not be transmitted in clear text.
# as sensitive login and Matomo data should not be transmitted in clear text.
options.forceSSL.default = true;
options.enableACME.default = true;
}
@ -94,7 +111,7 @@ in {
enableACME = false;
};
description = ''
With this option, you can customize an nginx virtualHost which already has sensible defaults for matomo.
With this option, you can customize an nginx virtualHost which already has sensible defaults for Matomo.
Either this option or the webServerUser option is mandatory.
Set this to {} to just enable the virtualHost if you don't need any customization.
If enabled, then by default, the <option>serverName</option> is
@ -124,29 +141,30 @@ in {
};
users.groups.${user} = {};
systemd.services.matomo_setup_update = {
# everything needs to set up and up to date before matomo php files are executed
systemd.services.matomo-setup-update = {
# everything needs to set up and up to date before Matomo php files are executed
requiredBy = [ "${phpExecutionUnit}.service" ];
before = [ "${phpExecutionUnit}.service" ];
# the update part of the script can only work if the database is already up and running
requires = [ databaseService ];
after = [ databaseService ];
path = [ cfg.package ];
environment.PIWIK_USER_PATH = dataDir;
serviceConfig = {
Type = "oneshot";
User = user;
# hide especially config.ini.php from other
UMask = "0007";
# TODO: might get renamed to MATOMO_USER_PATH in future versions
Environment = "PIWIK_USER_PATH=${dataDir}";
# chown + chmod in preStart needs root
PermissionsStartOnly = true;
};
# correct ownership and permissions in case they're not correct anymore,
# e.g. after restoring from backup or moving from another system.
# Note that ${dataDir}/config/config.ini.php might contain the MySQL password.
preStart = ''
# migrate data from piwik to matomo folder
# migrate data from piwik to Matomo folder
if [ -d ${deprecatedDataDir} ]; then
echo "Migrating from ${deprecatedDataDir} to ${dataDir}"
mv -T ${deprecatedDataDir} ${dataDir}
@ -155,7 +173,7 @@ in {
chmod -R ug+rwX,o-rwx ${dataDir}
'';
script = ''
# Use User-Private Group scheme to protect matomo data, but allow administration / backup via matomo group
# Use User-Private Group scheme to protect Matomo data, but allow administration / backup via 'matomo' group
# Copy config folder
chmod g+s "${dataDir}"
cp -r "${cfg.package}/config" "${dataDir}/"
@ -169,8 +187,39 @@ in {
'';
};
# If this is run regularly via the timer,
# 'Browser trigger archiving' can be disabled in Matomo UI > Settings > General Settings.
systemd.services.matomo-archive-processing = {
description = "Archive Matomo reports";
# the archiving can only work if the database is already up and running
requires = [ databaseService ];
after = [ databaseService ];
# TODO: might get renamed to MATOMO_USER_PATH in future versions
environment.PIWIK_USER_PATH = dataDir;
serviceConfig = {
Type = "oneshot";
User = user;
UMask = "0007";
CPUSchedulingPolicy = "idle";
IOSchedulingClass = "idle";
ExecStart = "${cfg.package}/bin/matomo-console core:archive --url=https://${user}.${fqdn}";
};
};
systemd.timers.matomo-archive-processing = mkIf cfg.periodicArchiveProcessing {
description = "Automatically archive Matomo reports every hour";
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "hourly";
Persistent = "yes";
AccuracySec = "10m";
};
};
systemd.services.${phpExecutionUnit} = {
# stop phpfpm on package upgrade, do database upgrade via matomo_setup_update, and then restart
# stop phpfpm on package upgrade, do database upgrade via matomo-setup-update, and then restart
restartTriggers = [ cfg.package ];
# stop config.ini.php from getting written with read permission for others
serviceConfig.UMask = "0007";
@ -200,13 +249,13 @@ in {
# https://fralef.me/piwik-hardening-with-nginx-and-php-fpm.html
# https://github.com/perusio/piwik-nginx
"${user}.${fqdn}" = mkMerge [ cfg.nginx {
# don't allow to override the root easily, as it will almost certainly break matomo.
# don't allow to override the root easily, as it will almost certainly break Matomo.
# disadvantage: not shown as default in docs.
root = mkForce "${cfg.package}/share";
# define locations here instead of as the submodule option's default
# so that they can easily be extended with additional locations if required
# without needing to redefine the matomo ones.
# without needing to redefine the Matomo ones.
# disadvantage: not shown as default in docs.
locations."/" = {
index = "index.php";
@ -215,8 +264,11 @@ in {
locations."= /index.php".extraConfig = ''
fastcgi_pass unix:${phpSocket};
'';
# TODO: might get renamed to matomo.php in future versions
# allow piwik.php for tracking
# allow matomo.php for tracking
locations."= /matomo.php".extraConfig = ''
fastcgi_pass unix:${phpSocket};
'';
# allow piwik.php for tracking (deprecated name)
locations."= /piwik.php".extraConfig = ''
fastcgi_pass unix:${phpSocket};
'';
@ -237,8 +289,11 @@ in {
locations."= /robots.txt".extraConfig = ''
return 200 "User-agent: *\nDisallow: /\n";
'';
# TODO: might get renamed to matomo.js in future versions
# let browsers cache piwik.js
# let browsers cache matomo.js
locations."= /matomo.js".extraConfig = ''
expires 1M;
'';
# let browsers cache piwik.js (deprecated name)
locations."= /piwik.js".extraConfig = ''
expires 1M;
'';

View file

@ -53,7 +53,17 @@ let
define('SINGLE_USER_MODE', ${boolToString cfg.singleUserMode});
define('SIMPLE_UPDATE_MODE', ${boolToString cfg.simpleUpdateMode});
define('CHECK_FOR_UPDATES', ${boolToString cfg.checkForUpdates});
// Never check for updates - the running version of the code should be
// controlled entirely by the version of TT-RSS active in the current Nix
// profile. If TT-RSS updates itself to a version requiring a database
// schema upgrade, and then the SystemD tt-rss.service is restarted, the
// old code copied from the Nix store will overwrite the updated version,
// causing the code to detect the need for a schema "upgrade" (since the
// schema version in the database is different than in the code), but the
// update schema operation in TT-RSS will do nothing because the schema
// version in the database is newer than that in the code.
define('CHECK_FOR_UPDATES', false);
define('FORCE_ARTICLE_PURGE', ${toString cfg.forceArticlePurge});
define('SESSION_COOKIE_LIFETIME', ${toString cfg.sessionCookieLifetime});
@ -414,14 +424,6 @@ let
'';
};
checkForUpdates = mkOption {
type = types.bool;
default = true;
description = ''
Check for updates automatically if running Git version
'';
};
enableGZipOutput = mkOption {
type = types.bool;
default = true;
@ -489,6 +491,14 @@ let
};
};
imports = [
(mkRemovedOptionModule ["services" "tt-rss" "checkForUpdates"] ''
This option was removed because setting this to true will cause TT-RSS
to be unable to start if an automatic update of the code in
services.tt-rss.root leads to a database schema upgrade that is not
supported by the code active in the Nix store.
'')
];
###### implementation

View file

@ -14,11 +14,13 @@ let
mapPoolConfig = n: p: {
phpPackage = cfg.phpPackage;
phpOptions = cfg.phpOptions;
config = p;
};
mapPool = n: p: {
phpPackage = p.phpPackage;
phpOptions = p.phpOptions;
config = ''
listen = ${p.listen}
${p.extraConfig}
@ -35,8 +37,8 @@ let
${conf}
'';
phpIni = pkgs.runCommand "php.ini" {
inherit (cfg) phpPackage phpOptions;
phpIni = pool: pkgs.runCommand "php.ini" {
inherit (pool) phpPackage phpOptions;
nixDefaults = ''
sendmail_path = "/run/wrappers/bin/sendmail -t -i"
'';
@ -156,6 +158,7 @@ in {
'';
serviceConfig = let
cfgFile = fpmCfgFile pool poolConfig.config;
iniFile = phpIni poolConfig;
in {
Slice = "phpfpm.slice";
PrivateDevices = true;
@ -164,7 +167,7 @@ in {
# XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
Type = "notify";
ExecStart = "${poolConfig.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${phpIni}";
ExecStart = "${poolConfig.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${iniFile}";
ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID";
};
}

View file

@ -25,6 +25,15 @@ with lib; {
'';
};
phpOptions = mkOption {
type = types.lines;
default = fpmCfg.phpOptions;
defaultText = "config.services.phpfpm.phpOptions";
description = ''
"Options appended to the PHP configuration file <filename>php.ini</filename> used for this PHP-FPM pool."
'';
};
extraConfig = mkOption {
type = types.lines;
example = ''

View file

@ -73,6 +73,7 @@ in
ferm = handleTest ./ferm.nix {};
firefox = handleTest ./firefox.nix {};
firewall = handleTest ./firewall.nix {};
flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {};
flatpak = handleTest ./flatpak.nix {};
fsck = handleTest ./fsck.nix {};
fwupd = handleTestOn ["x86_64-linux"] ./fwupd.nix {}; # libsmbios is unsupported on aarch64

View file

@ -21,8 +21,9 @@ import ./make-test.nix ({ pkgs, ...} : rec {
services = {
etcd = {
enable = true;
listenClientUrls = ["http://etcd:2379"];
listenPeerUrls = ["http://etcd:2380"];
listenClientUrls = ["http://0.0.0.0:2379"]; # requires ip-address for binding
listenPeerUrls = ["http://0.0.0.0:2380"]; # requires ip-address for binding
advertiseClientUrls = ["http://etcd:2379"];
initialAdvertisePeerUrls = ["http://etcd:2379"];
initialCluster = ["etcd=http://etcd:2379"];
};

View file

@ -39,6 +39,8 @@ import ./make-test.nix ({pkgs, ... }: {
$client->waitForUnit("cups.service");
$client->sleep(10); # wait until cups is fully initialized
$client->succeed("lpstat -r") =~ /scheduler is running/ or die;
# check local encrypted connections work without error
$client->succeed("lpstat -E -r") =~ /scheduler is running/ or die;
# Test that UNIX socket is used for connections.
$client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die;
# Test that HTTP server is available too.

View file

@ -18,8 +18,17 @@ import ./make-test.nix ({ pkgs, ...} : {
testScript = {nodes, ...}: let
originalSystem = nodes.machine.config.system.build.toplevel;
otherSystem = nodes.other.config.system.build.toplevel;
# Ensures failures pass through using pipefail, otherwise failing to
# switch-to-configuration is hidden by the success of `tee`.
stderrRunner = pkgs.writeScript "stderr-runner" ''
#! ${pkgs.stdenv.shell}
set -e
set -o pipefail
exec env -i "$@" | tee /dev/stderr
'';
in ''
$machine->succeed("env -i ${originalSystem}/bin/switch-to-configuration test | tee /dev/stderr");
$machine->succeed("env -i ${otherSystem}/bin/switch-to-configuration test | tee /dev/stderr");
$machine->succeed("${stderrRunner} ${originalSystem}/bin/switch-to-configuration test");
$machine->succeed("${stderrRunner} ${otherSystem}/bin/switch-to-configuration test");
'';
})

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, runCommand, ncurses, pkgconfig
{ config, stdenv, fetchFromGitHub, runCommand, ncurses, pkgconfig
, libiconv, CoreAudio
, alsaSupport ? stdenv.isLinux, alsaLib ? null
@ -7,7 +7,7 @@
, jackSupport ? false, libjack ? null
, samplerateSupport ? jackSupport, libsamplerate ? null
, ossSupport ? false, alsaOss ? null
, pulseaudioSupport ? false, libpulseaudio ? null
, pulseaudioSupport ? config.pulseaudio or false, libpulseaudio ? null
# TODO: add these
#, artsSupport

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, intltool, pkgconfig, jansson
{ config, stdenv, fetchurl, intltool, pkgconfig, jansson
# deadbeef can use either gtk2 or gtk3
, gtk2Support ? false, gtk2 ? null
, gtk3Support ? true, gtk3 ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null
@ -20,7 +20,7 @@
, osdSupport ? true, dbus ? null
# output plugins
, alsaSupport ? true, alsaLib ? null
, pulseSupport ? true, libpulseaudio ? null
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
# effect plugins
, resamplerSupport ? true, libsamplerate ? null
, overloadSupport ? true, zlib ? null

View file

@ -1,6 +1,6 @@
{ stdenv, autoreconfHook, fetchFromGitHub, pkgconfig
{ config, stdenv, autoreconfHook, fetchFromGitHub, pkgconfig
, alsaLib, libtool, icu
, pulseaudioSupport ? true, libpulseaudio }:
, pulseaudioSupport ? config.pulseaudio or false, libpulseaudio }:
stdenv.mkDerivation rec {
name = "mimic-${version}";
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "1wkpbwk88lsahzkc7pzbznmyy0lc02vsp0vkj8f1ags1gh0lc52j";
};
nativeBuildInputs = [
nativeBuildInputs = [
autoreconfHook
pkgconfig
];
@ -21,15 +21,14 @@ stdenv.mkDerivation rec {
buildInputs = [
alsaLib
libtool
icu
icu
] ++ stdenv.lib.optional pulseaudioSupport libpulseaudio;
meta = {
description = "Mycroft's TTS engine, based on CMU's Flite (Festival Lite)";
homepage = https://mimic.mycroft.ai/;
homepage = https://mimic.mycroft.ai/;
license = stdenv.lib.licenses.free;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.noneucat ];
maintainers = [ stdenv.lib.maintainers.noneucat ];
};
}

View file

@ -13,14 +13,14 @@ let
sha256Hash = "0fghqkc8pkb7waxclm0qq4nlnsvmv9d3fcj5nnvgbfkjyw032q42";
};
betaVersion = {
version = "3.4.0.12"; # "Android Studio 3.4 Beta 3"
build = "183.5256591";
sha256Hash = "1yab2sgabgk3wa3wrzv9z1dc2k7x0079v0mlwrp32jwx8r9byvcw";
version = "3.4.0.13"; # "Android Studio 3.4 Beta 4"
build = "183.5304277";
sha256Hash = "01x7xba0f5js213wgw0h1vw297vwz5q7dprnilcdydfjxwqsbr8f";
};
latestVersion = { # canary & dev
version = "3.5.0.2"; # "Android Studio 3.5 Canary 3"
build = "183.5256920";
sha256Hash = "09bd80ld21hq743xjacsq0nkxwl5xzr253p86n71n580yn4rgmlb";
version = "3.5.0.3"; # "Android Studio 3.5 Canary 4"
build = "183.5290690";
sha256Hash = "0d1cl78b25pksaj0scv3hxb14bjxk3591zbc0v7dykk1gf4pvxd1";
};
in rec {
# Old alias (TODO @primeos: Remove after 19.03 is branched off):

View file

@ -3,14 +3,14 @@
let
versions = {
atom = {
version = "1.33.0";
sha256 = "0f6m6zwgz94m3q11ipyiliap3s5a3zlrg3ldjwkqnxjl6gwlxc2r";
version = "1.34.0";
sha256 = "16hrjymrc43izg7frcrk7cwjwwrclcxzcwb5iw2llzjc6iadzlkb";
};
atom-beta = {
version = "1.34.0";
version = "1.35.0";
beta = 0;
sha256 = "1xnrr4z55sj46hqr0il26sfs6s3knv60m340cw3rzzic271b3ifw";
sha256 = "0gm5k573dq1hhnyw3719f5k1c6rsz872mhzg8q53n89y0g2r5xmw";
};
};

View file

@ -7,13 +7,13 @@
let
pname = "shotwell";
version = "0.30.1";
version = "0.30.2";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "01hsmig06hjv34yf9y60hv2gml593xfkza4ilq4b22gr8l4v2qip";
sha256 = "0pam0si110vkc65kh59lrmgkv91f9zxmf1gpfm99ixjgw25rfi8r";
};
nativeBuildInputs = [

View file

@ -1,6 +1,6 @@
{ stdenv, fetchgit, makeWrapper, pkgconfig,
gnome2, glib, pango, cairo, gdk_pixbuf, atk, freetype, xorg,
configH
configH ? ""
}:
stdenv.mkDerivation rec {

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "qmapshack-${version}";
version = "1.12.1";
version = "1.12.3";
src = fetchurl {
url = "https://bitbucket.org/maproom/qmapshack/downloads/${name}.tar.gz";
sha256 = "1d6n7xk0ksxb1fw43s5lb08vgxf6h93k3rb401cbka1inpyf2232";
sha256 = "1yp5gw4q4gwiwr9w4dz19am0bhsla9n2l3bdlk98a7f46kxgnkrx";
};
nativeBuildInputs = [ cmake ];

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, makeDesktopItem, perlSupport, libX11, libXt, libXft,
{ stdenv, fetchurl, makeDesktopItem, perlSupport ? true, libX11, libXt, libXft,
ncurses, perl, fontconfig, freetype, pkgconfig, libXrender,
gdkPixbufSupport, gdk_pixbuf, unicode3Support }:
gdkPixbufSupport ? true, gdk_pixbuf, unicode3Support ? true }:
let
pname = "rxvt-unicode";

View file

@ -6,12 +6,12 @@ let inherit (python3Packages) python buildPythonApplication fetchPypi;
in buildPythonApplication rec {
name = "${pname}-${version}";
pname = "safeeyes";
version = "2.0.8";
version = "2.0.8.1";
namePrefix = "";
src = fetchPypi {
inherit pname version;
sha256 = "08acrf9sngjjmplszjxzfq3af9xg4xscga94q0lkck2l1kqckc2l";
sha256 = "1x52ym8n4r6h38n4mcydxkvz71hhrd9wbiq4gzvwrai0xzl6qqsq";
};
buildInputs = [

View file

@ -1,12 +0,0 @@
diff -dur tqsl-2.3.1/src/CMakeLists.txt tqsl-2.3.1b/src/CMakeLists.txt
--- tqsl-2.3.1/src/CMakeLists.txt 2017-04-17 20:53:22.000000000 -0400
+++ tqsl-2.3.1b/src/CMakeLists.txt 2017-10-05 21:14:39.048329343 -0400
@@ -54,7 +54,7 @@
if(NOT APPLE AND NOT WIN32)
set_source_files_properties(location.cpp PROPERTIES COMPILE_DEFINITIONS CONFDIR="${CMAKE_INSTALL_PREFIX}/share/TrustedQSL/")
set(HEADERS_TO_INSTALL tqsllib.h tqslerrno.h cabrillo.h adif.h tqslconvert.h)
-install(TARGETS tqsllib DESTINATION lib$(LIB_SUFFIX))
+install(TARGETS tqsllib DESTINATION lib${LIB_SUFFIX})
install(FILES config.xml DESTINATION share/TrustedQSL)
install(FILES ${HEADERS_TO_INSTALL} DESTINATION include)
endif()

View file

@ -1,4 +1,5 @@
{ newScope, stdenv, llvmPackages, makeWrapper, makeDesktopItem, ed
{ newScope, config, stdenv, llvmPackages, gcc8Stdenv, llvmPackages_7
, makeWrapper, makeDesktopItem, ed
, glib, gtk3, gnome3, gsettings-desktop-schemas
# package customization
@ -10,12 +11,17 @@
, enablePepperFlash ? false
, enableWideVine ? false
, cupsSupport ? true
, pulseSupport ? false
, pulseSupport ? config.pulseaudio or stdenv.isLinux
, commandLineArgs ? ""
}:
assert stdenv.cc.isClang -> (stdenv == llvmPackages.stdenv);
let
stdenv_ = if stdenv.isAarch64 then gcc8Stdenv else llvmPackages_7.stdenv;
llvmPackages_ = if stdenv.isAarch64 then llvmPackages else llvmPackages_7;
in let
stdenv = stdenv_;
llvmPackages = llvmPackages_;
callPackage = newScope chromium;
chromium = {

View file

@ -10,10 +10,10 @@ rec {
firefox = common rec {
pname = "firefox";
ffversion = "65.0";
ffversion = "65.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "39bx76whgf53rkfqqy8gfhd44wikh89zpnqr930v4grqg3v0pfr8mbvp7xzjjlf5r7bski0wxibn9vyyy273fp99zyj1w2m5ihh9aqh";
sha512 = "2crb46l5r0rwmzr1m8cn9f6xgajwcvansnplqg4kg91rf6x8q0zqzfnmyli9ccsbqvh7bqd31dmy14gwjskasqc4v103x9hchzshxnc";
};
patches = [
@ -25,7 +25,7 @@ rec {
meta = {
description = "A web browser built from Firefox source tree";
homepage = http://www.mozilla.com/en-US/firefox/;
maintainers = with lib.maintainers; [ eelco ];
maintainers = with lib.maintainers; [ eelco andir ];
platforms = lib.platforms.unix;
license = lib.licenses.mpl20;
};
@ -67,10 +67,10 @@ rec {
firefox-esr-60 = common rec {
pname = "firefox-esr";
ffversion = "60.5.0esr";
ffversion = "60.5.1esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "3n7l146gdjwhi0iq85awc0yykvi4x5m91mcylxa5mrq911bv6xgn2i92nzhgnhdilqap5218778vgvnalikzsh67irrncx1hy5f6iyx";
sha512 = "0fvjw5zd8a9ki0a8phavi6xxfxbck21vj0k8415c5sxv48fwhqdhlnv3wx7riss4rjy9dylhr5xpa99dj9q98z735r8fxb7s3x3vrjz";
};
patches = [
@ -237,16 +237,16 @@ in rec {
};
tor-browser-8-0 = tbcommon rec {
ffversion = "60.5.0esr";
tbversion = "8.0.5";
ffversion = "60.5.1esr";
tbversion = "8.0.6";
# FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb
src = fetchFromGitHub {
owner = "SLNOS";
repo = "tor-browser";
# branch "tor-browser-60.5.0esr-8.0-1-slnos"
rev = "7f113a4ea0539bd2ea9687fe4296c880f2b006c4";
sha256 = "11qbhwy2q9rinfw8337b9f78x0r26lnxg25581z85vxshp2jszdq";
# branch "tor-browser-60.5.1esr-8.0-1-slnos"
rev = "89be91fc7cbc420b7c4a3bfc36d2b0d500dd3ccf";
sha256 = "022zjfwsdl0dkg6ck2kha4nf91xm3j9ag5n21zna98szg3x82dj1";
};
};

View file

@ -89,7 +89,7 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source
version = "8.0.5";
version = "8.0.6";
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 = "0afrq5vy6rxj4p2dm7kaiq3d3iv4g8ivn7nfqx0z8h1wikyaf5di";
sha256 = "14i32r8pw749ghigqblnbr5622jh5wp1ivnwi71vycbgp9pds4f7";
};
"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 = "113vn2fyw9sjxz24b2m6z4kw46rqgxglrna1lg9ji6zhkfb044vv";
sha256 = "0g9sd104b6xnbl2j3gbq1ga6j2h0x3jccays0gpbd235bxpjs39a";
};
};
in

View file

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
name = "${product}-${version}";
product = "vivaldi";
version = "2.2.1388.37-1";
version = "2.3.1440.41-1";
src = fetchurl {
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
sha256 = "07q04lvwnjn5kprlwyndv9h2s25637ngchch26ka8lry1lxkdv55";
sha256 = "0wrq7c0sw1b41bshwgzji4pwl0raj0l5h2r7gkcg952rcn0wl9bs";
};
unpackPhase = ''

View file

@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
name = "${product}-${version}";
product = "vivaldi-ffmpeg-codecs";
version = "71.0.3578.98";
version = "72.0.3626.96";
src = fetchurl {
url = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${version}.tar.xz";
sha512 = "3baldqqdm8jzrs37w756ijgzwpmvma73rqbpnfkf0j41rmikrjdl6w7ycll98jch8rhzpgz3yfb9nk0gmsgxs233wn441bcdkhr1syv";
sha512 = "2hawkyydcd0b6ipfigkf5n6c1ha1vknaqd4mgw381pi0ayq8skxbjazqabfcg9gcj84cnksi8j4dylfcrbgrmlnmc479fix0m0xx7cl";
};
buildInputs = [ ];

View file

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, fetchpatch
, ncurses, boehmgc, gettext, zlib
, sslSupport ? true, openssl ? null
, graphicsSupport ? true, imlib2 ? null
, graphicsSupport ? !stdenv.isDarwin, imlib2 ? null
, x11Support ? graphicsSupport, libX11 ? null
, mouseSupport ? !stdenv.isDarwin, gpm-ncurses ? null
, perl, man, pkgconfig, buildPackages, w3m

View file

@ -19,7 +19,7 @@
buildGoPackage rec {
name = "terraform-provider-libvirt-${version}";
version = "0.4";
version = "0.5.1";
goPackagePath = "github.com/dmacvicar/terraform-provider-libvirt";
@ -27,7 +27,7 @@ buildGoPackage rec {
owner = "dmacvicar";
repo = "terraform-provider-libvirt";
rev = "v${version}";
sha256 = "05jkjp1kis4ncryv34pkb9cz2yhzbwg62x9qmlqsqlxwz9hqny3r";
sha256 = "0shnj5byqj3qzyqniiy1dcygd8xw1h2bx9z6mgcydw8k64fkm4bw";
};
buildInputs = [ libvirt pkgconfig makeWrapper ];

View file

@ -56,7 +56,6 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "An extensible Twitter client";
homepage = https://mikutter.hachune.net;
maintainers = with maintainers; [ midchildan ];
platforms = ruby.meta.platforms;
license = licenses.mit;
};

View file

@ -2,9 +2,9 @@
, glibcLocales, expect, ncurses, libotr, curl, readline, libuuid
, cmocka, libmicrohttpd, stabber, expat, libmesode
, autoAwaySupport ? false, libXScrnSaver ? null, libX11 ? null
, notifySupport ? false, libnotify ? null, gdk_pixbuf ? null
, traySupport ? false, gnome2 ? null
, autoAwaySupport ? true, libXScrnSaver ? null, libX11 ? null
, notifySupport ? true, libnotify ? null, gdk_pixbuf ? null
, traySupport ? true, gnome2 ? null
, pgpSupport ? true, gpgme ? null
, pythonPluginSupport ? true, python ? null
}:

View file

@ -3,11 +3,11 @@
let configFile = writeText "riot-config.json" conf; in
stdenv.mkDerivation rec {
name= "riot-web-${version}";
version = "0.17.9";
version = "1.0.0";
src = fetchurl {
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
sha256 = "1k7664b0yxvzc7l8mnh9a0kqi8qfj6rdjblfksrd3wg8hdrb7wb1";
sha256 = "1rnr6c8qwf8hy1d197xb40f5ajhqdm9sd65n1d9h2x036dqiic7i";
};
installPhase = ''

View file

@ -1,14 +1,14 @@
{ monolithic ? true # build monolithic Quassel
, daemon ? false # build Quassel daemon
, client ? false # build Quassel client
, tag ? "" # tag added to the package name
, tag ? "-kf5" # tag added to the package name
, static ? false # link statically
, stdenv, fetchFromGitHub, cmake, makeWrapper, dconf
, qtbase, qtscript
, phonon, libdbusmenu, qca-qt5
, withKDE ? stdenv.isLinux # enable KDE integration
, withKDE ? true # enable KDE integration
, extra-cmake-modules
, kconfigwidgets
, kcoreaddons

View file

@ -13,13 +13,18 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
# Patch contained in next (>2.5.1) release
# Patches contained in next (>2.5.1) release
patches = [
(fetchpatch {
name = "fix-qt-5.12-build";
url = "https://github.com/nextcloud/desktop/commit/071709ab5e3366e867dd0b0ea931aa7d6f80f528.patch";
sha256 = "14k635jwm8hz6i22lz88jj2db8v5czwa3zg0667i4hwhkqqmy61n";
})
(fetchpatch {
name = "fix-qtwebengine-crash";
url = "https://patch-diff.githubusercontent.com/raw/nextcloud/desktop/pull/959.patch";
sha256 = "00qx976az2rb1gwl1rxapm8gqj42yzqp8k2fasn3h7b30lnxdyr0";
})
];
nativeBuildInputs = [ pkgconfig cmake makeWrapper ];

View file

@ -2,7 +2,7 @@
, gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, python, libcap, glib
, libssh, zlib, cmake, extra-cmake-modules, fetchpatch, makeWrapper
, withGtk ? false, gtk3 ? null, librsvg ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null
, withQt ? false, qt5 ? null
, withQt ? true, qt5 ? null
, ApplicationServices, SystemConfiguration, gmp
}:

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, perl, libiconv, zlib, popt
, enableACLs ? true, acl ? null
, enableACLs ? !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD), acl ? null
, enableCopyDevicesPatch ? false
}:

View file

@ -1,20 +1,23 @@
{stdenv, fetchurl, ocaml, lablgtk, fontschumachermisc, xset, makeWrapper, ncurses
{stdenv, fetchFromGitHub, ocaml, lablgtk, fontschumachermisc, xset, makeWrapper, ncurses
, enableX11 ? true}:
stdenv.mkDerivation (rec {
name = "unison-2.48.4";
src = fetchurl {
url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/${name}.tar.gz";
sha256 = "30aa53cd671d673580104f04be3cf81ac1e20a2e8baaf7274498739d59e99de8";
name = "unison-${version}";
version = "2.51.2";
src = fetchFromGitHub {
owner = "bcpierce00";
repo = "unison";
rev = "v${version}";
sha256 = "1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq";
};
buildInputs = [ ocaml makeWrapper ncurses ];
preBuild = (if enableX11 then ''
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" Makefile.OCaml
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml
'' else "") + ''
echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> fsmonitor/linux/Makefile
echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> src/fsmonitor/linux/Makefile
'';
makeFlags = "INSTALLDIR=$(out)/bin/" + (if enableX11 then " UISTYLE=gtk2" else "")

View file

@ -1,12 +1,11 @@
{ stdenv, fetchsvn, lame, libvorbis }:
stdenv.mkDerivation rec {
name = "ebook2cw-${version}";
pname = "ebook2cw";
version = "0.8.2";
src = fetchsvn {
url = "svn://svn.fkurz.net/ebook2cw/tags/${name}";
url = "svn://svn.fkurz.net/ebook2cw/tags/${pname}-${version}";
sha256 = "1mvp3nz3k76v757792n9b7fcm5jm3jcwarl1k7cila9fi0c2rsiw";
};
@ -14,10 +13,6 @@ stdenv.mkDerivation rec {
patches = [ ./configfile.patch ];
postPatch = ''
substituteInPlace Makefile --replace gcc cc
'';
makeFlags = [ "DESTDIR=$(out)" ];
meta = with stdenv.lib; {
@ -27,5 +22,4 @@ stdenv.mkDerivation rec {
platforms = platforms.all;
maintainers = with maintainers; [ earldouglas ];
};
}

View file

@ -1,12 +1,12 @@
{ stdenv, fetchurl, makeWrapper, cmake, expat, openssl, zlib, db, curl, wxGTK }:
stdenv.mkDerivation rec {
name = "tqsl-${version}";
version = "2.3.1";
pname = "tqsl";
version = "2.4.3";
src = fetchurl {
url = "https://www.arrl.org/files/file/LoTW%20Instructions/${name}.tar.gz";
sha256 = "10cjlilampwl10hwb7m28m5z9gyrscvvc1rryfjnhj9q2x4ppgxv";
url = "https://www.arrl.org/files/file/LoTW%20Instructions/${pname}-${version}.tar.gz";
sha256 = "0f8pa5wnp0x0mjjr5kanka9hirgmp5wf6jsb95dc6hjlzlvy6kz9";
};
nativeBuildInputs = [ makeWrapper ];
@ -20,11 +20,9 @@ stdenv.mkDerivation rec {
wxGTK
];
patches = [ ./cmake_lib_path.patch ];
meta = with stdenv.lib; {
description = "Software for using the ARRL Logbook of the World";
homepage = https://lotw.arrl.org/;
homepage = https://www.arrl.org/tqsl-download;
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = [ maintainers.dpflug ];

View file

@ -0,0 +1,66 @@
From c5df6ce96e068eceb77019e48634721c6a5bb607 Mon Sep 17 00:00:00 2001
From: Nikolaj Bjorner <nbjorner@microsoft.com>
Date: Sun, 10 Feb 2019 10:07:24 -0800
Subject: [PATCH 1/1] fix #2131
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---
src/api/python/README.txt | 10 +++-------
src/api/python/setup.py | 2 +-
src/ast/recfun_decl_plugin.h | 2 +-
3 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/src/api/python/README.txt b/src/api/python/README.txt
index 9312b1119..561b8dedc 100644
--- a/src/api/python/README.txt
+++ b/src/api/python/README.txt
@@ -1,8 +1,4 @@
-You can learn more about Z3Py at:
-http://rise4fun.com/Z3Py/tutorial/guide
-
-On Windows, you must build Z3 before using Z3Py.
-To build Z3, you should executed the following command
+On Windows, to build Z3, you should executed the following command
in the Z3 root directory at the Visual Studio Command Prompt
msbuild /p:configuration=external
@@ -12,8 +8,8 @@ If you are using a 64-bit Python interpreter, you should use
msbuild /p:configuration=external /p:platform=x64
-On Linux and macOS, you must install Z3Py, before trying example.py.
-To install Z3Py on Linux and macOS, you should execute the following
+On Linux and macOS, you must install python bindings, before trying example.py.
+To install python on Linux and macOS, you should execute the following
command in the Z3 root directory
sudo make install-z3py
diff --git a/src/api/python/setup.py b/src/api/python/setup.py
index 2a750fee6..063680e2b 100644
--- a/src/api/python/setup.py
+++ b/src/api/python/setup.py
@@ -178,7 +178,7 @@ setup(
name='z3-solver',
version=_z3_version(),
description='an efficient SMT solver library',
- long_description='Z3 is a theorem prover from Microsoft Research with support for bitvectors, booleans, arrays, floating point numbers, strings, and other data types.\n\nFor documentation, please read http://z3prover.github.io/api/html/z3.html\n\nIn the event of technical difficulties related to configuration, compiliation, or installation, please submit issues to https://github.com/angr/angr-z3',
+ long_description='Z3 is a theorem prover from Microsoft Research with support for bitvectors, booleans, arrays, floating point numbers, strings, and other data types.\n\nFor documentation, please read http://z3prover.github.io/api/html/z3.html\n\nIn the event of technical difficulties related to configuration, compilation, or installation, please submit issues to https://github.com/angr/angr-z3',
author="The Z3 Theorem Prover Project",
maintainer="Audrey Dutcher",
maintainer_email="audrey@rhelmot.io",
diff --git a/src/ast/recfun_decl_plugin.h b/src/ast/recfun_decl_plugin.h
index 0247335e8..b294cdfce 100644
--- a/src/ast/recfun_decl_plugin.h
+++ b/src/ast/recfun_decl_plugin.h
@@ -56,7 +56,7 @@ namespace recfun {
friend class def;
func_decl_ref m_pred; //<! predicate used for this case
expr_ref_vector m_guards; //<! conjunction that is equivalent to this case
- expr_ref m_rhs; //<! if guard is true, `f(t1…tn) = rhs` holds
+ expr_ref m_rhs; //<! if guard is true, `f(t1...tn) = rhs` holds
def * m_def; //<! definition this is a part of
bool m_immediate; //<! does `rhs` contain no defined_fun/case_pred?
--
2.19.2

View file

@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
sha256 = "014igqm5vwswz0yhz0cdxsj3a6dh7i79hvhgc3jmmmz3z0xm1gyn";
};
patches = [
./0001-fix-2131.patch
];
buildInputs = [ python fixDarwinDylibNames ];
propagatedBuildInputs = [ python.pkgs.setuptools ];
enableParallelBuilding = true;

View file

@ -33,7 +33,8 @@ in stdenv.mkDerivation rec {
cp -r . "$out"
rm -r $out/Libs
cp -r "${maps.minigames}"/* "$out"/Maps/
cp -r "${maps.minigames}"/* "${maps.melee}"/* "${maps.ladder2017season1}"/* "${maps.ladder2017season2}"/* "${maps.ladder2017season3}"/* \
"${maps.ladder2017season4}"/* "${maps.ladder2018season1}"/* "${maps.ladder2018season2}"/* "$out"/Maps/
'';
preFixup = ''

View file

@ -1,11 +1,48 @@
{ fetchzip
}:
let
fetchzip' = args: (fetchzip args).overrideAttrs (old: { UNZIP = "-P iagreetotheeula"; });
in
{
minigames = fetchzip {
url = "https://github.com/deepmind/pysc2/releases/download/v1.2/mini_games.zip";
sha256 = "19f873ilcdsf50g2v0s2zzmxil1bqncsk8nq99bzy87h0i7khkla";
stripRoot = false;
};
melee = fetchzip' {
url = "http://blzdistsc2-a.akamaihd.net/MapPacks/Melee.zip";
sha256 = "0w050yah5rybx3m5zvpr09jv01r0xsazpyrc76338b2sd8pdxv3y";
stripRoot = false;
};
ladder2017season1 = fetchzip' {
url = "http://blzdistsc2-a.akamaihd.net/MapPacks/Ladder2017Season1.zip";
sha256 = "194p0mb0bh63sjy84q21x4v5pb6d7hidivfi28aalr2gkwhwqfvh";
stripRoot = false;
};
ladder2017season2 = fetchzip' {
url = "http://blzdistsc2-a.akamaihd.net/MapPacks/Ladder2017Season2.zip";
sha256 = "1pvp7zi16326x3l45mk7s959ggnkg2j1w9rfmaxxa8mawr9c6i39";
stripRoot = false;
};
ladder2017season3 = fetchzip' {
url = "http://blzdistsc2-a.akamaihd.net/MapPacks/Ladder2017Season3_Updated.zip";
sha256 = "1sjskfp6spmh7l2za1z55v7binx005qxw3w11xdvjpn20cyhkh8a";
stripRoot = false;
};
ladder2017season4 = fetchzip' {
url = "http://blzdistsc2-a.akamaihd.net/MapPacks/Ladder2017Season4.zip";
sha256 = "1zf4mfq6r1ylf8bmd0qpv134dcrfgrsi4afxfqwnf39ijdq4z26g";
stripRoot = false;
};
ladder2018season1 = fetchzip' {
url = "http://blzdistsc2-a.akamaihd.net/MapPacks/Ladder2018Season1.zip";
sha256 = "0p51xj98qg816qm9ywv9zar5llqvqs6bcyns6d5fp2j39fg08v6f";
stripRoot = false;
};
ladder2018season2 = fetchzip' {
url = "http://blzdistsc2-a.akamaihd.net/MapPacks/Ladder2018Season2_Updated.zip";
sha256 = "1wjn6vpbymjvjxqf10h7az34fnmhb5dpi878nsydlax25v9lgzqx";
stripRoot = false;
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, makeWrapper, openjdk, gtk2, xorg, glibcLocales, releasePath }:
{ stdenv, makeWrapper, openjdk, gtk2, xorg, glibcLocales, releasePath ? null }:
# To use this package, you need to download your own cplex installer from IBM
# and override the releasePath attribute to point to the location of the file.

View file

@ -64,10 +64,10 @@ stdenv.mkDerivation rec {
fetchSageDiff = { base, rev, name ? "sage-diff-${base}-${rev}.patch", ...}@args: (
fetchpatch ({
inherit name;
url = "https://git.sagemath.org/sage.git/rawdiff?id2=${base}&id=${rev}";
url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}";
# We don't care about sage's own build system (which builds all its dependencies).
# Exclude build system changes to avoid conflicts.
excludes = [ "/build/*" ];
excludes = [ "build/*" ];
} // builtins.removeAttrs args [ "rev" "base" ])
);
in [

View file

@ -2,13 +2,13 @@
, ncurses
, withXaw3d ? false
#, withPVMlib ? false
, tcl, tk, withTk ? false
, tcl, tk, withTk ? true
, gtk2, withGtk ? false # working ?
#, withF2c ? false
, ocaml, withOCaml ? false
, ocaml, withOCaml ? true
#, withJava ? false
#, atlasMath, withAtlas ? false
, xlibsWrapper, withX ? false
, xlibsWrapper, withX ? true
}:
stdenv.mkDerivation rec {

View file

@ -1,6 +1,6 @@
{ bdbSupport ? false # build support for Berkeley DB repositories
{ bdbSupport ? true # build support for Berkeley DB repositories
, httpServer ? false # build Apache DAV module
, httpSupport ? false # client must support http
, httpSupport ? true # client must support http
, pythonBindings ? false
, perlBindings ? false
, javahlBindings ? false

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl
{ config, stdenv, fetchurl
, libX11, wxGTK
, libiconv, fontconfig, freetype
, libGLU_combined
@ -8,8 +8,8 @@
, spellcheckSupport ? true, hunspell ? null
, automationSupport ? true, lua ? null
, openalSupport ? false, openal ? null
, alsaSupport ? true, alsaLib ? null
, pulseaudioSupport ? true, libpulseaudio ? null
, alsaSupport ? stdenv.isLinux, alsaLib ? null
, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
, portaudioSupport ? false, portaudio ? null }:
assert spellcheckSupport -> (hunspell != null);

View file

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, perl, python, which
{ config, stdenv, fetchFromGitHub
, fetchpatch, pkgconfig, perl, python, which
, libX11, libxcb, libGLU_combined
, qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras, qmake, makeWrapper
, libchardet
@ -15,7 +16,7 @@
, libbluray
, jackSupport ? false, jack ? null
, portaudioSupport ? false, portaudio ? null
, pulseSupport ? true, libpulseaudio ? null
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
, cddaSupport ? false, libcdda ? null
, youtubeSupport ? true, youtube-dl ? null
}:

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, freetype, yasm, ffmpeg
{ config, stdenv, fetchurl, pkgconfig, freetype, yasm, ffmpeg
, aalibSupport ? true, aalib ? null
, fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
, fribidiSupport ? true, fribidi ? null
@ -19,7 +19,7 @@
, theoraSupport ? true, libtheora ? null
, x264Support ? false, x264 ? null
, jackaudioSupport ? false, libjack2 ? null
, pulseSupport ? false, libpulseaudio ? null
, pulseSupport ? config.pulseaudio or false, libpulseaudio ? null
, bs2bSupport ? false, libbs2b ? null
# For screenshots
, libpngSupport ? true, libpng ? null

View file

@ -3,7 +3,7 @@
, bison, lzo, snappy, libaio, gnutls, nettle, curl
, makeWrapper
, attr, libcap, libcap_ng
, CoreServices, Cocoa, rez, setfile
, CoreServices, Cocoa, Hypervisor, rez, setfile
, numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl
, seccompSupport ? stdenv.isLinux, libseccomp
, pulseSupport ? !stdenv.isDarwin, libpulseaudio
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
vde2 texinfo flex bison makeWrapper lzo snappy
gnutls nettle curl
]
++ optionals stdenv.isDarwin [ CoreServices Cocoa rez setfile ]
++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
++ optionals seccompSupport [ libseccomp ]
++ optionals numaSupport [ numactl ]
++ optionals pulseSupport [ libpulseaudio ]
@ -116,6 +116,7 @@ stdenv.mkDerivation rec {
++ optional usbredirSupport "--enable-usb-redir"
++ optional (hostCpuTargets != null) "--target-list=${stdenv.lib.concatStringsSep "," hostCpuTargets}"
++ optional stdenv.isDarwin "--enable-cocoa"
++ optional stdenv.isDarwin "--enable-hvf"
++ optional stdenv.isLinux "--enable-linux-aio"
++ optional gtkSupport "--enable-gtk"
++ optional xenSupport "--enable-xen"

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, lib, fetchpatch, iasl, dev86, pam, libxslt, libxml2
{ config, stdenv, fetchurl, lib, fetchpatch, iasl, dev86, pam, libxslt, libxml2
, libX11, xorgproto, libXext, libXcursor, libXmu, qt5, libIDL, SDL, libcap
, libpng, glib, lvm2, libXrandr, libXinerama, libopus
, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43
@ -7,7 +7,7 @@
, javaBindings ? false, jdk ? null
, pythonBindings ? false, python2 ? null
, extensionPack ? null, fakeroot ? null
, pulseSupport ? false, libpulseaudio ? null
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
, enableHardening ? false
, headless ? false
, enable32bitGuests ? true

View file

@ -5,21 +5,21 @@ let
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "https://dl.suckless.org/dwm/${name}.tar.gz";
sha256 = "03hirnj8saxnsfqiszwl2ds7p0avg20izv9vdqyambks00p2x44p";
};
buildInputs = [ libX11 libXinerama libXft ];
prePatch = ''sed -i "s@/usr/local@$out@" config.mk'';
# Allow users set their own list of patches
inherit patches;
buildPhase = " make ";
meta = {
homepage = https://suckless.org/;
description = "Dynamic window manager for X";

View file

@ -3,12 +3,12 @@
i3.overrideAttrs (oldAttrs : rec {
name = "i3-gaps-${version}";
version = "4.16";
releaseDate = "2018-03-13";
version = "4.16.1";
releaseDate = "2019-01-27";
src = fetchurl {
url = "https://github.com/Airblader/i3/archive/${version}.tar.gz";
sha256 = "16d215y9g27b75rifm1cgznxg73fmg5ksigi0gbj7pfd6x6bqcy9";
sha256 = "1jvyd8p8dfsidfy2yy7adydynzvaf72lx67x71r13hrk8w77hp0k";
};
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ autoreconfHook ];

View file

@ -1,4 +1,4 @@
{stdenvNoCC, subversion, sshSupport ? false, openssh ? null, expect}:
{stdenvNoCC, subversion, sshSupport ? true, openssh ? null, expect}:
{username, password, url, rev ? "HEAD", md5 ? "", sha256 ? ""}:

View file

@ -96,7 +96,7 @@ fi
if [ -z "$newHash" ]; then
nix-build --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true
# FIXME: use nix-build --hash here once https://github.com/NixOS/nix/issues/1172 is fixed
newHash=$(egrep -v "killing process|dependencies couldn't be built" "$attr.fetchlog" | tail -n2 | sed "s~output path .* has .* hash \(.*\) when .* was expected\|fixed-output derivation produced path '.*' with .* hash '\(.*\)' instead of the expected hash '.*'~\1\2~" | head -n1)
newHash=$(egrep -v "killing process|dependencies couldn't be built|wanted: " "$attr.fetchlog" | tail -n2 | sed "s~output path .* has .* hash \(.*\) when .* was expected\|fixed-output derivation produced path '.*' with .* hash '\(.*\)' instead of the expected hash '.*'\| got: .*:\(.*\)~\1\2\3~" | head -n1)
fi
if [ -z "$newHash" ]; then

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "shades-of-gray-theme-${version}";
version = "1.1.4";
version = "1.1.5";
src = fetchFromGitHub {
owner = "WernerFP";
repo = "Shades-of-gray-theme";
rev = version;
sha256 = "1i5mra1ib3c8xqnhwjh8yzjcdnhvqdmccw5x52sfh9xq797px39l";
sha256 = "1ql8rkbm5l94b842hg53cwf02vbw2785rlrs4cr60d4kn2c0lj2y";
};
buildInputs = [ gtk_engines ];

View file

@ -5,13 +5,13 @@
, libcanberra-gtk3, bogofilter, gst_all_1, procps, p11-kit, openldap }:
let
version = "3.30.4";
version = "3.30.5";
in stdenv.mkDerivation rec {
name = "evolution-${version}";
src = fetchurl {
url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "10dy08xpizvvj7r8xgs3lr6migm3ipr199yryqz7wgkycq6nf53b";
sha256 = "1hhxj3rh921pp3l3c5k33bdypcas1p66krzs65k1qn82c5fpgl2h";
};
propagatedUserEnvPkgs = [ gnome3.evolution-data-server ];

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
name = "evolution-data-server-${version}";
version = "3.30.4";
version = "3.30.5";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1j8lwl04zz59sg7k3hpkzp829z8xyd1isz8xavm9vzxfvw5w776y";
sha256 = "1s952wyhgcbmq9nfgk75v15zdy1h3wy5p5rmkqibaavmc0pk3mli";
};
patches = [

View file

@ -1,15 +1,15 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, lxqt, libconfig }:
{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, lxqt,
libconfig }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "compton-conf";
version = "0.4.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1r187fx1vivzq1gcwwawax36mnlmfig5j1ba4s4wfdi3q2wcq7mw";
sha256 = "1vxbh0vr7wknr7rbmdbmy5md1fdkw3zwlgpbv16cwdplbv9m97xi";
};
nativeBuildInputs = [
@ -24,8 +24,6 @@ stdenv.mkDerivation rec {
libconfig
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
preConfigure = ''
substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" \

View file

@ -18,7 +18,6 @@ let
lxqt-admin = callPackage ./lxqt-admin { };
lxqt-config = callPackage ./lxqt-config { };
lxqt-globalkeys = callPackage ./lxqt-globalkeys { };
lxqt-l10n = callPackage ./lxqt-l10n { };
lxqt-notificationd = callPackage ./lxqt-notificationd { };
lxqt-openssh-askpass = callPackage ./lxqt-openssh-askpass { };
lxqt-policykit = callPackage ./lxqt-policykit { };
@ -29,8 +28,6 @@ let
lxqt-themes = callPackage ./lxqt-themes { };
pavucontrol-qt = libsForQt5.callPackage ./pavucontrol-qt { };
qtermwidget = callPackage ./qtermwidget { };
# for now keep version 0.7.1 because virt-manager-qt currently does not compile with qtermwidget-0.8.0
qtermwidget_0_7_1 = callPackage ./qtermwidget/0.7.1.nix { };
### CORE 2
lxqt-panel = callPackage ./lxqt-panel { };
@ -70,7 +67,6 @@ let
lxqt-admin
lxqt-config
lxqt-globalkeys
lxqt-l10n
lxqt-notificationd
lxqt-openssh-askpass
lxqt-policykit

View file

@ -5,15 +5,14 @@
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "libfm-qt";
version = "0.13.1";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1g8j1lw74qvagqhqsx45b290fjwh3jfl3i0366m0w4la03v0rw5j";
sha256 = "1siqqn4waglymfi7c7lrmlxkylddw8qz0qfwqxr1hnmx3dsj9c36";
};
nativeBuildInputs = [
@ -34,8 +33,6 @@ stdenv.mkDerivation rec {
menu-cache
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; {
description = "Core library of PCManFM-Qt (Qt binding for libfm)";
homepage = https://github.com/lxqt/libfm-qt;

View file

@ -2,15 +2,14 @@
qttools, qtsvg, libqtxdg, polkit-qt, kwindowsystem, xorg }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "liblxqt";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1lbvnx6gg15k7fy1bnv5sjji659f603glblcl8c9psh0m1cjdbll";
sha256 = "1cpl6sd2fifpflahm8fvrrscrv03sinfm03m7yc1k59y6nsbwi36";
};
nativeBuildInputs = [
@ -29,13 +28,14 @@ stdenv.mkDerivation rec {
];
cmakeFlags = [
"-DPULL_TRANSLATIONS=NO"
"-DLXQT_ETC_XDG_DIR=/run/current-system/sw/etc/xdg"
];
patchPhase = ''
postPatch = ''
sed -i 's|set(LXQT_SHARE_DIR .*)|set(LXQT_SHARE_DIR "/run/current-system/sw/share/lxqt")|' CMakeLists.txt
sed -i "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; {

View file

@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, cmake, qt5 }:
{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg }:
stdenv.mkDerivation rec {
name = "libqtxdg-${version}";
version = "3.2.0";
pname = "libqtxdg";
version = "3.3.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = "libqtxdg";
repo = pname;
rev = version;
sha256 = "0lkmwnqk314mlr811rdb96p6i7zg67slxdvd4cdkiwakgbzzaa4m";
sha256 = "0qgqqgy15h0d1fwk4mnbv2hirz8njjjlng64bv33rc6wwrsaa50b";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ qt5.qtbase qt5.qtsvg ];
buildInputs = [ qtbase qtsvg ];
preConfigure = ''
cmakeFlagsArray+=(

View file

@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, cmake, qt5, lxqt }:
{ stdenv, fetchFromGitHub, cmake, qtbase, lxqt-build-tools }:
stdenv.mkDerivation rec {
name = "libsysstat-${version}";
version = "0.4.1";
pname = "libsysstat";
version = "0.4.2";
src = fetchFromGitHub {
owner = "lxqt";
repo = "libsysstat";
repo = pname;
rev = version;
sha256 = "0ad5pcr5lq1hvrfijvddvz2fvsmh1phb54wb0f756av0kyiwq0gb";
sha256 = "10h9n7km7yx8bnmzxi4nn1yqq03hizjkrx4745j0mczy7niiffsz";
};
nativeBuildInputs = [ cmake lxqt.lxqt-build-tools ];
nativeBuildInputs = [ cmake lxqt-build-tools ];
buildInputs = [ qt5.qtbase ];
buildInputs = [ qtbase ];
meta = with stdenv.lib; {
description = "Library used to query system info and statistics";

View file

@ -1,15 +1,15 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt5, xorg, lxqt-build-tools, libfm-qt, libexif }:
{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools,
qtx11extras, qtsvg, xorg, lxqt-build-tools, libfm-qt, libexif }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lximage-qt";
version = "0.7.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1slmaic9cmj5lqa5kwc1qfbbycwh8840wnkg0nxc99ls0aazlpzi";
sha256 = "0zx9903ym5a9zk4m9khr22fj5sy57mg2v8wnk177wjm11lhic5v8";
};
nativeBuildInputs = [
@ -19,18 +19,16 @@ stdenv.mkDerivation rec {
];
buildInputs = [
qt5.qtbase
qt5.qttools
qt5.qtx11extras
qt5.qtsvg
qtbase
qttools
qtx11extras
qtsvg
libfm-qt
xorg.libpthreadstubs
xorg.libXdmcp
libexif
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; {
description = "The image viewer and screenshot tool for lxqt";
homepage = https://github.com/lxqt/lximage-qt;

View file

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-about";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "03f53rnn4rkd1xc2q9abnw37aq4sgvpbwhmcnckqyzc87lj6ici0";
sha256 = "14b13v1r5ncz4ycg25ac9ppafiifc37qws8kcw078if72rp9n121";
};
nativeBuildInputs = [
@ -26,7 +25,10 @@ stdenv.mkDerivation rec {
libqtxdg
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; {
description = "Dialogue window providing information about LXQt and the system it's running on";

View file

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, polkit-qt }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-admin";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1nsf8sbgmfanvcxw67drhz1wrizkcd0p87jwr1za5rcgd50bi2yy";
sha256 = "0sdb514hgha5yvmbzi6nm1yx1rmbkh5fam09ybidjwpdwl2l4pxx";
};
nativeBuildInputs = [
@ -27,12 +26,15 @@ stdenv.mkDerivation rec {
polkit-qt
];
patchPhase = ''
postPatch = ''
sed "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" \
-i lxqt-admin-user/CMakeLists.txt
'';
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
for f in lxqt-admin-{user,time}/CMakeLists.txt; do
substituteInPlace $f \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
done
'';
meta = with stdenv.lib; {
description = "LXQt system administration tool";

View file

@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qt5, glib }:
{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, glib }:
stdenv.mkDerivation rec {
name = "lxqt-build-tools-${version}";
version = "0.5.0";
pname = "lxqt-build-tools";
version = "0.6.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = "lxqt-build-tools";
repo = pname;
rev = version;
sha256 = "0dcwzrijmn4sgivmy2zwz3xa4y69pwhranyw0m90g0pp55di2psz";
sha256 = "0i7m9s4g5rsw28vclc9nh0zcapx85cqfwxkx7rrw7wa12svy7pm2";
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ qt5.qtbase glib pcre ];
buildInputs = [ qtbase glib pcre ];
preConfigure = ''cmakeFlags+=" -DLXQT_ETC_XDG_DIR=$out/etc/xdg"'';

View file

@ -1,15 +1,16 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qtx11extras, qttools, qtsvg, kwindowsystem, libkscreen, liblxqt, libqtxdg, xorg }:
{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase,
qtx11extras, qttools, qtsvg, kwindowsystem, libkscreen, liblxqt,
libqtxdg, xorg }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-config";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "0r5vwkyz0c9b9py3wni4yzkmsvgs6psk9dp1fhfzvbjbknb21bfa";
sha256 = "1pp2pw43zh8kwi2cxk909wn6bw7kba95b6bv96l2gmzhdqpfw2a7";
};
nativeBuildInputs = [
@ -32,13 +33,29 @@ stdenv.mkDerivation rec {
xorg.libXScrnSaver
xorg.libxcb
xorg.libXcursor
xorg.xf86inputlibinput
xorg.xf86inputlibinput.dev
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
substituteInPlace src/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
for f in \
lxqt-config-file-associations/CMakeLists.txt \
lxqt-config-brightness/CMakeLists.txt \
lxqt-config-appearance/CMakeLists.txt \
lxqt-config-locale/CMakeLists.txt \
lxqt-config-monitor/CMakeLists.txt \
lxqt-config-input/CMakeLists.txt \
liblxqt-config-cursor/CMakeLists.txt \
src/CMakeLists.txt
do
substituteInPlace $f \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
done
sed -i "/\''${XORG_LIBINPUT_INCLUDE_DIRS}/a ${xorg.xf86inputlibinput.dev}/include/xorg" lxqt-config-input/CMakeLists.txt
'';
meta = with stdenv.lib; {

View file

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-globalkeys";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1fmi0n5chnrpbgf7zwzc3hi55r85hkxaq5jylbwaahmxhnb5hdid";
sha256 = "14bfkh54mn3jyq8g9ipy3xmc3n9lmlqpvm26kpqig7567hbncv7n";
};
nativeBuildInputs = [
@ -27,13 +26,14 @@ stdenv.mkDerivation rec {
libqtxdg
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
for dir in autostart xdg; do
substituteInPlace $dir/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
done
substituteInPlace config/CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; {

View file

@ -1,32 +0,0 @@
{ stdenv, fetchFromGitHub, cmake, qt5, lxqt }:
stdenv.mkDerivation rec {
name = "lxqt-l10n-${version}";
version = "0.13.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = "lxqt-l10n";
rev = version;
sha256 = "0q1hzj6sa4wc8sgqqqsqfldjpnvihacfq73agvc2li3q6qi5rr0k";
};
nativeBuildInputs = [
cmake
qt5.qttools
lxqt.lxqt-build-tools
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "$out"/share/lxqt/translations
'';
meta = with stdenv.lib; {
description = "Translations of LXQt";
homepage = https://github.com/lxqt/lxqt-l10n;
license = licenses.lgpl21Plus;
platforms = with platforms; unix;
maintainers = with maintainers; [ romildo ];
};
}

View file

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, qtx11extras }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-notificationd";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "0vjpl3ipc0hrz255snkp99h6xrlid490ml8jb588rdpfina66sp1";
sha256 = "1nawcxy2qnrngcxvwjwmmh4fn7mhnfgy1g77rn90243jvy29wv5f";
};
nativeBuildInputs = [
@ -20,6 +19,11 @@ stdenv.mkDerivation rec {
postPatch = ''
substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
for f in {config,src}/CMakeLists.txt; do
substituteInPlace $f \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
done
'';
buildInputs = [
@ -32,8 +36,6 @@ stdenv.mkDerivation rec {
qtx11extras
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; {
description = "The LXQt notification daemon";
homepage = https://github.com/lxqt/lxqt-notificationd;

View file

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-openssh-askpass";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "19djmqwk4kj3rxs4h7a471ydcz87j5z4yv8a6pgblvqdkkn0ylk9";
sha256 = "19xcc6i7jg35780r4dfg4vwfp9x4pz5sqzagxnpzspz61jaj5ibv";
};
nativeBuildInputs = [
@ -27,7 +26,10 @@ stdenv.mkDerivation rec {
libqtxdg
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; {
description = "GUI to query passwords on behalf of SSH agents";

View file

@ -8,15 +8,14 @@
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-panel";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "056khr3smyrdi26zpclwv1qrmk0zxr9cnk65ad9c0xavzk6ya3xz";
sha256 = "0jr7ylf6d35m0ckn884arjk4armknnw8iyph00gcphn5bqycbn8l";
};
nativeBuildInputs = [
@ -50,8 +49,6 @@ stdenv.mkDerivation rec {
libXdamage
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
for dir in autostart menu; do
substituteInPlace $dir/CMakeLists.txt \
@ -59,6 +56,11 @@ stdenv.mkDerivation rec {
done
substituteInPlace panel/CMakeLists.txt \
--replace "DESTINATION \''${LXQT_ETC_XDG_DIR}" "DESTINATION etc/xdg"
for f in cmake/BuildPlugin.cmake panel/CMakeLists.txt; do
substituteInPlace $f \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
done
'';
meta = with stdenv.lib; {

View file

@ -5,15 +5,14 @@
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-policykit";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1m9v4hl1hyd8rmlh6z2zy6287qfnavsm9khl526jf8f7bjgpifvd";
sha256 = "05k39819nsdyg2pp1vk6g2hdpxqp78h6bhb0hp5rclf9ap5fpvvc";
};
nativeBuildInputs = [
@ -34,11 +33,12 @@ stdenv.mkDerivation rec {
pcre
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; {

View file

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, solid, kidletime, liblxqt, libqtxdg }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-powermanagement";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "04mx1nxqqqjg3wsql4ch4j1a4cbqfvpq0iwi6b9yhaf04n0dwrvn";
sha256 = "08xdnb54lji09izzzfip8fw0gp17qkx66jm6i04zby4whx4mqniv";
};
nativeBuildInputs = [
@ -29,11 +28,14 @@ stdenv.mkDerivation rec {
libqtxdg
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
for f in {config,src}/CMakeLists.txt; do
substituteInPlace $f \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
done
'';
meta = with stdenv.lib; {

View file

@ -5,15 +5,14 @@
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-qtplugin";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "19y5dvbj7gwyh8glc6vi6hb5snvkd3jwvss6j0sn2sy2gp9g9ryb";
sha256 = "16n50lxnya03zcviw65sy5dyg9dsrn64k91mrqfvraf6d90md4al";
};
nativeBuildInputs = [

View file

@ -2,15 +2,14 @@
menu-cache, muparser, pcre }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-runner";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "0w6r9lby35p0lf5klasa5l2lscx6dmv16kzfhl4lc6w2qfwjb9vi";
sha256 = "1qyacig9ksnjrhws8cpk6arlaxn7kl0z39l3c62ql3m89mibsm88";
};
nativeBuildInputs = [
@ -33,11 +32,12 @@ stdenv.mkDerivation rec {
pcre
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; {

View file

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg, xorg, xdg-user-dirs }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-session";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "0ngcrkmfpahii4yibsh03b8v8af93hhqm42kk1nnhczc8dg49mhs";
sha256 = "0nla1ki23p1bwzw5hbmh9l8yg3b0f55kflgnvyfakmvpivjbz3k6";
};
nativeBuildInputs = [
@ -31,13 +30,16 @@ stdenv.mkDerivation rec {
xdg-user-dirs
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
for dir in autostart config; do
substituteInPlace $dir/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
done
for f in lxqt-{config-session,leave,session}/CMakeLists.txt; do
substituteInPlace $f \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
done
'';
meta = with stdenv.lib; {

View file

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg, sudo }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-sudo";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1gpn3dhmzabx0jrqxq63549sah03kf6bmdc9d9kmg6hyr5xg3i1h";
sha256 = "0l8fq06kfsrmvg2fr8lqdsxr6fwxmxsa9zwaa3fs9inzaylm0jkh";
};
nativeBuildInputs = [
@ -28,7 +27,10 @@ stdenv.mkDerivation rec {
sudo
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; {
description = "GUI frontend for sudo/su";

View file

@ -1,20 +1,19 @@
{ stdenv, fetchFromGitHub, cmake, lxqt }:
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-themes";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "026hbblxdbq48n9691b1z1xiak99khsk3wf09vn4iaj5zi7dwhw5";
sha256 = "09dkcgnf3lmfly8v90p6wjlj5rin83pbailvvpx2jr8a48a8zb9f";
};
nativeBuildInputs = [
cmake
lxqt.lxqt-build-tools
lxqt-build-tools
];
postPatch = ''

View file

@ -1,28 +1,28 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qt5, xorg, lxqt, openbox, hicolor-icon-theme }:
{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, qttools,
qtx11extras, xorg, lxqt-build-tools, openbox, hicolor-icon-theme }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "obconf-qt";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "0mixf35p7b563f77vnikk9b1wqhbdawp723sd30rfql76gkjwjcn";
sha256 = "00v5w8qr3vs0k91flij9lz7y1cpp2g8ivgnmmm43ymjfiz5j6l27";
};
nativeBuildInputs = [
cmake
pkgconfig
lxqt.lxqt-build-tools
lxqt-build-tools
];
buildInputs = [
pcre
qt5.qtbase
qt5.qttools
qt5.qtx11extras
qtbase
qttools
qtx11extras
xorg.libpthreadstubs
xorg.libXdmcp
xorg.libSM
@ -30,8 +30,6 @@ stdenv.mkDerivation rec {
hicolor-icon-theme
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; {
description = "The Qt port of obconf, the Openbox configuration tool";
homepage = https://github.com/lxqt/obconf-qt;

View file

@ -1,15 +1,15 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, libpulseaudio, pcre, qtbase, qttools, qtx11extras }:
{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, libpulseaudio,
pcre, qtbase, qttools, qtx11extras }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "pavucontrol-qt";
version = "0.4.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1bxqpasfvaagbq8azl7536z2zk2725xg7jkvad5xh95zq1gb4hgk";
sha256 = "1vyjm6phgbxglk65c889bd73b0p2ffb5bsc89dmb07qzllyrjb4h";
};
nativeBuildInputs = [
@ -26,8 +26,6 @@ stdenv.mkDerivation rec {
pcre
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; {
description = "A Pulseaudio mixer in Qt (port of pavucontrol)";
homepage = https://github.com/lxqt/pavucontrol-qt;

View file

@ -1,35 +1,33 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qt5, libfm-qt, menu-cache, lxmenu-data }:
{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, qtbase, qttools,
qtx11extras, libfm-qt, menu-cache, lxmenu-data }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "pcmanfm-qt";
version = "0.13.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "0xnhdxx45fmbi5dqic3j2f7yq01s0xysimafj5zqs0a29zw3i4m0";
sha256 = "0hf4qyn12mpr6rrla9mf6ka5gb4y36amk7d14ayr7yka1r16p8lz";
};
nativeBuildInputs = [
cmake
pkgconfig
lxqt-build-tools
lxqt.lxqt-build-tools
];
buildInputs = [
qt5.qtbase
qt5.qttools
qt5.qtx11extras
qtbase
qttools
qtx11extras
libfm-qt
libfm-qt
menu-cache
lxmenu-data
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = ''
for dir in autostart config; do
substituteInPlace $dir/CMakeLists.txt \

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, qt5 }:
{ stdenv, fetchFromGitHub, cmake, qtbase, qttools }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ];
buildInputs = [ qt5.qtbase qt5.qttools ];
buildInputs = [ qtbase qttools ];
meta = with stdenv.lib; {
description = "Cross-platform clipboard history applet";

View file

@ -1,20 +1,20 @@
{ stdenv, fetchFromGitHub, cmake, qt5 }:
{ stdenv, fetchFromGitHub, cmake, qtbase, qtx11extras, qttools,
lxqt-build-tools }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "qps";
version = "1.10.18";
version = "1.10.19";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1cq5z4w2n119z2bq0njn508g5582jljdx2n38cv5b3cf35k91a49";
sha256 = "1vyi1vw4z5j2sp9yhhv91wl2sbg4fh0djqslg1ssc7fww2ka6dx3";
};
nativeBuildInputs = [ cmake ];
nativeBuildInputs = [ cmake lxqt-build-tools ];
buildInputs = [ qt5.qtbase qt5.qtx11extras qt5.qttools ];
buildInputs = [ qtbase qtx11extras qttools ];
meta = with stdenv.lib; {
description = "The Qt process manager";

View file

@ -1,15 +1,15 @@
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtermwidget, qt5 }:
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtermwidget,
qtbase, qttools, qtx11extras }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "qterminal";
version = "0.9.0";
version = "0.14.0";
src = fetchFromGitHub {
owner = "lxqt";
repo = pname;
rev = version;
sha256 = "1z9wlyj5i192jfq3dcxjf8wzx9x332f19c9ll7zv69cq21kyy9wn";
sha256 = "071qz248j9gcqzchnrz8xamm07g4r2xyrmnb0a2vjkjd63pk2r8f";
};
nativeBuildInputs = [
@ -18,14 +18,12 @@ stdenv.mkDerivation rec {
];
buildInputs = [
qt5.qtbase
qt5.qttools
qt5.qtx11extras
qtbase
qttools
qtx11extras
qtermwidget
];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; {
description = "A lightweight Qt-based terminal emulator";
homepage = https://github.com/lxqt/qterminal;

Some files were not shown because too many files have changed in this diff Show more