Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2020-02-27 10:15:11 +01:00
commit 7b716121de
467 changed files with 11069 additions and 5406 deletions

10
.github/CODEOWNERS vendored
View file

@ -66,11 +66,11 @@
/doc/languages-frameworks/python.section.md @FRidh
# Haskell
/pkgs/development/compilers/ghc @basvandijk @cdepillabout
/pkgs/development/haskell-modules @basvandijk @cdepillabout @infinisil
/pkgs/development/haskell-modules/default.nix @basvandijk @cdepillabout
/pkgs/development/haskell-modules/generic-builder.nix @basvandijk @cdepillabout
/pkgs/development/haskell-modules/hoogle.nix @basvandijk @cdepillabout
/pkgs/development/compilers/ghc @cdepillabout
/pkgs/development/haskell-modules @cdepillabout @infinisil
/pkgs/development/haskell-modules/default.nix @cdepillabout
/pkgs/development/haskell-modules/generic-builder.nix @cdepillabout
/pkgs/development/haskell-modules/hoogle.nix @cdepillabout
# Perl
/pkgs/development/interpreters/perl @volth

View file

@ -36,9 +36,8 @@ rec {
else if final.isUClibc then "uclibc"
else if final.isAndroid then "bionic"
else if final.isLinux /* default */ then "glibc"
else if final.isMsp430 then "newlib"
else if final.isVc4 then "newlib"
else if final.isAvr then "avrlibc"
else if final.isNone then "newlib"
else if final.isNetBSD then "nblibc"
# TODO(@Ericson2314) think more about other operating systems
else "native/impure";

View file

@ -1085,6 +1085,12 @@
githubId = 7716744;
name = "Berno Strik";
};
brettlyons = {
email = "blyons@fastmail.com";
github = "brettlyons";
githubId = 3043718;
name = "Brett Lyons";
};
btlvr = {
email = "btlvr@protonmail.com";
github = "btlvr";
@ -1362,6 +1368,12 @@
githubId = 25088352;
name = "Christian Kögler";
};
clkamp = {
email = "c@lkamp.de";
github = "clkamp";
githubId = 46303707;
name = "Christian Lütke-Stetzkamp";
};
kampka = {
email = "christian@kampka.net";
github = "kampka";
@ -6075,6 +6087,20 @@
githubId = 807447;
name = "Robert Scott";
};
risson = {
name = "Marc Schmitt";
email = "marc.schmitt@risson.space";
github = "rissson";
githubId = 18313093;
keys = [
{ longkeyid = "rsa4096/0xF6FD87B15C263EC9";
fingerprint = "8A0E 6A7C 08AB B9DE 67DE 2A13 F6FD 87B1 5C26 3EC9";
}
{ longkeyid = "ed25519/0xBBB7A6801DF1E03F";
fingerprint = "C0A7 A9BB 115B C857 4D75 EA99 BBB7 A680 1DF1 E03F";
}
];
};
rittelle = {
email = "rittelle@posteo.de";
github = "rittelle";
@ -6648,6 +6674,12 @@
email = "jot.skrzyp@gmail.com";
name = "Jakub Skrzypnik";
};
skykanin = {
email = "skykanin@users.noreply.github.com";
github = "skykanin";
githubId = 3789764;
name = "skykanin";
};
sleexyz = {
email = "freshdried@gmail.com";
github = "sleexyz";
@ -6790,6 +6822,12 @@
githubId = 4061736;
name = "Severen Redwood";
};
sstef = {
email = "stephane@nix.frozenid.net";
github = "fkstef";
githubId = 8668915;
name = "Stephane Schitter";
};
steell = {
email = "steve@steellworks.com";
github = "Steell";
@ -7748,7 +7786,7 @@
email = "worldofpeace@protonmail.ch";
github = "worldofpeace";
githubId = 28888242;
name = "Worldofpeace";
name = "worldofpeace";
};
wscott = {
email = "wsc9tt@gmail.com";
@ -8102,4 +8140,17 @@
githubId = 3674056;
name = "Asad Saeeduddin";
};
ngerstle = {
name = "Nicholas Gerstle";
email = "ngerstle@gmail.com";
github = "ngerstle";
};
xavierzwirtz = {
email = "me@xavierzwirtz.com";
github = "xavierzwirtz";
githubId = 474343;
name = "Xavier Zwirtz";
};
}

View file

@ -2,6 +2,7 @@
, maintainer ? null
, path ? null
, max-workers ? null
, include-overlays ? false
, keep-going ? null
}:
@ -20,9 +21,7 @@ let
in
[x] ++ nubOn f xs;
pkgs = import ./../../default.nix {
overlays = [];
};
pkgs = import ./../../default.nix (if include-overlays then { } else { overlays = []; });
packagesWith = cond: return: set:
nubOn (pkg: pkg.updateScript)

View file

@ -71,8 +71,9 @@
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/commit/d6b08acd1ccac0d9d502c4b635e00b04d3387f06">
Update <literal>versionSuffix</literal> in
<literal>nixos/release.nix</literal></link>, use <literal>git log
--format=%an|wc -l</literal> to get the commit count
<literal>nixos/release.nix</literal></link>, use
<literal>git rev-list --count 17.09-beta</literal>
to get the commit count.
</para>
</listitem>
<listitem>

View file

@ -20,7 +20,7 @@
<itemizedlist>
<listitem>
<para>
Support is planned until the end of October 2020, handing over to 20.09.
Support is planned until the end of April 2021, handing over to 21.03.
</para>
</listitem>
</itemizedlist>
@ -59,7 +59,18 @@
<itemizedlist>
<listitem>
<para />
<para>
Grafana is now built without support for phantomjs by default. Phantomjs support has been
<link xlink:href="https://grafana.com/docs/grafana/latest/guides/whats-new-in-v6-4/">deprecated in Grafana</link>
and the <package>phantomjs</package> project is
<link xlink:href="https://github.com/ariya/phantomjs/issues/15344#issue-302015362">currently unmaintained</link>.
It can still be enabled by providing <literal>phantomJsSupport = true</literal> to the package instanciation:
<programlisting>{
services.grafana.package = pkgs.grafana.overrideAttrs (oldAttrs: rec {
phantomJsSupport = false;
});
}</programlisting>
</para>
</listitem>
</itemizedlist>
</section>

View file

@ -116,6 +116,7 @@ in
"/lib" # FIXME: remove and update debug-info.nix
"/sbin"
"/share/emacs"
"/share/hunspell"
"/share/nano"
"/share/org"
"/share/themes"

View file

@ -1,5 +1,4 @@
# This module defines a NixOS installation CD that contains X11 and
# GNOME 3.
# This module defines a NixOS installation CD that contains GNOME.
{ lib, ... }:
@ -10,10 +9,22 @@ with lib;
services.xserver.desktopManager.gnome3.enable = true;
# Auto-login as root.
services.xserver.displayManager.gdm.autoLogin = {
# Wayland can be problematic for some hardware like Nvidia graphics cards.
services.xserver.displayManager.defaultSession = "gnome-xorg";
services.xserver.displayManager.gdm = {
enable = true;
user = "root";
# autoSuspend makes the machine automatically suspend after inactivity.
# It's possible someone could/try to ssh'd into the machine and obviously
# have issues because it's inactive.
# See:
# * https://github.com/NixOS/nixpkgs/pull/63790
# * https://gitlab.gnome.org/GNOME/gnome-control-center/issues/22
autoSuspend = false;
autoLogin = {
enable = true;
user = "nixos";
};
};
}

View file

@ -1,5 +1,5 @@
{
x86_64-linux = "/nix/store/68mycwwczrciryylq2a66jwfhxp09zsg-nix-2.3.3-debug";
x86_64-linux = "/nix/store/ddmmzn4ggz1f66lwxjy64n89864yj9w9-nix-2.3.3";
i686-linux = "/nix/store/5axys7hsggb4282dsbps5k5p0v59yv13-nix-2.3.3";
aarch64-linux = "/nix/store/k80nwvi19hxwbz3c9cxgp24f1jjxwmcc-nix-2.3.3";
x86_64-darwin = "/nix/store/lrnvapsqmf0ja6zfyx4cpxr7ahdr7f9b-nix-2.3.3";

View file

@ -1,11 +1,13 @@
--- a/create_manpage_completions.py
+++ b/create_manpage_completions.py
@@ -776,8 +776,6 @@ def parse_manpage_at_path(manpage_path, output_directory):
@@ -844,10 +844,6 @@ def parse_manpage_at_path(manpage_path, output_directory):
built_command_output.insert(0, "# " + CMDNAME)
- # Output the magic word Autogenerated so we can tell if we can overwrite this
- built_command_output.insert(1, "# Autogenerated from man page " + manpage_path)
- built_command_output.insert(
- 1, "# Autogenerated from man page " + manpage_path
- )
# built_command_output.insert(2, "# using " + parser.__class__.__name__) # XXX MISATTRIBUTES THE CULPABILE PARSER! Was really using Type2 but reporting TypeDeroffManParser
for line in built_command_output:

View file

@ -325,10 +325,10 @@ in
KEY=${spath}/certificates/${keyName}.key
if [ -e $KEY -a $KEY -nt key.pem ]; then
cp -p ${spath}/certificates/${keyName}.key key.pem
cp -p ${spath}/certificates/${keyName}.crt cert.pem
cp -p ${spath}/certificates/${keyName}.crt fullchain.pem
cp -p ${spath}/certificates/${keyName}.issuer.crt chain.pem
cat cert.pem chain.pem > fullchain.pem
cat key.pem cert.pem chain.pem > full.pem
ln -s fullchain.pem cert.pem
cat key.pem fullchain.pem > full.pem
chmod ${rights} *.pem
chown '${data.user}:${data.group}' *.pem
fi

View file

@ -355,6 +355,7 @@ in
ExecStart = "${wrappedSlurm}/bin/slurmd";
PIDFile = "/run/slurmd.pid";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
LimitMEMLOCK = "infinity";
};
preStart = ''

View file

@ -258,7 +258,7 @@ in
});
config.assertions = mapAgents (name: cfg: [
{ assertion = cfg.hooksPath == hooksDir || all (v: v == null) (attrValues cfg.hooks);
{ assertion = cfg.hooksPath == (hooksDir cfg) || all (v: v == null) (attrValues cfg.hooks);
message = ''
Options `services.buildkite-agents.${name}.hooksPath' and
`services.buildkite-agents.${name}.hooks.<name>' are mutually exclusive.

View file

@ -6,7 +6,7 @@ let
cfg = config.services.parsoid;
parsoid = pkgs.nodePackages."parsoid-git://github.com/abbradar/parsoid#stable";
parsoid = pkgs.nodePackages.parsoid;
confTree = {
worker_heartbeat_timeout = 300000;
@ -98,8 +98,29 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
User = "nobody";
ExecStart = "${parsoid}/lib/node_modules/parsoid/bin/server.js -c ${confFile} -n ${toString cfg.workers}";
DynamicUser = true;
User = "parsoid";
Group = "parsoid";
CapabilityBoundingSet = "";
NoNewPrivileges = true;
ProtectSystem = "strict";
ProtectHome = true;
PrivateTmp = true;
PrivateDevices = true;
ProtectHostname = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectControlGroups = true;
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
RestrictNamespaces = true;
LockPersonality = true;
#MemoryDenyWriteExecute = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
RemoveIPC = true;
};
};

View file

@ -19,7 +19,7 @@ let
map (i: i.name) (filter (i: if i.useDHCP != null then !i.useDHCP else i.ipv4.addresses != [ ]) interfaces)
++ mapAttrsToList (i: _: i) config.networking.sits
++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bridges))
++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.vswitches))
++ flatten (concatMap (i: attrNames (filterAttrs (_: config: config.type != "internal") i.interfaces)) (attrValues config.networking.vswitches))
++ concatLists (attrValues (mapAttrs (n: v: v.interfaces) config.networking.bonds))
++ config.networking.dhcpcd.denyInterfaces;

View file

