forked from mirrors/nixpkgs
Merge staging-next into staging
This commit is contained in:
commit
ef156f7a8b
.github
lib/systems
maintainers
nixos
doc/manual
modules
config
installer
programs
security
services
computing/slurm
continuous-integration
misc
networking
torrent
web-apps
x11/display-managers
tasks
virtualisation
tests
pkgs/applications
audio
cantata
pulseaudio-dlna
sonic-lineup
spectmorph
spotify-tui
editors
gis/whitebox-tools
graphics
misc
alacritty
blender
calibre
electrum
etesync-dav
hugo
lutris
lyx
mps-youtube
pastel
yubioath-desktop
networking
browsers
brave
chromium
ephemeral
firefox-bin
firefox
vivaldi
cluster
gns3
instant-messengers
chatterino2
discord
gomuks
rambox
slack
telegram/tdesktop
turses
zoom-us
irc/weechat
mailreaders/claws-mail
p2p/tixati
remote/anydesk
seafile-client
sniffers/ettercap
ssb/patchwork
office
radio/rtl_433
science
astronomy/gildas
biology/mrtrix
electronics/gtkwave
logic/elan
10
.github/CODEOWNERS
vendored
10
.github/CODEOWNERS
vendored
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -116,6 +116,7 @@ in
|
|||
"/lib" # FIXME: remove and update debug-info.nix
|
||||
"/sbin"
|
||||
"/share/emacs"
|
||||
"/share/hunspell"
|
||||
"/share/nano"
|
||||
"/share/org"
|
||||
"/share/themes"
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -355,6 +355,7 @@ in
|
|||
ExecStart = "${wrappedSlurm}/bin/slurmd";
|
||||
PIDFile = "/run/slurmd.pid";
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
LimitMEMLOCK = "infinity";
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 */ ];
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -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 = "";
|
||||
|
|
|
@ -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}'';
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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")
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
38
pkgs/applications/audio/sonic-lineup/default.nix
Normal file
38
pkgs/applications/audio/sonic-lineup/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ]
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
'');
|
||||
|
|
33
pkgs/applications/misc/etesync-dav/default.nix
Normal file
33
pkgs/applications/misc/etesync-dav/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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" ];
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 = [
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -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;
|
|
@ -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
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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}" ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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; };
|
||||
});
|
||||
|
|
|
@ -15,6 +15,7 @@ let
|
|||
src = oldAttrs.src.override {
|
||||
inherit version sha256;
|
||||
};
|
||||
doCheck = oldAttrs.doCheck && (attrname != "psutil");
|
||||
});
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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 = [];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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
|
||||
'';
|
||||
}
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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="$?"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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
|
77
pkgs/applications/science/biology/mrtrix/default.nix
Normal file
77
pkgs/applications/science/biology/mrtrix/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue