diff options
-rw-r--r-- | .github/CODEOWNERS | 18 | ||||
-rw-r--r-- | maintainers/maintainer-list.nix | 5 | ||||
-rw-r--r-- | nixos/modules/virtualisation/docker-preloader.nix | 135 | ||||
-rw-r--r-- | nixos/modules/virtualisation/qemu-vm.nix | 5 | ||||
-rw-r--r-- | nixos/release.nix | 1 | ||||
-rw-r--r-- | nixos/tests/docker-preloader.nix | 27 | ||||
-rw-r--r-- | pkgs/applications/misc/josm/default.nix | 4 | ||||
-rw-r--r-- | pkgs/applications/networking/cluster/terraform-providers/data.nix | 132 | ||||
-rw-r--r-- | pkgs/applications/networking/cluster/terraform/default.nix | 4 | ||||
-rw-r--r-- | pkgs/data/fonts/comfortaa/default.nix | 6 | ||||
-rw-r--r-- | pkgs/data/fonts/open-dyslexic/default.nix | 6 | ||||
-rw-r--r-- | pkgs/data/fonts/overpass/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/admin/nomachine-client/default.nix | 83 | ||||
-rw-r--r-- | pkgs/tools/audio/abcmidi/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/misc/bat/default.nix | 3 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 8 | ||||
-rw-r--r-- | pkgs/top-level/release-cross.nix | 2 |
18 files changed, 373 insertions, 76 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f222af230bb1..e819d451fd55 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -12,7 +12,7 @@ # Libraries /lib @edolstra @nbp -/lib/systems @nbp @ericson2314 +/lib/systems @nbp @ericson2314 @matthewbauer /lib/generators.nix @edolstra @nbp @Profpatsch /lib/debug.nix @edolstra @nbp @Profpatsch @@ -20,9 +20,11 @@ /default.nix @nbp /pkgs/top-level/default.nix @nbp @Ericson2314 /pkgs/top-level/impure.nix @nbp @Ericson2314 -/pkgs/top-level/stage.nix @nbp @Ericson2314 -/pkgs/stdenv/generic @Ericson2314 -/pkgs/stdenv/cross @Ericson2314 +/pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer +/pkgs/top-level/splice.nix @Ericson2314 @matthewbauer +/pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer +/pkgs/stdenv/generic @Ericson2314 @matthewbauer +/pkgs/stdenv/cross @Ericson2314 @matthewbauer /pkgs/build-support/cc-wrapper @Ericson2314 @orivej /pkgs/build-support/bintools-wrapper @Ericson2314 @orivej /pkgs/build-support/setup-hooks @Ericson2314 @@ -74,6 +76,14 @@ /pkgs/stdenv/darwin @NixOS/darwin-maintainers /pkgs/os-specific/darwin @NixOS/darwin-maintainers +# C compilers +/pkgs/development/compilers/gcc @matthewbauer +/pkgs/development/compilers/llvm @matthewbauer + +# Compatibility stuff +/pkgs/top-level/unix-tools.nix @matthewbauer +/pkgs/development/tools/xcbuild @matthewbauer + # Beam-related (Erlang, Elixir, LFE, etc) /pkgs/development/beam-modules @gleber /pkgs/development/interpreters/erlang @gleber diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c8f32c0b9091..ec4289f19ead 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4163,6 +4163,11 @@ github = "taku0"; name = "Takuo Yonezawa"; }; + talyz = { + email = "kim.lindberger@gmail.com"; + github = "talyz"; + name = "Kim Lindberger"; + }; tari = { email = "peter@taricorp.net"; github = "tari"; diff --git a/nixos/modules/virtualisation/docker-preloader.nix b/nixos/modules/virtualisation/docker-preloader.nix new file mode 100644 index 000000000000..faa94f53d98f --- /dev/null +++ b/nixos/modules/virtualisation/docker-preloader.nix @@ -0,0 +1,135 @@ +{ config, lib, pkgs, ... }: + +with lib; +with builtins; + +let + cfg = config.virtualisation; + + sanitizeImageName = image: replaceStrings ["/"] ["-"] image.imageName; + hash = drv: head (split "-" (baseNameOf drv.outPath)); + # The label of an ext4 FS is limited to 16 bytes + labelFromImage = image: substring 0 16 (hash image); + + # The Docker image is loaded and some files from /var/lib/docker/ + # are written into a qcow image. + preload = image: pkgs.vmTools.runInLinuxVM ( + pkgs.runCommand "docker-preload-image-${sanitizeImageName image}" { + buildInputs = with pkgs; [ docker e2fsprogs utillinux curl kmod ]; + preVM = pkgs.vmTools.createEmptyImage { + size = cfg.dockerPreloader.qcowSize; + fullName = "docker-deamon-image.qcow2"; + }; + } + '' + mkfs.ext4 /dev/vda + e2label /dev/vda ${labelFromImage image} + mkdir -p /var/lib/docker + mount -t ext4 /dev/vda /var/lib/docker + + modprobe overlay + + # from https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount + mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup + cd /sys/fs/cgroup + for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do + mkdir -p $sys + if ! mountpoint -q $sys; then + if ! mount -n -t cgroup -o $sys cgroup $sys; then + rmdir $sys || true + fi + fi + done + + dockerd -H tcp://127.0.0.1:5555 -H unix:///var/run/docker.sock & + + until $(curl --output /dev/null --silent --connect-timeout 2 http://127.0.0.1:5555); do + printf '.' + sleep 1 + done + + docker load -i ${image} + + kill %1 + find /var/lib/docker/ -maxdepth 1 -mindepth 1 -not -name "image" -not -name "overlay2" | xargs rm -rf + ''); + + preloadedImages = map preload cfg.dockerPreloader.images; + +in + +{ + options.virtualisation.dockerPreloader = { + images = mkOption { + default = [ ]; + type = types.listOf types.package; + description = + '' + A list of Docker images to preload (in the /var/lib/docker directory). + ''; + }; + qcowSize = mkOption { + default = 1024; + type = types.int; + description = + '' + The size (MB) of qcow files. + ''; + }; + }; + + config = { + assertions = [{ + # If docker.storageDriver is null, Docker choose the storage + # driver. So, in this case, we cannot be sure overlay2 is used. + assertion = cfg.dockerPreloader.images == [] + || cfg.docker.storageDriver == "overlay2" + || cfg.docker.storageDriver == "overlay" + || cfg.docker.storageDriver == null; + message = "The Docker image Preloader only works with overlay2 storage driver!"; + }]; + + virtualisation.qemu.options = + map (path: "-drive if=virtio,file=${path}/disk-image.qcow2,readonly,media=cdrom,format=qcow2") + preloadedImages; + + + # All attached QCOW files are mounted and their contents are linked + # to /var/lib/docker/ in order to make image available. + systemd.services.docker-preloader = { + description = "Preloaded Docker images"; + wantedBy = ["docker.service"]; + after = ["network.target"]; + path = with pkgs; [ mount rsync jq ]; + script = '' + mkdir -p /var/lib/docker/overlay2/l /var/lib/docker/image/overlay2 + echo '{}' > /tmp/repositories.json + + for i in ${concatStringsSep " " (map labelFromImage cfg.dockerPreloader.images)}; do + mkdir -p /mnt/docker-images/$i + + # The ext4 label is limited to 16 bytes + mount /dev/disk/by-label/$(echo $i | cut -c1-16) -o ro,noload /mnt/docker-images/$i + + find /mnt/docker-images/$i/overlay2/ -maxdepth 1 -mindepth 1 -not -name l\ + -exec ln -s '{}' /var/lib/docker/overlay2/ \; + cp -P /mnt/docker-images/$i/overlay2/l/* /var/lib/docker/overlay2/l/ + + rsync -a /mnt/docker-images/$i/image/ /var/lib/docker/image/ + + # Accumulate image definitions + cp /tmp/repositories.json /tmp/repositories.json.tmp + jq -s '.[0] * .[1]' \ + /tmp/repositories.json.tmp \ + /mnt/docker-images/$i/image/overlay2/repositories.json \ + > /tmp/repositories.json + done + + mv /tmp/repositories.json /var/lib/docker/image/overlay2/repositories.json + ''; + serviceConfig = { + Type = "oneshot"; + }; + }; + }; +} diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 4e9c87222d0a..ed3431554be4 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -185,7 +185,10 @@ let in { - imports = [ ../profiles/qemu-guest.nix ]; + imports = [ + ../profiles/qemu-guest.nix + ./docker-preloader.nix + ]; options = { diff --git a/nixos/release.nix b/nixos/release.nix index 96d2e11fff3c..c3a10c9d3300 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -283,6 +283,7 @@ in rec { tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {}; tests.docker-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {}; tests.docker-edge = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-edge.nix {}; + tests.docker-preloader = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-preloader.nix {}; tests.docker-registry = callTest tests/docker-registry.nix {}; tests.dovecot = callTest tests/dovecot.nix {}; tests.dnscrypt-proxy = callTestOnMatchingSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {}; diff --git a/nixos/tests/docker-preloader.nix b/nixos/tests/docker-preloader.nix new file mode 100644 index 000000000000..eeedec9a392e --- /dev/null +++ b/nixos/tests/docker-preloader.nix @@ -0,0 +1,27 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "docker-preloader"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ lewo ]; + }; + + nodes = { + docker = + { pkgs, ... }: + { + virtualisation.docker.enable = true; + virtualisation.dockerPreloader.images = [ pkgs.dockerTools.examples.nix pkgs.dockerTools.examples.bash ]; + + services.openssh.enable = true; + services.openssh.permitRootLogin = "yes"; + services.openssh.extraConfig = "PermitEmptyPasswords yes"; + users.extraUsers.root.password = ""; + }; + }; + testScript = '' + startAll; + + $docker->waitForUnit("sockets.target"); + $docker->succeed("docker run nix nix-store --version"); + $docker->succeed("docker run bash bash --version"); + ''; +}) diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix index 808ff2d6f610..f529fa395d93 100644 --- a/pkgs/applications/misc/josm/default.nix +++ b/pkgs/applications/misc/josm/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "josm-${version}"; - version = "14289"; + version = "14382"; src = fetchurl { url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; - sha256 = "102dph3479qskzf72cpb9139pq9ifka6pzna1c6s5rs2il6mfvsb"; + sha256 = "1a2nx9jr1fvw95gdvl9kj3z0cs6ndafm0k4l0lwfx9p9qn4lgzjg"; }; buildInputs = [ jdk11 makeWrapper ]; diff --git a/pkgs/applications/networking/cluster/terraform-providers/data.nix b/pkgs/applications/networking/cluster/terraform-providers/data.nix index 261d067eb1d0..421fc652a328 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/data.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/data.nix @@ -11,8 +11,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-alicloud"; - version = "1.17.0"; - sha256 = "1zmywmcgfmx5ccp0qxj912sqymisxdg2s84b4qclfa225hrbaqpn"; + version = "1.21.0"; + sha256 = "17853l2s5z1y2g24wdkapdp26hw0sx5w73y118h0px85fiwhkq79"; }; archive = { @@ -39,15 +39,15 @@ { owner = "terraform-providers"; repo = "terraform-provider-aws"; - version = "1.38.0"; - sha256 = "1jhr2l8p7wf7kgr2y0c40n1jb9p2153xkpcp4b2half2vhsh1nwi"; + version = "1.42.0"; + sha256 = "1wi1m7i6vq53p36x1prax4yaz400834024q494zg0ckk4rvngfp6"; }; azurerm = { owner = "terraform-providers"; repo = "terraform-provider-azurerm"; - version = "1.15.0"; - sha256 = "1pdmj0ww5y2nwxivlf5l886nwd76hpqhwdayab2fp16zyl1qbpfd"; + version = "1.17.0"; + sha256 = "03sjlqkwy0qa382sjwi21g6h2fz1mpsiqcd4naj5zh76fkp8aslw"; }; azurestack = { @@ -88,8 +88,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-circonus"; - version = "0.1.1"; - sha256 = "05n1q9hc0h31icxsmyi2y60wiwd5fs2hz1dqm3bl6hgh5x3ss1im"; + version = "0.2.0"; + sha256 = "1vcia3p31cgdwjs06k4244bk7ib2qp1f2lhc7hmyhdfi1c8jym45"; }; clc = { @@ -102,8 +102,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-cloudflare"; - version = "1.5.0"; - sha256 = "0l8bmnxmjr2g3xxw8w0ay91cvs4kzc65wkdwybfahvq9r6mww45n"; + version = "1.7.0"; + sha256 = "0sqq6miwyh6z86b3wq2bhkaj4x39g2nqq784py8nm8gvs06gcm5a"; }; cloudscale = { @@ -130,22 +130,22 @@ { owner = "terraform-providers"; repo = "terraform-provider-consul"; - version = "2.1.0"; - sha256 = "1qm29vj8ms37zb4b3bhdv4b4vrl0am134zmc654lb2g582cnj9yw"; + version = "2.2.0"; + sha256 = "13jwvf7n7238pzvdq9m6vnl9vqa9hkr1mrcf9sa1q9lxkim9ijfk"; }; datadog = { owner = "terraform-providers"; repo = "terraform-provider-datadog"; - version = "1.3.0"; - sha256 = "0d3xccfkzibjp4jl8irja1cdhppdn3b7nh4wy857zvfxpfhz7aj2"; + version = "1.4.0"; + sha256 = "06ik2k0jkm4200d8njpsidwfjl12ikn5ciqkmlxfwr3b8s1w8kpa"; }; digitalocean = { owner = "terraform-providers"; repo = "terraform-provider-digitalocean"; - version = "0.1.3"; - sha256 = "10crxciw7y2gnm8vqp007vw0k7c1a1xk2z2zsjr5rksk6qlnri4k"; + version = "1.0.2"; + sha256 = "0ilkdnadzsidq8hia5wk4jyk6034pmajrpkgwf4ryz7kx41vy2g6"; }; dme = { @@ -172,8 +172,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-docker"; - version = "1.0.1"; - sha256 = "1q5bsdvp47gvpiyqlzgrpxczlh6m9g870pn84ks49xfkwk5izpz6"; + version = "1.1.0"; + sha256 = "1ba9z9fd69hpg6kg30nf95zzskzipi74s1aadywc068gfrkdm9jj"; }; dyn = { @@ -193,15 +193,15 @@ { owner = "terraform-providers"; repo = "terraform-provider-fastly"; - version = "0.3.0"; - sha256 = "1hh4s81g256iy1rvp9snqbyhidz8n6p7pzanlxp89ffrq9p32sp0"; + version = "0.4.0"; + sha256 = "1fkn9b6ibs36cmhknb3x05g31rf73w70xwx05rh9fhybrz5dd9z9"; }; flexibleengine = { owner = "terraform-providers"; repo = "terraform-provider-flexibleengine"; - version = "1.1.0"; - sha256 = "07g6kc211crxf9nvgvghg05jdahd1fb09lpwfcps9ph259pwwam3"; + version = "1.2.1"; + sha256 = "000v6fmmnwfibzfssk23s9qwrb8a9l0j1qd14x2dqsc7ql0kbnz8"; }; github = { @@ -221,8 +221,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-google"; - version = "1.18.0"; - sha256 = "0zwy1imby0xqvb86a82rdvglipf2sfpi3rmsj72iikp7vi3mqk64"; + version = "1.19.1"; + sha256 = "1n2a1y9103xkndmvr5cvj7i1m8s9lv61vgijgk3m2f73pb4znak0"; }; grafana = { @@ -235,15 +235,22 @@ { owner = "terraform-providers"; repo = "terraform-provider-hcloud"; - version = "1.3.0"; - sha256 = "0sb9pajsy0if18vgw5pllgv8qvb4v7pv65m2f3hfkck2za82ndwb"; + version = "1.4.0"; + sha256 = "00mq6p2y61z4hg9dncf3mj59cp6fx4iqrn86m96wkw346shs6prs"; + }; + helm = + { + owner = "terraform-providers"; + repo = "terraform-provider-helm"; + version = "0.6.2"; + sha256 = "11j4lpzbrdszgkjf1gjyibh9c5w0fly01qdkrflv98ry5csx9q5b"; }; heroku = { owner = "terraform-providers"; repo = "terraform-provider-heroku"; - version = "1.4.0"; - sha256 = "159a9add5v4dj2bry1b85i74q2lb4pjjypkm5hzrbqys6gn2imhn"; + version = "1.5.0"; + sha256 = "0hzzhqd87vkcbzndsn15g4nl3qhv2kvnhs9zv6kbxaxm7p7rm3pz"; }; http = { @@ -284,8 +291,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-kubernetes"; - version = "1.2.0"; - sha256 = "0slvhj8f7p27r9v4vb5vjyqpmzlpaji1djzwsxsf247df68mka61"; + version = "1.3.0"; + sha256 = "0fhh0r92whcxqz4z2kb6qx9dyygms5mz7ifhb9c7s2r22jnfz1j3"; }; librato = { @@ -294,6 +301,13 @@ version = "0.1.0"; sha256 = "0bxadwj5s7bvc4vlymn3w6qckf14hz82r7q98w2nh55sqr52d923"; }; + linode = + { + owner = "terraform-providers"; + repo = "terraform-provider-linode"; + version = "1.1.0"; + sha256 = "19c269w8jjx04a8rhm4x7bg2xad3y0s74wgis446mwaw7mhla3l3"; + }; local = { owner = "terraform-providers"; @@ -340,8 +354,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-newrelic"; - version = "1.0.1"; - sha256 = "0g4fd2rvx90f2bmjl6jjdvrsx7ayhf30vj9y3mklhxgsd9x83wpq"; + version = "1.1.0"; + sha256 = "040pxbr4xp0h6s0njdwy0phlkblnk5p3xrcms2gkwyzkqpd82s8b"; }; nomad = { @@ -371,12 +385,19 @@ version = "1.0.0"; sha256 = "12vpa09xrq8z1pjq0bwzq3889c4fl6c5kvynwqy0z1pdx21m60ha"; }; + nutanix = + { + owner = "terraform-providers"; + repo = "terraform-provider-nutanix"; + version = "1.0.0"; + sha256 = "16nky5ryyjvv7vny18ymxvy20ivwmqw7lagnz48pq8mnwwrp5541"; + }; oci = { owner = "terraform-providers"; repo = "terraform-provider-oci"; - version = "3.1.1"; - sha256 = "0wrvb44gs0c1khvam5lrq53l2889japg7d4nyk2hrpywy9japc8m"; + version = "3.5.0"; + sha256 = "0f4m6rahis1n62w0h0amg8sjs5bb3ifnrfzq1dys7r01k5411wcf"; }; oneandone = { @@ -389,22 +410,22 @@ { owner = "terraform-providers"; repo = "terraform-provider-opc"; - version = "1.2.1"; - sha256 = "0mnvi47kbdwwpfzdlcd1mhd15w5b0ivwxi1a5lvs0zyqf0g0cas8"; + version = "1.3.0"; + sha256 = "1ksqjfp6gxgrpc9gcs9jv3wj5058z93h7prv4mhvc2bilal4gc0p"; }; openstack = { owner = "terraform-providers"; repo = "terraform-provider-openstack"; - version = "1.9.0"; - sha256 = "0prmdj78jsyrns876cglfp8a3dbpfl33bwb0dj072flh4yknfrdr"; + version = "1.11.0"; + sha256 = "1wqb7q10nyr4jy9ny4giazblwhh3qrn4s1f0xb5q702b5igbfwwm"; }; opentelekomcloud = { owner = "terraform-providers"; repo = "terraform-provider-opentelekomcloud"; - version = "1.1.0"; - sha256 = "04pcgygcz2ld5hp7f29j2z3d4ypy4fm4m1zbbs9l9gc3fya88iny"; + version = "1.2.0"; + sha256 = "05w899l18gmdywfhakjvaxqxxzd9cxga3s932ljfibr0ssipkhh9"; }; opsgenie = { @@ -431,8 +452,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-packet"; - version = "1.2.4"; - sha256 = "11ga29d5bzmn6rzlb6sb28nh1zbbwglinzn185pysqx6n21l6wva"; + version = "1.2.5"; + sha256 = "1c40w1q18piip4fn572mnf67g07h6g03hnin23c7jw265m4yr222"; }; pagerduty = { @@ -445,8 +466,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-panos"; - version = "1.4.0"; - sha256 = "033xpglbn0q805b129kf1ywl13m4pgrkwlvgl347nldysryiasxq"; + version = "1.4.1"; + sha256 = "1mlz01v01675cf9ja8i42c6ssklf65kd8wpjzf0j472lfwki4xpp"; }; postgresql = { @@ -508,15 +529,15 @@ { owner = "terraform-providers"; repo = "terraform-provider-runscope"; - version = "0.4.0"; - sha256 = "1n3q2hdwvkkn5rphrcl5qfv4ry2mrr13dcjwzhbym2i1nhpxkld0"; + version = "0.5.0"; + sha256 = "0n0m39gaiwhqigjny51a7g36ldik33alimkqqbv6hqyzrhk0qs8h"; }; scaleway = { owner = "terraform-providers"; repo = "terraform-provider-scaleway"; - version = "1.6.0"; - sha256 = "1ykcakfw0gp239jp4brpjynxzzvlhldfpv12hkgymj22s37n5jnn"; + version = "1.7.0"; + sha256 = "0gsjvpwfw2sc6ncy8v3j6gs0aanq3b08j3gid43687mfd782f4gk"; }; softlayer = { @@ -553,6 +574,13 @@ version = "1.0.0"; sha256 = "0jl6bp6gwg96sdk5j6s13vv1j9gxjpy2yva3barmzv9138i665mz"; }; + tencentcloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-tencentcloud"; + version = "1.2.2"; + sha256 = "1ypsfm48c30szg3zc1sknblhwcnca8aapfgp62bhszyqxq6zq37s"; + }; terraform = { owner = "terraform-providers"; @@ -592,8 +620,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-vault"; - version = "1.1.4"; - sha256 = "00i9rl9pnmicvndkmvcmlj6y80341dmkqnhq09f94yljh1w1zpvv"; + version = "1.2.0"; + sha256 = "1z92dcr5b665l69gxs1hw1rizc5znvf0ck1lksphd301l2ywk97b"; }; vcd = { @@ -606,8 +634,8 @@ { owner = "terraform-providers"; repo = "terraform-provider-vsphere"; - version = "1.8.1"; - sha256 = "0y6n7mvv1f3jqsxlvf68iq85k69fj7a333203vkvc83dba84aqki"; + version = "1.9.0"; + sha256 = "1by9klwvdw3m854jffimfnsz1lnbaixi4zcv4zzs63dc3flwy2b2"; }; matchbox = { diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index a4ffe27102a6..583b6a06aeab 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -113,8 +113,8 @@ in rec { terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues; terraform_0_11 = pluggable (generic { - version = "0.11.8"; - sha256 = "1kdmx21l32vj5kvkimkx0s5mxgmgkdwlgbin4f3iqjflzip0cddh"; + version = "0.11.10"; + sha256 = "08mapla89g106bvqr41zfd7l4ki55by6207qlxq9caiha54nx4nb"; patches = [ ./provider-path.patch ]; passthru = { inherit plugins; }; }); diff --git a/pkgs/data/fonts/comfortaa/default.nix b/pkgs/data/fonts/comfortaa/default.nix index 0dd4f727ad25..f7ec6e8b8c87 100644 --- a/pkgs/data/fonts/comfortaa/default.nix +++ b/pkgs/data/fonts/comfortaa/default.nix @@ -1,18 +1,18 @@ {stdenv, fetchzip}: let - version = "2.004"; + version = "3.001"; in fetchzip rec { name = "comfortaa-${version}"; - url = "http://openfontlibrary.org/assets/downloads/comfortaa/38318a69b56162733bf82bc0170b7521/comfortaa.zip"; + url = "https://orig00.deviantart.net/40a3/f/2017/093/d/4/comfortaa___font_by_aajohan-d1qr019.zip"; postFetch = '' mkdir -p $out/share/fonts $out/share/doc unzip -l $downloadedFile unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype unzip -j $downloadedFile \*/FONTLOG.txt \*/donate.html -d $out/share/doc/${name} ''; - sha256 = "1gnscf3kw9p5gbc5594a22cc6nmiir9mhp1nl3mkbzd4v1jfbh2h"; + sha256 = "0z7xr0cnn6ghwivrm5b5awq9bzhnay3y99qq6dkdgfkfdsaz0n9h"; meta = with stdenv.lib; { homepage = http://aajohan.deviantart.com/art/Comfortaa-font-105395949; diff --git a/pkgs/data/fonts/open-dyslexic/default.nix b/pkgs/data/fonts/open-dyslexic/default.nix index 40a9be3282e0..7fa57463ece3 100644 --- a/pkgs/data/fonts/open-dyslexic/default.nix +++ b/pkgs/data/fonts/open-dyslexic/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchzip}: let - version = "2014-11-11"; + version = "2016-06-23"; in fetchzip { name = "open-dyslexic-${version}"; - url = https://github.com/antijingoist/open-dyslexic/archive/f4b5ba89018b44d633608907e15f93fb3fabbabc.zip; + url = https://github.com/antijingoist/open-dyslexic/archive/20160623-Stable.zip; postFetch = '' mkdir -p $out/share/{doc,fonts} @@ -13,7 +13,7 @@ in fetchzip { unzip -j $downloadedFile \*/README.md -d $out/share/doc/open-dyslexic ''; - sha256 = "045xc7kj56q4ygnjppm8f8fwqqvf21x1piabm4nh8hwgly42a3w2"; + sha256 = "1vl8z5rknh2hpr2f0v4b2qgs5kclx5pzyk8al7243k5db82a2cyi"; meta = with stdenv.lib; { homepage = https://opendyslexic.org/; diff --git a/pkgs/data/fonts/overpass/default.nix b/pkgs/data/fonts/overpass/default.nix index 8bb4e82747ad..c39bb945f48d 100644 --- a/pkgs/data/fonts/overpass/default.nix +++ b/pkgs/data/fonts/overpass/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchzip }: let - version = "3.0.2"; + version = "3.0.3"; in fetchzip rec { name = "overpass-${version}"; @@ -12,7 +12,7 @@ in fetchzip rec { mkdir -p $out/share/doc/${name} ; unzip -j $downloadedFile \*.md -d $out/share/doc/${name} ''; - sha256 = "05zv3zcfc9a707sn3hhf46b126k19d9byzvi5ixp5y2548vjvl6s"; + sha256 = "1m6p7rrlyqikjvypp4698sn0lp3a4z0z5al4swblfhg8qaxzv5pg"; meta = with stdenv.lib; { homepage = http://overpassfont.org/; diff --git a/pkgs/tools/admin/nomachine-client/default.nix b/pkgs/tools/admin/nomachine-client/default.nix new file mode 100644 index 000000000000..be616c1bf9e0 --- /dev/null +++ b/pkgs/tools/admin/nomachine-client/default.nix @@ -0,0 +1,83 @@ +{ stdenv, lib, file, fetchurl, makeWrapper, autoPatchelfHook, jsoncpp }: +let + versionMajor = "6.3"; + versionMinor = "6_1"; +in + stdenv.mkDerivation rec { + name = "nomachine-client-${version}"; + version = "${versionMajor}.${versionMinor}"; + + src = + if stdenv.hostPlatform.system == "x86_64-linux" then + fetchurl { + url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_x86_64.tar.gz"; + sha256 = "1035j2z2rqmdfb8cfm1pakd05c575640604b8lkljmilpky9mw5d"; + } + else if stdenv.hostPlatform.system == "i686-linux" then + fetchurl { + url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_i686.tar.gz"; + sha256 = "07j9f6mlq9m01ch8ik5dybi283vrp5dlv156jr5n7n2chzk34kf3"; + } + else + throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}"; + + postUnpack = '' + mv $(find . -type f -name nxclient.tar.gz) . + mv $(find . -type f -name nxplayer.tar.gz) . + rm -r NX/ + tar xf nxclient.tar.gz + tar xf nxplayer.tar.gz + rm $(find . -maxdepth 1 -type f) + ''; + + nativeBuildInputs = [ file makeWrapper autoPatchelfHook ]; + buildInputs = [ jsoncpp ]; + + installPhase = '' + rm bin/nxplayer bin/nxclient + + mkdir -p $out/NX + cp -r bin lib share $out/NX/ + + ln -s $out/NX/bin $out/bin + + for i in share/icons/*; do + if [[ -d "$i" ]]; then + mkdir -p "$out/share/icons/hicolor/$(basename $i)/apps" + cp "$i"/* "$out/share/icons/hicolor/$(basename $i)/apps/" + fi + done + + mkdir $out/share/applications + cp share/applnk/player/xdg/*.desktop $out/share/applications/ + cp share/applnk/client/xdg-mime/*.desktop $out/share/applications/ + + mkdir -p $out/share/mime/packages + cp share/applnk/client/xdg-mime/*.xml $out/share/mime/packages/ + + for i in $out/share/applications/*.desktop; do + substituteInPlace "$i" --replace /usr/NX/bin $out/bin + done + ''; + + postFixup = '' + makeWrapper $out/bin/nxplayer.bin $out/bin/nxplayer --set NX_SYSTEM $out/NX + makeWrapper $out/bin/nxclient.bin $out/bin/nxclient --set NX_SYSTEM $out/NX + ''; + + dontBuild = true; + dontStrip = true; + + meta = with stdenv.lib; { + description = "NoMachine remote desktop client (nxplayer)"; + homepage = https://www.nomachine.com/; + license = { + fullName = "NoMachine 6 End-User License Agreement"; + url = https://www.nomachine.com/licensing-6; + free = false; + }; + maintainers = with maintainers; [ talyz ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; + } + diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix index 2d54c182349c..1a215d4ca83b 100644 --- a/pkgs/tools/audio/abcmidi/default.nix +++ b/pkgs/tools/audio/abcmidi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "abcMIDI-${version}"; - version = "2018.06.23"; + version = "2018.10.25"; src = fetchzip { url = "https://ifdo.ca/~seymour/runabc/${name}.zip"; - sha256 = "0487dlw9v4ayb929w8bk71fs4nbcs1liyk59g6sfr4yn6dx2sl2d"; + sha256 = "0q7yrds1hpis1821mdsz31c2cvn7hs73a10fi1mrk1v4hqql8vv3"; }; # There is also a file called "makefile" which seems to be preferred by the standard build phase diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix index 4bd4a02c7a2d..d449b3b82f92 100644 --- a/pkgs/tools/misc/bat/default.nix +++ b/pkgs/tools/misc/bat/default.nix @@ -20,6 +20,9 @@ rustPlatform.buildRustPackage rec { buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security libiconv ]; + # https://github.com/NixOS/nixpkgs/issues/49642 + doCheck = !stdenv.isDarwin; + postInstall = '' install -m 444 -Dt $out/share/man/man1 doc/bat.1 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 73f2d4489092..62cef2d50689 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4388,6 +4388,8 @@ with pkgs; nms = callPackage ../tools/misc/nms { }; + nomachine-client = callPackage ../tools/admin/nomachine-client { }; + notify-desktop = callPackage ../tools/misc/notify-desktop {}; nkf = callPackage ../tools/text/nkf {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 49bc322d4798..381cdea938e2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4454,21 +4454,21 @@ in { }; PyICU = buildPythonPackage rec { - name = "PyICU-2.0.3"; + name = "PyICU-2.2"; src = pkgs.fetchurl { url = "mirror://pypi/P/PyICU/${name}.tar.gz"; - sha256 = "0pzss3l0b0vcsyr7wlqdd6pkcqldspajfgd9k2iijf6r152d2ln4"; + sha256 = "0wq9y5fi1ighgf5aws9nr87vi1w44p7q1k83rx2y3qj5d2xyhspa"; }; patches = [ (pkgs.fetchpatch { - url = https://sources.debian.org/data/main/p/pyicu/2.0.3-1/debian/patches/icu_test.patch; + url = https://sources.debian.org/data/main/p/pyicu/2.2-1/debian/patches/icu_test.patch; sha256 = "1iavdkyqixm9i753svl17barla93b7jzgkw09dn3hnggamx7zwx9"; }) ]; - buildInputs = [ pkgs.icu self.pytest ]; + buildInputs = [ pkgs.icu60 self.pytest ]; propagatedBuildInputs = [ self.six ]; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 456bacb106b1..6cf0cb57be4f 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -142,7 +142,7 @@ in avr = mapTestOnCross lib.systems.examples.avr embedded; arm-embedded = mapTestOnCross lib.systems.examples.arm-embedded embedded; - powerpc-embedded = mapTestOnCross lib.systems.examples.powerpc-embedded embedded; + powerpc-embedded = mapTestOnCross lib.systems.examples.ppc-embedded embedded; aarch64-embedded = mapTestOnCross lib.systems.examples.aarch64-embedded embedded; i686-embedded = mapTestOnCross lib.systems.examples.i686-embedded embedded; x86_64-embedded = mapTestOnCross lib.systems.examples.x86_64-embedded embedded; |