@ -32,9 +32,9 @@ let
+ cfg.extraConfig
);
package = pkgs.knot-resolver.override {
extraFeatures = cfg.listenDoH != [];
};
package = if cfg.listenDoH == []
then pkgs.knot-resolver # never force `extraFeatures = false`
else pkgs.knot-resolver.override { extraFeatures = true; };
in {
meta.maintainers = [ maintainers.vcunat /* upstream developer */ ];

View file

@ -72,6 +72,7 @@ let
resolution_type: GETDNS_RESOLUTION_STUB
dns_transport_list:
${fallbacks}
appdata_dir: "/var/cache/stubby"
tls_authentication: ${cfg.authenticationMode}
tls_query_padding_blocksize: ${toString cfg.queryPaddingBlocksize}
edns_client_subnet_private: ${if cfg.subnetPrivate then "1" else "0"}
@ -208,6 +209,7 @@ in
CapabilityBoundingSet = "CAP_NET_BIND_SERVICE";
ExecStart = "${pkgs.stubby}/bin/stubby -C ${confFile} ${optionalString cfg.debugLogging "-l"}";
DynamicUser = true;
CacheDirectory = "stubby";
};
};
};

View file

@ -435,7 +435,7 @@ in
message = "networking.wireguard.interfaces.${interfaceName} peer «${peer.publicKey}» has both presharedKey and presharedKeyFile set, but only one can be used.";
}) all_peers;
boot.extraModulePackages = [ kernel.wireguard ];
boot.extraModulePackages = optional (versionOlder kernel.kernel.version "5.6") kernel.wireguard;
environment.systemPackages = [ pkgs.wireguard-tools ];
systemd.services =

View file

@ -23,7 +23,8 @@ let
for DIR in "${homeDir}" "${settingsDir}" "${fullSettings.download-dir}" "${fullSettings.incomplete-dir}"; do
mkdir -p "$DIR"
done
chmod 700 "${homeDir}" "${settingsDir}"
chmod 755 "${homeDir}"
chmod 700 "${settingsDir}"
chmod ${downloadDirPermissions} "${fullSettings.download-dir}" "${fullSettings.incomplete-dir}"
cp -f ${settingsFile} ${settingsDir}/settings.json
'';

View file

@ -443,7 +443,7 @@ in {
pools.nextcloud = {
user = "nextcloud";
group = "nginx";
phpOptions = phpOptionsExtensions + phpOptionsStr;
phpOptions = phpOptionsStr;
phpPackage = phpPackage;
phpEnv = {
NEXTCLOUD_CONFIG_DIR = "${cfg.home}/config";
@ -533,6 +533,7 @@ in {
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header X-Frame-Options sameorigin;
add_header Referrer-Policy no-referrer;
access_log off;
'';
@ -547,6 +548,7 @@ in {
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header X-Frame-Options sameorigin;
add_header Referrer-Policy no-referrer;
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
error_page 403 /core/templates/403.php;

View file

@ -166,9 +166,10 @@ in
};
systemd.tmpfiles.rules = [
"d /run/gdm/.config 0711 gdm gdm -"
"d /run/gdm/.config 0711 gdm gdm"
] ++ optionals config.hardware.pulseaudio.enable [
"L+ /run/gdm/.config/pulse - - - - ${pulseConfig}"
"d /run/gdm/.config/pulse 0711 gdm gdm"
"L+ /run/gdm/.config/pulse/${pulseConfig.name} - - - - ${pulseConfig}"
] ++ optionals config.services.gnome3.gnome-initial-setup.enable [
# Create stamp file for gnome-initial-setup to prevent it starting in GDM.
"f /run/gdm/.config/gnome-initial-setup-done 0711 gdm gdm - yes"

View file

@ -10,7 +10,7 @@ let
slaves = concatMap (i: i.interfaces) (attrValues cfg.bonds)
++ concatMap (i: i.interfaces) (attrValues cfg.bridges)
++ concatMap (i: i.interfaces) (attrValues cfg.vswitches)
++ concatMap (i: attrNames (filterAttrs (_: config: config.type != "internal") i.interfaces)) (attrValues cfg.vswitches)
++ concatMap (i: [i.interface]) (attrValues cfg.macvlans)
++ concatMap (i: [i.interface]) (attrValues cfg.vlans);
@ -336,34 +336,47 @@ let
createVswitchDevice = n: v: nameValuePair "${n}-netdev"
(let
deps = concatLists (map deviceDependency v.interfaces);
deps = concatLists (map deviceDependency (attrNames (filterAttrs (_: config: config.type != "internal") v.interfaces)));
internalConfigs = concatMap (i: ["network-link-${i}.service" "network-addresses-${i}.service"]) (attrNames (filterAttrs (_: config: config.type == "internal") v.interfaces));
ofRules = pkgs.writeText "vswitch-${n}-openFlowRules" v.openFlowRules;
in
{ description = "Open vSwitch Interface ${n}";
wantedBy = [ "network-setup.service" "vswitchd.service" ] ++ deps;
bindsTo = [ "vswitchd.service" (subsystemDevice n) ] ++ deps;
partOf = [ "network-setup.service" "vswitchd.service" ];
after = [ "network-pre.target" "vswitchd.service" ] ++ deps;
before = [ "network-setup.service" ];
wantedBy = [ "network-setup.service" (subsystemDevice n) ] ++ internalConfigs;
# before = [ "network-setup.service" ];
# should work without internalConfigs dependencies because address/link configuration depends
# on the device, which is created by ovs-vswitchd with type=internal, but it does not...
before = [ "network-setup.service" ] ++ internalConfigs;
partOf = [ "network-setup.service" ]; # shutdown the bridge when network is shutdown
bindsTo = [ "ovs-vswitchd.service" ]; # requires ovs-vswitchd to be alive at all times
after = [ "network-pre.target" "ovs-vswitchd.service" ] ++ deps; # start switch after physical interfaces and vswitch daemon
wants = deps; # if one or more interface fails, the switch should continue to run
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute config.virtualisation.vswitch.package ];
preStart = ''
echo "Resetting Open vSwitch ${n}..."
ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \
-- set bridge ${n} protocols=${concatStringsSep "," v.supportedOpenFlowVersions}
'';
script = ''
echo "Removing old Open vSwitch ${n}..."
ovs-vsctl --if-exists del-br ${n}
echo "Adding Open vSwitch ${n}..."
ovs-vsctl -- add-br ${n} ${concatMapStrings (i: " -- add-port ${n} ${i}") v.interfaces} \
echo "Configuring Open vSwitch ${n}..."
ovs-vsctl ${concatStrings (mapAttrsToList (name: config: " -- add-port ${n} ${name}" + optionalString (config.vlan != null) " tag=${toString config.vlan}") v.interfaces)} \
${concatStrings (mapAttrsToList (name: config: optionalString (config.type != null) " -- set interface ${name} type=${config.type}") v.interfaces)} \
${concatMapStrings (x: " -- set-controller ${n} " + x) v.controllers} \
${concatMapStrings (x: " -- " + x) (splitString "\n" v.extraOvsctlCmds)}
echo "Adding OpenFlow rules for Open vSwitch ${n}..."
ovs-ofctl add-flows ${n} ${ofRules}
ovs-ofctl --protocols=${v.openFlowVersion} add-flows ${n} ${ofRules}
'';
postStop = ''
echo "Cleaning Open vSwitch ${n}"
echo "Shuting down internal ${n} interface"
ip link set ${n} down || true
ovs-ofctl del-flows ${n} || true
ovs-vsctl --if-exists del-br ${n}
echo "Deleting flows for ${n}"
ovs-ofctl --protocols=${v.openFlowVersion} del-flows ${n} || true
echo "Deleting Open vSwitch ${n}"
ovs-vsctl --if-exists del-br ${n} || true
'';
});
@ -476,9 +489,9 @@ let
# Remove Dead Interfaces
ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
ip link add link "${v.interface}" name "${n}" type vlan id "${toString v.id}"
# We try to bring up the logical VLAN interface. If the master
# interface the logical interface is dependent upon is not up yet we will
# We try to bring up the logical VLAN interface. If the master
# interface the logical interface is dependent upon is not up yet we will
# fail to immediately bring up the logical interface. The resulting logical
# interface will brought up later when the master interface is up.
ip link set "${n}" up || true

View file

@ -1,4 +1,4 @@
{ config, lib, utils, ... }:
{ config, lib, utils, pkgs, ... }:
with utils;
with lib;
@ -18,7 +18,10 @@ let
concatLists (map (bond: bond.interfaces) (attrValues cfg.bonds))
++ concatLists (map (bridge: bridge.interfaces) (attrValues cfg.bridges))
++ map (sit: sit.dev) (attrValues cfg.sits)
++ map (vlan: vlan.interface) (attrValues cfg.vlans);
++ map (vlan: vlan.interface) (attrValues cfg.vlans)
# add dependency to physical or independently created vswitch member interface
# TODO: warn the user that any address configured on those interfaces will be useless
++ concatMap (i: attrNames (filterAttrs (_: config: config.type != "internal") i.interfaces)) (attrValues cfg.vswitches);
in
@ -51,11 +54,6 @@ in
networking.dhcpcd.enable = mkDefault false;
systemd.services.network-local-commands = {
after = [ "systemd-networkd.service" ];
bindsTo = [ "systemd-networkd.service" ];
};
systemd.network =
let
domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain);
@ -233,6 +231,63 @@ in
# This forces the network interface creator to initialize slaves.
networking.interfaces = listToAttrs (map (i: nameValuePair i { }) slaves);
systemd.services = let
# We must escape interfaces due to the systemd interpretation
subsystemDevice = interface:
"sys-subsystem-net-devices-${escapeSystemdPath interface}.device";
# support for creating openvswitch switches
createVswitchDevice = n: v: nameValuePair "${n}-netdev"
(let
deps = map subsystemDevice (attrNames (filterAttrs (_: config: config.type != "internal") v.interfaces));
ofRules = pkgs.writeText "vswitch-${n}-openFlowRules" v.openFlowRules;
in
{ description = "Open vSwitch Interface ${n}";
wantedBy = [ "network.target" (subsystemDevice n) ];
# and create bridge before systemd-networkd starts because it might create internal interfaces
before = [ "systemd-networkd.service" ];
# shutdown the bridge when network is shutdown
partOf = [ "network.target" ];
# requires ovs-vswitchd to be alive at all times
bindsTo = [ "ovs-vswitchd.service" ];
# start switch after physical interfaces and vswitch daemon
after = [ "network-pre.target" "ovs-vswitchd.service" ] ++ deps;
wants = deps; # if one or more interface fails, the switch should continue to run
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute config.virtualisation.vswitch.package ];
preStart = ''
echo "Resetting Open vSwitch ${n}..."
ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \
-- set bridge ${n} protocols=${concatStringsSep "," v.supportedOpenFlowVersions}
'';
script = ''
echo "Configuring Open vSwitch ${n}..."
ovs-vsctl ${concatStrings (mapAttrsToList (name: config: " -- add-port ${n} ${name}" + optionalString (config.vlan != null) " tag=${toString config.vlan}") v.interfaces)} \
${concatStrings (mapAttrsToList (name: config: optionalString (config.type != null) " -- set interface ${name} type=${config.type}") v.interfaces)} \
${concatMapStrings (x: " -- set-controller ${n} " + x) v.controllers} \
${concatMapStrings (x: " -- " + x) (splitString "\n" v.extraOvsctlCmds)}
echo "Adding OpenFlow rules for Open vSwitch ${n}..."
ovs-ofctl --protocols=${v.openFlowVersion} add-flows ${n} ${ofRules}
'';
postStop = ''
echo "Cleaning Open vSwitch ${n}"
echo "Shuting down internal ${n} interface"
ip link set ${n} down || true
echo "Deleting flows for ${n}"
ovs-ofctl --protocols=${v.openFlowVersion} del-flows ${n} || true
echo "Deleting Open vSwitch ${n}"
ovs-vsctl --if-exists del-br ${n} || true
'';
});
in mapAttrs' createVswitchDevice cfg.vswitches
// {
"network-local-commands" = {
after = [ "systemd-networkd.service" ];
bindsTo = [ "systemd-networkd.service" ];
};
};
};
}

View file

