diff options
45 files changed, 490 insertions, 251 deletions
diff --git a/nixos/maintainers/scripts/openstack/nova-image.nix b/nixos/maintainers/scripts/openstack/nova-image.nix deleted file mode 100644 index b6f3a5b15200..000000000000 --- a/nixos/maintainers/scripts/openstack/nova-image.nix +++ /dev/null @@ -1,26 +0,0 @@ -# nix-build '<nixpkgs/nixos>' -A config.system.build.novaImage --arg configuration "{ imports = [ ./nixos/maintainers/scripts/openstack/nova-image.nix ]; }" - -{ config, lib, pkgs, ... }: - -with lib; - -{ - imports = - [ ../../../modules/installer/cd-dvd/channel.nix - ../../../modules/virtualisation/nova-config.nix - ]; - - system.build.novaImage = import ../../../lib/make-disk-image.nix { - inherit lib config; - pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package - diskSize = 8192; - format = "qcow2"; - configFile = pkgs.writeText "configuration.nix" - '' - { - imports = [ <nixpkgs/nixos/modules/virtualisation/nova-config.nix> ]; - } - ''; - }; - -} diff --git a/nixos/maintainers/scripts/openstack/openstack-image.nix b/nixos/maintainers/scripts/openstack/openstack-image.nix new file mode 100644 index 000000000000..4c464f43f61d --- /dev/null +++ b/nixos/maintainers/scripts/openstack/openstack-image.nix @@ -0,0 +1,26 @@ +# nix-build '<nixpkgs/nixos>' -A config.system.build.openstackImage --arg configuration "{ imports = [ ./nixos/maintainers/scripts/openstack/openstack-image.nix ]; }" + +{ config, lib, pkgs, ... }: + +with lib; + +{ + imports = + [ ../../../modules/installer/cd-dvd/channel.nix + ../../../modules/virtualisation/openstack-config.nix + ]; + + system.build.openstackImage = import ../../../lib/make-disk-image.nix { + inherit lib config; + pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package + diskSize = 8192; + format = "qcow2"; + configFile = pkgs.writeText "configuration.nix" + '' + { + imports = [ <nixpkgs/nixos/modules/virtualisation/openstack-config.nix> ]; + } + ''; + }; + +} diff --git a/nixos/modules/services/misc/airsonic.nix b/nixos/modules/services/misc/airsonic.nix index 01d7b3cf6b9d..8b2ec82c7705 100644 --- a/nixos/modules/services/misc/airsonic.nix +++ b/nixos/modules/services/misc/airsonic.nix @@ -25,6 +25,14 @@ in { ''; }; + virtualHost = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost. + ''; + }; + listenAddress = mkOption { type = types.string; default = "127.0.0.1"; @@ -116,6 +124,8 @@ in { -Dserver.port=${toString cfg.port} \ -Dairsonic.contextPath=${cfg.contextPath} \ -Djava.awt.headless=true \ + ${optionalString (cfg.virtualHost != null) + "-Dserver.use-forward-headers=true"} \ ${toString cfg.jvmOptions} \ -verbose:gc \ -jar ${pkgs.airsonic}/webapps/airsonic.war @@ -126,6 +136,13 @@ in { }; }; + services.nginx = mkIf (cfg.virtualHost != null) { + enable = true; + virtualHosts."${cfg.virtualHost}" = { + locations."${cfg.contextPath}".proxyPass = "http://${cfg.listenAddress}:${toString cfg.port}"; + }; + }; + users.users.airsonic = { description = "Airsonic service user"; name = cfg.user; diff --git a/nixos/modules/services/misc/plex.nix b/nixos/modules/services/misc/plex.nix index e4810ce9f876..b06c1c4bbc68 100644 --- a/nixos/modules/services/misc/plex.nix +++ b/nixos/modules/services/misc/plex.nix @@ -145,6 +145,7 @@ in PLEX_MEDIA_SERVER_HOME="${cfg.package}/usr/lib/plexmediaserver"; PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6"; PLEX_MEDIA_SERVER_TMPDIR="/tmp"; + PLEX_MEDIA_SERVER_USE_SYSLOG="true"; LD_LIBRARY_PATH="/run/opengl-driver/lib:${cfg.package}/usr/lib/plexmediaserver"; LC_ALL="en_US.UTF-8"; LANG="en_US.UTF-8"; diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index 9015200beead..6f4f99caa6f1 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -8,7 +8,13 @@ with lib; -let cfg = config.ec2; in +let + cfg = config.ec2; + metadataFetcher = import ./ec2-metadata-fetcher.nix { + targetRoot = "$targetRoot/"; + wgetExtraOptions = "-q"; + }; +in { imports = [ ../profiles/headless.nix ./ec2-data.nix ./amazon-init.nix ]; @@ -61,26 +67,7 @@ let cfg = config.ec2; in # Nix operations. boot.initrd.postMountCommands = '' - metaDir=$targetRoot/etc/ec2-metadata - mkdir -m 0755 -p "$metaDir" - - echo "getting EC2 instance metadata..." - - if ! [ -e "$metaDir/ami-manifest-path" ]; then - wget -q -O "$metaDir/ami-manifest-path" http://169.254.169.254/1.0/meta-data/ami-manifest-path - fi - - if ! [ -e "$metaDir/user-data" ]; then - wget -q -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data && chmod 600 "$metaDir/user-data" - fi - - if ! [ -e "$metaDir/hostname" ]; then - wget -q -O "$metaDir/hostname" http://169.254.169.254/1.0/meta-data/hostname - fi - - if ! [ -e "$metaDir/public-keys-0-openssh-key" ]; then - wget -q -O "$metaDir/public-keys-0-openssh-key" http://169.254.169.254/1.0/meta-data/public-keys/0/openssh-key - fi + ${metadataFetcher} diskNr=0 diskForUnionfs= diff --git a/nixos/modules/virtualisation/ec2-metadata-fetcher.nix b/nixos/modules/virtualisation/ec2-metadata-fetcher.nix new file mode 100644 index 000000000000..b531787c31a2 --- /dev/null +++ b/nixos/modules/virtualisation/ec2-metadata-fetcher.nix @@ -0,0 +1,23 @@ +{ targetRoot, wgetExtraOptions }: +'' + metaDir=${targetRoot}etc/ec2-metadata + mkdir -m 0755 -p "$metaDir" + + echo "getting EC2 instance metadata..." + + if ! [ -e "$metaDir/ami-manifest-path" ]; then + wget ${wgetExtraOptions} -O "$metaDir/ami-manifest-path" http://169.254.169.254/1.0/meta-data/ami-manifest-path + fi + + if ! [ -e "$metaDir/user-data" ]; then + wget ${wgetExtraOptions} -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data && chmod 600 "$metaDir/user-data" + fi + + if ! [ -e "$metaDir/hostname" ]; then + wget ${wgetExtraOptions} -O "$metaDir/hostname" http://169.254.169.254/1.0/meta-data/hostname + fi + + if ! [ -e "$metaDir/public-keys-0-openssh-key" ]; then + wget ${wgetExtraOptions} -O "$metaDir/public-keys-0-openssh-key" http://169.254.169.254/1.0/meta-data/public-keys/0/openssh-key + fi +'' diff --git a/nixos/modules/virtualisation/nova-config.nix b/nixos/modules/virtualisation/nova-config.nix deleted file mode 100644 index cecf2a3f144c..000000000000 --- a/nixos/modules/virtualisation/nova-config.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ lib, ... }: - -with lib; - -{ - imports = [ - ../profiles/qemu-guest.nix - ../profiles/headless.nix - ]; - - config = { - fileSystems."/" = { - device = "/dev/disk/by-label/nixos"; - autoResize = true; - }; - - boot.growPartition = true; - boot.kernelParams = [ "console=ttyS0" ]; - boot.loader.grub.device = "/dev/vda"; - boot.loader.timeout = 0; - - # Allow root logins - services.openssh = { - enable = true; - permitRootLogin = "prohibit-password"; - passwordAuthentication = mkDefault false; - }; - - services.cloud-init.enable = true; - - # Put /tmp and /var on /ephemeral0, which has a lot more space. - # Unfortunately we can't do this with the `fileSystems' option - # because it has no support for creating the source of a bind - # mount. Also, "move" /nix to /ephemeral0 by layering a unionfs-fuse - # mount on top of it so we have a lot more space for Nix operations. - - /* - boot.initrd.postMountCommands = - '' - mkdir -m 1777 -p $targetRoot/ephemeral0/tmp - mkdir -m 1777 -p $targetRoot/tmp - mount --bind $targetRoot/ephemeral0/tmp $targetRoot/tmp - - mkdir -m 755 -p $targetRoot/ephemeral0/var - mkdir -m 755 -p $targetRoot/var - mount --bind $targetRoot/ephemeral0/var $targetRoot/var - - mkdir -p /unionfs-chroot/ro-nix - mount --rbind $targetRoot/nix /unionfs-chroot/ro-nix - - mkdir -p /unionfs-chroot/rw-nix - mkdir -m 755 -p $targetRoot/ephemeral0/nix - mount --rbind $targetRoot/ephemeral0/nix /unionfs-chroot/rw-nix - unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot,max_files=32768 /rw-nix=RW:/ro-nix=RO $targetRoot/nix - ''; - - boot.initrd.supportedFilesystems = [ "unionfs-fuse" ]; - */ - }; -} diff --git a/nixos/modules/virtualisation/openstack-config.nix b/nixos/modules/virtualisation/openstack-config.nix new file mode 100644 index 000000000000..d5e862da0ea4 --- /dev/null +++ b/nixos/modules/virtualisation/openstack-config.nix @@ -0,0 +1,57 @@ +{ pkgs, lib, ... }: + +with lib; + +let + metadataFetcher = import ./ec2-metadata-fetcher.nix { + targetRoot = "/"; + wgetExtraOptions = "--retry-connrefused"; + }; +in +{ + imports = [ + ../profiles/qemu-guest.nix + ../profiles/headless.nix + # The Openstack Metadata service exposes data on an EC2 API also. + ./ec2-data.nix + ./amazon-init.nix + ]; + + config = { + fileSystems."/" = { + device = "/dev/disk/by-label/nixos"; + autoResize = true; + }; + + boot.growPartition = true; + boot.kernelParams = [ "console=ttyS0" ]; + boot.loader.grub.device = "/dev/vda"; + boot.loader.timeout = 0; + + # Allow root logins + services.openssh = { + enable = true; + permitRootLogin = "prohibit-password"; + passwordAuthentication = mkDefault false; + }; + + # Force getting the hostname from Openstack metadata. + networking.hostName = mkDefault ""; + + systemd.services.openstack-init = { + path = [ pkgs.wget ]; + description = "Fetch Metadata on startup"; + wantedBy = [ "multi-user.target" ]; + before = [ "apply-ec2-data.service" "amazon-init.service"]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; + script = metadataFetcher; + restartIfChanged = false; + unitConfig.X-StopOnRemoval = false; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; + }; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a847abdc542c..7e207fa419f8 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -163,6 +163,9 @@ in openldap = handleTest ./openldap.nix {}; opensmtpd = handleTest ./opensmtpd.nix {}; openssh = handleTest ./openssh.nix {}; + # openstack-image-userdata doesn't work in a sandbox as the simulated openstack instance needs network access + #openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {}; + openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {}; osquery = handleTest ./osquery.nix {}; osrm-backend = handleTest ./osrm-backend.nix {}; ostree = handleTest ./ostree.nix {}; diff --git a/nixos/tests/common/ec2.nix b/nixos/tests/common/ec2.nix new file mode 100644 index 000000000000..1e69b63191a7 --- /dev/null +++ b/nixos/tests/common/ec2.nix @@ -0,0 +1,49 @@ +{ pkgs, makeTest }: + +with pkgs.lib; + +{ + makeEc2Test = { name, image, userData, script, hostname ? "ec2-instance", sshPublicKey ? null }: + let + metaData = pkgs.stdenv.mkDerivation { + name = "metadata"; + buildCommand = '' + mkdir -p $out/1.0/meta-data + ln -s ${pkgs.writeText "userData" userData} $out/1.0/user-data + echo "${hostname}" > $out/1.0/meta-data/hostname + echo "(unknown)" > $out/1.0/meta-data/ami-manifest-path + '' + optionalString (sshPublicKey != null) '' + mkdir -p $out/1.0/meta-data/public-keys/0 + ln -s ${pkgs.writeText "sshPublicKey" sshPublicKey} $out/1.0/meta-data/public-keys/0/openssh-key + ''; + }; + in makeTest { + name = "ec2-" + name; + nodes = {}; + testScript = + '' + my $imageDir = ($ENV{'TMPDIR'} // "/tmp") . "/vm-state-machine"; + mkdir $imageDir, 0700; + my $diskImage = "$imageDir/machine.qcow2"; + system("qemu-img create -f qcow2 -o backing_file=${image}/nixos.qcow2 $diskImage") == 0 or die; + system("qemu-img resize $diskImage 10G") == 0 or die; + + # Note: we use net=169.0.0.0/8 rather than + # net=169.254.0.0/16 to prevent dhcpcd from getting horribly + # confused. (It would get a DHCP lease in the 169.254.* + # range, which it would then configure and prompty delete + # again when it deletes link-local addresses.) Ideally we'd + # turn off the DHCP server, but qemu does not have an option + # to do that. + my $startCommand = "qemu-kvm -m 768"; + $startCommand .= " -device virtio-net-pci,netdev=vlan0"; + $startCommand .= " -netdev 'user,id=vlan0,net=169.0.0.0/8,guestfwd=tcp:169.254.169.254:80-cmd:${pkgs.micro-httpd}/bin/micro_httpd ${metaData}'"; + $startCommand .= " -drive file=$diskImage,if=virtio,werror=report"; + $startCommand .= " \$QEMU_OPTS"; + + my $machine = createMachine({ startCommand => $startCommand }); + + ${script} + ''; + }; +} diff --git a/nixos/tests/ec2.nix b/nixos/tests/ec2.nix index ed6bf7da988c..384fce67c227 100644 --- a/nixos/tests/ec2.nix +++ b/nixos/tests/ec2.nix @@ -6,6 +6,8 @@ with import ../lib/testing.nix { inherit system pkgs; }; with pkgs.lib; +with import common/ec2.nix { inherit makeTest pkgs; }; + let image = (import ../lib/eval-config.nix { @@ -39,65 +41,14 @@ let ]; }).config.system.build.amazonImage; - makeEc2Test = { name, userData, script, hostname ? "ec2-instance", sshPublicKey ? null }: - let - metaData = pkgs.stdenv.mkDerivation { - name = "metadata"; - buildCommand = '' - mkdir -p $out/1.0/meta-data - ln -s ${pkgs.writeText "userData" userData} $out/1.0/user-data - echo "${hostname}" > $out/1.0/meta-data/hostname - echo "(unknown)" > $out/1.0/meta-data/ami-manifest-path - '' + optionalString (sshPublicKey != null) '' - mkdir -p $out/1.0/meta-data/public-keys/0 - ln -s ${pkgs.writeText "sshPublicKey" sshPublicKey} $out/1.0/meta-data/public-keys/0/openssh-key - ''; - }; - in makeTest { - name = "ec2-" + name; - nodes = {}; - testScript = - '' - my $imageDir = ($ENV{'TMPDIR'} // "/tmp") . "/vm-state-machine"; - mkdir $imageDir, 0700; - my $diskImage = "$imageDir/machine.qcow2"; - system("qemu-img create -f qcow2 -o backing_file=${image}/nixos.qcow2 $diskImage") == 0 or die; - system("qemu-img resize $diskImage 10G") == 0 or die; - - # Note: we use net=169.0.0.0/8 rather than - # net=169.254.0.0/16 to prevent dhcpcd from getting horribly - # confused. (It would get a DHCP lease in the 169.254.* - # range, which it would then configure and prompty delete - # again when it deletes link-local addresses.) Ideally we'd - # turn off the DHCP server, but qemu does not have an option - # to do that. - my $startCommand = "qemu-kvm -m 768"; - $startCommand .= " -device virtio-net-pci,netdev=vlan0"; - $startCommand .= " -netdev 'user,id=vlan0,net=169.0.0.0/8,guestfwd=tcp:169.254.169.254:80-cmd:${pkgs.micro-httpd}/bin/micro_httpd ${metaData}'"; - $startCommand .= " -drive file=$diskImage,if=virtio,werror=report"; - $startCommand .= " \$QEMU_OPTS"; - - my $machine = createMachine({ startCommand => $startCommand }); - - ${script} - ''; - }; - - snakeOilPrivateKey = '' - -----BEGIN OPENSSH PRIVATE KEY----- - b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW - QyNTUxOQAAACDEPmwZv5dDPrMUaq0dDP+6eBTTe+QNrz14KBEIdhHd1QAAAJDufJ4S7nye - EgAAAAtzc2gtZWQyNTUxOQAAACDEPmwZv5dDPrMUaq0dDP+6eBTTe+QNrz14KBEIdhHd1Q - AAAECgwbDlYATM5/jypuptb0GF/+zWZcJfoVIFBG3LQeRyGsQ+bBm/l0M+sxRqrR0M/7p4 - FNN75A2vPXgoEQh2Ed3VAAAADEVDMiB0ZXN0IGtleQE= - -----END OPENSSH PRIVATE KEY----- - ''; - - snakeOilPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQ+bBm/l0M+sxRqrR0M/7p4FNN75A2vPXgoEQh2Ed3V EC2 test key"; + sshKeys = import ./ssh-keys.nix pkgs; + snakeOilPrivateKey = sshKeys.snakeOilPrivateKey.text; + snakeOilPublicKey = sshKeys.snakeOilPublicKey; in { boot-ec2-nixops = makeEc2Test { name = "nixops-userdata"; + inherit image; sshPublicKey = snakeOilPublicKey; # That's right folks! My user's key is also the host key! userData = '' @@ -142,6 +93,7 @@ in { boot-ec2-config = makeEc2Test { name = "config-userdata"; + inherit image; sshPublicKey = snakeOilPublicKey; # ### http://nixos.org/channels/nixos-unstable nixos diff --git a/nixos/tests/openstack-image.nix b/nixos/tests/openstack-image.nix new file mode 100644 index 000000000000..d0225016ab76 --- /dev/null +++ b/nixos/tests/openstack-image.nix @@ -0,0 +1,88 @@ +{ system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../.. { inherit system config; } +}: + +with import ../lib/testing.nix { inherit system pkgs; }; +with pkgs.lib; + +with import common/ec2.nix { inherit makeTest pkgs; }; + +let + image = + (import ../lib/eval-config.nix { + inherit system; + modules = [ + ../maintainers/scripts/openstack/openstack-image.nix + ../modules/testing/test-instrumentation.nix + ../modules/profiles/qemu-guest.nix + ]; + }).config.system.build.openstackImage; + + sshKeys = import ./ssh-keys.nix pkgs; + snakeOilPrivateKey = sshKeys.snakeOilPrivateKey.text; + snakeOilPublicKey = sshKeys.snakeOilPublicKey; + +in { + metadata = makeEc2Test { + name = "openstack-ec2-metadata"; + inherit image; + sshPublicKey = snakeOilPublicKey; + userData = '' + SSH_HOST_ED25519_KEY_PUB:${snakeOilPublicKey} + SSH_HOST_ED25519_KEY:${replaceStrings ["\n"] ["|"] snakeOilPrivateKey} + ''; + script = '' + $machine->start; + $machine->waitForFile("/etc/ec2-metadata/user-data"); + $machine->waitForUnit("sshd.service"); + + $machine->succeed("grep unknown /etc/ec2-metadata/ami-manifest-path"); + + # We have no keys configured on the client side yet, so this should fail + $machine->fail("ssh -o BatchMode=yes localhost exit"); + + # Let's install our client private key + $machine->succeed("mkdir -p ~/.ssh"); + + $machine->succeed("echo '${snakeOilPrivateKey}' > ~/.ssh/id_ed25519"); + $machine->succeed("chmod 600 ~/.ssh/id_ed25519"); + + # We haven't configured the host key yet, so this should still fail + $machine->fail("ssh -o BatchMode=yes localhost exit"); + + # Add the host key; ssh should finally succeed + $machine->succeed("echo localhost,127.0.0.1 ${snakeOilPublicKey} > ~/.ssh/known_hosts"); + $machine->succeed("ssh -o BatchMode=yes localhost exit"); + + # Just to make sure resizing is idempotent. + $machine->shutdown; + $machine->start; + $machine->waitForFile("/etc/ec2-metadata/user-data"); + ''; + }; + + userdata = makeEc2Test { + name = "openstack-ec2-metadata"; + inherit image; + sshPublicKey = snakeOilPublicKey; + userData = '' + { pkgs, ... }: + { + imports = [ + <nixpkgs/nixos/modules/virtualisation/openstack-config.nix> + <nixpkgs/nixos/modules/testing/test-instrumentation.nix> + <nixpkgs/nixos/modules/profiles/qemu-guest.nix> + ]; + environment.etc.testFile = { + text = "whoa"; + }; + } + ''; + script = '' + $machine->start; + $machine->waitForFile("/etc/testFile"); + $machine->succeed("cat /etc/testFile | grep -q 'whoa'"); + ''; + }; +} diff --git a/pkgs/applications/editors/bvi/default.nix b/pkgs/applications/editors/bvi/default.nix index f3f44f769a99..f5e14ff1e096 100644 --- a/pkgs/applications/editors/bvi/default.nix +++ b/pkgs/applications/editors/bvi/default.nix @@ -16,6 +16,6 @@ stdenv.mkDerivation rec { homepage = http://bvi.sourceforge.net/download.html; license = licenses.gpl2; maintainers = with maintainers; [ pSub ]; - platforms = platforms.linux; + platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix index c8ff2d479a06..cb2b682a952f 100644 --- a/pkgs/applications/misc/xmrig/default.nix +++ b/pkgs/applications/misc/xmrig/default.nix @@ -4,20 +4,22 @@ stdenv.mkDerivation rec { name = "xmrig-${version}"; - version = "2.10.0"; + version = "2.11.0"; src = fetchFromGitHub { owner = "xmrig"; repo = "xmrig"; rev = "v${version}"; - sha256 = "10nqwxj8j2ciw2h178g2z5lrzv48xsi2a4v6s0ha93hfbjzvag5a"; + sha256 = "0k897lx60gjf464j2ndindxhr6x3l90fv81bcqyglsv47danivlc"; }; nativeBuildInputs = [ cmake ]; buildInputs = [ libuv libmicrohttpd openssl ]; postPatch = '' - substituteInPlace src/donate.h --replace "kDonateLevel = 5;" "kDonateLevel = ${toString donateLevel};" + substituteInPlace src/donate.h \ + --replace "kDefaultDonateLevel = 5;" "kDefaultDonateLevel = ${toString donateLevel};" \ + --replace "kMinimumDonateLevel = 1;" "kMinimumDonateLevel = ${toString donateLevel};" ''; installPhase = '' diff --git a/pkgs/applications/misc/xmrig/proxy.nix b/pkgs/applications/misc/xmrig/proxy.nix index c013a9cc44ec..2df0cdafdc4b 100644 --- a/pkgs/applications/misc/xmrig/proxy.nix +++ b/pkgs/applications/misc/xmrig/proxy.nix @@ -1,24 +1,28 @@ -{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, libuuid +{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, libuuid, openssl , donateLevel ? 0 }: stdenv.mkDerivation rec { name = "xmrig-proxy-${version}"; - version = "2.6.4"; + version = "2.11.0"; src = fetchFromGitHub { owner = "xmrig"; repo = "xmrig-proxy"; rev = "v${version}"; - sha256 = "0h6ihrrkgwi8k642iqq13qx3zlxl9r8q7wm417hb7j35rnmwn8lq"; + sha256 = "1jjcgnpkxdafsdsxndsvzd84i6mwk7ix4vvgs3k1dla9ll9nwq5j"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libuv libmicrohttpd libuuid ]; + buildInputs = [ libuv libmicrohttpd libuuid openssl ]; - # Set default donation level to 0%. Can be increased at runtime via --donate-level option. postPatch = '' - substituteInPlace src/donate.h --replace "kDonateLevel = 2;" "kDonateLevel = ${toString donateLevel};" + # Set default donation level to 0%. Can be increased at runtime via --donate-level option. + substituteInPlace src/donate.h \ + --replace "kDefaultDonateLevel = 2;" "kDefaultDonateLevel = ${toString donateLevel};" + + # Link dynamically against libuuid instead of statically + substituteInPlace CMakeLists.txt --replace uuid.a uuid ''; installPhase = '' diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 2ef05a8f8d4b..1219f3bb895e 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -22,6 +22,7 @@ , pulseaudioSupport ? stdenv.isLinux, libpulseaudio , ffmpegSupport ? true , gtk3Support ? true, gtk2, gtk3, wrapGAppsHook +, waylandSupport ? true, libxkbcommon , gssSupport ? true, kerberos ## privacy-related options @@ -74,7 +75,7 @@ let flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")]; default-toolkit = if stdenv.isDarwin then "cairo-cocoa" - else "cairo-gtk${if gtk3Support then "3" else "2"}"; + else "cairo-gtk${if gtk3Support then "3${lib.optionalString waylandSupport "-wayland"}" else "2"}"; binaryName = if isIceCatLike then "icecat" else "firefox"; binaryNameCapitalized = lib.toUpper (lib.substring 0 1 binaryName) + lib.substring 1 (-1) binaryName; @@ -124,6 +125,7 @@ stdenv.mkDerivation rec { ++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed ++ lib.optional gtk3Support gtk3 ++ lib.optional gssSupport kerberos + ++ lib.optional waylandSupport libxkbcommon ++ lib.optionals stdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos AVFoundation MediaToolbox CoreLocation Foundation libobjc AddressBook cups ]; diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 1c214230e4ed..bc3a1ed844a4 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -26,8 +26,11 @@ let , icon ? browserName , extraPlugins ? [] , extraNativeMessagingHosts ? [] + , gdkWayland ? false }: + assert gdkWayland -> (browser ? gtk3); # Can only use the wayland backend if gtk3 is being used + let cfg = config.${browserName} or {}; enableAdobeFlash = cfg.enableAdobeFlash or false; @@ -86,7 +89,7 @@ let exec = "${browserName}${nameSuffix} %U"; inherit icon; comment = ""; - desktopName = "${desktopName}${nameSuffix}"; + desktopName = "${desktopName}${nameSuffix}${lib.optionalString gdkWayland " (Wayland)"}"; genericName = "Web Browser"; categories = "Application;Network;WebBrowser;"; mimeType = stdenv.lib.concatStringsSep ";" [ @@ -124,7 +127,9 @@ let --suffix PATH ':' "$out${browser.execdir or "/bin"}" \ --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \ --set MOZ_SYSTEM_DIR "$out/lib/mozilla" \ - ${lib.optionalString (browser ? gtk3) + ${lib.optionalString gdkWayland '' + --set GDK_BACKEND "wayland" \ + ''}${lib.optionalString (browser ? gtk3) ''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ --suffix XDG_DATA_DIRS : '${gnome3.defaultIconTheme}/share' '' diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix index 6e78a9034aec..4a669f127e54 100644 --- a/pkgs/applications/networking/instant-messengers/nheko/default.nix +++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix @@ -20,13 +20,13 @@ let in stdenv.mkDerivation rec { name = "nheko-${version}"; - version = "0.6.2"; + version = "0.6.3"; src = fetchFromGitHub { - owner = "mujx"; + owner = "Nheko-Reborn"; repo = "nheko"; rev = "v${version}"; - sha256 = "014k68mmw3ys7ldgj96kkr1i1lyv2nk89wndkqznsizcr3097fn5"; + sha256 = "1h95lixciiq904dnfpwxhyf545yfsrphhwqyvs4yrzdfr9k0cf98"; }; # If, on Darwin, you encounter the error @@ -67,9 +67,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Desktop client for the Matrix protocol"; + homepage = https://github.com/Nheko-Reborn/nheko; maintainers = with maintainers; [ ekleog fpletz ]; platforms = platforms.unix; license = licenses.gpl3Plus; - knownVulnerabilities = [ "No longer maintained" ]; }; } diff --git a/pkgs/applications/science/machine-learning/sc2-headless/default.nix b/pkgs/applications/science/machine-learning/sc2-headless/default.nix index 517edd0d7799..7f5145d977c3 100644 --- a/pkgs/applications/science/machine-learning/sc2-headless/default.nix +++ b/pkgs/applications/science/machine-learning/sc2-headless/default.nix @@ -14,12 +14,12 @@ if !licenseAccepted then throw '' else assert licenseAccepted; let maps = callPackage ./maps.nix {}; in stdenv.mkDerivation rec { - version = "3.17"; + version = "4.7.1"; name = "sc2-headless-${version}"; src = fetchurl { url = "https://blzdistsc2-a.akamaihd.net/Linux/SC2.${version}.zip"; - sha256 = "1biyxpf7n95hali1pw30h91rhzrj6sbwrx6s52d00mlnwdhmf2v0"; + sha256 = "0q1ry9bd3dm8y4hvh57yfq7s05hl2k2sxi2wsl6h0r3w690v1kdd"; }; unpackCmd = '' diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index a21c21130d55..4ef88e34f032 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -105,6 +105,12 @@ stdenv.mkDerivation rec { sha256 = "1n5c61mvhalcr2wbp66wzsynwwk59aakvx3xqa5zw9nlkx3rd0h1"; }) + # https://trac.sagemath.org/ticket/27061 + (fetchpatch { + name = "numpy-1.16-inline-fortran.patch"; + url = "https://git.sagemath.org/sage.git/patch?id=a05b6b038e1571ab15464e98f76d1927c0c3fd12"; + sha256 = "05yq97pq84xi60wb1p9skrad5h5x770gq98ll4frr7hvvmlwsf58"; + }) ]; patches = nixPatches ++ packageUpgradePatches; diff --git a/pkgs/applications/window-managers/sway/beta.nix b/pkgs/applications/window-managers/sway/beta.nix index 8b2acc94ea08..96e919df5a69 100644 --- a/pkgs/applications/window-managers/sway/beta.nix +++ b/pkgs/applications/window-managers/sway/beta.nix @@ -10,15 +10,19 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "sway"; - version = "1.0-rc1"; + version = "1.0-rc2"; src = fetchFromGitHub { owner = "swaywm"; repo = "sway"; rev = version; - sha256 = "1zigx2yz0i91iz2r2l6csq33hscaybmaq1p19jgxrazms7z213mz"; + sha256 = "052if3nagmwg5zh79nhrq75fbc9v2x950lcs1mal52p801qiv8f1"; }; + postPatch = '' + sed -iE "s/version: '1.0',/version: '${version}',/" meson.build + ''; + nativeBuildInputs = [ pkgconfig meson ninja ] ++ stdenv.lib.optional buildDocs scdoc; @@ -32,8 +36,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; mesonFlags = [ - "-Dsway-version=${version}" "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled" - "-Dman-pages=enabled" "-Dtray=enabled" + "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled" "-Dman-pages=enabled" + "-Dtray=enabled" ]; meta = with stdenv.lib; { diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index bc12be0fa36c..06891893e8c1 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -8,7 +8,7 @@ assertExecutable() { } # construct an executable file that wraps the actual executable -# makeWrapper EXECUTABLE ARGS +# makeWrapper EXECUTABLE OUT_PATH ARGS # ARGS: # --argv0 NAME : set name of executed process to NAME diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix index 529a727d6c0f..4adb0928d4fa 100644 --- a/pkgs/data/fonts/iosevka/bin.nix +++ b/pkgs/data/fonts/iosevka/bin.nix @@ -1,7 +1,7 @@ { stdenv, fetchzip }: let - version = "2.0.2"; + version = "2.1.0"; in fetchzip rec { name = "iosevka-bin-${version}"; @@ -12,7 +12,7 @@ in fetchzip rec { unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka ''; - sha256 = "0jr9d02dk4zbq3kyhpfs6gyynwss60210pc1dfxn0qbw3j9ch2l4"; + sha256 = "0hx91pdkiw0qvkkl7qnl78p5afldcmn18l5m1iclldnvrghrxizz"; meta = with stdenv.lib; { homepage = https://be5invis.github.io/Iosevka/; diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix index 283101247181..c8ca0016d57d 100644 --- a/pkgs/desktops/gnome-3/core/epiphany/default.nix +++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "epiphany-${version}"; - version = "3.30.2"; + version = "3.30.3"; src = fetchurl { url = "mirror://gnome/sources/epiphany/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0141bb37nd8wc743g4wy491crjh6ig76ack07aj2ba4z3gjz2zlc"; + sha256 = "05qdzx18ld1m3xiajpz6y6snfj56bgyjsgm7f4rqrnpjdbdvikbn"; }; # Tests need an X display diff --git a/pkgs/desktops/xfce4-13/tumbler/default.nix b/pkgs/desktops/xfce4-13/tumbler/default.nix index 15b41f090af5..05a4f4ecde3c 100644 --- a/pkgs/desktops/xfce4-13/tumbler/default.nix +++ b/pkgs/desktops/xfce4-13/tumbler/default.nix @@ -6,9 +6,9 @@ mkXfceDerivation rec { category = "xfce"; pname = "tumbler"; - version = "0.2.1"; + version = "0.2.3"; - sha256 = "0vgk3s6jnsrs8bawrfc11s8nwsm4jvcl3aidbaznk52g97xiyxz0"; + sha256 = "1gb4dav6q9bn64c2ayi4896cr79lb8k63ja2sm3lwsjxgg1r4hw9"; buildInputs = [ gdk_pixbuf ffmpegthumbnailer libgsf poppler ]; } diff --git a/pkgs/development/libraries/aubio/default.nix b/pkgs/development/libraries/aubio/default.nix index e6c4a8e00895..db5ecf3b0169 100644 --- a/pkgs/development/libraries/aubio/default.nix +++ b/pkgs/development/libraries/aubio/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "aubio-0.4.8"; + name = "aubio-0.4.9"; src = fetchurl { url = "https://aubio.org/pub/${name}.tar.bz2"; - sha256 = "1fjbz1l9axscrb7dl6jv4ifhvmq1g77ihvg0bbwwfg0j3qz4gxyw"; + sha256 = "1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"; }; nativeBuildInputs = [ pkgconfig python wafHook ]; diff --git a/pkgs/development/libraries/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix index a622f45ca5bf..8430c462ca6e 100644 --- a/pkgs/development/libraries/libu2f-host/default.nix +++ b/pkgs/development/libraries/libu2f-host/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, json_c, hidapi }: stdenv.mkDerivation rec { - name = "libu2f-host-1.1.6"; + name = "libu2f-host-1.1.7"; src = fetchurl { url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz"; - sha256 = "19xxwwqfzg3njfpxvhlyxd05wjwsdw3m4lpn7gk31cna6agbp82d"; + sha256 = "1zyws91b1fsbfwn3f23ry9a9zr0i1a1hqmhk3v1qnlvp56gjayli"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/odpic/default.nix b/pkgs/development/libraries/odpic/default.nix index 2715ff4dfaff..931ecc186be6 100644 --- a/pkgs/development/libraries/odpic/default.nix +++ b/pkgs/development/libraries/odpic/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "odpic-${version}"; - version = "2.4.2"; + version = "3.1.0"; src = fetchurl { url = "https://github.com/oracle/odpi/archive/v${version}.tar.gz"; - sha256 = "0hw6b38vnh0cgm1iwpgkqa2am86baal6irp9bglacblwh8sshqdi"; + sha256 = "0m6g7lbvfir4amf2cnap9wz9fmqrihqpihd84igrd7fp076894c0"; }; nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin [ fixDarwinDylibNames ]; diff --git a/pkgs/development/python-modules/acme/default.nix b/pkgs/development/python-modules/acme/default.nix index 503c6f796591..e9156b5c6af1 100644 --- a/pkgs/development/python-modules/acme/default.nix +++ b/pkgs/development/python-modules/acme/default.nix @@ -1,6 +1,6 @@ { buildPythonPackage , certbot -, nose +, pytest , cryptography , pyasn1 , pyopenssl @@ -8,6 +8,7 @@ , josepy , pytz , requests +, requests-toolbelt , six , werkzeug , mock @@ -20,13 +21,13 @@ buildPythonPackage rec { pname = "acme"; propagatedBuildInputs = [ - cryptography pyasn1 pyopenssl pyRFC3339 pytz requests six werkzeug mock - ndg-httpsclient josepy + cryptography pyasn1 pyopenssl pyRFC3339 pytz requests requests-toolbelt six + werkzeug mock ndg-httpsclient josepy ]; - checkInputs = [ nose ]; + checkInputs = [ pytest ]; - postUnpack = "sourceRoot=\${sourceRoot}/acme"; + sourceRoot = "source/${pname}"; meta = certbot.meta // { description = "ACME protocol implementation in Python"; diff --git a/pkgs/development/python-modules/mailman-rss/default.nix b/pkgs/development/python-modules/mailman-rss/default.nix new file mode 100644 index 000000000000..afce4521d5b4 --- /dev/null +++ b/pkgs/development/python-modules/mailman-rss/default.nix @@ -0,0 +1,25 @@ +{ stdenv, python3Packages, withTwitter ? false}: + +python3Packages.buildPythonApplication rec { + pname = "mailman-rss"; + version = "0.2.4"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "1brrik70jyagxa9l0cfmlxvqpilwj1q655bphxnvjxyganxf4c00"; + }; + + propagatedBuildInputs = with python3Packages; [ dateutil future requests beautifulsoup4 ] + ++ stdenv.lib.optional withTwitter python3Packages.twitter + ; + + # No tests in Pypi Tarball + doCheck = false; + + meta = with stdenv.lib; { + description = "Mailman archive -> rss converter"; + homepage = https://github.com/kyamagu/mailman-rss; + license = licenses.mit; + maintainers = with maintainers; [ samueldr ]; + }; +} diff --git a/pkgs/development/python-modules/matplotlib/2.nix b/pkgs/development/python-modules/matplotlib/2.nix index 129b864a241d..6334d2e4f793 100644 --- a/pkgs/development/python-modules/matplotlib/2.nix +++ b/pkgs/development/python-modules/matplotlib/2.nix @@ -1,6 +1,7 @@ { stdenv, fetchPypi, python, buildPythonPackage, pycairo, backports_functools_lru_cache , which, cycler, dateutil, nose, numpy, pyparsing, sphinx, tornado, kiwisolver , freetype, libpng, pkgconfig, mock, pytz, pygobject3, functools32, subprocess32 +, fetchpatch , enableGhostscript ? false, ghostscript ? null, gtk3 , enableGtk2 ? false, pygtk ? null, gobject-introspection , enableGtk3 ? false, cairo @@ -47,9 +48,16 @@ buildPythonPackage rec { ++ stdenv.lib.optionals enableQt [ pyqt4 ] ++ stdenv.lib.optionals python.isPy2 [ functools32 subprocess32 ]; - patches = - [ ./basedirlist.patch ] ++ - stdenv.lib.optionals stdenv.isDarwin [ ./darwin-stdenv-2.2.3.patch ]; + patches = [ + ./basedirlist.patch + + # https://github.com/matplotlib/matplotlib/pull/12478 + (fetchpatch { + name = "numpy-1.16-compat.patch"; + url = "https://github.com/matplotlib/matplotlib/commit/2980184d092382a40ab21f95b79582ffae6e19d6.patch"; + sha256 = "1c0wj28zy8s5h6qiavx9zzbhlmhjwpzbc3fyyw9039mbnqk0spg2"; + }) + ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./darwin-stdenv-2.2.3.patch ]; # Matplotlib tries to find Tcl/Tk by opening a Tk window and asking the # corresponding interpreter object for its library paths. This fails if diff --git a/pkgs/development/tools/misc/luarocks/darwin.patch b/pkgs/development/tools/misc/luarocks/darwin.patch new file mode 100644 index 000000000000..ec7f924987a2 --- /dev/null +++ b/pkgs/development/tools/misc/luarocks/darwin.patch @@ -0,0 +1,27 @@ +diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua +index 55cd4c9..060a6f1 100644 +--- a/src/luarocks/cfg.lua ++++ b/src/luarocks/cfg.lua +@@ -587,9 +587,9 @@ if cfg.platforms.macosx then + defaults.external_lib_extension = "dylib" + defaults.arch = "macosx-"..cfg.target_cpu + defaults.variables.LIBFLAG = "-bundle -undefined dynamic_lookup -all_load" +- defaults.variables.STAT = "/usr/bin/stat" ++ defaults.variables.STAT = "stat" + defaults.variables.STATFLAG = "-f '%A'" +- local version = io.popen("sw_vers -productVersion"):read("*l") ++ local version = "10.10" + version = tonumber(version and version:match("^[^.]+%.([^.]+)")) or 3 + if version >= 10 then + version = 8 +@@ -598,8 +598,8 @@ if cfg.platforms.macosx then + else + defaults.gcc_rpath = false + end +- defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc" +- defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc" ++ defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang" ++ defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang" + defaults.web_browser = "open" + end + diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix index 8b9bf453c468..ad50e7e8e6df 100644 --- a/pkgs/development/tools/misc/luarocks/default.nix +++ b/pkgs/development/tools/misc/luarocks/default.nix @@ -6,6 +6,7 @@ # some packages need to be compiled with cmake , cmake }: + let s = # Generated upstream information rec { @@ -20,18 +21,20 @@ let lua curl makeWrapper which unzip ]; in + stdenv.mkDerivation { inherit (s) name version; inherit buildInputs; src = fetchurl { inherit (s) url sha256; }; + patches = [ ./darwin.patch ]; preConfigure = '' lua -e "" || { luajit -e "" && { - export LUA_SUFFIX=jit - configureFlags="$configureFlags --lua-suffix=$LUA_SUFFIX" - } + export LUA_SUFFIX=jit + configureFlags="$configureFlags --lua-suffix=$LUA_SUFFIX" + } } lua_inc="$(echo "${lua}/include"/*/)" if test -n "$lua_inc"; then @@ -42,13 +45,12 @@ stdenv.mkDerivation { sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/* for i in "$out"/bin/*; do test -L "$i" || { - wrapProgram "$i" \ - --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \ - --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \ - --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \ - --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" - - } + wrapProgram "$i" \ + --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \ + --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \ + --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \ + --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" + } done ''; diff --git a/pkgs/development/tools/misc/luarocks/setup-hook.sh b/pkgs/development/tools/misc/luarocks/setup-hook.sh index 593ee8bbe83e..587d5413c3ed 100644 --- a/pkgs/development/tools/misc/luarocks/setup-hook.sh +++ b/pkgs/development/tools/misc/luarocks/setup-hook.sh @@ -6,15 +6,11 @@ _tryRockSpec() { } _trySourceRock() { - if ! [[ "$curSrc" =~ \.src.rock$ ]]; then return 1; fi - export PATH=${unzip}/bin:$PATH - # luarocks expects a clean <name>.rock.spec name to be the package name # so we have to strip the hash renamed="$(stripHash $curSrc)" cp "$curSrc" "$renamed" luarocks unpack --force "$renamed" } - diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index b1e74da256b6..0cd793db3390 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args: buildLinux (args // rec { - version = "5.0-rc5"; - modDirVersion = "5.0.0-rc5"; + version = "5.0-rc6"; + modDirVersion = "5.0.0-rc6"; extraMeta.branch = "5.0"; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "0a60svgiz06cq4hq5z1rmwyjq1748fm7wi87arl659aidp0r0qky"; + sha256 = "1315hkjwgm97kh98y8ynsf6fy1b6yf4b74ws6d4s7dls70qzl3yw"; }; # Should the testing kernels ever be built on Hydra? diff --git a/pkgs/os-specific/linux/rtl8821ce/default.nix b/pkgs/os-specific/linux/rtl8821ce/default.nix new file mode 100644 index 000000000000..4be462991223 --- /dev/null +++ b/pkgs/os-specific/linux/rtl8821ce/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, kernel, bc }: +stdenv.mkDerivation rec { + name = "rtl8821ce-${kernel.version}-${version}"; + version = "5.2.5_1.26055.20180108"; + + src = fetchFromGitHub { + owner = "tomaspinho"; + repo = "rtl8821ce"; + rev = "ab6154e150bbc7d12b0525d4cc1298ae196e45de"; + sha256 = "1my0hidqnv4s7hi5897m81pq0sjw05np0g27hlkg9fwb83b5kzsg"; + }; + + hardeningDisable = [ "pic" ]; + + nativeBuildInputs = [ bc ]; + buildInputs = kernel.moduleBuildDependencies; + + prePatch = '' + substituteInPlace ./Makefile \ + --replace /lib/modules/ "${kernel.dev}/lib/modules/" \ + --replace '$(shell uname -r)' "${kernel.modDirVersion}" \ + --replace /sbin/depmod \# \ + --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" + ''; + + preInstall = '' + mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/" + ''; + + meta = with stdenv.lib; { + description = "Realtek rtl8821ce driver"; + homepage = "https://github.com/tomaspinho/rtl8821ce"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.hhm ]; + }; +} diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix index dae427500698..e8603d249421 100644 --- a/pkgs/servers/dns/pdns-recursor/default.nix +++ b/pkgs/servers/dns/pdns-recursor/default.nix @@ -8,11 +8,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "pdns-recursor-${version}"; - version = "4.1.10"; + version = "4.1.11"; src = fetchurl { url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2"; - sha256 = "00bzh4lmd4z99l9jwmxclnifbqpxlbkzfc88m2ag7yrjmsfw0bgj"; + sha256 = "0w6nyjiid8d9rv6qsq42x210val6lqrm9shpid4s8gjxahmxbiwy"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/servers/dns/powerdns/default.nix b/pkgs/servers/dns/powerdns/default.nix index 7e8775a2e2c6..fff678395319 100644 --- a/pkgs/servers/dns/powerdns/default.nix +++ b/pkgs/servers/dns/powerdns/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "powerdns-${version}"; - version = "4.1.5"; + version = "4.1.6"; src = fetchurl { url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2"; - sha256 = "12jgkdsh6hzaznq6y9y7hfdpjhnn7ar2qn7x706k9iyqcq55faf3"; + sha256 = "0ggpcvzj90a31qf71m8788ql0hbxnkb9y6c3wgqr9l0qwv8dsgpm"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 2f881d7f8f88..90ebe4fad44b 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1704,11 +1704,11 @@ lib.makeScope newScope (self: with self; { }) {}; xf86inputlibinput = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { - name = "xf86-input-libinput-0.28.1"; + name = "xf86-input-libinput-0.28.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-libinput-0.28.1.tar.bz2; - sha256 = "12yr0yki94j2416bfhmkz5jpacffm27jkra89fl7h03c0y749nls"; + url = mirror://xorg/individual/driver/xf86-input-libinput-0.28.2.tar.bz2; + sha256 = "0818vr0yhk9j1y1wcbxzcd458vrvp06rrhi8k43bhqkb5jb4dcxq"; }; hardeningDisable = [ "bindnow" "relro" ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 45b3ae9396a2..ec1e6a413b4f 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -79,7 +79,7 @@ mirror://xorg/individual/doc/xorg-sgml-doctools-1.11.tar.bz2 mirror://xorg/individual/driver/xf86-input-evdev-2.10.6.tar.bz2 mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2 mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2 -mirror://xorg/individual/driver/xf86-input-libinput-0.28.1.tar.bz2 +mirror://xorg/individual/driver/xf86-input-libinput-0.28.2.tar.bz2 mirror://xorg/individual/driver/xf86-input-mouse-1.9.3.tar.bz2 mirror://xorg/individual/driver/xf86-input-synaptics-1.9.1.tar.bz2 mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2 diff --git a/pkgs/tools/admin/certbot/default.nix b/pkgs/tools/admin/certbot/default.nix index 353abe9c8bca..a75d86c93e79 100644 --- a/pkgs/tools/admin/certbot/default.nix +++ b/pkgs/tools/admin/certbot/default.nix @@ -1,34 +1,32 @@ -{ stdenv, pythonPackages, fetchFromGitHub, dialog }: +{ stdenv, python3Packages, fetchFromGitHub, dialog }: -# Latest version of certbot supports python3 and python3 version of pythondialog - -pythonPackages.buildPythonApplication rec { - name = "certbot-${version}"; - version = "0.24.0"; +python3Packages.buildPythonApplication rec { + pname = "certbot"; + version = "0.30.2"; src = fetchFromGitHub { - owner = "certbot"; - repo = "certbot"; + owner = pname; + repo = pname; rev = "v${version}"; - sha256 = "0gsq4si0bqwzd7ywf87y7bbprqg1m72qdj11h64qmwb5zl4vh444"; + sha256 = "0lycmxc6y7mk18irv8qdasw6hsqiiw5p34950h2f5s3vjc09wnw3"; }; - propagatedBuildInputs = with pythonPackages; [ + propagatedBuildInputs = with python3Packages; [ ConfigArgParse acme configobj cryptography + josepy parsedatetime psutil pyRFC3339 pyopenssl - python2-pythondialog pytz six zope_component zope_interface ]; - buildInputs = [ dialog ] ++ (with pythonPackages; [ nose mock gnureadline ]); + buildInputs = [ dialog ] ++ (with python3Packages; [ mock gnureadline ]); patchPhase = '' substituteInPlace certbot/notify.py --replace "/usr/sbin/sendmail" "/run/wrappers/bin/sendmail" diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix index 4da8527208e6..9fc84504f539 100644 --- a/pkgs/tools/misc/bat/default.nix +++ b/pkgs/tools/misc/bat/default.nix @@ -4,17 +4,17 @@ rustPlatform.buildRustPackage rec { name = "bat-${version}"; - version = "0.9.0"; + version = "0.10.0"; src = fetchFromGitHub { owner = "sharkdp"; repo = "bat"; rev = "v${version}"; - sha256 = "13c88h1m9flmx3x2h7xrnb1wy4vgdxsqahw8cqa0x61ay0019a7s"; + sha256 = "1q22lbyrwh58vhznpjpkiaa8v4qv6a3a8lrxzaypd8wg78p9dca6"; fetchSubmodules = true; }; - cargoSha256 = "1clng4rl7mq50z8d5ipmr9fapjj4qmpf4gmdnfl6vs35pq3wp9j4"; + cargoSha256 = "0npj2rf4vr45gq3qwqq6kqnv9dh58v5lpx0gsmy2qrq44dxb75rq"; nativeBuildInputs = [ cmake pkgconfig zlib ]; diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index bf37678d06c9..b165142d85a4 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -24,14 +24,14 @@ assert brotliSupport -> brotli != null; assert gssSupport -> libkrb5 != null; stdenv.mkDerivation rec { - name = "curl-7.63.0"; + name = "curl-7.64.0"; src = fetchurl { urls = [ "https://curl.haxx.se/download/${name}.tar.bz2" "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2" ]; - sha256 = "1n4dzlbllwks8xkz466j362da0pbnxgwr11d64504xzzxka7xawv"; + sha256 = "1szj9ia1snbfqzfcsk6hx1j7jhbqsy0f9k5d7x9xiy8w5lfblwym"; }; outputs = [ "bin" "dev" "out" "man" "devdoc" ]; diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix index e440d35e8210..259225e0b7c8 100644 --- a/pkgs/tools/networking/flannel/default.nix +++ b/pkgs/tools/networking/flannel/default.nix @@ -4,7 +4,7 @@ with lib; buildGoPackage rec { name = "flannel-${version}"; - version = "0.6.2"; + version = "0.11.0"; rev = "v${version}"; goPackagePath = "github.com/coreos/flannel"; @@ -15,14 +15,14 @@ buildGoPackage rec { inherit rev; owner = "coreos"; repo = "flannel"; - sha256 = "03l0zyv9ajda70zw7jgwlmilw26h849jbb9f4slbycphhvbmpvb9"; + sha256 = "0akxlrrsm2w51g0qd7dnsdy0hdajx98sdhxw4iknjr2kn7j3gph9"; }; meta = { description = "Network fabric for containers, designed for Kubernetes"; license = licenses.asl20; homepage = https://github.com/coreos/flannel; - maintainers = with maintainers; [offline]; + maintainers = with maintainers; [johanot offline]; platforms = with platforms; linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 997fbd7ed732..2df5884d610b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13636,6 +13636,8 @@ in mailman = callPackage ../servers/mail/mailman { }; + mailman-rss = callPackage ../development/python-modules/mailman-rss { }; + mattermost = callPackage ../servers/mattermost { }; matterircd = callPackage ../servers/mattermost/matterircd.nix { }; matterbridge = callPackage ../servers/matterbridge { }; @@ -14728,6 +14730,8 @@ in rtl8821au = callPackage ../os-specific/linux/rtl8821au { }; + rtl8821ce = callPackage ../os-specific/linux/rtl8821ce { }; + rtlwifi_new = callPackage ../os-specific/linux/rtlwifi_new { }; openafs = callPackage ../servers/openafs/1.6/module.nix { }; @@ -17238,6 +17242,7 @@ in icecat-unwrapped = firefoxPackages.icecat; firefox = wrapFirefox firefox-unwrapped { }; + firefox-wayland = wrapFirefox firefox-unwrapped { gdkWayland = true; }; firefox-esr-52 = wrapFirefox firefox-esr-52-unwrapped { }; firefox-esr-60 = wrapFirefox firefox-esr-60-unwrapped { }; firefox-esr = firefox-esr-60; |