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 ```nix
services.hoogle = { services.hoogle = {
enable = true; enable = true;
packages = (hpkgs: with hpkgs; [text cryptonite]); packages = (hpkgs: with hpkgs; [text cryptonite]);
haskellPackages = pkgs.haskellPackages; haskellPackages = pkgs.haskellPackages;
}; };
``` ```

View File

@ -121,7 +121,7 @@ rec {
auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs; auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
origArgs = auto // args; origArgs = auto // args;
pkgs = f origArgs; 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; in lib.mapAttrs mkAttrOverridable pkgs;

View File

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

View File

@ -7,12 +7,17 @@ fifo
inspect inspect
lgi lgi
lpeg_patterns lpeg_patterns
lpty
lrexlib-gnu, lrexlib-gnu,
lrexlib-posix, lrexlib-posix,
ltermbox, ltermbox,
lua-cmsgpack, lua-cmsgpack,
lua_cliargs, lua_cliargs,
lua-iconv,
lua-term, lua-term,
luabitop,
luaevent,
luacheck
luaffi,http://luarocks.org/dev, luaffi,http://luarocks.org/dev,
luuid, luuid,
penlight, 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 networks are set, it will default to using a configuration file at
<literal>/etc/wpa_supplicant.conf</literal>. You should edit this file <literal>/etc/wpa_supplicant.conf</literal>. You should edit this file
yourself to define wireless networks, WPA keys and so on (see 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>
<para> <para>

View File

@ -444,6 +444,23 @@
<option>services.matomo.package</option> which determines the used <option>services.matomo.package</option> which determines the used
Matomo version. Matomo version.
</para> </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>
<listitem> <listitem>
<para> <para>

View File

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

View File

@ -4,6 +4,7 @@ with lib;
let let
cfg = config.services.nzbget; cfg = config.services.nzbget;
dataDir = builtins.dirOf cfg.configFile;
in { in {
options = { options = {
services.nzbget = { services.nzbget = {
@ -41,6 +42,12 @@ in {
default = "nzbget"; default = "nzbget";
description = "Group under which NZBGet runs"; 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 p7zip
]; ];
preStart = '' preStart = ''
datadir=${cfg.dataDir}
configfile=${cfg.dataDir}/nzbget.conf
cfgtemplate=${cfg.package}/share/nzbget/nzbget.conf cfgtemplate=${cfg.package}/share/nzbget/nzbget.conf
test -d $datadir || { if [ ! -f ${cfg.configFile} ]; then
echo "Creating nzbget data directory in $datadir" echo "${cfg.configFile} not found. Copying default config $cfgtemplate to ${cfg.configFile}"
mkdir -p $datadir install -m 0700 $cfgtemplate ${cfg.configFile}
}
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
echo "Setting temporary \$MAINDIR variable in default config required in order to allow nzbget to complete initial start" 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" echo "Remember to change this to a proper value once NZBGet startup has been completed"
sed -i -e 's/MainDir=.*/MainDir=\/tmp/g' $configfile sed -i -e 's/MainDir=.*/MainDir=\/tmp/g' ${cfg.configFile}
} fi
echo "Ensuring proper ownership of $datadir (${cfg.user}:${cfg.group})."
chown -R ${cfg.user}:${cfg.group} $datadir
''; '';
script = '' script = ''
configfile=${cfg.dataDir}/nzbget.conf args="--daemon --configfile ${cfg.configFile}"
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.
# 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
# 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. # the currently installed nzbget derivation.
cfgfallback () { 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 ) || { ( 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" args+=" -o $1=$2"
} }
} }
@ -93,6 +89,8 @@ in {
''; '';
serviceConfig = { serviceConfig = {
StateDirectory = dataDir;
StateDirectoryMode = "0700";
Type = "forking"; Type = "forking";
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;

View File

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

View File

@ -205,15 +205,13 @@ in {
mysql = lib.mkIf cfg.database.createLocally { mysql = lib.mkIf cfg.database.createLocally {
ensureDatabases = [ cfg.database.name ]; ensureDatabases = [ cfg.database.name ];
ensureUsers = { ensureUsers = [{
name = cfg.database.username; name = cfg.database.username;
ensurePermissions = [ ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
{ "${cfg.database.name}.*" = "ALL PRIVILEGES"; }
];
initialDatabases = [ initialDatabases = [
{ inherit (cfg.database) name; schema = "${pkg}/share/zoneminder/db/zm_create.sql"; } { inherit (cfg.database) name; schema = "${pkg}/share/zoneminder/db/zm_create.sql"; }
]; ];
}; }];
}; };
nginx = lib.mkIf useNginx { 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 { network = mkOption {
description = " IPv4 network in CIDR format to use for the entire flannel network."; description = " IPv4 network in CIDR format to use for the entire flannel network.";
type = types.str; 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 { subnetLen = mkOption {
description = '' description = ''
The size of the subnet allocated to each host. Defaults to 24 (i.e. /24) The size of the subnet allocated to each host. Defaults to 24 (i.e. /24)
@ -122,17 +146,22 @@ in {
after = [ "network.target" ]; after = [ "network.target" ];
environment = { environment = {
FLANNELD_PUBLIC_IP = cfg.publicIp; FLANNELD_PUBLIC_IP = cfg.publicIp;
FLANNELD_IFACE = cfg.iface;
} // optionalAttrs (cfg.storageBackend == "etcd") {
FLANNELD_ETCD_ENDPOINTS = concatStringsSep "," cfg.etcd.endpoints; FLANNELD_ETCD_ENDPOINTS = concatStringsSep "," cfg.etcd.endpoints;
FLANNELD_ETCD_KEYFILE = cfg.etcd.keyFile; FLANNELD_ETCD_KEYFILE = cfg.etcd.keyFile;
FLANNELD_ETCD_CERTFILE = cfg.etcd.certFile; FLANNELD_ETCD_CERTFILE = cfg.etcd.certFile;
FLANNELD_ETCD_CAFILE = cfg.etcd.caFile; FLANNELD_ETCD_CAFILE = cfg.etcd.caFile;
FLANNELD_IFACE = cfg.iface;
ETCDCTL_CERT_FILE = cfg.etcd.certFile; ETCDCTL_CERT_FILE = cfg.etcd.certFile;
ETCDCTL_KEY_FILE = cfg.etcd.keyFile; ETCDCTL_KEY_FILE = cfg.etcd.keyFile;
ETCDCTL_CA_FILE = cfg.etcd.caFile; ETCDCTL_CA_FILE = cfg.etcd.caFile;
ETCDCTL_PEERS = concatStringsSep "," cfg.etcd.endpoints; 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" echo "setting network configuration"
until ${pkgs.etcdctl.bin}/bin/etcdctl set /coreos.com/network/config '${builtins.toJSON networkConfig}' until ${pkgs.etcdctl.bin}/bin/etcdctl set /coreos.com/network/config '${builtins.toJSON networkConfig}'
do do
@ -149,6 +178,12 @@ in {
serviceConfig.ExecStart = "${cfg.package}/bin/flannel"; 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 = '' description = ''
Use this option to configure advanced authentication methods like EAP. 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>. Mutually exclusive with <varname>psk</varname> and <varname>pskRaw</varname>.
''; '';
@ -122,7 +127,12 @@ in {
''; '';
description = '' description = ''
Extra configuration lines appended to the network block. 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 = '' description = ''
Extra lines appended to the configuration file. 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 ${cfg.tempDir}
mkdir -m 0755 -p /var/lib/cups 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 # Backwards compatibility
if [ ! -L /etc/cups ]; then if [ ! -L /etc/cups ]; then
mv /etc/cups/* /var/lib/cups 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 An automatic setup is not suported by Matomo, so you need to configure Matomo
itself in the browser-based Matomo setup. itself in the browser-based Matomo setup.
</para> </para>
<section xml:id="module-services-matomo-database-setup"> <section xml:id="module-services-matomo-database-setup">
<title>Database Setup</title> <title>Database Setup</title>
<para> <para>
You also need to configure a MariaDB or MySQL database and -user for Matomo 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 yourself, and enter those credentials in your browser. You can use
passwordless database authentication via the UNIX_SOCKET authentication passwordless database authentication via the UNIX_SOCKET authentication
plugin with the following SQL commands: plugin with the following SQL commands:
<programlisting> <programlisting>
# For MariaDB # For MariaDB
INSTALL PLUGIN unix_socket SONAME 'auth_socket'; INSTALL PLUGIN unix_socket SONAME 'auth_socket';
CREATE DATABASE matomo; CREATE DATABASE matomo;
@ -32,7 +32,7 @@
CREATE DATABASE matomo; CREATE DATABASE matomo;
CREATE USER 'matomo'@'localhost' IDENTIFIED WITH auth_socket; CREATE USER 'matomo'@'localhost' IDENTIFIED WITH auth_socket;
GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost'; GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
</programlisting> </programlisting>
Then fill in <literal>matomo</literal> as database user and database name, Then fill in <literal>matomo</literal> as database user and database name,
and leave the password field blank. This authentication works by allowing and leave the password field blank. This authentication works by allowing
only the <literal>matomo</literal> unix user to authenticate as the only the <literal>matomo</literal> unix user to authenticate as the
@ -46,9 +46,30 @@
database is not on the same host. database is not on the same host.
</para> </para>
</section> </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"> <section xml:id="module-services-matomo-backups">
<title>Backup</title> <title>Backup</title>
<para> <para>
You only need to take backups of your MySQL database and the 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 <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/" />. <link xlink:href="https://matomo.org/faq/how-to-install/faq_138/" />.
</para> </para>
</section> </section>
<section xml:id="module-services-matomo-issues"> <section xml:id="module-services-matomo-issues">
<title>Issues</title> <title>Issues</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
@ -76,6 +97,7 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</section> </section>
<section xml:id="module-services-matomo-other-web-servers"> <section xml:id="module-services-matomo-other-web-servers">
<title>Using other Web Servers than nginx</title> <title>Using other Web Servers than nginx</title>

View File

@ -23,20 +23,24 @@ in {
options = { options = {
services.matomo = { services.matomo = {
# NixOS PR for database setup: https://github.com/NixOS/nixpkgs/pull/6963 # 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 # 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. # TODO: find a nice way to do this when more NixOS MySQL and / or Matomo automatic setup stuff is implemented.
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' 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. Either the nginx option or the webServerUser option is mandatory.
''; '';
}; };
package = mkOption { package = mkOption {
type = types.package; 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; default = pkgs.matomo;
defaultText = "pkgs.matomo"; defaultText = "pkgs.matomo";
}; };
@ -45,12 +49,25 @@ in {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "lighttpd"; example = "lighttpd";
# TODO: piwik.php might get renamed to matomo.php in future releases
description = '' 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. 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 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 catch_workers_output = yes
''; '';
description = '' 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; }) (import ../web-servers/nginx/vhost-options.nix { inherit config lib; })
{ {
# enable encryption by default, # 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.forceSSL.default = true;
options.enableACME.default = true; options.enableACME.default = true;
} }
@ -94,7 +111,7 @@ in {
enableACME = false; enableACME = false;
}; };
description = '' 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. Either this option or the webServerUser option is mandatory.
Set this to {} to just enable the virtualHost if you don't need any customization. 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 If enabled, then by default, the <option>serverName</option> is
@ -124,29 +141,30 @@ in {
}; };
users.groups.${user} = {}; users.groups.${user} = {};
systemd.services.matomo_setup_update = { systemd.services.matomo-setup-update = {
# everything needs to set up and up to date before matomo php files are executed # everything needs to set up and up to date before Matomo php files are executed
requiredBy = [ "${phpExecutionUnit}.service" ]; requiredBy = [ "${phpExecutionUnit}.service" ];
before = [ "${phpExecutionUnit}.service" ]; before = [ "${phpExecutionUnit}.service" ];
# the update part of the script can only work if the database is already up and running # the update part of the script can only work if the database is already up and running
requires = [ databaseService ]; requires = [ databaseService ];
after = [ databaseService ]; after = [ databaseService ];
path = [ cfg.package ]; path = [ cfg.package ];
environment.PIWIK_USER_PATH = dataDir;
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
User = user; User = user;
# hide especially config.ini.php from other # hide especially config.ini.php from other
UMask = "0007"; UMask = "0007";
# TODO: might get renamed to MATOMO_USER_PATH in future versions # TODO: might get renamed to MATOMO_USER_PATH in future versions
Environment = "PIWIK_USER_PATH=${dataDir}";
# chown + chmod in preStart needs root # chown + chmod in preStart needs root
PermissionsStartOnly = true; PermissionsStartOnly = true;
}; };
# correct ownership and permissions in case they're not correct anymore, # correct ownership and permissions in case they're not correct anymore,
# e.g. after restoring from backup or moving from another system. # e.g. after restoring from backup or moving from another system.
# Note that ${dataDir}/config/config.ini.php might contain the MySQL password. # Note that ${dataDir}/config/config.ini.php might contain the MySQL password.
preStart = '' preStart = ''
# migrate data from piwik to matomo folder # migrate data from piwik to Matomo folder
if [ -d ${deprecatedDataDir} ]; then if [ -d ${deprecatedDataDir} ]; then
echo "Migrating from ${deprecatedDataDir} to ${dataDir}" echo "Migrating from ${deprecatedDataDir} to ${dataDir}"
mv -T ${deprecatedDataDir} ${dataDir} mv -T ${deprecatedDataDir} ${dataDir}
@ -155,7 +173,7 @@ in {
chmod -R ug+rwX,o-rwx ${dataDir} chmod -R ug+rwX,o-rwx ${dataDir}
''; '';
script = '' 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 # Copy config folder
chmod g+s "${dataDir}" chmod g+s "${dataDir}"
cp -r "${cfg.package}/config" "${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} = { 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 ]; restartTriggers = [ cfg.package ];
# stop config.ini.php from getting written with read permission for others # stop config.ini.php from getting written with read permission for others
serviceConfig.UMask = "0007"; serviceConfig.UMask = "0007";
@ -200,13 +249,13 @@ in {
# https://fralef.me/piwik-hardening-with-nginx-and-php-fpm.html # https://fralef.me/piwik-hardening-with-nginx-and-php-fpm.html
# https://github.com/perusio/piwik-nginx # https://github.com/perusio/piwik-nginx
"${user}.${fqdn}" = mkMerge [ cfg.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. # disadvantage: not shown as default in docs.
root = mkForce "${cfg.package}/share"; root = mkForce "${cfg.package}/share";
# define locations here instead of as the submodule option's default # define locations here instead of as the submodule option's default
# so that they can easily be extended with additional locations if required # 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. # disadvantage: not shown as default in docs.
locations."/" = { locations."/" = {
index = "index.php"; index = "index.php";
@ -215,8 +264,11 @@ in {
locations."= /index.php".extraConfig = '' locations."= /index.php".extraConfig = ''
fastcgi_pass unix:${phpSocket}; fastcgi_pass unix:${phpSocket};
''; '';
# TODO: might get renamed to matomo.php in future versions # allow matomo.php for tracking
# allow piwik.php for tracking locations."= /matomo.php".extraConfig = ''
fastcgi_pass unix:${phpSocket};
'';
# allow piwik.php for tracking (deprecated name)
locations."= /piwik.php".extraConfig = '' locations."= /piwik.php".extraConfig = ''
fastcgi_pass unix:${phpSocket}; fastcgi_pass unix:${phpSocket};
''; '';
@ -237,8 +289,11 @@ in {
locations."= /robots.txt".extraConfig = '' locations."= /robots.txt".extraConfig = ''
return 200 "User-agent: *\nDisallow: /\n"; return 200 "User-agent: *\nDisallow: /\n";
''; '';
# TODO: might get renamed to matomo.js in future versions # let browsers cache matomo.js
# let browsers cache piwik.js locations."= /matomo.js".extraConfig = ''
expires 1M;
'';
# let browsers cache piwik.js (deprecated name)
locations."= /piwik.js".extraConfig = '' locations."= /piwik.js".extraConfig = ''
expires 1M; expires 1M;
''; '';

View File

@ -53,7 +53,17 @@ let
define('SINGLE_USER_MODE', ${boolToString cfg.singleUserMode}); define('SINGLE_USER_MODE', ${boolToString cfg.singleUserMode});
define('SIMPLE_UPDATE_MODE', ${boolToString cfg.simpleUpdateMode}); 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('FORCE_ARTICLE_PURGE', ${toString cfg.forceArticlePurge});
define('SESSION_COOKIE_LIFETIME', ${toString cfg.sessionCookieLifetime}); 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 { enableGZipOutput = mkOption {
type = types.bool; type = types.bool;
default = true; 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 ###### implementation

View File

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

View File

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

View File

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

View File

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

View File

@ -18,8 +18,17 @@ import ./make-test.nix ({ pkgs, ...} : {
testScript = {nodes, ...}: let testScript = {nodes, ...}: let
originalSystem = nodes.machine.config.system.build.toplevel; originalSystem = nodes.machine.config.system.build.toplevel;
otherSystem = nodes.other.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 '' in ''
$machine->succeed("env -i ${originalSystem}/bin/switch-to-configuration test | tee /dev/stderr"); $machine->succeed("${stderrRunner} ${originalSystem}/bin/switch-to-configuration test");
$machine->succeed("env -i ${otherSystem}/bin/switch-to-configuration test | tee /dev/stderr"); $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 , libiconv, CoreAudio
, alsaSupport ? stdenv.isLinux, alsaLib ? null , alsaSupport ? stdenv.isLinux, alsaLib ? null
@ -7,7 +7,7 @@
, jackSupport ? false, libjack ? null , jackSupport ? false, libjack ? null
, samplerateSupport ? jackSupport, libsamplerate ? null , samplerateSupport ? jackSupport, libsamplerate ? null
, ossSupport ? false, alsaOss ? null , ossSupport ? false, alsaOss ? null
, pulseaudioSupport ? false, libpulseaudio ? null , pulseaudioSupport ? config.pulseaudio or false, libpulseaudio ? null
# TODO: add these # TODO: add these
#, artsSupport #, 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 # deadbeef can use either gtk2 or gtk3
, gtk2Support ? false, gtk2 ? null , gtk2Support ? false, gtk2 ? null
, gtk3Support ? true, gtk3 ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null , gtk3Support ? true, gtk3 ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null
@ -20,7 +20,7 @@
, osdSupport ? true, dbus ? null , osdSupport ? true, dbus ? null
# output plugins # output plugins
, alsaSupport ? true, alsaLib ? null , alsaSupport ? true, alsaLib ? null
, pulseSupport ? true, libpulseaudio ? null , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
# effect plugins # effect plugins
, resamplerSupport ? true, libsamplerate ? null , resamplerSupport ? true, libsamplerate ? null
, overloadSupport ? true, zlib ? null , overloadSupport ? true, zlib ? null

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qmapshack-${version}"; name = "qmapshack-${version}";
version = "1.12.1"; version = "1.12.3";
src = fetchurl { src = fetchurl {
url = "https://bitbucket.org/maproom/qmapshack/downloads/${name}.tar.gz"; url = "https://bitbucket.org/maproom/qmapshack/downloads/${name}.tar.gz";
sha256 = "1d6n7xk0ksxb1fw43s5lb08vgxf6h93k3rb401cbka1inpyf2232"; sha256 = "1yp5gw4q4gwiwr9w4dz19am0bhsla9n2l3bdlk98a7f46kxgnkrx";
}; };
nativeBuildInputs = [ cmake ]; 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, ncurses, perl, fontconfig, freetype, pkgconfig, libXrender,
gdkPixbufSupport, gdk_pixbuf, unicode3Support }: gdkPixbufSupport ? true, gdk_pixbuf, unicode3Support ? true }:
let let
pname = "rxvt-unicode"; pname = "rxvt-unicode";

View File

@ -6,12 +6,12 @@ let inherit (python3Packages) python buildPythonApplication fetchPypi;
in buildPythonApplication rec { in buildPythonApplication rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "safeeyes"; pname = "safeeyes";
version = "2.0.8"; version = "2.0.8.1";
namePrefix = ""; namePrefix = "";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "08acrf9sngjjmplszjxzfq3af9xg4xscga94q0lkck2l1kqckc2l"; sha256 = "1x52ym8n4r6h38n4mcydxkvz71hhrd9wbiq4gzvwrai0xzl6qqsq";
}; };
buildInputs = [ 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 , glib, gtk3, gnome3, gsettings-desktop-schemas
# package customization # package customization
@ -10,12 +11,17 @@
, enablePepperFlash ? false , enablePepperFlash ? false
, enableWideVine ? false , enableWideVine ? false
, cupsSupport ? true , cupsSupport ? true
, pulseSupport ? false , pulseSupport ? config.pulseaudio or stdenv.isLinux
, commandLineArgs ? "" , commandLineArgs ? ""
}: }:
assert stdenv.cc.isClang -> (stdenv == llvmPackages.stdenv);
let 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; callPackage = newScope chromium;
chromium = { chromium = {

View File

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

View File

@ -89,7 +89,7 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ]; fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source # Upstream source
version = "8.0.5"; version = "8.0.6";
lang = "en-US"; 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://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" "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
]; ];
sha256 = "0afrq5vy6rxj4p2dm7kaiq3d3iv4g8ivn7nfqx0z8h1wikyaf5di"; sha256 = "14i32r8pw749ghigqblnbr5622jh5wp1ivnwi71vycbgp9pds4f7";
}; };
"i686-linux" = fetchurl { "i686-linux" = fetchurl {
@ -107,7 +107,7 @@ let
"https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz" "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" "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
]; ];
sha256 = "113vn2fyw9sjxz24b2m6z4kw46rqgxglrna1lg9ji6zhkfb044vv"; sha256 = "0g9sd104b6xnbl2j3gbq1ga6j2h0x3jccays0gpbd235bxpjs39a";
}; };
}; };
in in

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -13,13 +13,18 @@ stdenv.mkDerivation rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
# Patch contained in next (>2.5.1) release # Patches contained in next (>2.5.1) release
patches = [ patches = [
(fetchpatch { (fetchpatch {
name = "fix-qt-5.12-build"; name = "fix-qt-5.12-build";
url = "https://github.com/nextcloud/desktop/commit/071709ab5e3366e867dd0b0ea931aa7d6f80f528.patch"; url = "https://github.com/nextcloud/desktop/commit/071709ab5e3366e867dd0b0ea931aa7d6f80f528.patch";
sha256 = "14k635jwm8hz6i22lz88jj2db8v5czwa3zg0667i4hwhkqqmy61n"; 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 ]; nativeBuildInputs = [ pkgconfig cmake makeWrapper ];

View File

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

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, perl, libiconv, zlib, popt { stdenv, fetchurl, perl, libiconv, zlib, popt
, enableACLs ? true, acl ? null , enableACLs ? !(stdenv.isDarwin || stdenv.isSunOS || stdenv.isFreeBSD), acl ? null
, enableCopyDevicesPatch ? false , 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}: , enableX11 ? true}:
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
name = "unison-2.48.4"; name = "unison-${version}";
src = fetchurl { version = "2.51.2";
url = "http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/${name}.tar.gz"; src = fetchFromGitHub {
sha256 = "30aa53cd671d673580104f04be3cf81ac1e20a2e8baaf7274498739d59e99de8"; owner = "bcpierce00";
repo = "unison";
rev = "v${version}";
sha256 = "1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq";
}; };
buildInputs = [ ocaml makeWrapper ncurses ]; buildInputs = [ ocaml makeWrapper ncurses ];
preBuild = (if enableX11 then '' 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 "") + '' '' 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 "") makeFlags = "INSTALLDIR=$(out)/bin/" + (if enableX11 then " UISTYLE=gtk2" else "")

View File

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

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, makeWrapper, cmake, expat, openssl, zlib, db, curl, wxGTK }: { stdenv, fetchurl, makeWrapper, cmake, expat, openssl, zlib, db, curl, wxGTK }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "tqsl-${version}"; pname = "tqsl";
version = "2.3.1"; version = "2.4.3";
src = fetchurl { src = fetchurl {
url = "https://www.arrl.org/files/file/LoTW%20Instructions/${name}.tar.gz"; url = "https://www.arrl.org/files/file/LoTW%20Instructions/${pname}-${version}.tar.gz";
sha256 = "10cjlilampwl10hwb7m28m5z9gyrscvvc1rryfjnhj9q2x4ppgxv"; sha256 = "0f8pa5wnp0x0mjjr5kanka9hirgmp5wf6jsb95dc6hjlzlvy6kz9";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
@ -20,11 +20,9 @@ stdenv.mkDerivation rec {
wxGTK wxGTK
]; ];
patches = [ ./cmake_lib_path.patch ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Software for using the ARRL Logbook of the World"; 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; license = licenses.bsd3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.dpflug ]; 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"; sha256 = "014igqm5vwswz0yhz0cdxsj3a6dh7i79hvhgc3jmmmz3z0xm1gyn";
}; };
patches = [
./0001-fix-2131.patch
];
buildInputs = [ python fixDarwinDylibNames ]; buildInputs = [ python fixDarwinDylibNames ];
propagatedBuildInputs = [ python.pkgs.setuptools ]; propagatedBuildInputs = [ python.pkgs.setuptools ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -33,7 +33,8 @@ in stdenv.mkDerivation rec {
cp -r . "$out" cp -r . "$out"
rm -r $out/Libs 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 = '' preFixup = ''

View File

@ -1,11 +1,48 @@
{ fetchzip { fetchzip
}: }:
let
fetchzip' = args: (fetchzip args).overrideAttrs (old: { UNZIP = "-P iagreetotheeula"; });
in
{ {
minigames = fetchzip { minigames = fetchzip {
url = "https://github.com/deepmind/pysc2/releases/download/v1.2/mini_games.zip"; url = "https://github.com/deepmind/pysc2/releases/download/v1.2/mini_games.zip";
sha256 = "19f873ilcdsf50g2v0s2zzmxil1bqncsk8nq99bzy87h0i7khkla"; sha256 = "19f873ilcdsf50g2v0s2zzmxil1bqncsk8nq99bzy87h0i7khkla";
stripRoot = false; 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 # 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. # 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: ( fetchSageDiff = { base, rev, name ? "sage-diff-${base}-${rev}.patch", ...}@args: (
fetchpatch ({ fetchpatch ({
inherit name; 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). # We don't care about sage's own build system (which builds all its dependencies).
# Exclude build system changes to avoid conflicts. # Exclude build system changes to avoid conflicts.
excludes = [ "/build/*" ]; excludes = [ "build/*" ];
} // builtins.removeAttrs args [ "rev" "base" ]) } // builtins.removeAttrs args [ "rev" "base" ])
); );
in [ in [

View File

@ -2,13 +2,13 @@
, ncurses , ncurses
, withXaw3d ? false , withXaw3d ? false
#, withPVMlib ? false #, withPVMlib ? false
, tcl, tk, withTk ? false , tcl, tk, withTk ? true
, gtk2, withGtk ? false # working ? , gtk2, withGtk ? false # working ?
#, withF2c ? false #, withF2c ? false
, ocaml, withOCaml ? false , ocaml, withOCaml ? true
#, withJava ? false #, withJava ? false
#, atlasMath, withAtlas ? false #, atlasMath, withAtlas ? false
, xlibsWrapper, withX ? false , xlibsWrapper, withX ? true
}: }:
stdenv.mkDerivation rec { 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 , httpServer ? false # build Apache DAV module
, httpSupport ? false # client must support http , httpSupport ? true # client must support http
, pythonBindings ? false , pythonBindings ? false
, perlBindings ? false , perlBindings ? false
, javahlBindings ? false , javahlBindings ? false

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl { config, stdenv, fetchurl
, libX11, wxGTK , libX11, wxGTK
, libiconv, fontconfig, freetype , libiconv, fontconfig, freetype
, libGLU_combined , libGLU_combined
@ -8,8 +8,8 @@
, spellcheckSupport ? true, hunspell ? null , spellcheckSupport ? true, hunspell ? null
, automationSupport ? true, lua ? null , automationSupport ? true, lua ? null
, openalSupport ? false, openal ? null , openalSupport ? false, openal ? null
, alsaSupport ? true, alsaLib ? null , alsaSupport ? stdenv.isLinux, alsaLib ? null
, pulseaudioSupport ? true, libpulseaudio ? null , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
, portaudioSupport ? false, portaudio ? null }: , portaudioSupport ? false, portaudio ? null }:
assert spellcheckSupport -> (hunspell != 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 , libX11, libxcb, libGLU_combined
, qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras, qmake, makeWrapper , qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras, qmake, makeWrapper
, libchardet , libchardet
@ -15,7 +16,7 @@
, libbluray , libbluray
, jackSupport ? false, jack ? null , jackSupport ? false, jack ? null
, portaudioSupport ? false, portaudio ? null , portaudioSupport ? false, portaudio ? null
, pulseSupport ? true, libpulseaudio ? null , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
, cddaSupport ? false, libcdda ? null , cddaSupport ? false, libcdda ? null
, youtubeSupport ? true, youtube-dl ? 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 , aalibSupport ? true, aalib ? null
, fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
, fribidiSupport ? true, fribidi ? null , fribidiSupport ? true, fribidi ? null
@ -19,7 +19,7 @@
, theoraSupport ? true, libtheora ? null , theoraSupport ? true, libtheora ? null
, x264Support ? false, x264 ? null , x264Support ? false, x264 ? null
, jackaudioSupport ? false, libjack2 ? null , jackaudioSupport ? false, libjack2 ? null
, pulseSupport ? false, libpulseaudio ? null , pulseSupport ? config.pulseaudio or false, libpulseaudio ? null
, bs2bSupport ? false, libbs2b ? null , bs2bSupport ? false, libbs2b ? null
# For screenshots # For screenshots
, libpngSupport ? true, libpng ? null , libpngSupport ? true, libpng ? null

View File

@ -3,7 +3,7 @@
, bison, lzo, snappy, libaio, gnutls, nettle, curl , bison, lzo, snappy, libaio, gnutls, nettle, curl
, makeWrapper , makeWrapper
, attr, libcap, libcap_ng , attr, libcap, libcap_ng
, CoreServices, Cocoa, rez, setfile , CoreServices, Cocoa, Hypervisor, rez, setfile
, numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl , numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl
, seccompSupport ? stdenv.isLinux, libseccomp , seccompSupport ? stdenv.isLinux, libseccomp
, pulseSupport ? !stdenv.isDarwin, libpulseaudio , pulseSupport ? !stdenv.isDarwin, libpulseaudio
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
vde2 texinfo flex bison makeWrapper lzo snappy vde2 texinfo flex bison makeWrapper lzo snappy
gnutls nettle curl gnutls nettle curl
] ]
++ optionals stdenv.isDarwin [ CoreServices Cocoa rez setfile ] ++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
++ optionals seccompSupport [ libseccomp ] ++ optionals seccompSupport [ libseccomp ]
++ optionals numaSupport [ numactl ] ++ optionals numaSupport [ numactl ]
++ optionals pulseSupport [ libpulseaudio ] ++ optionals pulseSupport [ libpulseaudio ]
@ -116,6 +116,7 @@ stdenv.mkDerivation rec {
++ optional usbredirSupport "--enable-usb-redir" ++ optional usbredirSupport "--enable-usb-redir"
++ optional (hostCpuTargets != null) "--target-list=${stdenv.lib.concatStringsSep "," hostCpuTargets}" ++ optional (hostCpuTargets != null) "--target-list=${stdenv.lib.concatStringsSep "," hostCpuTargets}"
++ optional stdenv.isDarwin "--enable-cocoa" ++ optional stdenv.isDarwin "--enable-cocoa"
++ optional stdenv.isDarwin "--enable-hvf"
++ optional stdenv.isLinux "--enable-linux-aio" ++ optional stdenv.isLinux "--enable-linux-aio"
++ optional gtkSupport "--enable-gtk" ++ optional gtkSupport "--enable-gtk"
++ optional xenSupport "--enable-xen" ++ 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 , libX11, xorgproto, libXext, libXcursor, libXmu, qt5, libIDL, SDL, libcap
, libpng, glib, lvm2, libXrandr, libXinerama, libopus , libpng, glib, lvm2, libXrandr, libXinerama, libopus
, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43 , pkgconfig, which, docbook_xsl, docbook_xml_dtd_43
@ -7,7 +7,7 @@
, javaBindings ? false, jdk ? null , javaBindings ? false, jdk ? null
, pythonBindings ? false, python2 ? null , pythonBindings ? false, python2 ? null
, extensionPack ? null, fakeroot ? null , extensionPack ? null, fakeroot ? null
, pulseSupport ? false, libpulseaudio ? null , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
, enableHardening ? false , enableHardening ? false
, headless ? false , headless ? false
, enable32bitGuests ? true , enable32bitGuests ? true

View File

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

View File

@ -3,12 +3,12 @@
i3.overrideAttrs (oldAttrs : rec { i3.overrideAttrs (oldAttrs : rec {
name = "i3-gaps-${version}"; name = "i3-gaps-${version}";
version = "4.16"; version = "4.16.1";
releaseDate = "2018-03-13"; releaseDate = "2019-01-27";
src = fetchurl { src = fetchurl {
url = "https://github.com/Airblader/i3/archive/${version}.tar.gz"; url = "https://github.com/Airblader/i3/archive/${version}.tar.gz";
sha256 = "16d215y9g27b75rifm1cgznxg73fmg5ksigi0gbj7pfd6x6bqcy9"; sha256 = "1jvyd8p8dfsidfy2yy7adydynzvaf72lx67x71r13hrk8w77hp0k";
}; };
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ autoreconfHook ]; 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 ? ""}: {username, password, url, rev ? "HEAD", md5 ? "", sha256 ? ""}:

View File

@ -96,7 +96,7 @@ fi
if [ -z "$newHash" ]; then if [ -z "$newHash" ]; then
nix-build --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true 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 # 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 fi
if [ -z "$newHash" ]; then if [ -z "$newHash" ]; then

View File

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

View File

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

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "evolution-data-server-${version}"; name = "evolution-data-server-${version}";
version = "3.30.4"; version = "3.30.5";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1j8lwl04zz59sg7k3hpkzp829z8xyd1isz8xavm9vzxfvw5w776y"; sha256 = "1s952wyhgcbmq9nfgk75v15zdy1h3wy5p5rmkqibaavmc0pk3mli";
}; };
patches = [ 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 { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "compton-conf"; pname = "compton-conf";
version = "0.4.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1r187fx1vivzq1gcwwawax36mnlmfig5j1ba4s4wfdi3q2wcq7mw"; sha256 = "1vxbh0vr7wknr7rbmdbmy5md1fdkw3zwlgpbv16cwdplbv9m97xi";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -24,8 +24,6 @@ stdenv.mkDerivation rec {
libconfig libconfig
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
preConfigure = '' preConfigure = ''
substituteInPlace autostart/CMakeLists.txt \ substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" \ --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" \

View File

@ -18,7 +18,6 @@ let
lxqt-admin = callPackage ./lxqt-admin { }; lxqt-admin = callPackage ./lxqt-admin { };
lxqt-config = callPackage ./lxqt-config { }; lxqt-config = callPackage ./lxqt-config { };
lxqt-globalkeys = callPackage ./lxqt-globalkeys { }; lxqt-globalkeys = callPackage ./lxqt-globalkeys { };
lxqt-l10n = callPackage ./lxqt-l10n { };
lxqt-notificationd = callPackage ./lxqt-notificationd { }; lxqt-notificationd = callPackage ./lxqt-notificationd { };
lxqt-openssh-askpass = callPackage ./lxqt-openssh-askpass { }; lxqt-openssh-askpass = callPackage ./lxqt-openssh-askpass { };
lxqt-policykit = callPackage ./lxqt-policykit { }; lxqt-policykit = callPackage ./lxqt-policykit { };
@ -29,8 +28,6 @@ let
lxqt-themes = callPackage ./lxqt-themes { }; lxqt-themes = callPackage ./lxqt-themes { };
pavucontrol-qt = libsForQt5.callPackage ./pavucontrol-qt { }; pavucontrol-qt = libsForQt5.callPackage ./pavucontrol-qt { };
qtermwidget = callPackage ./qtermwidget { }; 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 ### CORE 2
lxqt-panel = callPackage ./lxqt-panel { }; lxqt-panel = callPackage ./lxqt-panel { };
@ -70,7 +67,6 @@ let
lxqt-admin lxqt-admin
lxqt-config lxqt-config
lxqt-globalkeys lxqt-globalkeys
lxqt-l10n
lxqt-notificationd lxqt-notificationd
lxqt-openssh-askpass lxqt-openssh-askpass
lxqt-policykit lxqt-policykit

View File

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

View File

@ -2,15 +2,14 @@
qttools, qtsvg, libqtxdg, polkit-qt, kwindowsystem, xorg }: qttools, qtsvg, libqtxdg, polkit-qt, kwindowsystem, xorg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "liblxqt"; pname = "liblxqt";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1lbvnx6gg15k7fy1bnv5sjji659f603glblcl8c9psh0m1cjdbll"; sha256 = "1cpl6sd2fifpflahm8fvrrscrv03sinfm03m7yc1k59y6nsbwi36";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -29,13 +28,14 @@ stdenv.mkDerivation rec {
]; ];
cmakeFlags = [ cmakeFlags = [
"-DPULL_TRANSLATIONS=NO"
"-DLXQT_ETC_XDG_DIR=/run/current-system/sw/etc/xdg" "-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|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 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; { meta = with stdenv.lib; {

View File

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

View File

@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, cmake, qt5, lxqt }: { stdenv, fetchFromGitHub, cmake, qtbase, lxqt-build-tools }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libsysstat-${version}"; pname = "libsysstat";
version = "0.4.1"; version = "0.4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = "libsysstat"; repo = pname;
rev = version; 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; { meta = with stdenv.lib; {
description = "Library used to query system info and statistics"; 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 { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lximage-qt"; pname = "lximage-qt";
version = "0.7.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1slmaic9cmj5lqa5kwc1qfbbycwh8840wnkg0nxc99ls0aazlpzi"; sha256 = "0zx9903ym5a9zk4m9khr22fj5sy57mg2v8wnk177wjm11lhic5v8";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -19,18 +19,16 @@ stdenv.mkDerivation rec {
]; ];
buildInputs = [ buildInputs = [
qt5.qtbase qtbase
qt5.qttools qttools
qt5.qtx11extras qtx11extras
qt5.qtsvg qtsvg
libfm-qt libfm-qt
xorg.libpthreadstubs xorg.libpthreadstubs
xorg.libXdmcp xorg.libXdmcp
libexif libexif
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The image viewer and screenshot tool for lxqt"; description = "The image viewer and screenshot tool for lxqt";
homepage = https://github.com/lxqt/lximage-qt; 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, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-about"; pname = "lxqt-about";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "03f53rnn4rkd1xc2q9abnw37aq4sgvpbwhmcnckqyzc87lj6ici0"; sha256 = "14b13v1r5ncz4ycg25ac9ppafiifc37qws8kcw078if72rp9n121";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -26,7 +25,10 @@ stdenv.mkDerivation rec {
libqtxdg libqtxdg
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Dialogue window providing information about LXQt and the system it's running on"; 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, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, polkit-qt }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-admin"; pname = "lxqt-admin";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1nsf8sbgmfanvcxw67drhz1wrizkcd0p87jwr1za5rcgd50bi2yy"; sha256 = "0sdb514hgha5yvmbzi6nm1yx1rmbkh5fam09ybidjwpdwl2l4pxx";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -27,12 +26,15 @@ stdenv.mkDerivation rec {
polkit-qt polkit-qt
]; ];
patchPhase = '' postPatch = ''
sed "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" \ sed "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" \
-i lxqt-admin-user/CMakeLists.txt -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; { meta = with stdenv.lib; {
description = "LXQt system administration tool"; 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 { stdenv.mkDerivation rec {
name = "lxqt-build-tools-${version}"; pname = "lxqt-build-tools";
version = "0.5.0"; version = "0.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = "lxqt-build-tools"; repo = pname;
rev = version; rev = version;
sha256 = "0dcwzrijmn4sgivmy2zwz3xa4y69pwhranyw0m90g0pp55di2psz"; sha256 = "0i7m9s4g5rsw28vclc9nh0zcapx85cqfwxkx7rrw7wa12svy7pm2";
}; };
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ qt5.qtbase glib pcre ]; buildInputs = [ qtbase glib pcre ];
preConfigure = ''cmakeFlags+=" -DLXQT_ETC_XDG_DIR=$out/etc/xdg"''; 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 { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-config"; pname = "lxqt-config";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0r5vwkyz0c9b9py3wni4yzkmsvgs6psk9dp1fhfzvbjbknb21bfa"; sha256 = "1pp2pw43zh8kwi2cxk909wn6bw7kba95b6bv96l2gmzhdqpfw2a7";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -32,13 +33,29 @@ stdenv.mkDerivation rec {
xorg.libXScrnSaver xorg.libXScrnSaver
xorg.libxcb xorg.libxcb
xorg.libXcursor xorg.libXcursor
xorg.xf86inputlibinput
xorg.xf86inputlibinput.dev
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = '' postPatch = ''
substituteInPlace src/CMakeLists.txt \ substituteInPlace src/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" --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; { meta = with stdenv.lib; {

View File

@ -1,15 +1,14 @@
{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg }: { stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-globalkeys"; pname = "lxqt-globalkeys";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1fmi0n5chnrpbgf7zwzc3hi55r85hkxaq5jylbwaahmxhnb5hdid"; sha256 = "14bfkh54mn3jyq8g9ipy3xmc3n9lmlqpvm26kpqig7567hbncv7n";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -27,13 +26,14 @@ stdenv.mkDerivation rec {
libqtxdg libqtxdg
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = '' postPatch = ''
for dir in autostart xdg; do for dir in autostart xdg; do
substituteInPlace $dir/CMakeLists.txt \ substituteInPlace $dir/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
done done
substituteInPlace config/CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
''; '';
meta = with stdenv.lib; { 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, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, qtx11extras }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-notificationd"; pname = "lxqt-notificationd";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0vjpl3ipc0hrz255snkp99h6xrlid490ml8jb588rdpfina66sp1"; sha256 = "1nawcxy2qnrngcxvwjwmmh4fn7mhnfgy1g77rn90243jvy29wv5f";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -20,6 +19,11 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
substituteInPlace autostart/CMakeLists.txt \ substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" --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 = [ buildInputs = [
@ -32,8 +36,6 @@ stdenv.mkDerivation rec {
qtx11extras qtx11extras
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The LXQt notification daemon"; description = "The LXQt notification daemon";
homepage = https://github.com/lxqt/lxqt-notificationd; 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, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-openssh-askpass"; pname = "lxqt-openssh-askpass";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "19djmqwk4kj3rxs4h7a471ydcz87j5z4yv8a6pgblvqdkkn0ylk9"; sha256 = "19xcc6i7jg35780r4dfg4vwfp9x4pz5sqzagxnpzspz61jaj5ibv";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -27,7 +26,10 @@ stdenv.mkDerivation rec {
libqtxdg libqtxdg
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "GUI to query passwords on behalf of SSH agents"; description = "GUI to query passwords on behalf of SSH agents";

View File

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

View File

@ -5,15 +5,14 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-policykit"; pname = "lxqt-policykit";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1m9v4hl1hyd8rmlh6z2zy6287qfnavsm9khl526jf8f7bjgpifvd"; sha256 = "05k39819nsdyg2pp1vk6g2hdpxqp78h6bhb0hp5rclf9ap5fpvvc";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -34,11 +33,12 @@ stdenv.mkDerivation rec {
pcre pcre
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = '' postPatch = ''
substituteInPlace autostart/CMakeLists.txt \ substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
''; '';
meta = with stdenv.lib; { 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, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, solid, kidletime, liblxqt, libqtxdg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-powermanagement"; pname = "lxqt-powermanagement";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "04mx1nxqqqjg3wsql4ch4j1a4cbqfvpq0iwi6b9yhaf04n0dwrvn"; sha256 = "08xdnb54lji09izzzfip8fw0gp17qkx66jm6i04zby4whx4mqniv";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -29,11 +28,14 @@ stdenv.mkDerivation rec {
libqtxdg libqtxdg
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = '' postPatch = ''
substituteInPlace autostart/CMakeLists.txt \ substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" --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; { meta = with stdenv.lib; {

View File

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

View File

@ -2,15 +2,14 @@
menu-cache, muparser, pcre }: menu-cache, muparser, pcre }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-runner"; pname = "lxqt-runner";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0w6r9lby35p0lf5klasa5l2lscx6dmv16kzfhl4lc6w2qfwjb9vi"; sha256 = "1qyacig9ksnjrhws8cpk6arlaxn7kl0z39l3c62ql3m89mibsm88";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -33,11 +32,12 @@ stdenv.mkDerivation rec {
pcre pcre
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = '' postPatch = ''
substituteInPlace autostart/CMakeLists.txt \ substituteInPlace autostart/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
''; '';
meta = with stdenv.lib; { 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, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg, xorg, xdg-user-dirs }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-session"; pname = "lxqt-session";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0ngcrkmfpahii4yibsh03b8v8af93hhqm42kk1nnhczc8dg49mhs"; sha256 = "0nla1ki23p1bwzw5hbmh9l8yg3b0f55kflgnvyfakmvpivjbz3k6";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -31,13 +30,16 @@ stdenv.mkDerivation rec {
xdg-user-dirs xdg-user-dirs
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = '' postPatch = ''
for dir in autostart config; do for dir in autostart config; do
substituteInPlace $dir/CMakeLists.txt \ substituteInPlace $dir/CMakeLists.txt \
--replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
done 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; { 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, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg, sudo }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-sudo"; pname = "lxqt-sudo";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1gpn3dhmzabx0jrqxq63549sah03kf6bmdc9d9kmg6hyr5xg3i1h"; sha256 = "0l8fq06kfsrmvg2fr8lqdsxr6fwxmxsa9zwaa3fs9inzaylm0jkh";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -28,7 +27,10 @@ stdenv.mkDerivation rec {
sudo sudo
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ]; postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "GUI frontend for sudo/su"; 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 { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "lxqt-themes"; pname = "lxqt-themes";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "026hbblxdbq48n9691b1z1xiak99khsk3wf09vn4iaj5zi7dwhw5"; sha256 = "09dkcgnf3lmfly8v90p6wjlj5rin83pbailvvpx2jr8a48a8zb9f";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
lxqt.lxqt-build-tools lxqt-build-tools
]; ];
postPatch = '' 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 { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "obconf-qt"; pname = "obconf-qt";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0mixf35p7b563f77vnikk9b1wqhbdawp723sd30rfql76gkjwjcn"; sha256 = "00v5w8qr3vs0k91flij9lz7y1cpp2g8ivgnmmm43ymjfiz5j6l27";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
pkgconfig pkgconfig
lxqt.lxqt-build-tools lxqt-build-tools
]; ];
buildInputs = [ buildInputs = [
pcre pcre
qt5.qtbase qtbase
qt5.qttools qttools
qt5.qtx11extras qtx11extras
xorg.libpthreadstubs xorg.libpthreadstubs
xorg.libXdmcp xorg.libXdmcp
xorg.libSM xorg.libSM
@ -30,8 +30,6 @@ stdenv.mkDerivation rec {
hicolor-icon-theme hicolor-icon-theme
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The Qt port of obconf, the Openbox configuration tool"; description = "The Qt port of obconf, the Openbox configuration tool";
homepage = https://github.com/lxqt/obconf-qt; 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 { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "pavucontrol-qt"; pname = "pavucontrol-qt";
version = "0.4.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1bxqpasfvaagbq8azl7536z2zk2725xg7jkvad5xh95zq1gb4hgk"; sha256 = "1vyjm6phgbxglk65c889bd73b0p2ffb5bsc89dmb07qzllyrjb4h";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -26,8 +26,6 @@ stdenv.mkDerivation rec {
pcre pcre
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A Pulseaudio mixer in Qt (port of pavucontrol)"; description = "A Pulseaudio mixer in Qt (port of pavucontrol)";
homepage = https://github.com/lxqt/pavucontrol-qt; 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 { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "pcmanfm-qt"; pname = "pcmanfm-qt";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0xnhdxx45fmbi5dqic3j2f7yq01s0xysimafj5zqs0a29zw3i4m0"; sha256 = "0hf4qyn12mpr6rrla9mf6ka5gb4y36amk7d14ayr7yka1r16p8lz";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
pkgconfig pkgconfig
lxqt-build-tools lxqt.lxqt-build-tools
]; ];
buildInputs = [ buildInputs = [
qt5.qtbase qtbase
qt5.qttools qttools
qt5.qtx11extras qtx11extras
libfm-qt libfm-qt
libfm-qt libfm-qt
menu-cache menu-cache
lxmenu-data lxmenu-data
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
postPatch = '' postPatch = ''
for dir in autostart config; do for dir in autostart config; do
substituteInPlace $dir/CMakeLists.txt \ substituteInPlace $dir/CMakeLists.txt \

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, qt5 }: { stdenv, fetchFromGitHub, cmake, qtbase, qttools }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ qt5.qtbase qt5.qttools ]; buildInputs = [ qtbase qttools ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Cross-platform clipboard history applet"; 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 { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "qps"; pname = "qps";
version = "1.10.18"; version = "1.10.19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; 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; { meta = with stdenv.lib; {
description = "The Qt process manager"; 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 { stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "qterminal"; pname = "qterminal";
version = "0.9.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lxqt"; owner = "lxqt";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1z9wlyj5i192jfq3dcxjf8wzx9x332f19c9ll7zv69cq21kyy9wn"; sha256 = "071qz248j9gcqzchnrz8xamm07g4r2xyrmnb0a2vjkjd63pk2r8f";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -18,14 +18,12 @@ stdenv.mkDerivation rec {
]; ];
buildInputs = [ buildInputs = [
qt5.qtbase qtbase
qt5.qttools qttools
qt5.qtx11extras qtx11extras
qtermwidget qtermwidget
]; ];
cmakeFlags = [ "-DPULL_TRANSLATIONS=NO" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A lightweight Qt-based terminal emulator"; description = "A lightweight Qt-based terminal emulator";
homepage = https://github.com/lxqt/qterminal; homepage = https://github.com/lxqt/qterminal;

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