@ -13,7 +13,7 @@ let
slaves = concatMap (i: i.interfaces) (attrValues cfg.bonds)
++ concatMap (i: i.interfaces) (attrValues cfg.bridges)
++ concatMap (i: i.interfaces) (attrValues cfg.vswitches);
++ concatMap (i: attrNames (filterAttrs (name: config: ! (config.type == "internal" || hasAttr name cfg.interfaces)) i.interfaces)) (attrValues cfg.vswitches);
slaveIfs = map (i: cfg.interfaces.${i}) (filter (i: cfg.interfaces ? ${i}) slaves);
@ -336,6 +336,32 @@ let
};
vswitchInterfaceOpts = {name, ...}: {
options = {
name = mkOption {
description = "Name of the interface";
example = "eth0";
type = types.str;
};
vlan = mkOption {
description = "Vlan tag to apply to interface";
example = 10;
type = types.nullOr types.int;
default = null;
};
type = mkOption {
description = "Openvswitch type to assign to interface";
example = "internal";
type = types.nullOr types.str;
default = null;
};
};
};
hexChars = stringToCharacters "0123456789abcdef";
isHexString = s: all (c: elem c hexChars) (stringToCharacters (toLower s));
@ -486,8 +512,8 @@ in
networking.vswitches = mkOption {
default = { };
example =
{ vs0.interfaces = [ "eth0" "eth1" ];
vs1.interfaces = [ "eth2" "wlan0" ];
{ vs0.interfaces = { eth0 = { }; lo1 = { type="internal"; }; };
vs1.interfaces = [ { name = "eth2"; } { name = "lo2"; type="internal"; } ];
};
description =
''
@ -504,9 +530,8 @@ in
interfaces = mkOption {
example = [ "eth0" "eth1" ];
type = types.listOf types.str;
description =
"The physical network interfaces connected by the vSwitch.";
description = "The physical network interfaces connected by the vSwitch.";
type = with types; loaOf (submodule vswitchInterfaceOpts);
};
controllers = mkOption {
@ -530,6 +555,25 @@ in
'';
};
# TODO: custom "openflow version" type, with list from existing openflow protocols
supportedOpenFlowVersions = mkOption {
type = types.listOf types.str;
example = [ "OpenFlow10" "OpenFlow13" "OpenFlow14" ];
default = [ "OpenFlow13" ];
description = ''
Supported versions to enable on this switch.
'';
};
# TODO: use same type as elements from supportedOpenFlowVersions
openFlowVersion = mkOption {
type = types.str;
default = "OpenFlow13";
description = ''
Version of OpenFlow protocol to use when communicating with the switch internally (e.g. with <literal>openFlowRules</literal>).
'';
};
extraOvsctlCmds = mkOption {
type = types.lines;
default = "";

View file

@ -219,7 +219,7 @@ in {
wantedBy = [ "multi-user.target" ];
requires = [ "libvirtd-config.service" ];
after = [ "systemd-udev-settle.service" "libvirtd-config.service" ]
++ optional vswitch.enable "vswitchd.service";
++ optional vswitch.enable "ovs-vswitchd.service";
environment.LIBVIRTD_ARGS = ''--config "${configFile}" ${concatStringsSep " " cfg.extraOptions}'';

View file

@ -124,7 +124,7 @@ in {
'';
};
systemd.services.vswitchd = {
systemd.services.ovs-vswitchd = {
description = "Open_vSwitch Daemon";
wantedBy = [ "multi-user.target" ];
bindsTo = [ "ovsdb.service" ];
@ -139,6 +139,8 @@ in {
PIDFile = "/run/openvswitch/ovs-vswitchd.pid";
# Use service type 'forking' to correctly determine when vswitchd is ready.
Type = "forking";
Restart = "always";
RestartSec = 3;
};
};
@ -182,4 +184,7 @@ in {
'';
};
})]));
meta.maintainers = with maintainers; [ netixx ];
}

View file

@ -45,10 +45,41 @@ in {
The file name of the VirtualBox appliance.
'';
};
params = mkOption {
type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
example = {
audio = "alsa";
rtcuseutc = "on";
usb = "off";
};
description = ''
Parameters passed to the Virtualbox appliance.
Run <literal>VBoxManage modifyvm --help</literal> to see more options.
'';
};
};
};
config = {
virtualbox.params = mkMerge [
(mapAttrs (name: mkDefault) {
acpi = "on";
vram = 32;
nictype1 = "virtio";
nic1 = "nat";
audiocontroller = "ac97";
audio = "alsa";
audioout = "on";
rtcuseutc = "on";
usb = "on";
usbehci = "on";
mouse = "usbtablet";
})
(mkIf (pkgs.stdenv.hostPlatform.system == "i686-linux") { pae = "on"; })
];
system.build.virtualBoxOVA = import ../../lib/make-disk-image.nix {
name = cfg.vmDerivationName;
@ -69,12 +100,8 @@ in {
VBoxManage createvm --name "$vmName" --register \
--ostype ${if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then "Linux26_64" else "Linux26"}
VBoxManage modifyvm "$vmName" \
--memory ${toString cfg.memorySize} --acpi on --vram 32 \
${optionalString (pkgs.stdenv.hostPlatform.system == "i686-linux") "--pae on"} \
--nictype1 virtio --nic1 nat \
--audiocontroller ac97 --audio alsa --audioout on \
--rtcuseutc on \
--usb on --usbehci on --mouse usbtablet
--memory ${toString cfg.memorySize} \
${lib.cli.toGNUCommandLineShell { } cfg.params}
VBoxManage storagectl "$vmName" --name SATA --add sata --portcount 4 --bootable on --hostiocache on
VBoxManage storageattach "$vmName" --storagectl SATA --port 0 --device 0 --type hdd \
--medium disk.vmdk

View file

@ -55,6 +55,7 @@ in rec {
"nixos.ova.x86_64-linux"
"nixos.sd_image.aarch64-linux"
"nixos.tests.boot.biosCdrom.x86_64-linux"
"nixos.tests.boot.biosUsb.x86_64-linux"
"nixos.tests.boot-stage1.x86_64-linux"
"nixos.tests.boot.uefiCdrom.x86_64-linux"
"nixos.tests.boot.uefiUsb.x86_64-linux"
@ -64,6 +65,7 @@ in rec {
"nixos.tests.docker.x86_64-linux"
"nixos.tests.ecryptfs.x86_64-linux"
"nixos.tests.env.x86_64-linux"
"nixos.tests.firefox-esr.x86_64-linux"
"nixos.tests.firefox.x86_64-linux"
"nixos.tests.firewall.x86_64-linux"
"nixos.tests.fontconfig-default-fonts.x86_64-linux"
@ -84,6 +86,12 @@ in rec {
"nixos.tests.installer.simple.x86_64-linux"
"nixos.tests.installer.swraid.x86_64-linux"
"nixos.tests.ipv6.x86_64-linux"
"nixos.tests.keymap.azerty.x86_64-linux"
"nixos.tests.keymap.colemak.x86_64-linux"
"nixos.tests.keymap.dvorak.x86_64-linux"
"nixos.tests.keymap.dvp.x86_64-linux"
"nixos.tests.keymap.neo.x86_64-linux"
"nixos.tests.keymap.qwertz.x86_64-linux"
"nixos.tests.lightdm.x86_64-linux"
"nixos.tests.login.x86_64-linux"
"nixos.tests.misc.x86_64-linux"

View file

@ -46,6 +46,15 @@ import ./make-test-python.nix ({ pkgs, ...} : {
};
}
'';
brokenCfg = pkgs.writeText "broken.nix" ''
{
assertions = [
{ assertion = false;
message = "I never evaluate";
}
];
}
'';
in ''
with subtest("Make sure we have a NixOS tree (required by nixos-container create)"):
machine.succeed("PAGER=cat nix-env -qa -A nixos.hello >&2")
@ -130,5 +139,11 @@ import ./make-test-python.nix ({ pkgs, ...} : {
with subtest("Ensure that the container path is gone"):
print(machine.succeed("ls -lsa /var/lib/containers"))
machine.succeed(f"test ! -e /var/lib/containers/{id1}")
with subtest("Ensure that a failed container creation doesn'leave any state"):
machine.fail(
"nixos-container create b0rk --config-file ${brokenCfg}"
)
machine.succeed(f"test ! -e /var/lib/containers/b0rk")
'';
})

View file

@ -197,15 +197,15 @@ in {
# Test whether SSH through a VRF IP is possible.
# (Note: this seems to be an issue on Linux 5.x, so I decided to add this to
# ensure that we catch this when updating the default kernel).
with subtest("tcp traffic through vrf works"):
node1.wait_for_open_port(22)
client.succeed(
"cat ${snakeOilPrivateKey} > privkey.snakeoil"
)
client.succeed("chmod 600 privkey.snakeoil")
client.succeed(
"ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.1.2 true"
)
# with subtest("tcp traffic through vrf works"):
# node1.wait_for_open_port(22)
# client.succeed(
# "cat ${snakeOilPrivateKey} > privkey.snakeoil"
# )
# client.succeed("chmod 600 privkey.snakeoil")
# client.succeed(
# "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil root@192.168.1.2 true"
# )
# Only configured routes through the VRF from the main routing table should
# work. Additional IPs are only reachable when binding to the vrf interface.

View file

@ -28,7 +28,7 @@ assert withOnlineServices -> withTaglib;
assert withReplaygain -> withTaglib;
let
version = "2.3.3";
version = "2.4.1";
pname = "cantata";
fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF");
fstats = x: map (fstat x);
@ -42,7 +42,7 @@ in mkDerivation {
owner = "CDrummond";
repo = "cantata";
rev = "v${version}";
sha256 = "1m651fmdbnb50glym75kzma0bllvqbmrb2afp1g9g5cxm1898c0f";
sha256 = "0ix7xp352bziwz31mw79y7wxxmdn6060p8ry2px243ni1lz1qx1c";
};
buildInputs = [ vlc qtbase qtmultimedia qtsvg ]
@ -77,7 +77,7 @@ in mkDerivation {
];
meta = with lib; {
homepage = https://github.com/cdrummond/cantata;
homepage = "https://github.com/cdrummond/cantata";
description = "A graphical client for MPD";
license = licenses.gpl3;
maintainers = with maintainers; [ peterhoeg ];

View file

@ -16,10 +16,10 @@ assert vorbisSupport -> vorbisTools != null;
let
zeroconf = pythonPackages.callPackage ./zeroconf.nix { };
in pythonPackages.buildPythonApplication {
in
pythonPackages.buildPythonApplication {
pname = "pulseaudio-dlna";
version = "2017-11-01";
version = "unstable-2017-11-01";
src = fetchFromGitHub {
owner = "masmu";
@ -28,12 +28,9 @@ in pythonPackages.buildPythonApplication {
sha256 = "1dfn7036vrq49kxv4an7rayypnm5dlawsf02pfsldw877hzdamqk";
};
# pulseaudio-dlna has no tests
doCheck = false;
propagatedBuildInputs = with pythonPackages; [
dbus-python docopt requests setproctitle protobuf psutil futures
chardet notify2 netifaces pyroute2 pygobject2 lxml ]
chardet notify2 netifaces pyroute2 pygobject2 lxml setuptools ]
++ [ zeroconf ]
++ stdenv.lib.optional mp3Support lame
++ stdenv.lib.optional opusSupport opusTools
@ -42,12 +39,15 @@ in pythonPackages.buildPythonApplication {
++ stdenv.lib.optional soxSupport sox
++ stdenv.lib.optional vorbisSupport vorbisTools;
# upstream has no tests
checkPhase = ''
$out/bin/pulseaudio-dlna --help > /dev/null
'';
meta = with stdenv.lib; {
description = "A lightweight streaming server which brings DLNA / UPNP and Chromecast support to PulseAudio and Linux";
homepage = https://github.com/masmu/pulseaudio-dlna;
homepage = "https://github.com/masmu/pulseaudio-dlna";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ mog ];
platforms = platforms.linux;
};

View file

@ -0,0 +1,38 @@
{ stdenv, fetchurl, alsaLib, boost, bzip2, fftw, fftwFloat, libfishsound
, libid3tag, liblo, liblrdf, libmad, liboggz, libpulseaudio, libsamplerate
, libsndfile, opusfile, portaudio, rubberband, serd, sord, vampSDK, capnproto
, wrapQtAppsHook, pkgconfig
}:
stdenv.mkDerivation rec {
pname = "sonic-lineup";
version = "1.0.1";
src = fetchurl {
url = "https://code.soundsoftware.ac.uk/attachments/download/2610/${pname}-${version}.tar.gz";
sha256 = "0w4v5zr81d8fh97y820r0vj1rrbl0kwgvhfkdnyl4hiabs97b1i7";
};
buildInputs =
[ alsaLib boost bzip2 fftw fftwFloat libfishsound libid3tag liblo liblrdf
libmad liboggz libpulseaudio libsamplerate libsndfile opusfile pkgconfig
portaudio rubberband serd sord capnproto
];
nativeBuildInputs = [ pkgconfig wrapQtAppsHook ];
enableParallelBuilding = true;
# comment out the tests
preConfigure = ''
sed -i 's/sub_test_svcore_/#sub_test_svcore_/' sonic-lineup.pro
'';
meta = with stdenv.lib; {
description = "Comparative visualisation of related audio recordings";
homepage = https://www.sonicvisualiser.org/sonic-lineup/;
license = licenses.gpl2Plus;
maintainers = [ maintainers.vandenoever ];
platforms = platforms.linux;
};
}

View file

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "spectmorph";
version = "0.5.0";
version = "0.5.1";
src = fetchurl {
url = "http://spectmorph.org/files/releases/${pname}-${version}.tar.bz2";
sha256 = "003wznv3sy1b4g55vqii9pr3i3bb3zmj7nqvwrz7vjsfn2xyd1bn";
sha256 = "06jrfx5g9c56swxn78lix0gyrjkhi21l9wqs56knp8iqcgfi3m0s";
};
buildInputs = [ libjack2 lv2 glib qt5.qtbase libao cairo libsndfile fftwFloat ];

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "spotify-tui";
version = "0.14.0";
version = "0.15.0";
src = fetchFromGitHub {
owner = "Rigellute";
repo = "spotify-tui";
rev = "v${version}";
sha256 = "06xqj83m4hz00p8796m0df7lv9875p8zc1v6l9yqbiak1h95lq7h";
sha256 = "19mnnpsidwr5y6igs478gfp7rq76378f66nzfhj4mraqd2jc4nzj";
};
cargoSha256 = "1pc4n6lm1w0660ivm0kxzicpckvb351y62dpv0cxa7ckd3raa5pr";
cargoSha256 = "1zhv3sla92z7pjdnf0r4x85n7z9spi70vgy4kw72rdc5v9bmj7q8";
nativeBuildInputs = [ pkgconfig ] ++ stdenv.lib.optionals stdenv.isLinux [ python3 ];
buildInputs = [ openssl ]

View file

@ -8,19 +8,15 @@ let
inherit (gnome2) GConf gnome_vfs;
};
stableVersion = {
version = "3.5.3.0"; # "Android Studio 3.5.3"
build = "191.6010548";
sha256Hash = "1nsm4d3vdx90szqd78a8mjq65xc9m5ipd35cqrlx3c3ny900sqxg";
};
betaVersion = {
version = "3.6.0.20"; # "Android Studio 3.6 RC 3"
build = "192.6186006";
sha256Hash = "153piq67yps5jwqrbciam4kpxziavml29d8ya5bi2rvfhipdd7da";
version = "3.6.0.21"; # "Android Studio 3.6"
build = "192.6200805";
sha256Hash = "1rf79fh6fbaxsj26q9bgl4vvmakv4wc0amjz026cm89hcwwzrb4d";
};
betaVersion = latestVersion;
latestVersion = { # canary & dev
version = "4.0.0.9"; # "Android Studio 4.0 Canary 9"
build = "193.6137316";
sha256Hash = "1cgxyqp85z5x2jnjh1qabn2cfiziiwvfr6iggzb531dlhllyfyqw";
version = "4.0.0.10"; # "Android Studio 4.0 Beta 1"
build = "193.6220182";
sha256Hash = "0ibp54wcss4ihm454hbavv1bhar6cd4alp5b0z248ryjr5w9mixf";
};
in {
# Attributes are named by their corresponding release channels

View file

@ -2,13 +2,13 @@
mkDerivation rec {
pname = "ghostwriter";
version = "1.8.0";
version = "1.8.1";
src = fetchFromGitHub {
owner = "wereturtle";
repo = pname;
rev = "v${version}";
sha256 = "13yn82m1l2pq93wbl569a2lzpc3sn8a8g30hsgdch1l9xlmhwran";
sha256 = "0jc6szfh5sdnafhwsr1xv7cn1fznniq58bix41hb9wlbkvq7wzi6";
};
nativeBuildInputs = [ qmake pkgconfig qttools ];

View file

@ -1,13 +1,13 @@
{ stdenv, rustPlatform , fetchFromGitHub, Security }:
rustPlatform.buildRustPackage rec {
pname = "whitebox_tools";
version = "0.16.0";
version = "1.2.0";
src = fetchFromGitHub {
owner = "jblindsay";
repo = "whitebox-tools";
rev = "v${version}";
sha256 = "1vs4hf2x3qjnffs9kjx56rzl67kpcy8xvng6p0r9fp9mfnblxg6j";
sha256 = "0zi32d0wrbl2763dcllv2g0liwacsfiza5lkx52620prjjbhby8i";
};
buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
# Delete this on next update; see #79975 for details
legacyCargoFetcher = true;
cargoSha256 = "1y3vk8bzsaisx7wrncjxcqdh355f2wk4n59vq5qgj37fph2zpy7f";
cargoSha256 = "0zn4b4md3pn1rvb15rnz3zcx9a359x26nfy7zcfp7nx27ais13n5";
# failures: structures::polyline::test::test_polyline_split
doCheck = false;

View file

@ -50,13 +50,13 @@ let
inherit (python2Packages) pygtk wrapPython python;
in stdenv.mkDerivation rec {
pname = "gimp";
version = "2.10.14";
version = "2.10.16";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz";
sha256 = "1sybf1yilw272lr8qbyx3zbvysf5rc89gk80gd4aj4xr6jazxyfb";
};
nativeBuildInputs = [
@ -155,6 +155,7 @@ in stdenv.mkDerivation rec {
configureFlags = [
"--without-webkit" # old version is required
"--disable-check-update"
"--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
"--with-icc-directory=/run/current-system/sw/share/color/icc"
# fix libdir in pc files (${exec_prefix} needs to be passed verbatim)

View file

@ -1,13 +1,15 @@
diff --git a/app/gimp-version.c b/app/gimp-version.c
index 12605c6..a9083da 100644
index 0f7bfb9bf9..1679624b8e 100644
--- a/app/gimp-version.c
+++ b/app/gimp-version.c
@@ -203,7 +203,7 @@ gimp_version (gboolean be_verbose,
lib_versions = gimp_library_versions (localized);
verbose_info = g_strdup_printf ("git-describe: %s\n"
"C compiler:\n%s\n%s",
- GIMP_GIT_VERSION, CC_VERSION,
+ GIMP_GIT_VERSION, "@cc_version@",
@@ -228,9 +228,9 @@
"# Libraries #\n%s",
GIMP_GIT_VERSION,
GIMP_BUILD_ID,
gimp_version_get_revision (),
GIMP_BUILD_PLATFORM,
- CC_VERSION,
+ "@cc_version@",
lib_versions);
g_free (lib_versions);

View file

@ -17,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "ideogram";
version = "1.3.0";
version = "1.3.2";
src = fetchFromGitHub {
owner = "cassidyjames";
repo = pname;
rev = version;
sha256 = "0ghc7hk4b4r3a0x9r30rrgv3rarxyjr2hf9ig244xwvhh5rn3j10";
sha256 = "08nl11gj3234nrqyigqkq3yiyrqf2hha24x5jkl78ypj2xhcnhw8";
};
nativeBuildInputs = [

View file

@ -1,18 +1,27 @@
{stdenv, fetchFromGitHub, qmake}:
stdenv.mkDerivation rec {
{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase }:
mkDerivation rec {
pname = "qview";
version = "3.0";
src = fetchFromGitHub {
owner = "jurplel";
repo = "qView";
rev = version;
sha256 = "15a91bs3wcqhgf76wzigbn10hayg628j84pq4j2vaxar94ak0vk7";
};
nativeBuildInputs = [ qmake ];
buildInputs = [
qtbase
];
patchPhase = ''
sed "s|/usr/|$out/|g" -i qView.pro
'';
meta = with stdenv.lib; {
meta = with lib; {
description = "Practical and minimal image viewer";
homepage = "https://interversehq.com/qview/";
license = licenses.gpl3;

View file

@ -78,6 +78,10 @@ in buildRustPackage rec {
++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ];
outputs = [ "out" "terminfo" ];
postPatch = ''
substituteInPlace alacritty/src/config/mouse.rs \
--replace xdg-open ${xdg_utils}/bin/xdg-open
'';
postBuild = lib.optionalString stdenv.isDarwin "make app";

View file

@ -2,7 +2,7 @@
, ilmbase, libXi, libX11, libXext, libXrender
, libjpeg, libpng, libsamplerate, libsndfile
, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio2, openjpeg, python3Packages
, openvdb, libXxf86vm, tbb
, openvdb, libXxf86vm, tbb, alembic
, zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
, jackaudioSupport ? false, libjack2
, cudaSupport ? config.cudaSupport or false, cudatoolkit
@ -17,11 +17,11 @@ let python = python3Packages.python; in
stdenv.mkDerivation rec {
pname = "blender";
version = "2.81a";
version = "2.82";
src = fetchurl {
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
sha256 = "1zl0ar95qkxsrbqw9miz2hrjijlqjl06vg3clfk9rm7krr2l3b2j";
sha256 = "0rgw8nilvn6k6r7p28y2l1rwpami1cc8xz473jaahn7wa4ndyah0";
};
patches = lib.optional stdenv.isDarwin ./darwin.patch;
@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
[ boost ffmpeg gettext glew ilmbase
freetype libjpeg libpng libsamplerate libsndfile libtiff
opencolorio openexr openimageio2 openjpeg python zlib fftw jemalloc
alembic
(opensubdiv.override { inherit cudaSupport; })
tbb
makeWrapper
@ -75,7 +76,9 @@ stdenv.mkDerivation rec {
'';
cmakeFlags =
[ "-DWITH_MOD_OCEANSIM=ON"
[
"-DWITH_ALEMBIC=ON"
"-DWITH_MOD_OCEANSIM=ON"
"-DWITH_CODEC_FFMPEG=ON"
"-DWITH_CODEC_SNDFILE=ON"
"-DWITH_INSTALL_PORTABLE=OFF"

View file

@ -30,11 +30,11 @@ let
in
mkDerivation rec {
pname = "calibre";
version = "4.8.0";
version = "4.11.2";
src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
sha256 = "1lk44qh3hzqhpz2b00iik7cgjg4xm36qjh2pxflkjnbk691gbpqk";
sha256 = "0fxmpygc2ybx8skwhp9j6gnk9drlfiz2cl9g55h10zgxkfzqzqgv";
};
patches = [

View file

@ -90,6 +90,7 @@ python3Packages.buildPythonApplication {
'' + (if enableQt then ''
substituteInPlace ./electrum/qrscanner.py \
--replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary}
sed -i 's/qdarkstyle<2.7/qdarkstyle<3.0/' contrib/requirements/requirements.txt
'' else ''
sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt
'');

View file

@ -0,0 +1,33 @@
{ lib, python3Packages, radicale2 }:
python3Packages.buildPythonApplication rec {
pname = "etesync-dav";
version = "0.14.2";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "05kzy74r2hd44sqjgd0bc588ganrzbz5brpiginb8sh8z38igb60";
};
propagatedBuildInputs = with python3Packages; [
etesync
flask
flask_wtf
radicale2
];
checkInputs = with python3Packages; [
pytest
];
checkPhase = ''
pytest
'';
meta = with lib; {
homepage = "https://www.etesync.com/";
description = "Secure, end-to-end encrypted, and privacy respecting sync for contacts, calendars and tasks";
license = licenses.gpl3;
maintainers = with maintainers; [ valodim ];
};
}

View file

@ -2,7 +2,7 @@
buildGoModule rec {
pname = "hugo";
version = "0.64.1";
version = "0.65.3";
goPackagePath = "github.com/gohugoio/hugo";
@ -10,10 +10,10 @@ buildGoModule rec {
owner = "gohugoio";
repo = pname;
rev = "v${version}";
sha256 = "1h5n5d7g3l2lp25sjrcmavbkqqm1csgv2q5z7afwbb57j0m1nkn8";
sha256 = "1m0xhzm1w6y778x3fplzr9dif7lcqlkfvk4b7plywrisv3ic8yqs";
};
modSha256 = "18wfsp3ypfxj5qljmb19kzyc5byf413nkabz5mfvq8srjhcq1ifl";
modSha256 = "1f320zbqnv2ybsp3qmlgn3rsjgp2zdb24qjd3gcys30mw48cx3na";
buildFlags = [ "-tags" "extended" ];

View file

@ -97,7 +97,7 @@ in buildFHSUserEnv {
libcap libtiff libva libgphoto2 libxslt libtxc_dxtn libsndfile giflib zlib glib
alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd
vulkan-loader xdg_utils sqlite gnutls
vulkan-loader xdg_utils sqlite gnutls libbsd
# PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"

View file

@ -3,12 +3,12 @@
}:
mkDerivation rec {
version = "2.3.4";
version = "2.3.4.3";
pname = "lyx";
src = fetchurl {
url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${pname}-${version}.tar.xz";
sha256 = "0qgvc19flnf6ny3ffyj8civwaxrnwcdlw2v708hg49cbmg6f8igh";
sha256 = "1rpp6wq0dc0bxwc0pipajv98vi7cpg391nq10d3c4pmpq38m08wx";
};
# LaTeX is used from $PATH, as people often want to have it with extra pkgs

View file

@ -1,17 +1,16 @@
{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
, pafy
}:
{ lib, python3Packages, fetchFromGitHub }:
buildPythonPackage rec {
with python3Packages;
buildPythonApplication rec {
pname = "mps-youtube";
version = "0.2.8";
disabled = (!isPy3k);
version = "unstable-2020-01-28";
src = fetchFromGitHub {
owner = "mps-youtube";
repo = "mps-youtube";
rev = "v${version}";
sha256 = "1w1jhw9rg3dx7vp97cwrk5fymipkcy2wrbl1jaa38ivcjhqg596y";
rev = "b808697133ec2ad7654953232d1e841b20aa7cc3";
sha256 = "0lqprlpc0v092xqkjc0cc395ag45lijwgd34dpg2jy6i0f2szywv";
};
propagatedBuildInputs = [ pafy ];
@ -30,6 +29,6 @@ buildPythonPackage rec {
description = "Terminal based YouTube player and downloader";
homepage = "https://github.com/mps-youtube/mps-youtube";
license = licenses.gpl3;
maintainers = with maintainers; [ odi ];
maintainers = with maintainers; [ koral odi ];
};
}

View file

@ -2,22 +2,23 @@
rustPlatform.buildRustPackage rec {
pname = "pastel";
version = "0.6.1";
version = "0.7.0";
src = fetchFromGitHub {
owner = "sharkdp";
repo = pname;
rev = "v${version}";
sha256 = "1c47bph1qraq3g0g5bp23jqlz7qdn4f8vh264y937jz17avvacx5";
sha256 = "1fh0l64bvpbgm1725qmyq3042pglr8wz3w1azjv6lml9ivrm4b0k";
};
cargoSha256 = "1hkqahsrhmgcpgp0pvfpc0wmwqivnqylsxzjrz63k1s9ssdv9syy";
cargoSha256 = "0q7p66r6hwqaalwm9fd2bshadlynhjf3pzd6rnamr07mknyfzh5s";
buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
meta = with stdenv.lib; {
description = "A command-line tool to generate, analyze, convert and manipulate colors";
homepage = https://github.com/sharkdp/pastel;
homepage = "https://github.com/sharkdp/pastel";
changelog = "https://github.com/sharkdp/pastel/releases/tag/v${version}";
license = with licenses; [ asl20 /* or */ mit ];
maintainers = with maintainers; [ davidtwco ];
platforms = platforms.all;

View file

@ -1,21 +1,21 @@
{ stdenv, fetchurl, mkDerivation
, qmake, qtbase, qtquickcontrols
, qmake, qtbase, qtquickcontrols2, qtgraphicaleffects
, python3, pyotherside
, pcsclite, yubikey-personalization
, yubikey-manager, makeWrapper }:
mkDerivation rec {
pname = "yubioath-desktop";
version = "4.3.6";
version = "5.0.2";
src = fetchurl {
url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz";
sha256 = "0s04anjbb5zm98kfdpp9hr68k3mx3gqlp8fa1miy7nq87pr4f7a5";
sha256 = "19ingk0ab88a22s04apcw8kx9xygxlbk8kp4xnb8pmf8z3k6l2gf";
};
doCheck = false;
buildInputs = [ stdenv qtbase qtquickcontrols python3 ];
buildInputs = [ stdenv qtbase qtquickcontrols2 qtgraphicaleffects python3 ];
nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ];
@ -48,11 +48,18 @@ mkDerivation rec {
'';
meta = with stdenv.lib; {
description = "Yubikey Desktop Authenticator";
description = "Yubico Authenticator";
longDescription = ''
Application for generating Open Authentication (OATH) time-based TOTP and
event-based HOTP one-time password codes, with the help of a YubiKey that
protects the shared secrets.
'';
homepage = https://www.yubico.com/support/knowledge-base/categories/articles/yubico-authenticator-download/;
homepage = "https://developers.yubico.com/yubioath-desktop";
downloadPage = "https://developers.yubico.com/yubioath-desktop/Releases/";
changelog = "https://developers.yubico.com/yubioath-desktop/Release_Notes.html";
license = stdenv.lib.licenses.gpl3;
maintainers = with maintainers; [ mic92 ];
license = stdenv.lib.licenses.bsd2;
maintainers = with maintainers; [ mic92 risson ];
};
}

View file

@ -82,11 +82,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.3.115";
version = "1.4.95";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "1k9g1zjnn0bhyw133padpyym73x8v1i3nm65a040bgkwh6a5jaj8";
sha256 = "1a7rk4r7phlf1y3ap3942z5sfvb6i4qglvq06qqhz49wq1wbgvq1";
};
dontConfigure = true;

View file

@ -1,4 +1,4 @@
{ newScope, config, stdenv, llvmPackages_9
{ newScope, config, stdenv, llvmPackages_9, llvmPackages_10
, makeWrapper, ed
, glib, gtk3, gnome3, gsettings-desktop-schemas
, libva ? null
@ -19,8 +19,10 @@
}:
let
stdenv = llvmPackages_9.stdenv;
llvmPackages = llvmPackages_9;
llvmPackages = if channel == "dev"
then llvmPackages_10
else llvmPackages_9;
stdenv = llvmPackages.stdenv;
callPackage = newScope chromium;

View file

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "0vsykl3gaql8fp1h5007ljds8m8q2n6n34dsbcqqav2008zlks61";
sha256bin64 = "1bmszzgmzv7hkczs6kcsa2r8vv6nhg39q1sv74695mr3j3j4bdp8";
version = "81.0.4044.17";
sha256 = "1bahnvn6i08gg10r9p012n7xjwhnjk1xq4c70kw6sqr4p53423mn";
sha256bin64 = "066lvnh18k5982dv9481g9i31g9pq6a8q92g93xkqgj2bipbv6si";
version = "81.0.4044.26";
};
dev = {
sha256 = "0vsykl3gaql8fp1h5007ljds8m8q2n6n34dsbcqqav2008zlks61";
sha256bin64 = "0xx4h82w6jklwlk8p2a2qqk2a9vnf004hmgw69i8iwk6l1d9hxfb";
version = "81.0.4044.17";
sha256 = "0k35sa1qq54cixybb12nyzkjyrwb4cbjfffwfvr5dl859i5bz1kk";
sha256bin64 = "0ckbgk6jw3zq3gqvvwdlcrqlm110hkvija6jfh9dk0ip1wdx8wkm";
version = "82.0.4062.3";
};
stable = {
sha256 = "10myihiyrgnm0ly41k4h8ayl3vv3cpshs3pshpqaba0l8i5r5b9f";
sha256bin64 = "0pd4ygmyinaq22lmaqjqi1gs3svnb863mkhcf85dzm1354iz1g9k";
version = "80.0.3987.106";
sha256 = "0wr487drgd030d7p84rdz1cys0c87wbgh2qg3d7qd98gqbfcpss8";
sha256bin64 = "0kipzd0q3p3wwklcl1fb937xhklc0s76apsfrjwy0jcmcy47blzf";
version = "80.0.3987.122";
};
}

View file

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "ephemeral";
version = "6.2.0";
version = "6.2.1";
src = fetchFromGitHub {
owner = "cassidyjames";
repo = "ephemeral";
rev = version;
sha256 = "1y0n1p14kg24qnybi201181q7j6vm20ka4xwmgggjll9v6qflvaz";
sha256 = "182kzk68l6rr878aaaqx31c6npb65x77qzhbc5rbqlrrdrb69zsg";
};
nativeBuildInputs = [

View file

@ -1,26 +0,0 @@
Yep, it's a "return code was ignored" bug.
diff --git a/media/libcubeb/src/cubeb_pulse.c b/media/libcubeb/src/cubeb_pulse.c
index aaaaaaaaaaa..bbbbbbbbbbb 100644
--- a/media/libcubeb/src/cubeb_pulse.c
+++ b/media/libcubeb/src/cubeb_pulse.c
@@ -473,6 +473,8 @@
static int
pulse_context_init(cubeb * ctx)
{
+ int r;
+
if (ctx->context) {
assert(ctx->error == 1);
pulse_context_destroy(ctx);
@@ -486,9 +488,9 @@
WRAP(pa_context_set_state_callback)(ctx->context, context_state_callback, ctx);
WRAP(pa_threaded_mainloop_lock)(ctx->mainloop);
- WRAP(pa_context_connect)(ctx->context, NULL, 0, NULL);
+ r = WRAP(pa_context_connect)(ctx->context, NULL, 0, NULL);
- if (wait_until_context_ready(ctx) != 0) {
+ if (r < 0 || wait_until_context_ready(ctx) != 0) {
WRAP(pa_threaded_mainloop_unlock)(ctx->mainloop);
pulse_context_destroy(ctx);
ctx->context = NULL;

View file

@ -1,25 +0,0 @@
diff -ru -x '*~' firefox-55.0.3-orig/docshell/base/nsAboutRedirector.cpp firefox-55.0.3/docshell/base/nsAboutRedirector.cpp
--- firefox-55.0.3-orig/docshell/base/nsAboutRedirector.cpp 2017-07-31 18:20:51.000000000 +0200
+++ firefox-55.0.3/docshell/base/nsAboutRedirector.cpp 2017-09-26 22:02:00.814151731 +0200
@@ -36,10 +36,6 @@
nsIAboutModule::ALLOW_SCRIPT
},
{
- "buildconfig", "chrome://global/content/buildconfig.html",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT
- },
- {
"checkerboard", "chrome://global/content/aboutCheckerboard.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::ALLOW_SCRIPT
diff -ru -x '*~' firefox-55.0.3-orig/toolkit/content/jar.mn firefox-55.0.3/toolkit/content/jar.mn
--- firefox-55.0.3-orig/toolkit/content/jar.mn 2017-07-31 18:20:52.000000000 +0200
+++ firefox-55.0.3/toolkit/content/jar.mn 2017-09-26 22:01:42.383350314 +0200
@@ -40,7 +40,6 @@
content/global/plugins.css
content/global/browser-child.js
content/global/browser-content.js
-* content/global/buildconfig.html
content/global/buildconfig.css
content/global/contentAreaUtils.js
content/global/datepicker.xhtml

View file

@ -1,16 +1,7 @@
{ config, lib, callPackage, fetchurl, fetchFromGitHub, overrideCC, gccStdenv, gcc6 }:
{ config, lib, callPackage, fetchurl }:
let
common = opts: callPackage (import ./common.nix opts) {};
# Needed on older branches since rustc: 1.32.0 -> 1.33.0
missing-documentation-patch = fetchurl {
name = "missing-documentation.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/deny_missing_docs.patch"
+ "?h=firefox-esr&id=03bdd01f9cf";
sha256 = "1i33n3fgwc8d0v7j4qn7lbdax0an6swar12gay3q2nwrhg3ic4fb";
};
in
rec {

View file

@ -8,6 +8,7 @@
, google_talk_plugin, fribid, gnome3/*.gnome-shell*/
, browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow
, tridactyl-native
, fx_cast_bridge
, udev
, kerberos
}:
@ -71,6 +72,7 @@ let
++ lib.optional (cfg.enableGnomeExtensions or false) chrome-gnome-shell
++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator
++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma-browser-integration
++ lib.optional (cfg.enableFXCastBridge or false) fx_cast_bridge
++ extraNativeMessagingHosts
);
libs = lib.optional stdenv.isLinux udev

View file

@ -17,11 +17,11 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "2.11.1811.38-1";
version = "2.11.1811.44-1";
src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
sha256 = "0nz7yhxp7fxv6pj1i2684di1wgk4k78hw4icfjqzjwmvc3i710jw";
sha256 = "1hzlcvbp056nzxdiig91rsm5f0s0cjqs0imlgn7822jadp9wwnwn";
};
unpackPhase = ''

View file

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "helm";
version = "3.0.3";
version = "3.1.1";
src = fetchFromGitHub {
owner = "helm";
repo = "helm";
rev = "v${version}";
sha256 = "1gdrm3zz7524c8v3g128drfzdyalxlipbzxmwhalm7px4p5z4n0j";
sha256 = "16hbwmgq14g28r9s0ipnpiqlppyh57yrcqcspmj05vrf9jsg5vwj";
};
modSha256 = "1kmm6yb03g9lsz380rvf32j4icp3rcq7ixxcgsxfgpwqvq08zkn6";
modSha256 = "0618zzi4x37ahsrazsr82anghhfva8yaryzb3p5d737p3ixbiyv8";
subPackages = [ "cmd/helm" ];
buildFlagsArray = [ "-ldflags=-w -s -X helm.sh/helm/v3/internal/version.version=v${version}" ];

View file

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec {
pname = "luigi";
version = "2.8.11";
version = "2.8.12";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "17nc5xrqp6hp3ayscvdpsiiga8gsfpa4whsk0n97gzk5qpndrcy2";
sha256 = "1p83mxqs7w5v27a58ps7wji5mlyfz66cpkbyrndix0pv9hdyzpxn";
};
propagatedBuildInputs = with python3Packages; [ dateutil tornado_4 python-daemon boto3 ];

View file

@ -112,8 +112,8 @@ in rec {
terraform_0_11-full = terraform_0_11.full;
terraform_0_12 = pluggable (generic {
version = "0.12.20";
sha256 = "1k94iwhdvp1ifg9w7y26cl89ihki2w9kxv8mz06pp9bnfwfw67x5";
version = "0.12.21";
sha256 = "128mrqib8rigy6kk6fby0pjh4jh2qm2qwkrlbn0wgfln0637d9ff";
patches = [ ./provider-path.patch ];
passthru = { inherit plugins; };
});

View file

@ -15,6 +15,7 @@ let
src = oldAttrs.src.override {
inherit version sha256;
};
doCheck = oldAttrs.doCheck && (attrname != "psutil");
});
};
};

View file

@ -1,4 +1,4 @@
{ mkDerivation, lib, pkgconfig, fetchFromGitHub, qtbase, qtsvg, qtmultimedia, qmake, boost, openssl }:
{ mkDerivation, stdenv, lib, pkgconfig, fetchFromGitHub, qtbase, qtsvg, qtmultimedia, qmake, boost, openssl, wrapQtAppsHook }:
mkDerivation rec {
pname = "chatterino2";
@ -10,8 +10,15 @@ mkDerivation rec {
sha256 = "0i2385hamhd9i7jdy906cfrd81cybw524j92l87c8pzrkxphignk";
fetchSubmodules = true;
};
nativeBuildInputs = [ qmake pkgconfig ];
nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
buildInputs = [ qtbase qtsvg qtmultimedia boost openssl ];
postInstall = lib.optionalString stdenv.isDarwin ''
mkdir -p "$out/Applications"
mv bin/chatterino.app "$out/Applications/"
'';
postFixup = lib.optionalString stdenv.isDarwin ''
wrapQtApp "$out/Applications/chatterino.app/Contents/MacOS/chatterino"
'';
meta = with lib; {
description = "A chat client for Twitch chat";
longDescription = ''

View file

@ -7,30 +7,30 @@ in {
pname = "discord";
binaryName = "Discord";
desktopName = "Discord";
version = "0.0.9";
version = "0.0.10";
src = fetchurl {
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
sha256 = "1i0f8id10rh2fx381hx151qckvvh8hbznfsfav8w0dfbd1bransf";
sha256 = "0kx92i8naqr3algmyy3wyzbh8146z7gigxwf1nbpg1gl16wlplaq";
};
};
ptb = callPackage ./base.nix rec {
pname = "discord-ptb";
binaryName = "DiscordPTB";
desktopName = "Discord PTB";
version = "0.0.16";
version = "0.0.18";
src = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
sha256 = "1ia94xvzygim9rx1sjnnss518ggw0i20mhp9pby33q70ha35n0aq";
sha256 = "1v9xph7shpmabwysbc08qqlkydzgsir8rwarrjf01xmpcpyia17g";
};
};
canary = callPackage ./base.nix rec {
pname = "discord-canary";
binaryName = "DiscordCanary";
desktopName = "Discord Canary";
version = "0.0.98";
version = "0.0.102";
src = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
sha256 = "0raqsfakjbcsh7g280yi7sg2jsrmy2q4jldg73wb868z35radld4";
sha256 = "1zl53vprkwbkfn3v0lddpp1swignqjxksi4qxl5zqj7482j372a4";
};
};
}.${branch}

View file

@ -2,24 +2,24 @@
buildGoModule rec {
pname = "gomuks";
version = "2019-06-28";
version = "2020-02-19";
goPackagePath = "maunium.net/go/gomuks";
src = fetchFromGitHub {
owner = "tulir";
repo = pname;
rev = "37df8eb454088e61db7a14f382851205bc1806ad";
sha256 = "1hr15d9sbq6mddaxv3pwz86qp1hhzssgrvakfpc49xl4h04dq33g";
rev = "702592bf89dfcf1ec382c0a09d99318bce7a3943";
sha256 = "0g638q8ypkp6dbfy1s4hz798cpkld301f914il3yd70yf05vvysc";
};
modSha256 = "1qrqgzzsxqvmy4m9shypa94bzw34mc941jhmyccip9grk9fzsxws";
modSha256 = "03vbrh50pvx71rp6c23qc2sh0ir4jm1wl0gvi3z1c14ndzhsqky4";
meta = with stdenv.lib; {
homepage = "https://maunium.net/go/gomuks/";
description = "A terminal based Matrix client written in Go";
license = licenses.gpl3;
maintainers = with maintainers; [ tilpner ];
maintainers = with maintainers; [ tilpner emily ];
platforms = platforms.unix;
};
}

View file

@ -1,56 +0,0 @@
{ stdenv, fetchFromGitHub, fetchNodeModules, nodejs-10_x, ruby, sencha
, auth0ClientID, auth0Domain }:
stdenv.mkDerivation rec {
pname = "rambox-bare";
version = "0.7.3";
src = fetchFromGitHub {
owner = "ramboxapp";
repo = "community-edition";
rev = version;
sha256 = "03pwzyij2i5m23qzhyqdcipixmqj46qbjmq626swwqy03a0p91qv";
};
nativeBuildInputs = [ nodejs-10_x ruby sencha ];
node_modules = fetchNodeModules {
inherit src;
nodejs = nodejs-10_x;
sha256 = "05vb0r0q3ckg2g87fsm22j0cbfvk81q5z43zwmrzh3pb3zh54xj1";
};
patches = [ ./isDev.patch ];
configurePhase = ''
echo 'var auth0Cfg = { clientID: "${auth0ClientID}", domain: "${auth0Domain}" };' > env.js
ln -s ${node_modules} node_modules
'';
buildPhase = ''
mkdir ../rambox-build
npm run sencha:compile:build
'';
installPhase = ''
mv ../rambox-build/ $out
# https://github.com/saenzramiro/rambox/issues/1281
echo '{"name": "rambox", "version": "${version}", "main": "electron/main.js"}' > $out/package.json
# https://github.com/saenzramiro/rambox/issues/1282
cp --parents ext/packages/ext-locale/build/ext-locale-*.js $out
# Symbolic link causes `Uncaught Error: Cannot find module 'immutable'`
cp -r ${node_modules} $out/node_modules
'';
meta = with stdenv.lib; {
description = "Messaging and emailing app that combines common web applications into one";
homepage = http://rambox.pro;
license = licenses.gpl3;
maintainers = with maintainers; [ gnidorah ];
platforms = platforms.linux;
};
}

View file

@ -1,52 +1,50 @@
{ stdenv, newScope, makeWrapper
, electron, xdg_utils, makeDesktopItem
, auth0ClientID ? "0spuNKfIGeLAQ_Iki9t3fGxbfJl3k8SU"
, auth0Domain ? "nixpkgs.auth0.com" }:
{ stdenv, fetchurl, xdg_utils, dpkg, makeWrapper, autoPatchelfHook
, libXtst, libXScrnSaver, gtk3, nss, alsaLib, udev, libnotify
}:
let
callPackage = newScope self;
self = {
fetchNodeModules = callPackage ./fetchNodeModules.nix {};
rambox-bare = callPackage ./bare.nix {
inherit auth0ClientID auth0Domain;
version = "0.7.3";
in stdenv.mkDerivation rec {
pname = "rambox";
inherit version;
src = {
x86_64-linux = fetchurl {
url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-amd64.deb";
sha256 = "09v8zlayas906zhqy2aw4wkvyl87ykr09sjf0nmgmf69piwmjgg6";
};
sencha = callPackage ./sencha {};
};
desktopItem = makeDesktopItem rec {
name = "Rambox";
exec = "rambox";
icon = "${self.rambox-bare}/resources/Icon.png";
desktopName = name;
genericName = "Rambox messenger";
categories = "Network;";
};
in
i686-linux = fetchurl {
url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.deb";
sha256 = "0gv4pf3vhrw4xyccm24ivv92d9qy4zpwsh0m82ib1w764lyxmyrz";
};
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
with self;
nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ];
buildInputs = [ libXtst libXScrnSaver gtk3 nss alsaLib ];
runtimeDependencies = [ udev.lib libnotify ];
stdenv.mkDerivation {
name = "rambox-${rambox-bare.version}";
nativeBuildInputs = [ makeWrapper ];
dontUnpack = true;
dontWrapGApps = true; # we only want $gappsWrapperArgs here
unpackPhase = "dpkg-deb -x $src .";
installPhase = ''
runHook preInstall
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications
runHook postInstall
mkdir -p $out/bin
cp -r opt $out
ln -s $out/opt/Rambox/rambox $out/bin
# provide resources
cp -r usr/share $out
substituteInPlace $out/share/applications/rambox.desktop \
--replace Exec=/opt/Rambox/rambox Exec=rambox
'';
postFixup = ''
makeWrapper ${electron}/bin/electron $out/bin/rambox \
--add-flags "${rambox-bare} --without-update" \
--prefix PATH : ${xdg_utils}/bin
wrapProgram $out/opt/Rambox/rambox --prefix PATH : ${xdg_utils}/bin
'';
meta = rambox-bare.meta // {
platforms = [ "i686-linux" "x86_64-linux" ];
meta = with stdenv.lib; {
description = "Free and Open Source messaging and emailing app that combines common web applications into one";
homepage = http://rambox.pro;
license = licenses.mit;
maintainers = [ maintainers.gnidorah ];
platforms = ["i686-linux" "x86_64-linux"];
hydraPlatforms = [];
};
}

View file

@ -1,14 +0,0 @@
https://github.com/saenzramiro/rambox/issues/1280
diff -urNZ a/electron/main.js b/electron/main.js
--- a/electron/main.js 2017-11-02 14:58:06.085127616 +0000
+++ b/electron/main.js 2017-11-02 14:58:18.316887679 +0000
@@ -8,7 +8,7 @@
// Configuration
const Config = require('electron-config');
// Development
-const isDev = require('electron-is-dev');
+const isDev = false;
// Updater
const updater = require('./updater');
// File System

View file

@ -1,43 +0,0 @@
{ stdenv, fetchurl, gzip, which, unzip, jdk }:
let
version = "6.6.0.13";
srcs = {
i686-linux = fetchurl {
url = "https://cdn.sencha.com/cmd/${version}/no-jre/SenchaCmd-${version}-linux-i386.sh.zip";
sha256 = "15b197108b49mf0afpihkh3p68lxm7580zz2w0xsbahglnvhwyfz";
};
x86_64-linux = fetchurl {
url = "https://cdn.sencha.com/cmd/${version}/no-jre/SenchaCmd-${version}-linux-amd64.sh.zip";
sha256 = "1cxhckmx1802p9qiw09cgb1v5f30wcvnrwkshmia8p8n0q47lpp4";
};
};
in
stdenv.mkDerivation {
inherit version;
pname = "sencha-bare";
src = srcs.${stdenv.hostPlatform.system};
nativeBuildInputs = [ gzip which unzip ];
buildInputs = [ jdk ];
sourceRoot = ".";
configurePhase = ''
substituteAll ${./response.varfile} response.varfile
'';
installPhase = ''
./SenchaCmd*.sh -q -dir $out -varfile response.varfile
# disallow sencha writing into /nix/store/repo
echo "repo.local.dir=$TMP/repo" >> $out/sencha.cfg
rm $out/shell-wrapper.sh $out/Uninstaller
'';
meta = with stdenv.lib; {
license = licenses.unfree;
platforms = attrNames srcs;
};
}

View file

@ -1,17 +0,0 @@
{ stdenv, callPackage, makeWrapper }:
let
sencha-bare = callPackage ./bare.nix {};
in
stdenv.mkDerivation {
name = "sencha-${sencha-bare.version}";
nativeBuildInputs = [ makeWrapper ];
dontUnpack = true;
installPhase = ''
makeWrapper ${sencha-bare}/sencha $out/bin/sencha
'';
}

View file

@ -1,13 +0,0 @@
addToPath$Integer=1
parentDir=.
sys.adminRights$Boolean=false
sys.component.148$Boolean=true
sys.component.157$Boolean=true
sys.component.26$Boolean=true
sys.component.30$Boolean=true
sys.component.90$Boolean=true
sys.component.91$Boolean=true
sys.component.92$Boolean=true
sys.component.94$Boolean=true
sys.installationDir=@out@
sys.languageId=en

View file

@ -8,120 +8,146 @@ let
version = "4.2.0";
rpath = stdenv.lib.makeLibraryPath [
alsaLib
at-spi2-atk
at-spi2-core
atk
cairo
cups
curl
dbus
expat
fontconfig
freetype
glib
gnome2.GConf
gdk-pixbuf
gtk3
pango
libnotify
libxcb
libappindicator-gtk3
nspr
nss
stdenv.cc.cc
systemd
libuuid
libpulseaudio
inherit (stdenv.hostPlatform) system;
xorg.libxkbfile
xorg.libX11
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libXScrnSaver
] + ":${stdenv.cc.cc.lib}/lib64";
throwSystem = throw "Unsupported system: ${system}";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
sha256 = "01b2klhky04fijdqcpfafgdqx2c5nh2fpnzvzgvz10hv7h16cinv";
}
else
throw "Slack is not supported on ${stdenv.hostPlatform.system}";
in stdenv.mkDerivation {
pname = "slack";
inherit version;
inherit src;
sha256 = {
x86_64-darwin = "0947a98m7yz4hldjvcqnv9s17dpvlsk9sflc1zc99hf500zck0w1";
x86_64-linux = "01b2klhky04fijdqcpfafgdqx2c5nh2fpnzvzgvz10hv7h16cinv";
}.${system} or throwSystem;
buildInputs = [
gtk3 # needed for GSETTINGS_SCHEMAS_PATH
];
nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ];
dontUnpack = true;
dontBuild = true;
dontPatchELF = true;
installPhase = ''
# The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
dpkg --fsys-tarfile $src | tar --extract
rm -rf usr/share/lintian
mkdir -p $out
mv usr/* $out
# Otherwise it looks "suspicious"
chmod -R g-w $out
for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
patchelf --set-rpath ${rpath}:$out/lib/slack $file || true
done
# Replace the broken bin/slack symlink with a startup wrapper
rm $out/bin/slack
makeWrapper $out/lib/slack/slack $out/bin/slack \
--prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
--prefix PATH : ${xdg_utils}/bin
# Fix the desktop link
substituteInPlace $out/share/applications/slack.desktop \
--replace /usr/bin/ $out/bin/ \
--replace /usr/share/ $out/share/
'' + stdenv.lib.optionalString (theme != null) ''
asar extract $out/lib/slack/resources/app.asar $out/lib/slack/resources/app.asar.unpacked
cat <<EOF >> $out/lib/slack/resources/app.asar.unpacked/dist/ssb-interop.bundle.js
var fs = require('fs');
document.addEventListener('DOMContentLoaded', function() {
fs.readFile('${theme}/theme.css', 'utf8', function(err, css) {
let s = document.createElement('style');
s.type = 'text/css';
s.innerHTML = css;
document.head.appendChild(s);
});
});
EOF
asar pack $out/lib/slack/resources/app.asar.unpacked $out/lib/slack/resources/app.asar
'';
meta = with stdenv.lib; {
description = "Desktop client for Slack";
homepage = https://slack.com;
license = licenses.unfree;
maintainers = [ maintainers.mmahut ];
platforms = [ "x86_64-linux" ];
platforms = [ "x86_64-darwin" "x86_64-linux" ];
};
}
linux = stdenv.mkDerivation rec {
inherit pname version meta;
src = fetchurl {
url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
inherit sha256;
};
rpath = stdenv.lib.makeLibraryPath [
alsaLib
at-spi2-atk
at-spi2-core
atk
cairo
cups
curl
dbus
expat
fontconfig
freetype
glib
gnome2.GConf
gdk-pixbuf
gtk3
pango
libnotify
libxcb
libappindicator-gtk3
nspr
nss
stdenv.cc.cc
systemd
libuuid
libpulseaudio
xorg.libxkbfile
xorg.libX11
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXtst
xorg.libXScrnSaver
] + ":${stdenv.cc.cc.lib}/lib64";
buildInputs = [
gtk3 # needed for GSETTINGS_SCHEMAS_PATH
];
nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ];
dontUnpack = true;
dontBuild = true;
dontPatchELF = true;
installPhase = ''
# The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
dpkg --fsys-tarfile $src | tar --extract
rm -rf usr/share/lintian
mkdir -p $out
mv usr/* $out
# Otherwise it looks "suspicious"
chmod -R g-w $out
for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
patchelf --set-rpath ${rpath}:$out/lib/slack $file || true
done
# Replace the broken bin/slack symlink with a startup wrapper
rm $out/bin/slack
makeWrapper $out/lib/slack/slack $out/bin/slack \
--prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
--prefix PATH : ${xdg_utils}/bin
# Fix the desktop link
substituteInPlace $out/share/applications/slack.desktop \
--replace /usr/bin/ $out/bin/ \
--replace /usr/share/ $out/share/
'' + stdenv.lib.optionalString (theme != null) ''
asar extract $out/lib/slack/resources/app.asar $out/lib/slack/resources/app.asar.unpacked
cat <<EOF >> $out/lib/slack/resources/app.asar.unpacked/dist/ssb-interop.bundle.js
var fs = require('fs');
document.addEventListener('DOMContentLoaded', function() {
fs.readFile('${theme}/theme.css', 'utf8', function(err, css) {
let s = document.createElement('style');
s.type = 'text/css';
s.innerHTML = css;
document.head.appendChild(s);
});
});
EOF
asar pack $out/lib/slack/resources/app.asar.unpacked $out/lib/slack/resources/app.asar
'';
};
darwin = stdenv.mkDerivation {
inherit pname version meta;
phases = [ "installPhase" ];
src = fetchurl {
url = "https://downloads.slack-edge.com/mac_releases/Slack-${version}-macOS.dmg";
inherit sha256;
};
installPhase = ''
/usr/bin/hdiutil mount -nobrowse -mountpoint slack-mnt $src
mkdir -p $out/Applications
cp -r ./slack-mnt/Slack.app $out/Applications
/usr/bin/hdiutil unmount slack-mnt
defaults write com.tinyspeck.slackmacgap SlackNoAutoUpdates -bool YES
'';
};
in if stdenv.isDarwin
then darwin
else linux

View file

@ -19,12 +19,12 @@ with lib;
mkDerivation rec {
pname = "telegram-desktop";
version = "1.9.13";
version = "1.9.14";
# Telegram-Desktop with submodules
src = fetchurl {
url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
sha256 = "1cd1vy5f0hin01jp7agdr56axwd8539rkngb7c16x17bhj5r7rm7";
sha256 = "0jsss4b51ylf4qk58frvh2yap1s3cjf3isnlc273cc0fh5g1skc6";
};
postPatch = ''

View file

@ -15,6 +15,8 @@ buildPythonPackage rec {
checkInputs = [ mock pytest coverage tox ];
propagatedBuildInputs = [ urwid tweepy future ];
LC_ALL = "en_US.UTF-8";
patches = [
(fetchpatch {
url = "https://github.com/louipc/turses/commit/be0961b51f502d49fd9e2e5253ac130e543a31c7.patch";

View file

@ -14,11 +14,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
let
inherit (stdenv.lib) concatStringsSep makeBinPath optional;
version = "3.5.352596.0119";
version = "3.5.359539.0224";
srcs = {
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
sha256 = "1h8wki0b920k0hcy812w91ara59z4rmfllxx04nbmzsxh0bvsx90";
sha256 = "1n6rcsl86150y2dzkcgy5rzdij0d6ib3nvg4dz4a4dkyhq5hbla2";
};
};

View file

@ -27,12 +27,12 @@ let
in
assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
stdenv.mkDerivation rec {
version = "2.7";
version = "2.7.1";
pname = "weechat";
src = fetchurl {
url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
sha256 = "00hzchzw1w2181kczcrrnj8ngml3bwk7qciha3higxq3qynf0h8c";
sha256 = "0acz41jg7lmipni9z2agfqw4dhmx5hf6k9w4pvr4zih1fhkldva2";
};
outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "weechat-autosort";
version = "3.4";
version = "3.8";
src = fetchFromGitHub {
owner = "de-vri-es";
repo = pname;
rev = version;
sha256 = "1sbr6ga9krrfgqznvsxjd3hdxzkvslh41ls5xrj7l2p4ws4gwlkn";
sha256 = "0a2gc8nhklvlivradhqy2pkymsqyy01pvzrmwg60cln8snmcqpd5";
};
passthru.scripts = [ "autosort.py" ];
@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
description = "Autosort is a weechat script to automatically or manually keep your buffers sorted";
homepage = https://github.com/de-vri-es/weechat-autosort;
license = licenses.gpl3;
maintainers = with maintainers; [ ma27 ];
maintainers = with maintainers; [ ma27 emily ];
};
}

View file

@ -64,7 +64,7 @@ in buildPythonPackage {
--replace '/usr/bin/env -S python3' '${scriptPython}/bin/python'
substituteInPlace $out/bin/matrix_decrypt \
--replace '/usr/bin/env python3' '${scriptPython}/bin/python'
mkdir -p $out/${python.sitePackages}
cp -r $src/matrix $out/${python.sitePackages}/matrix
'';
@ -75,7 +75,7 @@ in buildPythonPackage {
description = "A Python plugin for Weechat that lets Weechat communicate over the Matrix protocol";
homepage = "https://github.com/poljar/weechat-matrix";
license = licenses.isc;
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = with maintainers; [ tilpner emily ];
};
}

View file

@ -30,11 +30,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "claws-mail";
version = "3.17.4";
version = "3.17.5";
src = fetchurl {
url = "http://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz";
sha256 = "00mfhaac16sv67rwiq98hr4nl5zmd1h2afswwwksdcsi3q9x23jr";
sha256 = "1gjrmdmhc7zzilrlss9yl86ybv9sra8v0qi7mkwv7d9azidx5kns";
};
outputs = [ "out" "dev" ];
@ -104,7 +104,7 @@ stdenv.mkDerivation rec {
meta = {
description = "The user-friendly, lightweight, and fast email client";
homepage = https://www.claws-mail.org/;
homepage = "https://www.claws-mail.org/";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ fpletz globin ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "tixati";
version = "2.66";
version = "2.67";
src = fetchurl {
url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
sha256 = "1qwmxfkgc5q7v6ickxr29khil6mh9crv5mwdm72bp6k64w0akbs7";
sha256 = "0510wkwmwrlv61958zd5nsc4lr0l0lka3jf4pq3dyiyfsf4k20rq";
};
installPhase = ''

View file

@ -5,7 +5,7 @@
let
sha256 = {
x86_64-linux = "1ysd8fwzm0360qs6ijr6l0y2agqb3njz20h7am1x4kxmhy8ravq9";
x86_64-linux = "0az7n4lhmd4pz0spjvyiwd4w1gnqbh8f1fvr1jinsssyq0j26ldj";
i386-linux = "0vjxbg5hwkqkh600rr75xviwy848r1xw9mxwf6bb6l8b0isvlsgg";
}.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
@ -28,7 +28,7 @@ let
in stdenv.mkDerivation rec {
pname = "anydesk";
version = "5.5.1";
version = "5.5.2";
src = fetchurl {
urls = [

View file

@ -1,8 +1,8 @@
{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools
{ mkDerivation, lib, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools
, seafile-shared, ccnet, jansson, libsearpc
, withShibboleth ? true, qtwebengine }:
stdenv.mkDerivation rec {
mkDerivation rec {
pname = "seafile-client";
version = "7.0.5";
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
++ lib.optional withShibboleth "-DBUILD_SHIBBOLETH_SUPPORT=ON";
qtWrapperArgs = [
"--suffix PATH : ${stdenv.lib.makeBinPath [ ccnet seafile-shared ]}"
"--suffix PATH : ${lib.makeBinPath [ ccnet seafile-shared ]}"
];
meta = with lib; {

View file

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, libpcap, libnet, zlib, curl, pcre
, openssl, ncurses, glib, gtk3, atk, pango, flex, bison, geoip
, openssl, ncurses, glib, gtk3, atk, pango, flex, bison, geoip, harfbuzz
, pkgconfig }:
stdenv.mkDerivation rec {
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake flex bison pkgconfig ];
buildInputs = [
libpcap libnet zlib curl pcre openssl ncurses
glib gtk3 atk pango geoip
glib gtk3 atk pango geoip harfbuzz
];
preConfigure = ''
@ -30,9 +30,19 @@ stdenv.mkDerivation rec {
"-DGTK3_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
];
# TODO: Remove after the next release (0.8.4 should work without this):
NIX_CFLAGS_COMPILE = [ "-I${harfbuzz.dev}/include/harfbuzz" ];
meta = with stdenv.lib; {
description = "Comprehensive suite for man in the middle attacks";
homepage = http://ettercap.github.io/ettercap/;
longDescription = ''
Ettercap is a comprehensive suite for man in the middle attacks. It
features sniffing of live connections, content filtering on the fly and
many other interesting tricks. It supports active and passive dissection
of many protocols and includes many features for network and host
analysis.
'';
homepage = https://www.ettercap-project.org/;
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = with maintainers; [ pSub ];

View file

@ -2,12 +2,12 @@
let
pname = "ssb-patchwork";
version = "3.17.2";
version = "3.17.5";
name = "Patchwork-${version}";
src = fetchurl {
url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${name}.AppImage";
sha256 = "1pmy01jwdr461vsl4fsxi3jaqnjx9yl5dw4987y5g73qx21qc5d5";
sha256 = "0zmi6d9v92icbkln69n50648xbaz6jih5sal1fm5a8kw5is8qg4s";
};
binary = appimageTools.wrapType2 {
@ -23,7 +23,7 @@ let
name = "ssb-patchwork";
exec = "${binary}/bin/ssb-patchwork";
icon = "ssb-patchwork.png";
comment = "Decentralized messaging and sharing app";
comment = "Client for the decentralized social network Secure Scuttlebutt";
desktopName = "Patchwork";
genericName = "Patchwork";
categories = "Network;";
@ -45,9 +45,9 @@ in
longDescription = ''
sea-slang for gossip - a scuttlebutt is basically a watercooler on a ship.
'';
homepage = https://www.scuttlebutt.nz/;
homepage = "https://www.scuttlebutt.nz/";
license = licenses.agpl3;
maintainers = with maintainers; [ thedavidmeister ninjatrappeur flokli ];
maintainers = with maintainers; [ asymmetric ninjatrappeur thedavidmeister ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -26,7 +26,8 @@ rec {
sha256 = "0a7arjlxxy7hjm1brxwd124bf1gkbl92bgygi3sbbhbsv07pjdcr";
};
# TODO: dictionaries
# the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
# it and LibreOffice can use these by pointing DICPATH environment variable at the hunspell directory
help = fetchSrc {
name = "help";

View file

@ -26,7 +26,8 @@ rec {
sha256 = "01g09bbn1ixrsfj4l0x6x8p06dz9hnlrhnr3f3xb42drmi9ipvjv";
};
# TODO: dictionaries
# the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
# it and LibreOffice can use these by pointing DICPATH environment variable at the hunspell directory
help = fetchSrc {
name = "help";

View file

@ -17,6 +17,13 @@ if uname | grep Linux > /dev/null &&
export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session"
fi
for PROFILE in $NIX_PROFILES; do
HDIR="$PROFILE/share/hunspell"
if [ -d "$HDIR" ]; then
export DICPATH=$DICPATH''${DICPATH:+:}$HDIR
fi
done
"@libreoffice@/bin/$(basename "$0")" "$@"
code="$?"

View file

@ -1,4 +1,4 @@
{ stdenv, python3, glibcLocales }:
{ stdenv, python3, glibcLocales, installShellFiles, jq }:
let
inherit (python3.pkgs) buildPythonApplication fetchPypi;
@ -17,6 +17,7 @@ buildPythonApplication rec {
LANG = "en_US.UTF-8";
LC_TYPE = "en_US.UTF-8";
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ glibcLocales ];
propagatedBuildInputs = with python3.pkgs;
[ atomicwrites click click-log click-repl configobj humanize icalendar parsedatetime
@ -28,6 +29,12 @@ buildPythonApplication rec {
makeWrapperArgs = [ "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive"
"--set CHARSET en_us.UTF-8" ];
postInstall = ''
installShellCompletion --bash contrib/completion/bash/_todo
substituteInPlace contrib/completion/zsh/_todo --replace "jq " "${jq}/bin/jq "
installShellCompletion --zsh contrib/completion/zsh/_todo
'';
preCheck = ''
# Remove one failing test that only checks whether the command line works
rm tests/test_main.py

View file

@ -4,14 +4,14 @@
stdenv.mkDerivation {
version = "19.08";
version = "20.02";
pname = "rtl_433";
src = fetchFromGitHub {
owner = "merbanan";
repo = "rtl_433";
rev = "19.08";
sha256 = "0cm82gm5c86qfl4dw37h8wyk77947k6fv2n1pn3xvk3wz2ygsdi6";
rev = "20.02";
sha256 = "11991xky9gawkragdyg27qsf7kw5bhlg7ygvf3fn7ng00x4xbh1z";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View file

@ -7,8 +7,8 @@ let
in
stdenv.mkDerivation rec {
srcVersion = "jan20a";
version = "20200101_a";
srcVersion = "feb20a";
version = "20200201_a";
pname = "gildas";
src = fetchurl {
@ -16,19 +16,15 @@ stdenv.mkDerivation rec {
# source code of the previous release to a different directory
urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
"http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
sha256 = "12n08pax7gwg2z121ix3ah5prq3yswqnf2yc8jgs4i9rgkpbsfzz";
sha256 = "05f34kpi3pfgf4dsyka7mkcln26yzb2mixnnc306krq0isjm7m26";
};
# Python scripts are not converted to Python 3 syntax when parallel
# building is turned on. Disable it until this is fixed upstream.
enableParallelBuilding = false;
nativeBuildInputs = [ pkgconfig groff perl getopt gfortran which ];
buildInputs = [ gtk2-x11 lesstif cfitsio python3Env ncurses ]
++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation ]);
patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ./imager-py3.patch ];
patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ];
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";

View file

@ -1,12 +0,0 @@
diff -ruN gildas-src-jan20a.orig/contrib/imager/pro/define.ima gildas-src-jan20a/contrib/imager/pro/define.ima
--- gildas-src-jan20a.orig/contrib/imager/pro/define.ima 2020-01-01 02:15:16.000000000 +0100
+++ gildas-src-jan20a/contrib/imager/pro/define.ima 2020-01-14 11:18:46.000000000 +0100
@@ -9,7 +9,7 @@
!
! Patch for a Bug on Mac-OS/X where Python blocks if activated first
! from a script launched by a widget.
-python print "Starting Python"
+python print("Starting Python")
!
! INPUT, GO and UVT_CONVERT always defined by GreG
define command GO "@ p_go.ima" gag_pro:go_greg.hlp

View file

@ -0,0 +1,77 @@
{ stdenv, lib, fetchFromGitHub, python, makeWrapper
, eigen, fftw, libtiff, zlib, ants, bc
, qt5, libGL, libGLU, libX11, libXext
, withGui ? true }:
stdenv.mkDerivation rec {
pname = "mrtrix";
version = "3.0_RC3_latest";
src = fetchFromGitHub {
owner = "MRtrix3";
repo = "mrtrix3";
rev = version;
sha256 = "184nv524p8j94qicjy9l288bqcgl2yxqqs55a7042i0gfsnwp51c";
fetchSubmodules = true;
};
nativeBuildInputs = [ eigen makeWrapper ] ++ lib.optional withGui qt5.wrapQtAppsHook;
buildInputs = [
ants
python
fftw
libtiff
zlib ] ++ lib.optionals withGui [
libGL
libGLU
libX11
libXext
qt5.qtbase
qt5.qtsvg
];
installCheckInputs = [ bc ];
postPatch = ''
patchShebangs ./build ./configure ./run_tests ./bin/population_template
substituteInPlace ./run_tests \
--replace 'git submodule update --init >> $LOGFILE 2>&1' ""
'';
configurePhase = ''
export EIGEN_CFLAGS="-isystem ${eigen}/include/eigen3"
unset LD # similar to https://github.com/MRtrix3/mrtrix3/issues/1519
./configure ${lib.optionalString (!withGui) "-nogui"};
'';
buildPhase = ''
./build
(cd testing && ../build)
'';
installCheckPhase = "./run_tests";
doInstallCheck = true;
installPhase = ''
runHook preInstall
mkdir -p $out
cp -ar lib $out/lib
cp -ar bin $out/bin
runHook postInstall
'';
postInstall = ''
for prog in $out/bin/*; do
wrapProgram $prog --prefix PATH : ${lib.makeBinPath [ ants ]}
done
'';
meta = with lib; {
homepage = "https://github.com/MRtrix3/mrtrix3";
description = "Suite of tools for diffusion imaging";
maintainers = with maintainers; [ bcdarwin ];
platforms = platforms.linux;
license = licenses.mpl20;
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "gtkwave";
version = "3.3.103";
version = "3.3.104";
src = fetchurl {
url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
sha256 = "0djqfnxy772a9p44wnm5ansbih7jg76xv1hvcpkv3gblhkzg49ay";
sha256 = "1qvldbnlp3wkqr5ff93f6pdvv9yzij7lxfhpqlizakz08l1xb391";
};
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];

View file

@ -1,14 +1,9 @@
{ stdenv, pkgconfig, curl, openssl, zlib, fetchFromGitHub, rustPlatform }:
{ lib, pkgconfig, curl, openssl, zlib, fetchFromGitHub, rustPlatform }:
rustPlatform.buildRustPackage rec {
pname = "elan";
version = "0.7.5";
# Delete this on next update; see #79975 for details
legacyCargoFetcher = true;
cargoSha256 = "0q0xlvyyf88dbz43r7kk9v8rrp6hj0nl5i2i9mg6ibk2gphgdv6v";
src = fetchFromGitHub {
owner = "kha";
repo = "elan";
@ -16,6 +11,8 @@ rustPlatform.buildRustPackage rec {
sha256 = "1147f3lzr6lgvf580ppspn20bdwnf6l8idh1h5ana0p0lf5a0dn1";
};
cargoSha256 = "0vja1cq6z7jlr4nzfdzn4gl8l31yld82zmgzwihnalif13q3fcps";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ curl zlib openssl ];
@ -38,7 +35,7 @@ rustPlatform.buildRustPackage rec {
$out/bin/elan completions zsh > "$out/share/zsh/site-functions/_elan"
'';
meta = with stdenv.lib; {
meta = with lib; {
description = "Small tool to manage your installations of the Lean theorem prover";
homepage = "https://github.com/Kha/elan";
license = with licenses; [ asl20 /* or */ mit ];

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