Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2020-02-09 09:17:51 +01:00
commit 03755ed59a
101 changed files with 2042 additions and 2433 deletions

View File

@ -84,7 +84,7 @@ rec {
else final.parsed.cpu.name; else final.parsed.cpu.name;
qemuArch = qemuArch =
if final.isArm then "arm" if final.isAarch32 then "arm"
else if final.isx86_64 then "x86_64" else if final.isx86_64 then "x86_64"
else if final.isx86 then "i386" else if final.isx86 then "i386"
else { else {

View File

@ -55,9 +55,6 @@ rec {
isEfi = map (family: { cpu.family = family; }) isEfi = map (family: { cpu.family = family; })
[ "x86" "arm" "aarch64" ]; [ "x86" "arm" "aarch64" ];
# Deprecated after 18.03
isArm = isAarch32;
}; };
matchAnyAttrs = patterns: matchAnyAttrs = patterns:

View File

@ -682,6 +682,12 @@
githubId = 192147; githubId = 192147;
name = "aszlig"; name = "aszlig";
}; };
atemu = {
name = "Atemu";
email = "atemu.main+nixpkgs@gmail.com";
github = "Atemu";
githubId = 18599032;
};
athas = { athas = {
email = "athas@sigkill.dk"; email = "athas@sigkill.dk";
github = "athas"; github = "athas";

View File

@ -120,12 +120,17 @@ nixos https://nixos.org/channels/nixos-unstable
to <filename>configuration.nix</filename>: to <filename>configuration.nix</filename>:
<programlisting> <programlisting>
<xref linkend="opt-system.autoUpgrade.enable"/> = true; <xref linkend="opt-system.autoUpgrade.enable"/> = true;
<xref linkend="opt-system.autoUpgrade.allowReboot"/> = true;
</programlisting> </programlisting>
This enables a periodically executed systemd service named This enables a periodically executed systemd service named
<literal>nixos-upgrade.service</literal>. It runs <command>nixos-rebuild <literal>nixos-upgrade.service</literal>. If the <literal>allowReboot</literal>
switch --upgrade</command> to upgrade NixOS to the latest version in the option is <literal>false</literal>, it runs <command>nixos-rebuild switch
current channel. (To see when the service runs, see <command>systemctl --upgrade</command> to upgrade NixOS to the latest version in the current
list-timers</command>.) You can also specify a channel explicitly, e.g. channel. (To see when the service runs, see <command>systemctl list-timers</command>.)
If <literal>allowReboot</literal> is <literal>true</literal>, then the
system will automatically reboot if the new generation contains a different
kernel, initrd or kernel modules.
You can also specify a channel explicitly, e.g.
<programlisting> <programlisting>
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.09; <xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.09;
</programlisting> </programlisting>

View File

@ -1,13 +1,17 @@
#! /somewhere/python3 #! /somewhere/python3
from contextlib import contextmanager, _GeneratorContextManager from contextlib import contextmanager, _GeneratorContextManager
from queue import Queue, Empty
from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List
from xml.sax.saxutils import XMLGenerator from xml.sax.saxutils import XMLGenerator
import _thread import _thread
import atexit import atexit
import base64
import os import os
import pathlib
import ptpython.repl import ptpython.repl
import pty import pty
from queue import Queue, Empty
import re import re
import shlex
import shutil import shutil
import socket import socket
import subprocess import subprocess
@ -15,9 +19,6 @@ import sys
import tempfile import tempfile
import time import time
import unicodedata import unicodedata
from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List
import shlex
import pathlib
CHAR_TO_KEY = { CHAR_TO_KEY = {
"A": "shift-a", "A": "shift-a",
@ -566,6 +567,41 @@ class Machine:
if ret.returncode != 0: if ret.returncode != 0:
raise Exception("Cannot convert screenshot") raise Exception("Cannot convert screenshot")
def copy_from_host_via_shell(self, source: str, target: str) -> None:
"""Copy a file from the host into the guest by piping it over the
shell into the destination file. Works without host-guest shared folder.
Prefer copy_from_host for whenever possible.
"""
with open(source, "rb") as fh:
content_b64 = base64.b64encode(fh.read()).decode()
self.succeed(
f"mkdir -p $(dirname {target})",
f"echo -n {content_b64} | base64 -d > {target}",
)
def copy_from_host(self, source: str, target: str) -> None:
"""Copy a file from the host into the guest via the `shared_dir` shared
among all the VMs (using a temporary directory).
"""
host_src = pathlib.Path(source)
vm_target = pathlib.Path(target)
with tempfile.TemporaryDirectory(dir=self.shared_dir) as shared_td:
shared_temp = pathlib.Path(shared_td)
host_intermediate = shared_temp / host_src.name
vm_shared_temp = pathlib.Path("/tmp/shared") / shared_temp.name
vm_intermediate = vm_shared_temp / host_src.name
self.succeed(make_command(["mkdir", "-p", vm_shared_temp]))
if host_src.is_dir():
shutil.copytree(host_src, host_intermediate)
else:
shutil.copy(host_src, host_intermediate)
self.succeed("sync")
self.succeed(make_command(["mkdir", "-p", vm_target.parent]))
self.succeed(make_command(["cp", "-r", vm_intermediate, vm_target]))
# Make sure the cleanup is synced into VM
self.succeed("sync")
def copy_from_vm(self, source: str, target_dir: str = "") -> None: def copy_from_vm(self, source: str, target_dir: str = "") -> None:
"""Copy a file from the VM (specified by an in-VM source path) to a path """Copy a file from the VM (specified by an in-VM source path) to a path
relative to `$out`. The file is copied via the `shared_dir` shared among relative to `$out`. The file is copied via the `shared_dir` shared among

View File

@ -248,6 +248,9 @@ in {
security.rtkit.enable = true; security.rtkit.enable = true;
systemd.packages = [ overriddenPackage ]; systemd.packages = [ overriddenPackage ];
# PulseAudio is packaged with udev rules to handle various audio device quirks
services.udev.packages = [ overriddenPackage ];
}) })
(mkIf (cfg.extraModules != []) { (mkIf (cfg.extraModules != []) {

View File

@ -151,7 +151,7 @@ let
publicKey = mkOption { publicKey = mkOption {
example = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="; example = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=";
type = types.str; type = types.str;
description = "The base64 public key the peer."; description = "The base64 public key of the peer.";
}; };
presharedKey = mkOption { presharedKey = mkOption {

View File

@ -141,9 +141,11 @@ let
''; '';
dmDefault = cfg.desktopManager.default; dmDefault = cfg.desktopManager.default;
# fallback default for cases when only default wm is set
dmFallbackDefault = if dmDefault != null then dmDefault else "none";
wmDefault = cfg.windowManager.default; wmDefault = cfg.windowManager.default;
defaultSessionFromLegacyOptions = concatStringsSep "+" (filter (s: s != null) ([ dmDefault ] ++ optional (wmDefault != "none") wmDefault)); defaultSessionFromLegacyOptions = dmFallbackDefault + optionalString (wmDefault != null && wmDefault != "none") "+${wmDefault}";
in in
@ -358,7 +360,7 @@ in
{ c = wmDefault; t = "- services.xserver.windowManager.default"; } { c = wmDefault; t = "- services.xserver.windowManager.default"; }
]))} ]))}
Please use Please use
services.xserver.displayManager.defaultSession = "${concatStringsSep "+" (filter (s: s != null) [ dmDefault wmDefault ])}"; services.xserver.displayManager.defaultSession = "${defaultSessionFromLegacyOptions}";
instead. instead.
'' ''
]; ];

View File

@ -304,6 +304,10 @@ in
in listToAttrs (map formatDevice (filter (fs: fs.autoFormat) fileSystems)); in listToAttrs (map formatDevice (filter (fs: fs.autoFormat) fileSystems));
systemd.tmpfiles.rules = [
"Z /run/keys 0750 root ${toString config.ids.gids.keys}"
];
# Sync mount options with systemd's src/core/mount-setup.c: mount_table. # Sync mount options with systemd's src/core/mount-setup.c: mount_table.
boot.specialFileSystems = { boot.specialFileSystems = {
"/proc" = { fsType = "proc"; options = [ "nosuid" "noexec" "nodev" ]; }; "/proc" = { fsType = "proc"; options = [ "nosuid" "noexec" "nodev" ]; };
@ -312,8 +316,8 @@ in
"/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; }; "/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; };
"/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "ptmxmode=0666" "gid=${toString config.ids.gids.tty}" ]; }; "/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "ptmxmode=0666" "gid=${toString config.ids.gids.tty}" ]; };
# To hold secrets that shouldn't be written to disk (generally used for NixOps, harmless elsewhere) # To hold secrets that shouldn't be written to disk
"/run/keys" = { fsType = "ramfs"; options = [ "nosuid" "nodev" "mode=750" "gid=${toString config.ids.gids.keys}" ]; }; "/run/keys" = { fsType = "ramfs"; options = [ "nosuid" "nodev" "mode=750" ]; };
} // optionalAttrs (!config.boot.isContainer) { } // optionalAttrs (!config.boot.isContainer) {
# systemd-nspawn populates /sys by itself, and remounting it causes all # systemd-nspawn populates /sys by itself, and remounting it causes all
# kinds of weird issues (most noticeably, waiting for host disk device # kinds of weird issues (most noticeably, waiting for host disk device

View File

@ -308,6 +308,7 @@ in
xss-lock = handleTest ./xss-lock.nix {}; xss-lock = handleTest ./xss-lock.nix {};
yabar = handleTest ./yabar.nix {}; yabar = handleTest ./yabar.nix {};
yggdrasil = handleTest ./yggdrasil.nix {}; yggdrasil = handleTest ./yggdrasil.nix {};
zfs = handleTest ./zfs.nix {};
zsh-history = handleTest ./zsh-history.nix {}; zsh-history = handleTest ./zsh-history.nix {};
zookeeper = handleTest ./zookeeper.nix {}; zookeeper = handleTest ./zookeeper.nix {};
} }

View File

@ -3,7 +3,7 @@
pkgs ? import ../.. { inherit system config; } pkgs ? import ../.. { inherit system config; }
}: }:
with import ../lib/testing.nix { inherit system pkgs; }; with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib; with pkgs.lib;
let let
@ -67,161 +67,193 @@ let
, grubIdentifier, preBootCommands, extraConfig , grubIdentifier, preBootCommands, extraConfig
, testCloneConfig , testCloneConfig
}: }:
let let iface = if grubVersion == 1 then "ide" else "virtio";
iface = if grubVersion == 1 then "ide" else "virtio";
isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi); isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
bios = if pkgs.stdenv.isAarch64 then "QEMU_EFI.fd" else "OVMF.fd";
# FIXME don't duplicate the -enable-kvm etc. flags here yet again!
qemuFlags =
(if system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
(optionalString (system == "x86_64-linux") "-cpu host ") +
(optionalString (system == "aarch64-linux") "-enable-kvm -machine virt,gic-version=host -cpu host ");
hdFlags = ''hda => "vm-state-machine/machine.qcow2", hdaInterface => "${iface}", ''
+ optionalString isEfi (if pkgs.stdenv.isAarch64
then ''bios => "${pkgs.OVMF.fd}/FV/QEMU_EFI.fd", ''
else ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '');
in if !isEfi && !(pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) then in if !isEfi && !(pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) then
throw "Non-EFI boot methods are only supported on i686 / x86_64" throw "Non-EFI boot methods are only supported on i686 / x86_64"
else '' else ''
def assemble_qemu_flags():
flags = "-cpu host"
${if system == "x86_64-linux"
then ''flags += " -m 768"''
else ''flags += " -m 512 -enable-kvm -machine virt,gic-version=host"''
}
return flags
$machine->start;
# Make sure that we get a login prompt etc. qemu_flags = {"qemuFlags": assemble_qemu_flags()}
$machine->succeed("echo hello");
#$machine->waitForUnit('getty@tty2');
#$machine->waitForUnit("rogue");
$machine->waitForUnit("nixos-manual");
# Wait for hard disks to appear in /dev hd_flags = {
$machine->succeed("udevadm settle"); "hdaInterface": "${iface}",
"hda": "vm-state-machine/machine.qcow2",
}
${optionalString isEfi ''
hd_flags.update(
bios="${pkgs.OVMF.fd}/FV/${bios}"
)''
}
default_flags = {**hd_flags, **qemu_flags}
def create_machine_named(name):
return create_machine({**default_flags, "name": "boot-after-install"})
machine.start()
with subtest("Assert readiness of login prompt"):
machine.succeed("echo hello")
machine.wait_for_unit("nixos-manual")
with subtest("Wait for hard disks to appear in /dev"):
machine.succeed("udevadm settle")
# Partition the disk.
${createPartitions} ${createPartitions}
# Create the NixOS configuration. with subtest("Create the NixOS configuration"):
$machine->succeed("nixos-generate-config --root /mnt"); machine.succeed("nixos-generate-config --root /mnt")
machine.succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2")
machine.copy_from_host(
"${ makeConfig {
inherit bootLoader grubVersion grubDevice grubIdentifier
grubUseEfi extraConfig;
}
}",
"/mnt/etc/nixos/configuration.nix",
)
$machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2"); with subtest("Perform the installation"):
machine.succeed("nixos-install < /dev/null >&2")
$machine->copyFileFromHost( with subtest("Do it again to make sure it's idempotent"):
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; } }", machine.succeed("nixos-install < /dev/null >&2")
"/mnt/etc/nixos/configuration.nix");
# Perform the installation. with subtest("Shutdown system after installation"):
$machine->succeed("nixos-install < /dev/null >&2"); machine.succeed("umount /mnt/boot || true")
machine.succeed("umount /mnt")
# Do it again to make sure it's idempotent. machine.succeed("sync")
$machine->succeed("nixos-install < /dev/null >&2"); machine.shutdown()
$machine->succeed("umount /mnt/boot || true");
$machine->succeed("umount /mnt");
$machine->succeed("sync");
$machine->shutdown;
# Now see if we can boot the installation. # Now see if we can boot the installation.
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", name => "boot-after-install" }); machine = create_machine_named("boot-after-install")
# For example to enter LUKS passphrase. # For example to enter LUKS passphrase.
${preBootCommands} ${preBootCommands}
# Did /boot get mounted? with subtest("Assert that /boot get mounted"):
$machine->waitForUnit("local-fs.target"); machine.wait_for_unit("local-fs.target")
${if bootLoader == "grub"
${if bootLoader == "grub" then then ''machine.succeed("test -e /boot/grub")''
''$machine->succeed("test -e /boot/grub");'' else ''machine.succeed("test -e /boot/loader/loader.conf")''
else
''$machine->succeed("test -e /boot/loader/loader.conf");''
} }
# Check whether /root has correct permissions. with subtest("Check whether /root has correct permissions"):
$machine->succeed("stat -c '%a' /root") =~ /700/ or die; assert "700" in machine.succeed("stat -c '%a' /root")
# Did the swap device get activated? with subtest("Assert swap device got activated"):
# uncomment once https://bugs.freedesktop.org/show_bug.cgi?id=86930 is resolved # uncomment once https://bugs.freedesktop.org/show_bug.cgi?id=86930 is resolved
$machine->waitForUnit("swap.target"); machine.wait_for_unit("swap.target")
$machine->succeed("cat /proc/swaps | grep -q /dev"); machine.succeed("cat /proc/swaps | grep -q /dev")
# Check that the store is in good shape with subtest("Check that the store is in good shape"):
$machine->succeed("nix-store --verify --check-contents >&2"); machine.succeed("nix-store --verify --check-contents >&2")
# Check whether the channel works. with subtest("Check whether the channel works"):
$machine->succeed("nix-env -iA nixos.procps >&2"); machine.succeed("nix-env -iA nixos.procps >&2")
$machine->succeed("type -tP ps | tee /dev/stderr") =~ /.nix-profile/ assert ".nix-profile" in machine.succeed("type -tP ps | tee /dev/stderr")
or die "nix-env failed";
# Check that the daemon works, and that non-root users can run builds (this will build a new profile generation through the daemon) with subtest(
$machine->succeed("su alice -l -c 'nix-env -iA nixos.procps' >&2"); "Check that the daemon works, and that non-root users can run builds "
"(this will build a new profile generation through the daemon)"
):
machine.succeed("su alice -l -c 'nix-env -iA nixos.procps' >&2")
# We need a writable Nix store on next boot. with subtest("Configure system with writable Nix store on next boot"):
$machine->copyFileFromHost( # we're not using copy_from_host here because the installer image
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; forceGrubReinstallCount = 1; } }", # doesn't know about the host-guest sharing mechanism.
"/etc/nixos/configuration.nix"); machine.copy_from_host_via_shell(
"${ makeConfig {
inherit bootLoader grubVersion grubDevice grubIdentifier
grubUseEfi extraConfig;
forceGrubReinstallCount = 1;
}
}",
"/etc/nixos/configuration.nix",
)
# Check whether nixos-rebuild works. with subtest("Check whether nixos-rebuild works"):
$machine->succeed("nixos-rebuild switch >&2"); machine.succeed("nixos-rebuild switch >&2")
# Test nixos-option. with subtest("Test nixos-option"):
$machine->succeed("nixos-option boot.initrd.kernelModules | grep virtio_console"); kernel_modules = machine.succeed("nixos-option boot.initrd.kernelModules")
$machine->succeed("nixos-option boot.initrd.kernelModules | grep 'List of modules'"); assert "virtio_console" in kernel_modules
$machine->succeed("nixos-option boot.initrd.kernelModules | grep qemu-guest.nix"); assert "List of modules" in kernel_modules
assert "qemu-guest.nix" in kernel_modules
$machine->shutdown; machine.shutdown()
# Check whether a writable store build works # Check whether a writable store build works
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", name => "rebuild-switch" }); machine = create_machine_named("rebuild-switch")
${preBootCommands} ${preBootCommands}
$machine->waitForUnit("multi-user.target"); machine.wait_for_unit("multi-user.target")
$machine->copyFileFromHost(
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; forceGrubReinstallCount = 2; } }", # we're not using copy_from_host here because the installer image
"/etc/nixos/configuration.nix"); # doesn't know about the host-guest sharing mechanism.
$machine->succeed("nixos-rebuild boot >&2"); machine.copy_from_host_via_shell(
$machine->shutdown; "${ makeConfig {
inherit bootLoader grubVersion grubDevice grubIdentifier
grubUseEfi extraConfig;
forceGrubReinstallCount = 2;
}
}",
"/etc/nixos/configuration.nix",
)
machine.succeed("nixos-rebuild boot >&2")
machine.shutdown()
# And just to be sure, check that the machine still boots after # And just to be sure, check that the machine still boots after
# "nixos-rebuild switch". # "nixos-rebuild switch".
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", "boot-after-rebuild-switch" }); machine = create_machine_named("boot-after-rebuild-switch")
${preBootCommands} ${preBootCommands}
$machine->waitForUnit("network.target"); machine.wait_for_unit("network.target")
$machine->shutdown; machine.shutdown()
# Tests for validating clone configuration entries in grub menu # Tests for validating clone configuration entries in grub menu
${optionalString testCloneConfig '' ''
+ optionalString testCloneConfig ''
# Reboot Machine # Reboot Machine
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", name => "clone-default-config" }); machine = create_machine_named("clone-default-config")
${preBootCommands} ${preBootCommands}
$machine->waitForUnit("multi-user.target"); machine.wait_for_unit("multi-user.target")
# Booted configuration name should be Home with subtest("Booted configuration name should be 'Home'"):
# This is not the name that shows in the grub menu. # This is not the name that shows in the grub menu.
# The default configuration is always shown as "Default" # The default configuration is always shown as "Default"
$machine->succeed("cat /run/booted-system/configuration-name >&2"); machine.succeed("cat /run/booted-system/configuration-name >&2")
$machine->succeed("cat /run/booted-system/configuration-name | grep Home"); assert "Home" in machine.succeed("cat /run/booted-system/configuration-name")
# We should find **not** a file named /etc/gitconfig with subtest("We should **not** find a file named /etc/gitconfig"):
$machine->fail("test -e /etc/gitconfig"); machine.fail("test -e /etc/gitconfig")
# Set grub to boot the second configuration with subtest("Set grub to boot the second configuration"):
$machine->succeed("grub-reboot 1"); machine.succeed("grub-reboot 1")
$machine->shutdown; machine.shutdown()
# Reboot Machine # Reboot Machine
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}", name => "clone-alternate-config" }); machine = create_machine_named("clone-alternate-config")
${preBootCommands} ${preBootCommands}
$machine->waitForUnit("multi-user.target"); machine.wait_for_unit("multi-user.target")
# Booted configuration name should be Work with subtest("Booted configuration name should be Work"):
$machine->succeed("cat /run/booted-system/configuration-name >&2"); machine.succeed("cat /run/booted-system/configuration-name >&2")
$machine->succeed("cat /run/booted-system/configuration-name | grep Work"); assert "Work" in machine.succeed("cat /run/booted-system/configuration-name")
# We should find a file named /etc/gitconfig with subtest("We should find a file named /etc/gitconfig"):
$machine->succeed("test -e /etc/gitconfig"); machine.succeed("test -e /etc/gitconfig")
$machine->shutdown;
''}
machine.shutdown()
''; '';
@ -243,11 +275,9 @@ let
nodes = { nodes = {
# The configuration of the machine used to run "nixos-install". # The configuration of the machine used to run "nixos-install".
machine = machine = { pkgs, ... }: {
{ pkgs, ... }: imports = [
../modules/profiles/installation-device.nix
{ imports =
[ ../modules/profiles/installation-device.nix
../modules/profiles/base.nix ../modules/profiles/base.nix
extraInstallerConfig extraInstallerConfig
]; ];
@ -270,20 +300,20 @@ let
# The test cannot access the network, so any packages we # The test cannot access the network, so any packages we
# need must be included in the VM. # need must be included in the VM.
system.extraDependencies = with pkgs; system.extraDependencies = with pkgs; [
[ sudo
libxml2.bin
libxslt.bin
desktop-file-utils desktop-file-utils
docbook5 docbook5
docbook_xsl_ns docbook_xsl_ns
unionfs-fuse libxml2.bin
ntp libxslt.bin
nixos-artwork.wallpapers.simple-dark-gray-bottom nixos-artwork.wallpapers.simple-dark-gray-bottom
perlPackages.XMLLibXML ntp
perlPackages.ListCompare perlPackages.ListCompare
perlPackages.XMLLibXML
shared-mime-info shared-mime-info
sudo
texinfo texinfo
unionfs-fuse
xorg.lndir xorg.lndir
# add curl so that rather than seeing the test attempt to download # add curl so that rather than seeing the test attempt to download
@ -291,11 +321,13 @@ let
curl curl
] ]
++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub ++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub
++ optionals (bootLoader == "grub" && grubVersion == 2) [ pkgs.grub2 pkgs.grub2_efi ]; ++ optionals (bootLoader == "grub" && grubVersion == 2) [
pkgs.grub2
pkgs.grub2_efi
];
nix.binaryCaches = mkForce [ ]; nix.binaryCaches = mkForce [ ];
nix.extraOptions = nix.extraOptions = ''
''
hashed-mirrors = hashed-mirrors =
connect-timeout = 1 connect-timeout = 1
''; '';
@ -310,13 +342,13 @@ let
}; };
}; };
makeLuksRootTest = name: luksFormatOpts: makeInstallerTest name makeLuksRootTest = name: luksFormatOpts: makeInstallerTest name {
{ createPartitions = '' createPartitions = ''
$machine->succeed( machine.succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel msdos" "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
. " mkpart primary ext2 1M 50MB" # /boot + " mkpart primary ext2 1M 50MB" # /boot
. " mkpart primary linux-swap 50M 1024M" + " mkpart primary linux-swap 50M 1024M"
. " mkpart primary 1024M -1s", # LUKS + " mkpart primary 1024M -1s", # LUKS
"udevadm settle", "udevadm settle",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
"swapon -L swap", "swapon -L swap",
@ -328,45 +360,44 @@ let
"mkfs.ext3 -L boot /dev/vda1", "mkfs.ext3 -L boot /dev/vda1",
"mkdir -p /mnt/boot", "mkdir -p /mnt/boot",
"mount LABEL=boot /mnt/boot", "mount LABEL=boot /mnt/boot",
); )
''; '';
extraConfig = '' extraConfig = ''
boot.kernelParams = lib.mkAfter [ "console=tty0" ]; boot.kernelParams = lib.mkAfter [ "console=tty0" ];
''; '';
enableOCR = true; enableOCR = true;
preBootCommands = '' preBootCommands = ''
$machine->start; machine.start()
$machine->waitForText(qr/Passphrase for/); machine.wait_for_text("Passphrase for")
$machine->sendChars("supersecret\n"); machine.send_chars("supersecret\n")
''; '';
}; };
# The (almost) simplest partitioning scheme: a swap partition and # The (almost) simplest partitioning scheme: a swap partition and
# one big filesystem partition. # one big filesystem partition.
simple-test-config = { createPartitions = simple-test-config = {
'' createPartitions = ''
$machine->succeed( machine.succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel msdos" "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
. " mkpart primary linux-swap 1M 1024M" + " mkpart primary linux-swap 1M 1024M"
. " mkpart primary ext2 1024M -1s", + " mkpart primary ext2 1024M -1s",
"udevadm settle", "udevadm settle",
"mkswap /dev/vda1 -L swap", "mkswap /dev/vda1 -L swap",
"swapon -L swap", "swapon -L swap",
"mkfs.ext3 -L nixos /dev/vda2", "mkfs.ext3 -L nixos /dev/vda2",
"mount LABEL=nixos /mnt", "mount LABEL=nixos /mnt",
); )
''; '';
}; };
simple-uefi-grub-config = simple-uefi-grub-config = {
{ createPartitions = createPartitions = ''
'' machine.succeed(
$machine->succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel gpt" "flock /dev/vda parted --script /dev/vda -- mklabel gpt"
. " mkpart ESP fat32 1M 50MiB" # /boot + " mkpart ESP fat32 1M 50MiB" # /boot
. " set 1 boot on" + " set 1 boot on"
. " mkpart primary linux-swap 50MiB 1024MiB" + " mkpart primary linux-swap 50MiB 1024MiB"
. " mkpart primary ext2 1024MiB -1MiB", # / + " mkpart primary ext2 1024MiB -1MiB", # /
"udevadm settle", "udevadm settle",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
"swapon -L swap", "swapon -L swap",
@ -375,18 +406,17 @@ let
"mkfs.vfat -n BOOT /dev/vda1", "mkfs.vfat -n BOOT /dev/vda1",
"mkdir -p /mnt/boot", "mkdir -p /mnt/boot",
"mount LABEL=BOOT /mnt/boot", "mount LABEL=BOOT /mnt/boot",
); )
''; '';
bootLoader = "grub"; bootLoader = "grub";
grubUseEfi = true; grubUseEfi = true;
}; };
clone-test-extraconfig = { extraConfig = clone-test-extraconfig = {
'' extraConfig = ''
environment.systemPackages = [ pkgs.grub2 ]; environment.systemPackages = [ pkgs.grub2 ];
boot.loader.grub.configurationName = "Home"; boot.loader.grub.configurationName = "Home";
nesting.clone = [ nesting.clone = [ {
{
boot.loader.grub.configurationName = lib.mkForce "Work"; boot.loader.grub.configurationName = lib.mkForce "Work";
environment.etc = { environment.etc = {
@ -395,8 +425,7 @@ let
gitproxy = none for work.com gitproxy = none for work.com
"; ";
}; };
} } ];
];
''; '';
testCloneConfig = true; testCloneConfig = true;
}; };
@ -415,15 +444,14 @@ in {
simpleClone = makeInstallerTest "simpleClone" (simple-test-config // clone-test-extraconfig); simpleClone = makeInstallerTest "simpleClone" (simple-test-config // clone-test-extraconfig);
# Simple GPT/UEFI configuration using systemd-boot with 3 partitions: ESP, swap & root filesystem # Simple GPT/UEFI configuration using systemd-boot with 3 partitions: ESP, swap & root filesystem
simpleUefiSystemdBoot = makeInstallerTest "simpleUefiSystemdBoot" simpleUefiSystemdBoot = makeInstallerTest "simpleUefiSystemdBoot" {
{ createPartitions = createPartitions = ''
'' machine.succeed(
$machine->succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel gpt" "flock /dev/vda parted --script /dev/vda -- mklabel gpt"
. " mkpart ESP fat32 1M 50MiB" # /boot + " mkpart ESP fat32 1M 50MiB" # /boot
. " set 1 boot on" + " set 1 boot on"
. " mkpart primary linux-swap 50MiB 1024MiB" + " mkpart primary linux-swap 50MiB 1024MiB"
. " mkpart primary ext2 1024MiB -1MiB", # / + " mkpart primary ext2 1024MiB -1MiB", # /
"udevadm settle", "udevadm settle",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
"swapon -L swap", "swapon -L swap",
@ -432,7 +460,7 @@ in {
"mkfs.vfat -n BOOT /dev/vda1", "mkfs.vfat -n BOOT /dev/vda1",
"mkdir -p /mnt/boot", "mkdir -p /mnt/boot",
"mount LABEL=BOOT /mnt/boot", "mount LABEL=BOOT /mnt/boot",
); )
''; '';
bootLoader = "systemd-boot"; bootLoader = "systemd-boot";
}; };
@ -443,14 +471,13 @@ in {
simpleUefiGrubClone = makeInstallerTest "simpleUefiGrubClone" (simple-uefi-grub-config // clone-test-extraconfig); simpleUefiGrubClone = makeInstallerTest "simpleUefiGrubClone" (simple-uefi-grub-config // clone-test-extraconfig);
# Same as the previous, but now with a separate /boot partition. # Same as the previous, but now with a separate /boot partition.
separateBoot = makeInstallerTest "separateBoot" separateBoot = makeInstallerTest "separateBoot" {
{ createPartitions = createPartitions = ''
'' machine.succeed(
$machine->succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel msdos" "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
. " mkpart primary ext2 1M 50MB" # /boot + " mkpart primary ext2 1M 50MB" # /boot
. " mkpart primary linux-swap 50MB 1024M" + " mkpart primary linux-swap 50MB 1024M"
. " mkpart primary ext2 1024M -1s", # / + " mkpart primary ext2 1024M -1s", # /
"udevadm settle", "udevadm settle",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
"swapon -L swap", "swapon -L swap",
@ -459,19 +486,18 @@ in {
"mkfs.ext3 -L boot /dev/vda1", "mkfs.ext3 -L boot /dev/vda1",
"mkdir -p /mnt/boot", "mkdir -p /mnt/boot",
"mount LABEL=boot /mnt/boot", "mount LABEL=boot /mnt/boot",
); )
''; '';
}; };
# Same as the previous, but with fat32 /boot. # Same as the previous, but with fat32 /boot.
separateBootFat = makeInstallerTest "separateBootFat" separateBootFat = makeInstallerTest "separateBootFat" {
{ createPartitions = createPartitions = ''
'' machine.succeed(
$machine->succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel msdos" "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
. " mkpart primary ext2 1M 50MB" # /boot + " mkpart primary ext2 1M 50MB" # /boot
. " mkpart primary linux-swap 50MB 1024M" + " mkpart primary linux-swap 50MB 1024M"
. " mkpart primary ext2 1024M -1s", # / + " mkpart primary ext2 1024M -1s", # /
"udevadm settle", "udevadm settle",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
"swapon -L swap", "swapon -L swap",
@ -480,13 +506,12 @@ in {
"mkfs.vfat -n BOOT /dev/vda1", "mkfs.vfat -n BOOT /dev/vda1",
"mkdir -p /mnt/boot", "mkdir -p /mnt/boot",
"mount LABEL=BOOT /mnt/boot", "mount LABEL=BOOT /mnt/boot",
); )
''; '';
}; };
# zfs on / with swap # zfs on / with swap
zfsroot = makeInstallerTest "zfs-root" zfsroot = makeInstallerTest "zfs-root" {
{
extraInstallerConfig = { extraInstallerConfig = {
boot.supportedFilesystems = [ "zfs" ]; boot.supportedFilesystems = [ "zfs" ];
}; };
@ -501,37 +526,32 @@ in {
networking.hostId = "00000000"; networking.hostId = "00000000";
''; '';
createPartitions = createPartitions = ''
'' machine.succeed(
$machine->succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel msdos" "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
. " mkpart primary linux-swap 1M 1024M" + " mkpart primary linux-swap 1M 1024M"
. " mkpart primary 1024M -1s", + " mkpart primary 1024M -1s",
"udevadm settle", "udevadm settle",
"mkswap /dev/vda1 -L swap", "mkswap /dev/vda1 -L swap",
"swapon -L swap", "swapon -L swap",
"zpool create rpool /dev/vda2", "zpool create rpool /dev/vda2",
"zfs create -o mountpoint=legacy rpool/root", "zfs create -o mountpoint=legacy rpool/root",
"mount -t zfs rpool/root /mnt", "mount -t zfs rpool/root /mnt",
"udevadm settle",
"udevadm settle" )
);
''; '';
}; };
# Create two physical LVM partitions combined into one volume group # Create two physical LVM partitions combined into one volume group
# that contains the logical swap and root partitions. # that contains the logical swap and root partitions.
lvm = makeInstallerTest "lvm" lvm = makeInstallerTest "lvm" {
{ createPartitions = createPartitions = ''
'' machine.succeed(
$machine->succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel msdos" "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
. " mkpart primary 1M 2048M" # PV1 + " mkpart primary 1M 2048M" # PV1
. " set 1 lvm on" + " set 1 lvm on"
. " mkpart primary 2048M -1s" # PV2 + " mkpart primary 2048M -1s" # PV2
. " set 2 lvm on", + " set 2 lvm on",
"udevadm settle", "udevadm settle",
"pvcreate /dev/vda1 /dev/vda2", "pvcreate /dev/vda1 /dev/vda2",
"vgcreate MyVolGroup /dev/vda1 /dev/vda2", "vgcreate MyVolGroup /dev/vda1 /dev/vda2",
@ -541,7 +561,7 @@ in {
"swapon -L swap", "swapon -L swap",
"mkfs.xfs -L nixos /dev/MyVolGroup/nixos", "mkfs.xfs -L nixos /dev/MyVolGroup/nixos",
"mount LABEL=nixos /mnt", "mount LABEL=nixos /mnt",
); )
''; '';
}; };
@ -557,14 +577,14 @@ in {
# Test whether opening encrypted filesystem with keyfile # Test whether opening encrypted filesystem with keyfile
# Checks for regression of missing cryptsetup, when no luks device without # Checks for regression of missing cryptsetup, when no luks device without
# keyfile is configured # keyfile is configured
encryptedFSWithKeyfile = makeInstallerTest "encryptedFSWithKeyfile" encryptedFSWithKeyfile = makeInstallerTest "encryptedFSWithKeyfile" {
{ createPartitions = '' createPartitions = ''
$machine->succeed( machine.succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel msdos" "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
. " mkpart primary ext2 1M 50MB" # /boot + " mkpart primary ext2 1M 50MB" # /boot
. " mkpart primary linux-swap 50M 1024M" + " mkpart primary linux-swap 50M 1024M"
. " mkpart primary 1024M 1280M" # LUKS with keyfile + " mkpart primary 1024M 1280M" # LUKS with keyfile
. " mkpart primary 1280M -1s", + " mkpart primary 1280M -1s",
"udevadm settle", "udevadm settle",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
"swapon -L swap", "swapon -L swap",
@ -579,12 +599,12 @@ in {
"cryptsetup luksOpen --key-file /mnt/keyfile /dev/vda3 crypt", "cryptsetup luksOpen --key-file /mnt/keyfile /dev/vda3 crypt",
"mkfs.ext3 -L test /dev/mapper/crypt", "mkfs.ext3 -L test /dev/mapper/crypt",
"cryptsetup luksClose crypt", "cryptsetup luksClose crypt",
"mkdir -p /mnt/test" "mkdir -p /mnt/test",
); )
''; '';
extraConfig = '' extraConfig = ''
fileSystems."/test" = fileSystems."/test" = {
{ device = "/dev/disk/by-label/test"; device = "/dev/disk/by-label/test";
fsType = "ext3"; fsType = "ext3";
encrypted.enable = true; encrypted.enable = true;
encrypted.blkDev = "/dev/vda3"; encrypted.blkDev = "/dev/vda3";
@ -594,25 +614,25 @@ in {
''; '';
}; };
swraid = makeInstallerTest "swraid" {
swraid = makeInstallerTest "swraid" createPartitions = ''
{ createPartitions = machine.succeed(
''
$machine->succeed(
"flock /dev/vda parted --script /dev/vda --" "flock /dev/vda parted --script /dev/vda --"
. " mklabel msdos" + " mklabel msdos"
. " mkpart primary ext2 1M 100MB" # /boot + " mkpart primary ext2 1M 100MB" # /boot
. " mkpart extended 100M -1s" + " mkpart extended 100M -1s"
. " mkpart logical 102M 2102M" # md0 (root), first device + " mkpart logical 102M 2102M" # md0 (root), first device
. " mkpart logical 2103M 4103M" # md0 (root), second device + " mkpart logical 2103M 4103M" # md0 (root), second device
. " mkpart logical 4104M 4360M" # md1 (swap), first device + " mkpart logical 4104M 4360M" # md1 (swap), first device
. " mkpart logical 4361M 4617M", # md1 (swap), second device + " mkpart logical 4361M 4617M", # md1 (swap), second device
"udevadm settle", "udevadm settle",
"ls -l /dev/vda* >&2", "ls -l /dev/vda* >&2",
"cat /proc/partitions >&2", "cat /proc/partitions >&2",
"udevadm control --stop-exec-queue", "udevadm control --stop-exec-queue",
"mdadm --create --force /dev/md0 --metadata 1.2 --level=raid1 --raid-devices=2 /dev/vda5 /dev/vda6", "mdadm --create --force /dev/md0 --metadata 1.2 --level=raid1 "
"mdadm --create --force /dev/md1 --metadata 1.2 --level=raid1 --raid-devices=2 /dev/vda7 /dev/vda8", + "--raid-devices=2 /dev/vda5 /dev/vda6",
"mdadm --create --force /dev/md1 --metadata 1.2 --level=raid1 "
+ "--raid-devices=2 /dev/vda7 /dev/vda8",
"udevadm control --start-exec-queue", "udevadm control --start-exec-queue",
"udevadm settle", "udevadm settle",
"mkswap -f /dev/md1 -L swap", "mkswap -f /dev/md1 -L swap",
@ -623,29 +643,28 @@ in {
"mkdir /mnt/boot", "mkdir /mnt/boot",
"mount LABEL=boot /mnt/boot", "mount LABEL=boot /mnt/boot",
"udevadm settle", "udevadm settle",
); )
''; '';
preBootCommands = '' preBootCommands = ''
$machine->start; machine.start()
$machine->fail("dmesg | grep 'immediate safe mode'"); machine.fail("dmesg | grep 'immediate safe mode'")
''; '';
}; };
# Test a basic install using GRUB 1. # Test a basic install using GRUB 1.
grub1 = makeInstallerTest "grub1" grub1 = makeInstallerTest "grub1" {
{ createPartitions = createPartitions = ''
'' machine.succeed(
$machine->succeed(
"flock /dev/sda parted --script /dev/sda -- mklabel msdos" "flock /dev/sda parted --script /dev/sda -- mklabel msdos"
. " mkpart primary linux-swap 1M 1024M" + " mkpart primary linux-swap 1M 1024M"
. " mkpart primary ext2 1024M -1s", + " mkpart primary ext2 1024M -1s",
"udevadm settle", "udevadm settle",
"mkswap /dev/sda1 -L swap", "mkswap /dev/sda1 -L swap",
"swapon -L swap", "swapon -L swap",
"mkfs.ext3 -L nixos /dev/sda2", "mkfs.ext3 -L nixos /dev/sda2",
"mount LABEL=nixos /mnt", "mount LABEL=nixos /mnt",
"mkdir -p /mnt/tmp", "mkdir -p /mnt/tmp",
); )
''; '';
grubVersion = 1; grubVersion = 1;
grubDevice = "/dev/sda"; grubDevice = "/dev/sda";
@ -654,14 +673,14 @@ in {
# Test using labels to identify volumes in grub # Test using labels to identify volumes in grub
simpleLabels = makeInstallerTest "simpleLabels" { simpleLabels = makeInstallerTest "simpleLabels" {
createPartitions = '' createPartitions = ''
$machine->succeed( machine.succeed(
"sgdisk -Z /dev/vda", "sgdisk -Z /dev/vda",
"sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
"swapon -L swap", "swapon -L swap",
"mkfs.ext4 -L root /dev/vda3", "mkfs.ext4 -L root /dev/vda3",
"mount LABEL=root /mnt", "mount LABEL=root /mnt",
); )
''; '';
grubIdentifier = "label"; grubIdentifier = "label";
}; };
@ -670,22 +689,23 @@ in {
# TODO: Fix udev so the symlinks are unneeded in /dev/disks # TODO: Fix udev so the symlinks are unneeded in /dev/disks
simpleProvided = makeInstallerTest "simpleProvided" { simpleProvided = makeInstallerTest "simpleProvided" {
createPartitions = '' createPartitions = ''
my $UUID = "\$(blkid -s UUID -o value /dev/vda2)"; uuid = "$(blkid -s UUID -o value /dev/vda2)"
$machine->succeed( machine.succeed(
"sgdisk -Z /dev/vda", "sgdisk -Z /dev/vda",
"sgdisk -n 1:0:+1M -n 2:0:+100M -n 3:0:+1G -N 4 -t 1:ef02 -t 2:8300 -t 3:8200 -t 4:8300 -c 2:boot -c 4:root /dev/vda", "sgdisk -n 1:0:+1M -n 2:0:+100M -n 3:0:+1G -N 4 -t 1:ef02 -t 2:8300 "
+ "-t 3:8200 -t 4:8300 -c 2:boot -c 4:root /dev/vda",
"mkswap /dev/vda3 -L swap", "mkswap /dev/vda3 -L swap",
"swapon -L swap", "swapon -L swap",
"mkfs.ext4 -L boot /dev/vda2", "mkfs.ext4 -L boot /dev/vda2",
"mkfs.ext4 -L root /dev/vda4", "mkfs.ext4 -L root /dev/vda4",
); )
$machine->execute("ln -s ../../vda2 /dev/disk/by-uuid/$UUID"); machine.execute(f"ln -s ../../vda2 /dev/disk/by-uuid/{uuid}")
$machine->execute("ln -s ../../vda4 /dev/disk/by-label/root"); machine.execute("ln -s ../../vda4 /dev/disk/by-label/root")
$machine->succeed( machine.succeed(
"mount /dev/disk/by-label/root /mnt", "mount /dev/disk/by-label/root /mnt",
"mkdir /mnt/boot", "mkdir /mnt/boot",
"mount /dev/disk/by-uuid/$UUID /mnt/boot" f"mount /dev/disk/by-uuid/{uuid} /mnt/boot",
); )
''; '';
grubIdentifier = "provided"; grubIdentifier = "provided";
}; };
@ -693,21 +713,21 @@ in {
# Simple btrfs grub testing # Simple btrfs grub testing
btrfsSimple = makeInstallerTest "btrfsSimple" { btrfsSimple = makeInstallerTest "btrfsSimple" {
createPartitions = '' createPartitions = ''
$machine->succeed( machine.succeed(
"sgdisk -Z /dev/vda", "sgdisk -Z /dev/vda",
"sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
"swapon -L swap", "swapon -L swap",
"mkfs.btrfs -L root /dev/vda3", "mkfs.btrfs -L root /dev/vda3",
"mount LABEL=root /mnt", "mount LABEL=root /mnt",
); )
''; '';
}; };
# Test to see if we can detect /boot and /nix on subvolumes # Test to see if we can detect /boot and /nix on subvolumes
btrfsSubvols = makeInstallerTest "btrfsSubvols" { btrfsSubvols = makeInstallerTest "btrfsSubvols" {
createPartitions = '' createPartitions = ''
$machine->succeed( machine.succeed(
"sgdisk -Z /dev/vda", "sgdisk -Z /dev/vda",
"sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
@ -722,14 +742,14 @@ in {
"mount -o defaults,subvol=nixos/default LABEL=root /mnt", "mount -o defaults,subvol=nixos/default LABEL=root /mnt",
"mkdir /mnt/boot", "mkdir /mnt/boot",
"mount -o defaults,subvol=boot LABEL=root /mnt/boot", "mount -o defaults,subvol=boot LABEL=root /mnt/boot",
); )
''; '';
}; };
# Test to see if we can detect default and aux subvolumes correctly # Test to see if we can detect default and aux subvolumes correctly
btrfsSubvolDefault = makeInstallerTest "btrfsSubvolDefault" { btrfsSubvolDefault = makeInstallerTest "btrfsSubvolDefault" {
createPartitions = '' createPartitions = ''
$machine->succeed( machine.succeed(
"sgdisk -Z /dev/vda", "sgdisk -Z /dev/vda",
"sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda", "sgdisk -n 1:0:+1M -n 2:0:+1G -N 3 -t 1:ef02 -t 2:8200 -t 3:8300 -c 3:root /dev/vda",
"mkswap /dev/vda2 -L swap", "mkswap /dev/vda2 -L swap",
@ -740,14 +760,15 @@ in {
"btrfs subvol create /mnt/badpath", "btrfs subvol create /mnt/badpath",
"btrfs subvol create /mnt/badpath/boot", "btrfs subvol create /mnt/badpath/boot",
"btrfs subvol create /mnt/nixos", "btrfs subvol create /mnt/nixos",
"btrfs subvol set-default \$(btrfs subvol list /mnt | grep 'nixos' | awk '{print \$2}') /mnt", "btrfs subvol set-default "
+ "$(btrfs subvol list /mnt | grep 'nixos' | awk '{print \$2}') /mnt",
"umount /mnt", "umount /mnt",
"mount -o defaults LABEL=root /mnt", "mount -o defaults LABEL=root /mnt",
"mkdir -p /mnt/badpath/boot", # Help ensure the detection mechanism is actually looking up subvolumes "mkdir -p /mnt/badpath/boot", # Help ensure the detection mechanism
# is actually looking up subvolumes
"mkdir /mnt/boot", "mkdir /mnt/boot",
"mount -o defaults,subvol=badpath/boot LABEL=root /mnt/boot", "mount -o defaults,subvol=badpath/boot LABEL=root /mnt/boot",
); )
''; '';
}; };
} }

View File

@ -3,12 +3,10 @@
pkgs ? import ../.. { inherit system config; } pkgs ? import ../.. { inherit system config; }
}: }:
with import ../lib/testing.nix { inherit system pkgs; }; with import ../lib/testing-python.nix { inherit system pkgs; };
let let
makeTest = import ./make-test-python.nix;
makeZfsTest = name: makeZfsTest = name:
{ kernelPackage ? pkgs.linuxPackages_latest { kernelPackage ? pkgs.linuxPackages_latest
, enableUnstable ? false , enableUnstable ? false
@ -20,41 +18,33 @@ let
maintainers = [ adisbladis ]; maintainers = [ adisbladis ];
}; };
machine = { pkgs, ... }: machine = { pkgs, ... }: {
{
virtualisation.emptyDiskImages = [ 4096 ]; virtualisation.emptyDiskImages = [ 4096 ];
networking.hostId = "deadbeef"; networking.hostId = "deadbeef";
boot.kernelPackages = kernelPackage; boot.kernelPackages = kernelPackage;
boot.supportedFilesystems = [ "zfs" ]; boot.supportedFilesystems = [ "zfs" ];
boot.zfs.enableUnstable = enableUnstable; boot.zfs.enableUnstable = enableUnstable;
environment.systemPackages = with pkgs; [ environment.systemPackages = [ pkgs.parted ];
parted
];
}; };
testScript = '' testScript = ''
machine.succeed("modprobe zfs")
machine.succeed("zpool status")
machine.succeed("ls /dev")
machine.succeed( machine.succeed(
"modprobe zfs",
"zpool status",
"ls /dev",
"mkdir /tmp/mnt", "mkdir /tmp/mnt",
"udevadm settle", "udevadm settle",
"parted --script /dev/vdb mklabel msdos", "parted --script /dev/vdb mklabel msdos",
"parted --script /dev/vdb -- mkpart primary 1024M -1s", "parted --script /dev/vdb -- mkpart primary 1024M -1s",
"udevadm settle", "udevadm settle",
"zpool create rpool /dev/vdb1", "zpool create rpool /dev/vdb1",
"zfs create -o mountpoint=legacy rpool/root", "zfs create -o mountpoint=legacy rpool/root",
"mount -t zfs rpool/root /tmp/mnt", "mount -t zfs rpool/root /tmp/mnt",
"udevadm settle", "udevadm settle",
"umount /tmp/mnt", "umount /tmp/mnt",
"zpool destroy rpool", "zpool destroy rpool",
"udevadm settle" "udevadm settle",
) )
'' + extraTest; '' + extraTest;
@ -69,18 +59,17 @@ in {
enableUnstable = true; enableUnstable = true;
extraTest = '' extraTest = ''
machine.succeed( machine.succeed(
"echo password | zpool create -o altroot=\"/tmp/mnt\" -O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1", 'echo password | zpool create -o altroot="/tmp/mnt" '
+ "-O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1",
"zfs create -o mountpoint=legacy rpool/root", "zfs create -o mountpoint=legacy rpool/root",
"mount -t zfs rpool/root /tmp/mnt", "mount -t zfs rpool/root /tmp/mnt",
"udevadm settle", "udevadm settle",
"umount /tmp/mnt", "umount /tmp/mnt",
"zpool destroy rpool", "zpool destroy rpool",
"udevadm settle" "udevadm settle",
) )
''; '';
}; };
installer = (import ./installer.nix { }).zfsroot; installer = (import ./installer.nix { }).zfsroot;
} }

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fomp"; pname = "fomp";
version = "1.0.0"; version = "1.2.0";
src = fetchurl { src = fetchurl {
url = "https://download.drobilla.net/${pname}-${version}.tar.bz2"; url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5"; sha256 = "01ld6yjrqrki6zwac8lmwmqkr5rv0sdham4pfbfkjwck4hi1gqqw";
}; };
nativeBuildInputs = [ pkgconfig wafHook ]; nativeBuildInputs = [ pkgconfig wafHook ];

View File

@ -0,0 +1,80 @@
{ stdenv
, fetchFromGitHub
, autoreconfHook
, pkgconfig
, mono
, gtk-sharp-2_0
, gettext
, makeWrapper
, glib
, gtk2-x11
, gnome2
}:
stdenv.mkDerivation rec {
pname = "bless";
version = "0.6.2";
src = fetchFromGitHub {
owner = "afrantzis";
repo = pname;
rev = "v${version}";
sha256 = "04ra2mcx3pkhzbhcz0zwfmbpqj6cwisrypi6xbc2d6pxd4hdafn1";
};
buildInputs = [
gtk-sharp-2_0
mono
# runtime only deps
glib
gtk2-x11
gnome2.libglade
];
nativeBuildInputs = [
pkgconfig
autoreconfHook
gettext
makeWrapper
];
configureFlags = [
# scrollkeeper is a gnome2 package, so it must be old and we shouldn't really support it
# NOTE: that sadly doesn't turn off the compilation of the manual with scrollkeeper, so we have to fake the binaries below
"--without-scrollkeeper"
];
autoreconfPhase = ''
mkdir _bin
# this fakes the scrollkeeper commands, to keep the build happy
for f in scrollkeeper-preinstall scrollkeeper-update; do
echo "true" > ./_bin/$f
chmod +x ./_bin/$f
done
export PATH="$PWD/_bin:$PATH"
# and it also wants to install that file
touch ./doc/user/bless-manual.omf
# patch mono path
sed "s|^mono|${mono}/bin/mono|g" -i src/bless-script.in
./autogen.sh
'';
preFixup = ''
MPATH="${gtk-sharp-2_0}/lib/mono/gtk-sharp-2.0:${glib.out}/lib:${gtk2-x11}/lib:${gnome2.libglade}/lib:${gtk-sharp-2_0}/lib"
wrapProgram $out/bin/bless --prefix MONO_PATH : "$MPATH" --prefix LD_LIBRARY_PATH : "$MPATH"
'';
meta = with stdenv.lib; {
homepage = "https://github.com/afrantzis/bless";
description = "Gtk# Hex Editor";
maintainers = [ maintainers.mkg20001 ];
license = licenses.gpl2;
platforms = platforms.linux;
badPlatforms = [ "aarch64-linux" ];
};
}

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost, zlib { lib, mkDerivation, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost, zlib
, openssl, R, qtbase, qtxmlpatterns, qtsensors, qtwebengine, qtwebchannel , openssl, R, qtbase, qtxmlpatterns, qtsensors, qtwebengine, qtwebchannel
, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc , libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc
, llvmPackages , llvmPackages
}: }:
with stdenv.lib; with lib;
let let
verMajor = "1"; verMajor = "1";
verMinor = "2"; verMinor = "2";
@ -13,7 +13,7 @@ let
ginVer = "2.1.2"; ginVer = "2.1.2";
gwtVer = "2.8.1"; gwtVer = "2.8.1";
in in
stdenv.mkDerivation rec { mkDerivation rec {
pname = "RStudio"; pname = "RStudio";
inherit version; inherit version;
@ -116,15 +116,16 @@ stdenv.mkDerivation rec {
mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;"; mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;";
}; };
qtWrapperArgs = [ ''--suffix PATH : ${gnumake}/bin'' ];
postInstall = '' postInstall = ''
wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin
mkdir $out/share mkdir $out/share
cp -r ${desktopItem}/share/applications $out/share cp -r ${desktopItem}/share/applications $out/share
mkdir $out/share/icons mkdir $out/share/icons
ln $out/rstudio.png $out/share/icons ln $out/rstudio.png $out/share/icons
''; '';
meta = with stdenv.lib; meta = with lib;
{ description = "Set of integrated tools for the R language"; { description = "Set of integrated tools for the R language";
homepage = https://www.rstudio.com/; homepage = https://www.rstudio.com/;
license = licenses.agpl3; license = licenses.agpl3;

View File

@ -11,15 +11,15 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "00b6q3rvf9v993i8d1vh9ckb86s655mz6kqkw0lxg8xmhpm568ra"; x86_64-linux = "1bb7icdjzprrsxllx2q478m1p3qf5sbs3rs3bavvb3hzyyf4bifn";
x86_64-darwin = "1r4qbjbypdqx9qmycykgkrg8anckicmdmawwwsszgkdd0zd5idgg"; x86_64-darwin = "1hqpfmp5s135kb9777s96sr0zbls002h1980qbgf7r2hmc0mpnx0";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
# The update script doesn't correctly change the hash for darwin, so please: # The update script doesn't correctly change the hash for darwin, so please:
# nixpkgs-update: no auto update # nixpkgs-update: no auto update
version = "1.41.1"; version = "1.42.0";
pname = "vscode"; pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders"; executableName = "code" + lib.optionalString isInsiders "-insiders";

View File

@ -11,13 +11,13 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
pname = "bleachbit"; pname = "bleachbit";
version = "3.0"; version = "3.2.0";
format = "other"; format = "other";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2"; url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
sha256 = "18ns9hms671b4l0189m1m2agprkydnpvyky9q2f5hxf35i9cn67d"; sha256 = "1sszpn7ifiry0wwmkzdppzh61zvgrfypm9g7wk6q1ya20qhb5b51";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
pname = "cherrytree"; pname = "cherrytree";
version = "0.38.10"; version = "0.38.11";
src = fetchurl { src = fetchurl {
url = "https://www.giuspen.com/software/${pname}-${version}.tar.xz"; url = "https://www.giuspen.com/software/${pname}-${version}.tar.xz";
sha256 = "1bj83b7lwqir13fp9slcdn8mgign06vywy42x8zvsp22fjn4p7f7"; sha256 = "1awrrfyawa7d8qaipvikxm1p0961060az2qvmv9wwpl47zcnk1dn";
}; };
nativeBuildInputs = [ gettext ]; nativeBuildInputs = [ gettext ];

View File

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "gallery_dl"; pname = "gallery_dl";
version = "1.12.2"; version = "1.12.3";
src = python3Packages.fetchPypi { src = python3Packages.fetchPypi {
inherit pname version; inherit pname version;
sha256 = "013bavyqvnay38c844n1jvirsmj807f0wg2qlclkdghkj316p1pz"; sha256 = "06q6vmbliy935zlf4bbnfgiqyrx9vskz3fsks4jpxi47xs80rqkz";
}; };
doCheck = false; doCheck = false;

View File

@ -2,11 +2,11 @@
, curl, cdparanoia, libid3tag, ncurses, libtool }: , curl, cdparanoia, libid3tag, ncurses, libtool }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "grip-4.0.1"; name = "grip-4.1.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/grip/${name}.tar.gz"; url = "mirror://sourceforge/grip/${name}.tar.gz";
sha256 = "0blh5j3d4g16bhsqmhv71qhbsyyzcqywzpqsjjiiw465mjlwxka6"; sha256 = "0iy7bcyrxm7zyrxah06qyxdshkgq6yqkadlw211j2qzld38a79j5";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pdfsam-basic"; pname = "pdfsam-basic";
version = "4.0.5"; version = "4.1.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb"; url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
sha256 = "1znadsg65312h8yyxvj8k0c4pl3g9daif50vk50acwpblq49wm1v"; sha256 = "17qb3l7xibhb3fbskddvparrj2cxj4kz9qbril094kxrgbvyc9gs";
}; };
unpackPhase = '' unpackPhase = ''

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, unzip, firefox-esr, makeWrapper }: { stdenv, fetchgit, unzip, firefox-esr-52, makeWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pkgname = "conkeror"; pkgname = "conkeror";
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/libexec/conkeror mkdir -p $out/libexec/conkeror
cp -r * $out/libexec/conkeror cp -r * $out/libexec/conkeror
makeWrapper ${firefox-esr}/bin/firefox $out/bin/conkeror \ makeWrapper ${firefox-esr-52}/bin/firefox $out/bin/conkeror \
--add-flags "-app $out/libexec/conkeror/application.ini" --add-flags "-app $out/libexec/conkeror/application.ini"
''; '';

View File

@ -1,19 +1,17 @@
{ stdenv, buildGoPackage, fetchFromGitHub }: { stdenv, buildGoModule, fetchFromGitHub }:
buildGoPackage rec { buildGoModule rec {
pname = "cloudflared"; pname = "cloudflared";
version = "2019.7.0"; version = "2019.12.0";
goPackagePath = "github.com/cloudflare/cloudflared";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cloudflare"; owner = "cloudflare";
repo = "cloudflared"; repo = "cloudflared";
rev = version; rev = version;
sha256 = "19229p7c9m7v0xpmzi5rfwjzm845ikq8pndkry2si9azks18x77q"; sha256 = "0cc78bysp7z76h4ddiwbsrygz4m4r71f8xylg99pc5qyg8p3my4p";
}; };
goDeps = ./deps.nix; modSha256 = "1y5vh8g967rrm9b9hjlr70bs2rm09cpik673brgk3nzqxka10w7p";
buildFlagsArray = "-ldflags=-X main.Version=${version}"; buildFlagsArray = "-ldflags=-X main.Version=${version}";

View File

@ -1,453 +0,0 @@
# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
[
{
goPackagePath = "github.com/BurntSushi/toml";
fetch = {
type = "git";
url = "https://github.com/BurntSushi/toml";
rev = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005";
sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
};
}
{
goPackagePath = "github.com/beorn7/perks";
fetch = {
type = "git";
url = "https://github.com/beorn7/perks";
rev = "4b2b341e8d7715fae06375aa633dbb6e91b3fb46";
sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
};
}
{
goPackagePath = "github.com/certifi/gocertifi";
fetch = {
type = "git";
url = "https://github.com/certifi/gocertifi";
rev = "deb3ae2ef2610fde3330947281941c562861188b";
sha256 = "1xy09y1fdfcny1z09hd4493w1acj5min9z2sx4gfpshc80icrmr6";
};
}
{
goPackagePath = "github.com/cloudflare/brotli-go";
fetch = {
type = "git";
url = "https://github.com/cloudflare/brotli-go";
rev = "18c9f6c67e3dfc12e0ddaca748d2887f97a7ac28";
sha256 = "10112y4k8qing552n0df9w33cgminrzm6g3x7ng0vgin4sv59785";
};
}
{
goPackagePath = "github.com/cloudflare/golibs";
fetch = {
type = "git";
url = "https://github.com/cloudflare/golibs";
rev = "333127dbecfcc23a8db7d9a4f52785d23aff44a1";
sha256 = "170hbv9wyfmb5da9a6wjz2mphp0pylv23h8qp8h5kwa2i9frdqqi";
};
}
{
goPackagePath = "github.com/coredns/coredns";
fetch = {
type = "git";
url = "https://github.com/coredns/coredns";
rev = "2e322f6e8a54f18c6aef9c25a7c432c291a3d9f7";
sha256 = "0s9x5yww1qd9pzh2w846g9qw0n86ygymjiqjn15ws6ha3nj5p75p";
};
}
{
goPackagePath = "github.com/coreos/go-oidc";
fetch = {
type = "git";
url = "https://github.com/coreos/go-oidc";
rev = "a93f71fdfe73d2c0f5413c0565eea0af6523a6df";
sha256 = "00pmmky0y9a9l767xn16xlf52h81j4869n6j0xql79rybp6xc1f3";
};
}
{
goPackagePath = "github.com/coreos/go-systemd";
fetch = {
type = "git";
url = "https://github.com/coreos/go-systemd";
rev = "95778dfbb74eb7e4dbaf43bf7d71809650ef8076";
sha256 = "1s3bg9p78wkixn2bqb2p23wbsqfg949ml6crw2b498s71mwh8rcf";
};
}
{
goPackagePath = "github.com/coreos/pkg";
fetch = {
type = "git";
url = "https://github.com/coreos/pkg";
rev = "97fdf19511ea361ae1c100dd393cc47f8dcfa1e1";
sha256 = "1srn87wih25l09f75483hnxsr8fc6rq3bk7w1x8125ym39p6mg21";
};
}
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
};
}
{
goPackagePath = "github.com/elgs/gosqljson";
fetch = {
type = "git";
url = "https://github.com/elgs/gosqljson";
rev = "027aa4915315a0b2825c0f025cea347829b974fa";
sha256 = "14i45m1y505acvsk4l725bp8p9w3mcg49khz9hxkzg3afg7nc5gq";
};
}
{
goPackagePath = "github.com/equinox-io/equinox";
fetch = {
type = "git";
url = "https://github.com/equinox-io/equinox";
rev = "5205c98a6c11dc72747ce12fff6cd620a99fde05";
sha256 = "19gya2zhs3xqfjh8y6s63yw9q8h1x710rl1drf4a1fmgdhaf2lrv";
};
}
{
goPackagePath = "github.com/facebookgo/grace";
fetch = {
type = "git";
url = "https://github.com/facebookgo/grace";
rev = "75cf19382434e82df4dd84953f566b8ad23d6e9e";
sha256 = "15chyvgv5y59w9x2asm0vh29cmmcji7f5vxvv8gqcr15nkyi61q0";
};
}
{
goPackagePath = "github.com/flynn/go-shlex";
fetch = {
type = "git";
url = "https://github.com/flynn/go-shlex";
rev = "3f9db97f856818214da2e1057f8ad84803971cff";
sha256 = "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia";
};
}
{
goPackagePath = "github.com/getsentry/raven-go";
fetch = {
type = "git";
url = "https://github.com/getsentry/raven-go";
rev = "ed7bcb39ff10f39ab08e317ce16df282845852fa";
sha256 = "0pqggcjbia9sidxqxnyd5z5k44iswxaqss3qvkka8bfm082kczij";
};
}
{
goPackagePath = "github.com/golang-collections/collections";
fetch = {
type = "git";
url = "https://github.com/golang-collections/collections";
rev = "604e922904d35e97f98a774db7881f049cd8d970";
sha256 = "04g0xc1bs4aphc2rcj9knah2shmck500qagnazy4mg052b84ggwm";
};
}
{
goPackagePath = "github.com/golang/protobuf";
fetch = {
type = "git";
url = "https://github.com/golang/protobuf";
rev = "b5d812f8a3706043e23a9cd5babf2e5423744d30";
sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
};
}
{
goPackagePath = "github.com/google/uuid";
fetch = {
type = "git";
url = "https://github.com/google/uuid";
rev = "0cd6bf5da1e1c83f8b45653022c74f71af0538a4";
sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb";
};
}
{
goPackagePath = "github.com/gorilla/mux";
fetch = {
type = "git";
url = "https://github.com/gorilla/mux";
rev = "c5c6c98bc25355028a63748a498942a6398ccd22";
sha256 = "0im4da3hqxb6zr8g3m640qz234f5gs0a8hqhcz35mkvfqlv48f62";
};
}
{
goPackagePath = "github.com/gorilla/websocket";
fetch = {
type = "git";
url = "https://github.com/gorilla/websocket";
rev = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b";
sha256 = "1bhgs2542qs49p1dafybqxfs2qc072xv41w5nswyrknwyjxxs2a1";
};
}
{
goPackagePath = "github.com/grpc-ecosystem/grpc-opentracing";
fetch = {
type = "git";
url = "https://github.com/grpc-ecosystem/grpc-opentracing";
rev = "8e809c8a86450a29b90dcc9efbf062d0fe6d9746";
sha256 = "1yz3gxhdipmi63n32y5srwx7p254k3fm8y64cimkb1gz7sw99nxw";
};
}
{
goPackagePath = "github.com/jonboulle/clockwork";
fetch = {
type = "git";
url = "https://github.com/jonboulle/clockwork";
rev = "2eee05ed794112d45db504eb05aa693efd2b8b09";
sha256 = "1pqxhsdavbp1n5grgyx2j6ylvql2fzn2cvpsgkc8li69dil7sibl";
};
}
{
goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
fetch = {
type = "git";
url = "https://github.com/konsorten/go-windows-terminal-sequences";
rev = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e";
sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
};
}
{
goPackagePath = "github.com/lib/pq";
fetch = {
type = "git";
url = "https://github.com/lib/pq";
rev = "51e2106eed1cea199c802d2a49e91e2491b02056";
sha256 = "00kp0k7sd7xrv92crd2xja68z096b2fw0mlz58mdjlri9w72hqbf";
};
}
{
goPackagePath = "github.com/mattn/go-colorable";
fetch = {
type = "git";
url = "https://github.com/mattn/go-colorable";
rev = "3a70a971f94a22f2fa562ffcc7a0eb45f5daf045";
sha256 = "0l640974j804c1yyjfgyxqlsivz0yrzmbql4mhcw2azryigkp08p";
};
}
{
goPackagePath = "github.com/mattn/go-isatty";
fetch = {
type = "git";
url = "https://github.com/mattn/go-isatty";
rev = "c2a7a6ca930a4cd0bc33a3f298eb71960732a3a7";
sha256 = "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd";
};
}
{
goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
fetch = {
type = "git";
url = "https://github.com/matttproud/golang_protobuf_extensions";
rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
};
}
{
goPackagePath = "github.com/mholt/caddy";
fetch = {
type = "git";
url = "https://github.com/mholt/caddy";
rev = "d3b731e9255b72d4571a5aac125634cf1b6031dc";
sha256 = "1183cfaryw7m3hvngzv87w80pc9vp3369sjyz7a0dlbr39jip1r0";
};
}
{
goPackagePath = "github.com/miekg/dns";
fetch = {
type = "git";
url = "https://github.com/miekg/dns";
rev = "73601d4aed9d844322611759d7f3619110b7c88e";
sha256 = "1frnj97bbch1qhg55fx2yz6mdjsz8fw94sj7pkrjms239j7vqcvm";
};
}
{
goPackagePath = "github.com/mitchellh/go-homedir";
fetch = {
type = "git";
url = "https://github.com/mitchellh/go-homedir";
rev = "af06845cf3004701891bf4fdb884bfe4920b3727";
sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
};
}
{
goPackagePath = "github.com/opentracing/opentracing-go";
fetch = {
type = "git";
url = "https://github.com/opentracing/opentracing-go";
rev = "659c90643e714681897ec2521c60567dd21da733";
sha256 = "0aj9cbm21zsg1i5l25hz8gn0yf99yxyxcp1gqh3yd5g4knj2cgzf";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "645ef00459ed84a119197bfb8d8205042c6df63d";
sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "792786c7400a136282c1664665ae0a8db921c6c2";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/prometheus/client_golang";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_golang";
rev = "967789050ba94deca04a5e84cce8ad472ce313c1";
sha256 = "1djwz6shmyx5kbp9b1pim3kncq2jwn3qhbx4b0b4lq7msww76hpz";
};
}
{
goPackagePath = "github.com/prometheus/client_model";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_model";
rev = "fd36f4220a901265f90734c3183c5f0c91daa0b8";
sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
};
}
{
goPackagePath = "github.com/prometheus/common";
fetch = {
type = "git";
url = "https://github.com/prometheus/common";
rev = "a82f4c12f983cc2649298185f296632953e50d3e";
sha256 = "0pcgnxrv2i31jljqzhkv5hpdz92f6zrkh2p1i7i59acfz1fxhq0s";
};
}
{
goPackagePath = "github.com/prometheus/procfs";
fetch = {
type = "git";
url = "https://github.com/prometheus/procfs";
rev = "8368d24ba045f26503eb745b624d930cbe214c79";
sha256 = "0cfrgsy82c964hcmzzyk6ccghpr9dkfvdlxa0cj9cfc0w94cqvrl";
};
}
{
goPackagePath = "github.com/rifflock/lfshook";
fetch = {
type = "git";
url = "https://github.com/rifflock/lfshook";
rev = "b9218ef580f59a2e72dad1aa33d660150445d05a";
sha256 = "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc";
};
}
{
goPackagePath = "github.com/sirupsen/logrus";
fetch = {
type = "git";
url = "https://github.com/sirupsen/logrus";
rev = "839c75faf7f98a33d445d181f3018b5c3409a45e";
sha256 = "087k2lxrr9p9dh68yw71d05h5g9p5v26zbwd6j7lghinjfaw334x";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "12b6f73e6084dad08a7c6e575284b177ecafbc71";
sha256 = "01f80s0q64pw5drfgqwwk1wfwwkvd2lhbs56lhhkff4ni83k73fd";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "f416ebab96af27ca70b6e5c23d6a0747530da626";
sha256 = "1cmddgh6x1c3lij50r8245jhqgi4j00add4wjpqpc2dmcg5928m3";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "1da14a5a36f220ea3f03470682b737b1dfd5de22";
sha256 = "1ivqwn3r44vlldlj53669jvsd6klwsg7hmla7f0vz03ny8xz4lpz";
};
}
{
goPackagePath = "golang.org/x/sync";
fetch = {
type = "git";
url = "https://go.googlesource.com/sync";
rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca";
sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "12500544f89f9420afe9529ba8940bf72d294972";
sha256 = "1y37dlbbsp1dkfqaf563fwlf3xl74ymswmy52faqyv0wpcbwixgy";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
};
}
{
goPackagePath = "google.golang.org/genproto";
fetch = {
type = "git";
url = "https://github.com/google/go-genproto";
rev = "d1146b9035b912113a38af3b138eb2af567b2c67";
sha256 = "1ry1vbbnfh7i3zrv3vmbsbmq2w8jmz88ykd6cxviijnxvms3zab8";
};
}
{
goPackagePath = "google.golang.org/grpc";
fetch = {
type = "git";
url = "https://github.com/grpc/grpc-go";
rev = "236199dd5f8031d698fb64091194aecd1c3895b2";
sha256 = "0rzpcmp5fscg3smn0aiaahgimv74smylg701na5px3pn5iymh94a";
};
}
{
goPackagePath = "gopkg.in/urfave/cli.v2";
fetch = {
type = "git";
url = "https://github.com/cbranch/cli";
rev = "d604b6ffeee878fbf084fd2761466b6649989cee";
sha256 = "16csqipw5vrbb91m9w9g72jlxlrhcyxa79fz6fjp6803znmjdpk2";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://github.com/go-yaml/yaml";
rev = "51d6538a90f86fe93ac480b35f37b2be17fef232";
sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
};
}
{
goPackagePath = "zombiezen.com/go/capnproto2";
fetch = {
type = "git";
url = "https://github.com/zombiezen/go-capnproto2";
rev = "7cfd211c19c7f5783c695f3654efa46f0df259c3";
sha256 = "0nzw3g8xpxyzwqqv3ja0iznd0j18l1rwagwhf9sinwdjjgmh51sy";
};
}
]

View File

@ -2,7 +2,7 @@
buildGoModule rec { buildGoModule rec {
pname = "k9s"; pname = "k9s";
version = "0.13.6"; version = "0.13.8";
# rev is the release commit, mainly for version command output # rev is the release commit, mainly for version command output
rev = "8fedc42304ce33df314664eb0c4ac73be59065af"; rev = "8fedc42304ce33df314664eb0c4ac73be59065af";
@ -10,7 +10,7 @@ buildGoModule rec {
owner = "derailed"; owner = "derailed";
repo = "k9s"; repo = "k9s";
rev = "v${version}"; rev = "v${version}";
sha256 = "1gffbj6pgys6k3i8ikcy3yr2r9cwg0xki55yz5yg6z4a8h0jc8a6"; sha256 = "0xkxvgqzzhz5bhbqwgyw9w238kadqccr1fbvrxjcjr32xlbs56z2";
}; };
buildFlagsArray = '' buildFlagsArray = ''

View File

@ -1,12 +1,12 @@
{ stdenv, fetchgit, openssl, curl, coreutils, gawk, bash, which }: { stdenv, fetchgit, openssl, curl, coreutils, gawk, bash, which }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "esniper-2.35.0-18-g4a59da0"; name = "esniper-2.35.0-21-g6379846";
src = fetchgit { src = fetchgit {
url = "https://git.code.sf.net/p/esniper/git"; url = "https://git.code.sf.net/p/esniper/git";
rev = "4a59da032aa4536b9e5ea95633247650412511db"; rev = "637984623984ef36782d52d8968df7fae7bbb0a7";
sha256 = "0d3vazh5q7wymqahggbb2apl9hgrm037y4s3j91d24hjgk2pzzyd"; sha256 = "1md3fzs0k88f6mgvrj1yrh96mn0qlca2p6vfqj6dnpyb8pjjwp8w";
}; };
buildInputs = [ openssl curl ]; buildInputs = [ openssl curl ];

View File

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "FlexGet"; pname = "FlexGet";
version = "3.1.18"; version = "3.1.21";
src = python3Packages.fetchPypi { src = python3Packages.fetchPypi {
inherit pname version; inherit pname version;
sha256 = "34be4ac61dbb5699cfbc9db8bf4f4be15a63164d9006d8ac7c488278d00baa62"; sha256 = "ea2c9225bbf565215fc97eed97e718f426b4b7b3c8628bbd8edcc96e7bfe7e4e";
}; };
postPatch = '' postPatch = ''

View File

@ -1,29 +1,31 @@
{ stdenv, fetchFromGitHub, python3Packages { stdenv, fetchFromGitHub, python3Packages, wrapQtAppsHook }:
}:
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
name = "qnotero-${version}"; pname = "qnotero";
version = "1.0.0"; version = "2.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "smathot"; owner = "ealbiter";
repo = "qnotero"; repo = pname;
rev = "release/${version}"; rev = "v${version}";
name = "qnotero-${version}-src"; sha256 = "16ckcjxa3dgmz1y8gd57q2h84akra3j4bgl4fwv4m05bam3ml1xs";
sha256 = "1d5a9k1llzn9q1qv1bfwc7gfflabh4riplz9jj0hf04b279y1bj0";
}; };
propagatedBuildInputs = [ python3Packages.pyqt4 ]; propagatedBuildInputs = [ python3Packages.pyqt5 wrapQtAppsHook ];
patchPhase = '' patchPhase = ''
substituteInPlace ./setup.py \ substituteInPlace ./setup.py \
--replace "/usr/share" "usr/share" --replace "/usr/share" "usr/share"
substituteInPlace ./libqnotero/_themes/default.py \ substituteInPlace ./libqnotero/_themes/light.py \
--replace "/usr/share" "$out/usr/share" --replace "/usr/share" "$out/usr/share"
''; '';
preFixup = ''
wrapQtApp "$out"/bin/qnotero
'';
meta = { meta = {
description = "Quick access to Zotero references"; description = "Quick access to Zotero references";
homepage = http://www.cogsci.nl/software/qnotero; homepage = http://www.cogsci.nl/software/qnotero;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "picard-tools"; pname = "picard-tools";
version = "2.21.6"; version = "2.21.8";
src = fetchurl { src = fetchurl {
url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar"; url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
sha256 = "1vpyzhrs3bbviwk2n7k5296rnsw7g9ksvjsibl0gm7dawip9jb5s"; sha256 = "0wxacfyxqvd39mzmwkwz39g4mf0ig1zcgymwbhsnhmn9j60mdmrf";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -4,12 +4,12 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "marvin"; pname = "marvin";
version = "19.27.0"; version = "20.3.0";
src = fetchurl { src = fetchurl {
name = "marvin-${version}.deb"; name = "marvin-${version}.deb";
url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb"; url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
sha256 = "10pzprr43pklf4yl14m9q921ynalsil1dsfbl6lx8r1jmyjgl3w7"; sha256 = "1y2vh1n80mrrbxqbhxfag8h4lisarbw8h3labmh3ajrfan7bmhql";
}; };
nativeBuildInputs = [ dpkg makeWrapper ]; nativeBuildInputs = [ dpkg makeWrapper ];

View File

@ -1,15 +1,15 @@
{ stdenv, fetchFromGitHub, qtbase, qttools, qmake, wrapQtAppsHook }: { lib, mkDerivation, fetchFromGitHub, qtbase, qttools, qmake, wrapQtAppsHook }:
stdenv.mkDerivation { mkDerivation {
pname = "librepcb"; pname = "librepcb";
version = "0.1.2"; version = "0.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "LibrePCB"; owner = "LibrePCB";
repo = "LibrePCB"; repo = "LibrePCB";
fetchSubmodules = true; fetchSubmodules = true;
rev = "acdd94d9d2310f79215125b999153e9da88a9376"; rev = "56bc60d347ff67df0fe1d57807d03f0606de557f";
sha256 = "1bbl01rp75sl6k1cmch7x90v00lck578xvqmb856s9fx75bdgnv5"; sha256 = "0z6jn5zawp0x5i9zda7l787jnsv3yl8aqwnpii3g4hsnf2q3hhrh";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
@ -29,7 +29,7 @@ stdenv.mkDerivation {
wrapQtApp $out/bin/librepcb wrapQtApp $out/bin/librepcb
''; '';
meta = with stdenv.lib; { meta = with lib; {
description = "A free EDA software to develop printed circuit boards"; description = "A free EDA software to develop printed circuit boards";
homepage = https://librepcb.org/; homepage = https://librepcb.org/;
maintainers = with maintainers; [ luz ]; maintainers = with maintainers; [ luz ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "symbiyosys"; pname = "symbiyosys";
version = "2019.10.11"; version = "2020.02.08";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "yosyshq"; owner = "YosysHQ";
repo = "symbiyosys"; repo = "SymbiYosys";
rev = "23f89011b678daa9da406d4f45f790e45f8f68ca"; rev = "500b526131f434b9679732fc89515dbed67c8d7d";
sha256 = "01596yvfj79iywwczjwlb2l9qnh7bsj7jff66jdk1ybjnxf841f0"; sha256 = "1pwbirszc80r288x81nx032snniqgmc80i09bbha2i3zd0c3pj5h";
}; };
buildInputs = [ python3 yosys ]; buildInputs = [ python3 yosys ];

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gmsh"; pname = "gmsh";
version = "4.5.1"; version = "4.5.2";
src = fetchurl { src = fetchurl {
url = "http://gmsh.info/src/gmsh-${version}-source.tgz"; url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
sha256 = "0rjwxpz5qwq6dj7ka53mhxlgnp9bs5jphhsamlb0nk3h8kzckisq"; sha256 = "10i6i1s68lkccnl73lzr04cf1hc5rd8b7dpiaxs1vzrj1ljgw801";
}; };
buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL

View File

@ -4,11 +4,11 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "git-machete"; pname = "git-machete";
version = "2.12.6"; version = "2.13.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1h7daf74s0plnqrz2f63s6rak8fmqns96ydjn01366bcsqrbvkw6"; sha256 = "1qq94x4rqn8vl5h11bn5d4x5ybsbj769kgf4lnj56my7si7qy8qn";
}; };
nativeBuildInputs = [ installShellFiles pbr ]; nativeBuildInputs = [ installShellFiles pbr ];

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "crun"; pname = "crun";
version = "0.12"; version = "0.12.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0sxpdv3afh8hn39jdg06vwkyp7i6dsyf1gg8719vwiwmcbhzj8mx"; sha256 = "0dj6lf5yflbsybv7qkx19xvcfy5pv46k9mys7imr7akr9r1bcl5s";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -5,13 +5,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "podman"; pname = "podman";
version = "1.7.0"; version = "1.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = "libpod"; repo = "libpod";
rev = "v${version}"; rev = "v${version}";
sha256 = "1f1dq9g08mlm9y9d7jbs780nrfc25ln97ca5qifcsyc9bmp4f6r1"; sha256 = "1rbapks11xg0vgl9m322mijirx0wm6c4yav8aw2y41wsr7qd7db4";
}; };
goPackagePath = "github.com/containers/libpod"; goPackagePath = "github.com/containers/libpod";

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "i3status-rust"; pname = "i3status-rust";
version = "0.13.0"; version = "0.13.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "greshake"; owner = "greshake";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "047ivrp70kwsm4792ing8dvgh161cmayzy9ij6ww61fbkb4slr1i"; sha256 = "0va6ny1v7lk30hhx4i5qyk9fwg3apy2nmh6kbmxhcf0rs5449ikg";
}; };
cargoSha256 = "16rgg0fy50n0z0kal52iaxiqwhw4qpjvzyqwaldm29fq9c0105d1"; cargoSha256 = "099hn0pm9ppply3m3dwns3f5p43rdag2d3niaj8jyc1mnavviwjv";
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -1,14 +1,14 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "1.0.2"; version = "1.0.3";
in in
fetchzip rec { fetchzip rec {
name = "JetBrainsMono-${version}"; name = "JetBrainsMono-${version}";
url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip"; url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
sha256 = "0fyn7yb1m9gkzbbzv25f8v6qzv7w4amqv3z4fpfb262l1f6yq41i"; sha256 = "16am5fxvda24jfl8lb9jf8mkcqfc97scj8hvwgd3m771db0dpflf";
postFetch = '' postFetch = ''
mkdir -p $out/share/fonts mkdir -p $out/share/fonts

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "matcha"; pname = "matcha";
version = "2019-11-02"; version = "2020-02-06";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vinceliuice"; owner = "vinceliuice";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0wci9ahap8kynq8cbyxr7aba9ndb1d4kiq42xvzr34vw1rhcahrr"; sha256 = "14kii4dn028yqbsd0pr195di067harh9z2h753856dlxvs8d6vkx";
}; };
buildInputs = [ gdk-pixbuf librsvg ]; buildInputs = [ gdk-pixbuf librsvg ];
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A stylish Design theme for GTK based desktop environments"; description = "A stylish Design theme for GTK based desktop environments";
homepage = https://vinceliuice.github.io/theme-matcha; homepage = "https://vinceliuice.github.io/theme-matcha";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.romildo ]; maintainers = [ maintainers.romildo ];

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cinnamon-translations"; pname = "cinnamon-translations";
version = "4.4.0"; version = "4.4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxmint"; owner = "linuxmint";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0hh6shfj7vc1mw814l38cakfmh135ba8j604h1rmx4zwspwgvgzh"; sha256 = "1n1nkapcgxmbv0l8hrx5cf588pi4ifx12xbz46lq4p1ijrlfivba";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -14,14 +14,14 @@ let
in in
with stdenv; mkDerivation rec { with stdenv; mkDerivation rec {
pname = "nextpnr"; pname = "nextpnr";
version = "2019.10.13"; version = "2020.02.04";
srcs = [ srcs = [
(fetchFromGitHub { (fetchFromGitHub {
owner = "YosysHQ"; owner = "YosysHQ";
repo = "nextpnr"; repo = "nextpnr";
rev = "c365dd1cabc3a4308ab9110534918623622c246b"; rev = "ca733561873cd54be047ae30a94efcd71b3f8be5";
sha256 = "1344pyq9xb5y1vxsnfgr488drfjsa6ls1jck0z9hwam6vg55s10r"; sha256 = "176drrq6w53qbwmnksa1b22w9qz3gd1db9hy2lyv8svbcdxd9qwp";
name = "nextpnr"; name = "nextpnr";
}) })
(fetchFromGitHub { (fetchFromGitHub {
@ -45,10 +45,11 @@ with stdenv; mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
cmakeFlags = cmakeFlags =
[ "-DARCH=generic;ice40;ecp5" [ "-DCURRENT_GIT_VERSION=${lib.substring 0 7 (lib.elemAt srcs 0).rev}"
"-DARCH=generic;ice40;ecp5"
"-DBUILD_TESTS=ON" "-DBUILD_TESTS=ON"
"-DICEBOX_ROOT=${icestorm}/share/icebox" "-DICEBOX_ROOT=${icestorm}/share/icebox"
"-DTRELLIS_ROOT=${trellis}/share/trellis" "-DTRELLIS_INSTALL_PREFIX=${trellis}"
"-DPYTRELLIS_LIBDIR=${trellis}/lib/trellis" "-DPYTRELLIS_LIBDIR=${trellis}/lib/trellis"
"-DUSE_OPENMP=ON" "-DUSE_OPENMP=ON"
# warning: high RAM usage # warning: high RAM usage
@ -58,12 +59,7 @@ with stdenv; mkDerivation rec {
++ (lib.optional (enableGui && stdenv.isDarwin) ++ (lib.optional (enableGui && stdenv.isDarwin)
"-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks"); "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks");
# Fix the version number. This is a bit stupid (and fragile) in practice
# but works ok. We should probably make this overrideable upstream.
patchPhase = with builtins; '' patchPhase = with builtins; ''
substituteInPlace ./CMakeLists.txt \
--replace 'git log -1 --format=%h' 'echo ${substring 0 11 (elemAt srcs 0).rev}'
# use PyPy for icestorm if enabled # use PyPy for icestorm if enabled
substituteInPlace ./ice40/family.cmake \ substituteInPlace ./ice40/family.cmake \
--replace ''\'''${PYTHON_EXECUTABLE}' '${icestorm.pythonInterp}' --replace ''\'''${PYTHON_EXECUTABLE}' '${icestorm.pythonInterp}'

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation ( rec { stdenv.mkDerivation ( rec {
pname = "ponyc"; pname = "ponyc";
version = "0.33.1"; version = "0.33.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ponylang"; owner = "ponylang";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0wqbnvxdzzwr9q4v9ha9r9jjymr6y8ba1rb2lkzrng4g9p6xqbxy"; sha256 = "0jcdr1r3g8sm3q9fcc87d6x98fg581n6hb90hz7r08mzn4bwvysw";
}; };
buildInputs = [ llvm makeWrapper which libxml2 ]; buildInputs = [ llvm makeWrapper which libxml2 ];

View File

@ -15,14 +15,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "yosys"; pname = "yosys";
version = "2020.02.01"; version = "2020.02.07";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "yosyshq"; owner = "YosysHQ";
repo = "yosys"; repo = "yosys";
rev = "a1c840ca5d6e8b580e21ae48550570aa9665741a"; rev = "2e8d6ec0b06b4e51e222c15c8049130bc264ae57";
sha256 = "1vna04dh6l68nifssgs3hxqwn4k529krmm4crj94a8wwhwra52mh"; sha256 = "0asnqhxs5r5r2xmvsk9pbgyqgk53j1snh7c9qizcppn4csapda81";
name = "yosys";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -74,7 +74,7 @@ self: super: {
name = "git-annex-${super.git-annex.version}-src"; name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/"; url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version; rev = "refs/tags/" + super.git-annex.version;
sha256 = "0s8sv6h90l2a9xdabj0nirhpr6d2k8s5cddjdkm50x395i014w31"; sha256 = "1shb1jgm78bx88rbsr1nmimjzzfqw96qdr38mcrr1c2qz5ky820v";
}; };
}).override { }).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null; dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@ -1236,7 +1236,7 @@ self: super: {
constraints-deriving = dontCheck super.constraints-deriving; constraints-deriving = dontCheck super.constraints-deriving;
# Use a matching version of ghc-lib-parser. # Use a matching version of ghc-lib-parser.
ghc-lib-parser-ex = super.ghc-lib-parser-ex.override { ghc-lib-parser = self.ghc-lib-parser_8_8_2; }; ghc-lib-parser-ex = super.ghc-lib-parser-ex.override { ghc-lib-parser = self.ghc-lib-parser_8_8_2_20200205; };
# https://github.com/sol/hpack/issues/366 # https://github.com/sol/hpack/issues/366
hpack = self.hpack_0_33_0; hpack = self.hpack_0_33_0;
@ -1350,7 +1350,7 @@ self: super: {
# There are more complicated ways of doing this but I was able to make it fairly simple -- kiwi # There are more complicated ways of doing this but I was able to make it fairly simple -- kiwi
matterhorn = doJailbreak (super.matterhorn.override { matterhorn = doJailbreak (super.matterhorn.override {
brick-skylighting = self.brick-skylighting.override { brick-skylighting = self.brick-skylighting.override {
brick = self.brick_0_50_1; brick = self.brick_0_51;
}; };
}); });
@ -1380,7 +1380,7 @@ self: super: {
# Needs ghc-lib-parser 8.8.1 (does not build with 8.8.0) # Needs ghc-lib-parser 8.8.1 (does not build with 8.8.0)
ormolu = doJailbreak (super.ormolu.override { ormolu = doJailbreak (super.ormolu.override {
ghc-lib-parser = self.ghc-lib-parser_8_8_2; ghc-lib-parser = self.ghc-lib-parser_8_8_2_20200205;
}); });
# krank-0.1.0 does not accept PyF-0.9.0.0. # krank-0.1.0 does not accept PyF-0.9.0.0.
@ -1389,4 +1389,8 @@ self: super: {
# prettyprinter-1.6.0 fails its doctest suite. # prettyprinter-1.6.0 fails its doctest suite.
prettyprinter_1_6_0 = dontCheck super.prettyprinter_1_6_0; prettyprinter_1_6_0 = dontCheck super.prettyprinter_1_6_0;
# the test suite has an overly tight restriction on doctest
# See https://github.com/ekmett/perhaps/pull/5
perhaps = doJailbreak super.perhaps;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View File

@ -81,4 +81,10 @@ self: super: {
hackage-db = self.hackage-db_2_1_0; hackage-db = self.hackage-db_2_1_0;
}); });
# cabal2spec needs a recent version of Cabal
cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
# Builds only with ghc-8.8.x and beyond.
policeman = markBroken super.policeman;
} }

View File

@ -70,7 +70,7 @@ self: super: {
xmobar = doJailbreak super.xmobar; xmobar = doJailbreak super.xmobar;
# use latest version to fix the build # use latest version to fix the build
brick = self.brick_0_50_1; brick = self.brick_0_51;
dbus = self.dbus_1_2_11; dbus = self.dbus_1_2_11;
doctemplates = self.doctemplates_0_8; doctemplates = self.doctemplates_0_8;
exact-pi = doJailbreak super.exact-pi; exact-pi = doJailbreak super.exact-pi;
@ -82,7 +82,7 @@ self: super: {
HaTeX = self.HaTeX_3_22_0_0; HaTeX = self.HaTeX_3_22_0_0;
HsYAML = self.HsYAML_0_2_1_0; HsYAML = self.HsYAML_0_2_1_0;
json-autotype = doJailbreak super.json-autotype; json-autotype = doJailbreak super.json-autotype;
lens = self.lens_4_18_1; lens = self.lens_4_19;
memory = self.memory_0_15_0; memory = self.memory_0_15_0;
microlens = self.microlens_0_4_11_2; microlens = self.microlens_0_4_11_2;
microlens-ghc = self.microlens-ghc_0_4_12; microlens-ghc = self.microlens-ghc_0_4_12;

View File

@ -69,7 +69,7 @@ core-packages:
default-package-overrides: default-package-overrides:
# pandoc-2.9 does not accept the 0.3 version yet # pandoc-2.9 does not accept the 0.3 version yet
- doclayout < 0.3 - doclayout < 0.3
# LTS Haskell 14.22 # LTS Haskell 14.23
- abstract-deque ==0.3 - abstract-deque ==0.3
- abstract-deque-tests ==0.3 - abstract-deque-tests ==0.3
- abstract-par ==0.3.3 - abstract-par ==0.3.3
@ -116,7 +116,7 @@ default-package-overrides:
- ansi-wl-pprint ==0.6.9 - ansi-wl-pprint ==0.6.9
- ANum ==0.2.0.2 - ANum ==0.2.0.2
- aos-signature ==0.1.1 - aos-signature ==0.1.1
- apecs ==0.8.2 - apecs ==0.8.3
- apecs-gloss ==0.2.3 - apecs-gloss ==0.2.3
- apecs-physics ==0.4.2 - apecs-physics ==0.4.2
- api-field-json-th ==0.1.0.2 - api-field-json-th ==0.1.0.2
@ -132,7 +132,6 @@ default-package-overrides:
- arrow-extras ==0.1.0.1 - arrow-extras ==0.1.0.1
- asciidiagram ==1.3.3.3 - asciidiagram ==1.3.3.3
- ascii-progress ==0.3.3.0 - ascii-progress ==0.3.3.0
- asif ==6.0.4
- asn1-encoding ==0.9.6 - asn1-encoding ==0.9.6
- asn1-parse ==0.9.5 - asn1-parse ==0.9.5
- asn1-types ==0.3.3 - asn1-types ==0.3.3
@ -183,7 +182,7 @@ default-package-overrides:
- base-compat-batteries ==0.10.5 - base-compat-batteries ==0.10.5
- basement ==0.0.11 - basement ==0.0.11
- base-noprelude ==4.12.0.0 - base-noprelude ==4.12.0.0
- base-orphans ==0.8.1 - base-orphans ==0.8.2
- base-prelude ==1.3 - base-prelude ==1.3
- base-unicode-symbols ==0.2.3 - base-unicode-symbols ==0.2.3
- basic-prelude ==0.7.0 - basic-prelude ==0.7.0
@ -202,7 +201,7 @@ default-package-overrides:
- bencoding ==0.4.5.2 - bencoding ==0.4.5.2
- between ==0.11.0.0 - between ==0.11.0.0
- bibtex ==0.1.0.6 - bibtex ==0.1.0.6
- bifunctors ==5.5.6 - bifunctors ==5.5.7
- bimap ==0.4.0 - bimap ==0.4.0
- bimap-server ==0.1.0.1 - bimap-server ==0.1.0.1
- binary-bits ==0.5 - binary-bits ==0.5
@ -406,7 +405,7 @@ default-package-overrides:
- conduit-throttle ==0.3.1.0 - conduit-throttle ==0.3.1.0
- conduit-zstd ==0.0.1.1 - conduit-zstd ==0.0.1.1
- config-ini ==0.2.4.0 - config-ini ==0.2.4.0
- configuration-tools ==0.4.1 - configuration-tools ==0.4.2
- configurator ==0.3.0.0 - configurator ==0.3.0.0
- configurator-export ==0.1.0.1 - configurator-export ==0.1.0.1
- configurator-pg ==0.1.0.3 - configurator-pg ==0.1.0.3
@ -640,7 +639,7 @@ default-package-overrides:
- errors ==2.3.0 - errors ==2.3.0
- errors-ext ==0.4.2 - errors-ext ==0.4.2
- error-util ==0.0.1.2 - error-util ==0.0.1.2
- ersatz ==0.4.7 - ersatz ==0.4.8
- esqueleto ==3.0.0 - esqueleto ==3.0.0
- etc ==0.4.1.0 - etc ==0.4.1.0
- eventful-core ==0.2.0 - eventful-core ==0.2.0
@ -677,13 +676,13 @@ default-package-overrides:
- fast-logger ==2.4.17 - fast-logger ==2.4.17
- fast-math ==1.0.2 - fast-math ==1.0.2
- fb ==2.0.0 - fb ==2.0.0
- fclabels ==2.0.3.3 - fclabels ==2.0.4
- feature-flags ==0.1.0.1 - feature-flags ==0.1.0.1
- fedora-dists ==1.0.1 - fedora-dists ==1.0.1
- feed ==1.2.0.1 - feed ==1.2.0.1
- FenwickTree ==0.1.2.1 - FenwickTree ==0.1.2.1
- fft ==0.1.8.6 - fft ==0.1.8.6
- fgl ==5.7.0.1 - fgl ==5.7.0.2
- fib ==0.1 - fib ==0.1
- filecache ==0.4.1 - filecache ==0.4.1
- file-embed ==0.0.11.1 - file-embed ==0.0.11.1
@ -709,7 +708,7 @@ default-package-overrides:
- flac ==0.2.0 - flac ==0.2.0
- flac-picture ==0.1.2 - flac-picture ==0.1.2
- flags-applicative ==0.1.0.2 - flags-applicative ==0.1.0.2
- flat-mcmc ==1.5.0 - flat-mcmc ==1.5.1
- flay ==0.4 - flay ==0.4
- flexible-defaults ==0.0.3 - flexible-defaults ==0.0.3
- FloatingHex ==0.4 - FloatingHex ==0.4
@ -742,7 +741,7 @@ default-package-overrides:
- free-vl ==0.1.4 - free-vl ==0.1.4
- friendly-time ==0.4.1 - friendly-time ==0.4.1
- frisby ==0.2.2 - frisby ==0.2.2
- from-sum ==0.2.2.0 - from-sum ==0.2.3.0
- frontmatter ==0.1.0.2 - frontmatter ==0.1.0.2
- fsnotify ==0.3.0.1 - fsnotify ==0.3.0.1
- fsnotify-conduit ==0.1.1.1 - fsnotify-conduit ==0.1.1.1
@ -848,7 +847,7 @@ default-package-overrides:
- graph-core ==0.3.0.0 - graph-core ==0.3.0.0
- graphite ==0.10.0.1 - graphite ==0.10.0.1
- graphs ==0.7.1 - graphs ==0.7.1
- graphviz ==2999.20.0.3 - graphviz ==2999.20.0.4
- graph-wrapper ==0.2.6.0 - graph-wrapper ==0.2.6.0
- gravatar ==0.8.0 - gravatar ==0.8.0
- graylog ==0.1.0.1 - graylog ==0.1.0.1
@ -1059,7 +1058,7 @@ default-package-overrides:
- hw-dsv ==0.3.5 - hw-dsv ==0.3.5
- hweblib ==0.6.3 - hweblib ==0.6.3
- hw-eliasfano ==0.1.1.0 - hw-eliasfano ==0.1.1.0
- hw-excess ==0.2.2.2 - hw-excess ==0.2.2.3
- hw-fingertree ==0.1.1.1 - hw-fingertree ==0.1.1.1
- hw-fingertree-strict ==0.1.1.3 - hw-fingertree-strict ==0.1.1.3
- hw-hedgehog ==0.1.0.5 - hw-hedgehog ==0.1.0.5
@ -1171,7 +1170,7 @@ default-package-overrides:
- js-jquery ==3.3.1 - js-jquery ==3.3.1
- json ==0.9.3 - json ==0.9.3
- json-alt ==1.0.0 - json-alt ==1.0.0
- json-feed ==1.0.7 - json-feed ==1.0.8
- jsonpath ==0.1.0.2 - jsonpath ==0.1.0.2
- json-rpc ==1.0.1 - json-rpc ==1.0.1
- json-rpc-client ==0.2.5.0 - json-rpc-client ==0.2.5.0
@ -1183,13 +1182,13 @@ default-package-overrides:
- justified-containers ==0.3.0.0 - justified-containers ==0.3.0.0
- jwt ==0.10.0 - jwt ==0.10.0
- kan-extensions ==5.2 - kan-extensions ==5.2
- kanji ==3.4.0.2 - kanji ==3.4.1
- katip ==0.8.3.0 - katip ==0.8.3.0
- kawhi ==0.3.0 - kawhi ==0.3.0
- kazura-queue ==0.1.0.4 - kazura-queue ==0.1.0.4
- kdt ==0.2.4 - kdt ==0.2.4
- keycode ==0.2.2 - keycode ==0.2.2
- keys ==3.12.2 - keys ==3.12.3
- kind-apply ==0.3.2.0 - kind-apply ==0.3.2.0
- kind-generics ==0.3.0.0 - kind-generics ==0.3.0.0
- kind-generics-th ==0.1.1.0 - kind-generics-th ==0.1.1.0
@ -1199,7 +1198,7 @@ default-package-overrides:
- kraken ==0.1.0 - kraken ==0.1.0
- l10n ==0.1.0.1 - l10n ==0.1.0.1
- labels ==0.3.3 - labels ==0.3.3
- lackey ==1.0.10 - lackey ==1.0.11
- lambdabot-core ==5.2 - lambdabot-core ==5.2
- lambdabot-irc-plugins ==5.2 - lambdabot-irc-plugins ==5.2
- LambdaHack ==0.9.5.0 - LambdaHack ==0.9.5.0
@ -1211,7 +1210,7 @@ default-package-overrides:
- language-haskell-extract ==0.2.4 - language-haskell-extract ==0.2.4
- language-java ==0.2.9 - language-java ==0.2.9
- language-javascript ==0.6.0.14 - language-javascript ==0.6.0.14
- language-puppet ==1.4.6.1 - language-puppet ==1.4.6.2
- lapack ==0.3.1 - lapack ==0.3.1
- lapack-carray ==0.0.3 - lapack-carray ==0.0.3
- lapack-comfort-array ==0.0.0.1 - lapack-comfort-array ==0.0.0.1
@ -1247,10 +1246,10 @@ default-package-overrides:
- libffi ==0.1 - libffi ==0.1
- libgit ==0.3.1 - libgit ==0.3.1
- libgraph ==1.14 - libgraph ==1.14
- libmpd ==0.9.0.10 - libmpd ==0.9.1.0
- liboath-hs ==0.0.1.1 - liboath-hs ==0.0.1.1
- libraft ==0.5.0.0 - libraft ==0.5.0.0
- libyaml ==0.1.1.1 - libyaml ==0.1.2
- LibZip ==1.0.1 - LibZip ==1.0.1
- lifted-async ==0.10.0.4 - lifted-async ==0.10.0.4
- lifted-base ==0.2.3.12 - lifted-base ==0.2.3.12
@ -1278,7 +1277,7 @@ default-package-overrides:
- log-domain ==0.12 - log-domain ==0.12
- logfloat ==0.13.3.3 - logfloat ==0.13.3.3
- logger-thread ==0.1.0.2 - logger-thread ==0.1.0.2
- logging-effect ==1.3.8 - logging-effect ==1.3.9
- logging-facade ==0.3.0 - logging-facade ==0.3.0
- logging-facade-syslog ==1 - logging-facade-syslog ==1
- logict ==0.7.0.2 - logict ==0.7.0.2
@ -1404,7 +1403,6 @@ default-package-overrides:
- mono-traversable-keys ==0.1.0 - mono-traversable-keys ==0.1.0
- more-containers ==0.2.2.0 - more-containers ==0.2.2.0
- mountpoints ==1.0.2 - mountpoints ==1.0.2
- mpi-hs ==0.5.3.0
- msgpack ==1.0.1.0 - msgpack ==1.0.1.0
- msgpack-aeson ==0.1.0.0 - msgpack-aeson ==0.1.0.0
- mtl ==2.2.2 - mtl ==2.2.2
@ -1438,7 +1436,7 @@ default-package-overrides:
- natural-sort ==0.1.2 - natural-sort ==0.1.2
- natural-transformation ==0.4 - natural-transformation ==0.4
- ndjson-conduit ==0.1.0.5 - ndjson-conduit ==0.1.0.5
- neat-interpolation ==0.3.2.5 - neat-interpolation ==0.3.2.6
- netlib-carray ==0.1 - netlib-carray ==0.1
- netlib-comfort-array ==0.0.0.1 - netlib-comfort-array ==0.0.0.1
- netlib-ffi ==0.1.1 - netlib-ffi ==0.1.1
@ -1463,7 +1461,7 @@ default-package-overrides:
- network-simple-tls ==0.3.2 - network-simple-tls ==0.3.2
- network-transport ==0.5.4 - network-transport ==0.5.4
- network-transport-composed ==0.2.1 - network-transport-composed ==0.2.1
- network-uri ==2.6.1.0 - network-uri ==2.6.2.0
- newtype ==0.2.2.0 - newtype ==0.2.2.0
- newtype-generics ==0.5.4 - newtype-generics ==0.5.4
- nicify-lib ==1.0.1 - nicify-lib ==1.0.1
@ -1536,7 +1534,7 @@ default-package-overrides:
- palette ==0.3.0.2 - palette ==0.3.0.2
- pandoc ==2.7.3 - pandoc ==2.7.3
- pandoc-citeproc ==0.16.2 - pandoc-citeproc ==0.16.2
- pandoc-csv2table ==1.0.7 - pandoc-csv2table ==1.0.8
- pandoc-markdown-ghci-filter ==0.1.0.0 - pandoc-markdown-ghci-filter ==0.1.0.0
- pandoc-pyplot ==2.1.5.1 - pandoc-pyplot ==2.1.5.1
- pandoc-types ==1.17.6.1 - pandoc-types ==1.17.6.1
@ -1587,7 +1585,7 @@ default-package-overrides:
- persistent-iproute ==0.2.4 - persistent-iproute ==0.2.4
- persistent-mysql ==2.9.0 - persistent-mysql ==2.9.0
- persistent-mysql-haskell ==0.5.2 - persistent-mysql-haskell ==0.5.2
- persistent-pagination ==0.1.1.0 - persistent-pagination ==0.1.1.1
- persistent-postgresql ==2.9.1 - persistent-postgresql ==2.9.1
- persistent-qq ==2.9.1 - persistent-qq ==2.9.1
- persistent-sqlite ==2.9.3 - persistent-sqlite ==2.9.3
@ -1743,7 +1741,7 @@ default-package-overrides:
- range-set-list ==0.1.3.1 - range-set-list ==0.1.3.1
- rank1dynamic ==0.4.0 - rank1dynamic ==0.4.0
- rank2classes ==1.3.2.1 - rank2classes ==1.3.2.1
- Rasterific ==0.7.5 - Rasterific ==0.7.5.1
- rasterific-svg ==0.3.3.2 - rasterific-svg ==0.3.3.2
- ratel ==1.0.9 - ratel ==1.0.9
- ratel-wai ==1.1.1 - ratel-wai ==1.1.1
@ -1859,7 +1857,7 @@ default-package-overrides:
- scientific ==0.3.6.2 - scientific ==0.3.6.2
- scotty ==0.11.5 - scotty ==0.11.5
- scrypt ==0.5.0 - scrypt ==0.5.0
- sdl2 ==2.5.0.0 - sdl2 ==2.5.1.0
- sdl2-gfx ==0.2 - sdl2-gfx ==0.2
- sdl2-image ==2.0.0 - sdl2-image ==2.0.0
- sdl2-mixer ==1.1.0 - sdl2-mixer ==1.1.0
@ -1930,7 +1928,7 @@ default-package-overrides:
- sexpr-parser ==0.1.1.2 - sexpr-parser ==0.1.1.2
- SHA ==1.6.4.4 - SHA ==1.6.4.4
- shake-language-c ==0.12.0 - shake-language-c ==0.12.0
- shakespeare ==2.0.23 - shakespeare ==2.0.24
- shared-memory ==0.2.0.0 - shared-memory ==0.2.0.0
- shell-conduit ==4.7.0 - shell-conduit ==4.7.0
- shell-escape ==0.2.0 - shell-escape ==0.2.0
@ -1972,7 +1970,7 @@ default-package-overrides:
- slack-web ==0.2.0.11 - slack-web ==0.2.0.11
- smallcheck ==1.1.5 - smallcheck ==1.1.5
- smallcheck-series ==0.6.1 - smallcheck-series ==0.6.1
- smoothie ==0.4.2.9 - smoothie ==0.4.2.10
- snap-blaze ==0.2.1.5 - snap-blaze ==0.2.1.5
- snap-core ==1.0.4.1 - snap-core ==1.0.4.1
- snap-server ==1.1.1.1 - snap-server ==1.1.1.1
@ -2020,10 +2018,9 @@ default-package-overrides:
- stm-split ==0.0.2.1 - stm-split ==0.0.2.1
- stopwatch ==0.1.0.6 - stopwatch ==0.1.0.6
- storable-complex ==0.2.3.0 - storable-complex ==0.2.3.0
- storable-record ==0.0.4 - storable-record ==0.0.4.1
- storable-tuple ==0.0.3.3 - storable-tuple ==0.0.3.3
- storablevector ==0.2.13 - storablevector ==0.2.13
- store ==0.5.1.2
- store-core ==0.4.4.2 - store-core ==0.4.4.2
- Strafunski-StrategyLib ==5.0.1.0 - Strafunski-StrategyLib ==5.0.1.0
- stratosphere ==0.40.0 - stratosphere ==0.40.0
@ -2054,7 +2051,7 @@ default-package-overrides:
- stripe-signature ==1.0.0.1 - stripe-signature ==1.0.0.1
- stripe-wreq ==1.0.1.0 - stripe-wreq ==1.0.1.0
- strive ==5.0.9 - strive ==5.0.9
- structs ==0.1.2 - structs ==0.1.3
- structured-cli ==2.5.2.0 - structured-cli ==2.5.2.0
- summoner ==1.3.0.1 - summoner ==1.3.0.1
- sum-type-boilerplate ==0.1.1 - sum-type-boilerplate ==0.1.1
@ -2102,9 +2099,9 @@ default-package-overrides:
- tasty-hunit ==0.10.0.2 - tasty-hunit ==0.10.0.2
- tasty-kat ==0.0.3 - tasty-kat ==0.0.3
- tasty-leancheck ==0.0.1 - tasty-leancheck ==0.0.1
- tasty-lua ==0.2.0.1 - tasty-lua ==0.2.2
- tasty-program ==1.0.5 - tasty-program ==1.0.5
- tasty-quickcheck ==0.10.1 - tasty-quickcheck ==0.10.1.1
- tasty-silver ==3.1.13 - tasty-silver ==3.1.13
- tasty-smallcheck ==0.8.1 - tasty-smallcheck ==0.8.1
- tasty-th ==0.1.7 - tasty-th ==0.1.7
@ -2303,7 +2300,7 @@ default-package-overrides:
- users-test ==0.5.0.1 - users-test ==0.5.0.1
- utf8-light ==0.4.2 - utf8-light ==0.4.2
- utf8-string ==1.0.1.1 - utf8-string ==1.0.1.1
- util ==0.1.17.0 - util ==0.1.17.1
- utility-ht ==0.0.14 - utility-ht ==0.0.14
- uuid ==1.3.13 - uuid ==1.3.13
- uuid-types ==1.0.3 - uuid-types ==1.0.3
@ -2322,7 +2319,7 @@ default-package-overrides:
- valor ==0.1.0.0 - valor ==0.1.0.0
- vault ==0.3.1.3 - vault ==0.3.1.3
- vec ==0.1.1.1 - vec ==0.1.1.1
- vector ==0.12.0.3 - vector ==0.12.1.2
- vector-algorithms ==0.8.0.3 - vector-algorithms ==0.8.0.3
- vector-binary-instances ==0.2.5.1 - vector-binary-instances ==0.2.5.1
- vector-buffer ==0.4.1 - vector-buffer ==0.4.1
@ -2335,7 +2332,7 @@ default-package-overrides:
- vector-split ==1.0.0.2 - vector-split ==1.0.0.2
- vector-th-unbox ==0.2.1.7 - vector-th-unbox ==0.2.1.7
- verbosity ==0.3.0.0 - verbosity ==0.3.0.0
- versions ==3.5.2 - versions ==3.5.3
- ViennaRNAParser ==1.3.3 - ViennaRNAParser ==1.3.3
- viewprof ==0.0.0.32 - viewprof ==0.0.0.32
- vinyl ==0.11.0 - vinyl ==0.11.0
@ -2397,7 +2394,7 @@ default-package-overrides:
- wizards ==1.0.3 - wizards ==1.0.3
- wl-pprint-annotated ==0.1.0.1 - wl-pprint-annotated ==0.1.0.1
- wl-pprint-console ==0.1.0.2 - wl-pprint-console ==0.1.0.2
- wl-pprint-text ==1.2.0.0 - wl-pprint-text ==1.2.0.1
- word24 ==2.0.1 - word24 ==2.0.1
- word8 ==0.1.3 - word8 ==0.1.3
- wordpress-auth ==1.0.0.0 - wordpress-auth ==1.0.0.0
@ -2452,13 +2449,13 @@ default-package-overrides:
- yeshql ==4.1.0.1 - yeshql ==4.1.0.1
- yeshql-core ==4.1.0.2 - yeshql-core ==4.1.0.2
- yeshql-hdbc ==4.1.0.2 - yeshql-hdbc ==4.1.0.2
- yesod ==1.6.0 - yesod ==1.6.0.1
- yesod-alerts ==0.1.3.0 - yesod-alerts ==0.1.3.0
- yesod-auth ==1.6.8 - yesod-auth ==1.6.8.1
- yesod-auth-hashdb ==1.7.1.2 - yesod-auth-hashdb ==1.7.1.2
- yesod-auth-oauth2 ==0.6.1.2 - yesod-auth-oauth2 ==0.6.1.2
- yesod-bin ==1.6.0.4 - yesod-bin ==1.6.0.4
- yesod-core ==1.6.17 - yesod-core ==1.6.17.2
- yesod-csp ==0.2.5.0 - yesod-csp ==0.2.5.0
- yesod-eventsource ==1.6.0 - yesod-eventsource ==1.6.0
- yesod-fb ==0.5.0 - yesod-fb ==0.5.0
@ -3078,6 +3075,7 @@ broken-packages:
- atomic-primops-vector - atomic-primops-vector
- atomo - atomo
- ats-format - ats-format
- ats-pkg
- ats-setup - ats-setup
- ats-storable - ats-storable
- attic-schedule - attic-schedule
@ -6068,6 +6066,7 @@ broken-packages:
- hs-twitterarchiver - hs-twitterarchiver
- hs-vcard - hs-vcard
- hs-watchman - hs-watchman
- hs2ats
- hs2bf - hs2bf
- Hs2lib - Hs2lib
- hsaml2 - hsaml2
@ -6784,6 +6783,7 @@ broken-packages:
- lame - lame
- lame-tester - lame-tester
- lang - lang
- language-ats
- language-bash - language-bash
- language-boogie - language-boogie
- language-c-comments - language-c-comments
@ -7084,6 +7084,7 @@ broken-packages:
- lxd-client - lxd-client
- lye - lye
- Lykah - Lykah
- lz4-bytes
- lz4-conduit - lz4-conduit
- lzma-enumerator - lzma-enumerator
- lzma-streams - lzma-streams
@ -7945,7 +7946,6 @@ broken-packages:
- perfect-vector-shuffle - perfect-vector-shuffle
- PerfectHash - PerfectHash
- perfecthash - perfecthash
- perhaps
- periodic - periodic
- perm - perm
- permutations - permutations
@ -8950,6 +8950,7 @@ broken-packages:
- sha-streams - sha-streams
- shade - shade
- shadower - shadower
- shake-ats
- shake-cabal-build - shake-cabal-build
- shake-extras - shake-extras
- shake-minify - shake-minify
@ -9035,6 +9036,7 @@ broken-packages:
- simseq - simseq
- singleton-dict - singleton-dict
- singleton-typelits - singleton-typelits
- singletons-presburger
- singnal - singnal
- singular-factory - singular-factory
- sink - sink
@ -10009,6 +10011,7 @@ broken-packages:
- uuagc-bootstrap - uuagc-bootstrap
- uuagc-diagrams - uuagc-diagrams
- uuid-aeson - uuid-aeson
- uuid-bytes
- uuid-orphans - uuid-orphans
- uvector - uvector
- uvector-algorithms - uvector-algorithms

View File

@ -530,6 +530,9 @@ self: super: builtins.intersectAttrs super {
''; '';
}); });
# Break infinite recursion cycle with criterion and network-uri.
js-flot = dontCheck super.js-flot;
# Break infinite recursion cycle between QuickCheck and splitmix. # Break infinite recursion cycle between QuickCheck and splitmix.
splitmix = dontCheck super.splitmix; splitmix = dontCheck super.splitmix;

File diff suppressed because it is too large Load Diff

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "joker"; pname = "joker";
version = "0.14.0"; version = "0.14.1";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "candid82"; owner = "candid82";
repo = "joker"; repo = "joker";
sha256 = "1b38alajxs89a9x3f3ldk1nlynp6j90qhl1m2c6561rsm41sqfz0"; sha256 = "0da07fswj7x87njd9bi3gf8rzfyaq3zfcszgyb37w7q0ng4gg25n";
}; };
modSha256 = "0i16vf7n1xfz5kp9w3fvyc9y9wgz4h396glgpdaznpxjr12rb43j"; modSha256 = "0i16vf7n1xfz5kp9w3fvyc9y9wgz4h396glgpdaznpxjr12rb43j";
@ -17,6 +17,8 @@ buildGoModule rec {
go generate ./... go generate ./...
''; '';
subPackages = [ "." ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://github.com/candid82/joker; homepage = https://github.com/candid82/joker;
description = "A small Clojure interpreter and linter written in Go"; description = "A small Clojure interpreter and linter written in Go";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cimg"; pname = "cimg";
version = "2.8.0"; version = "2.8.3";
src = fetchurl { src = fetchurl {
url = "http://cimg.eu/files/CImg_${version}.zip"; url = "http://cimg.eu/files/CImg_${version}.zip";
sha256 = "1nm9zpx9k3pb1p726ihw13y0d3y3xqafml7mhnx6wrkg9sfgs17n"; sha256 = "0k7cra95v46i1q3rvklrxxhz3z10yql1ysvfrapcas0m4z6f94ld";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "dnnl"; pname = "dnnl";
version = "1.1.2"; version = "1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "intel"; owner = "intel";
repo = "mkl-dnn"; repo = "mkl-dnn";
rev = "v${version}"; rev = "v${version}";
sha256 = "150cdyfiw4izvzmbmdqidwadppb1qjmzhpaqjczm397ygi1m92l1"; sha256 = "17xpdwqjfb2bq586gnk3hq94r06jd8pk6qfs703qqd7155fkbil9";
}; };
# Generic fix upstreamed in https://github.com/intel/mkl-dnn/pull/631 # Generic fix upstreamed in https://github.com/intel/mkl-dnn/pull/631

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "0q9c02b6nmw41yfsiqsnphgc3f0yg3fj31wkccp47cmwvy634lc3"; sha256 = "0q9c02b6nmw41yfsiqsnphgc3f0yg3fj31wkccp47cmwvy634lc3";
}; };
buildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests

View File

@ -4,14 +4,14 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "20200115"; version = "20200125";
pname = "m4ri"; pname = "m4ri";
src = fetchFromBitbucket { src = fetchFromBitbucket {
owner = "malb"; owner = "malb";
repo = "m4ri"; repo = "m4ri";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "1c17casrw6dvwj067kfcgyjjajfisz56s30wjv7fwaw55mqrny19"; sha256 = "1dxgbv6zdyki3h61qlv7003wzhy6x14zmcaz9x19md1i7ng07w1k";
}; };
doCheck = true; doCheck = true;

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "h3"; pname = "h3";
version = "3.6.2"; version = "3.6.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "uber"; owner = "uber";
repo = "h3"; repo = "h3";
rev = "v${version}"; rev = "v${version}";
sha256 = "0mlv3jk0j340l0bhr3brxm3hbdcfmyp86h7d85537c81cl64y7kg"; sha256 = "1zgq496m2pk2c1l0r1di0p39nxwza00kxzqa971qd4xgbrvd4w55";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -12,10 +12,10 @@ GEM
json (>= 1.5.1) json (>= 1.5.1)
atomos (0.1.3) atomos (0.1.3)
claide (1.0.3) claide (1.0.3)
cocoapods (1.9.0.beta.2) cocoapods (1.9.0.beta.3)
activesupport (>= 4.0.2, < 5) activesupport (>= 4.0.2, < 5)
claide (>= 1.0.2, < 2.0) claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.9.0.beta.2) cocoapods-core (= 1.9.0.beta.3)
cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0)
@ -31,7 +31,7 @@ GEM
nap (~> 1.0) nap (~> 1.0)
ruby-macho (~> 1.4) ruby-macho (~> 1.4)
xcodeproj (>= 1.14.0, < 2.0) xcodeproj (>= 1.14.0, < 2.0)
cocoapods-core (1.9.0.beta.2) cocoapods-core (1.9.0.beta.3)
activesupport (>= 4.0.2, < 6) activesupport (>= 4.0.2, < 6)
algoliasearch (~> 1.0) algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1) concurrent-ruby (~> 1.1)
@ -54,7 +54,7 @@ GEM
escape (0.0.4) escape (0.0.4)
ethon (0.12.0) ethon (0.12.0)
ffi (>= 1.3.0) ffi (>= 1.3.0)
ffi (1.11.3) ffi (1.12.2)
fourflusher (2.3.1) fourflusher (2.3.1)
fuzzy_match (2.0.4) fuzzy_match (2.0.4)
gh_inspector (1.1.3) gh_inspector (1.1.3)
@ -62,7 +62,7 @@ GEM
i18n (0.9.5) i18n (0.9.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
json (2.3.0) json (2.3.0)
minitest (5.13.0) minitest (5.14.0)
molinillo (0.6.6) molinillo (0.6.6)
nanaimo (0.2.6) nanaimo (0.2.6)
nap (1.1.0) nap (1.1.0)
@ -71,9 +71,9 @@ GEM
thread_safe (0.3.6) thread_safe (0.3.6)
typhoeus (1.3.1) typhoeus (1.3.1)
ethon (>= 0.9.0) ethon (>= 0.9.0)
tzinfo (1.2.5) tzinfo (1.2.6)
thread_safe (~> 0.1) thread_safe (~> 0.1)
xcodeproj (1.14.0) xcodeproj (1.15.0)
CFPropertyList (>= 2.3.3, < 4.0) CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3) atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0) claide (>= 1.0.2, < 2.0)

View File

@ -57,10 +57,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0lx1h0i1rly9rnzl3szr0mws9b1l6ik1k84rcfwmhppfacc8bp15"; sha256 = "0dd2a4m7axnqk2rj8piwprqrg91dp8gmyj2rala4viawfq0mj5mf";
type = "gem"; type = "gem";
}; };
version = "1.9.0.beta.2"; version = "1.9.0.beta.3";
}; };
cocoapods-core = { cocoapods-core = {
dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "typhoeus"]; dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "typhoeus"];
@ -68,10 +68,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0h364ayikbicm6fy1faznwlnqnahqf330dnqjcb0vszqhxw0xq59"; sha256 = "0pf54634zi03vbi2m7n1g6kj0k2azgk2pahh9p2mqx814wka99nr";
type = "gem"; type = "gem";
}; };
version = "1.9.0.beta.2"; version = "1.9.0.beta.3";
}; };
cocoapods-deintegrate = { cocoapods-deintegrate = {
groups = ["default"]; groups = ["default"];
@ -191,10 +191,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd"; sha256 = "10lfhahnnc91v63xpvk65apn61pib086zha3z5sp1xk9acfx12h4";
type = "gem"; type = "gem";
}; };
version = "1.11.3"; version = "1.12.2";
}; };
fourflusher = { fourflusher = {
groups = ["default"]; groups = ["default"];
@ -262,10 +262,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi"; sha256 = "0g73x65hmjph8dg1h3rkzfg7ys3ffxm35hj35grw75fixmq53qyz";
type = "gem"; type = "gem";
}; };
version = "5.13.0"; version = "5.14.0";
}; };
molinillo = { molinillo = {
groups = ["default"]; groups = ["default"];
@ -344,10 +344,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp";
type = "gem"; type = "gem";
}; };
version = "1.2.5"; version = "1.2.6";
}; };
xcodeproj = { xcodeproj = {
dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"]; dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];
@ -355,9 +355,9 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1h9iba53mrb663qdqzpfbdwkwzqv7hndd0df71yr2kj2hzwjmkvb"; sha256 = "1ldb1jckfzkk9c74nv500z0q936nn25fn5mywzwrh7sjwgkaxp5z";
type = "gem"; type = "gem";
}; };
version = "1.14.0"; version = "1.15.0";
}; };
} }

View File

@ -9,13 +9,13 @@
buildPythonPackage { buildPythonPackage {
pname = "fx2"; pname = "fx2";
version = "unstable-2019-09-23"; version = "unstable-2020-01-25";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "whitequark"; owner = "whitequark";
repo = "libfx2"; repo = "libfx2";
rev = "3adb4fc842f174b0686ed122c0309d68356edc11"; rev = "d3e37f640d706aac5e69ae4476f6cd1bd0cd6a4e";
sha256 = "0b3zp50mschsxi2v3192dmnpw32gwblyl8aswlz9a0vx1qg3ibzn"; sha256 = "1dsyknjpgf4wjkfr64lln1lcy7qpxdx5x3qglidrcswzv9b3i4fg";
}; };
nativeBuildInputs = [ sdcc ]; nativeBuildInputs = [ sdcc ];

View File

@ -18,15 +18,15 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "glasgow"; pname = "glasgow";
version = "unstable-2019-10-16"; version = "unstable-2020-02-08";
# python software/setup.py --version # python software/setup.py --version
realVersion = "0.1.dev1286+g${lib.substring 0 7 src.rev}"; realVersion = "0.1.dev1352+g${lib.substring 0 7 src.rev}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GlasgowEmbedded"; owner = "GlasgowEmbedded";
repo = "glasgow"; repo = "glasgow";
rev = "4f968dbe6cf4e9d8e2d0a5163d82e996c24d5e30"; rev = "2a8bfc981b90ba5d86c310911dbd6ffe71acd498";
sha256 = "1b50n12dc0b3jmim5ywg7daq62k5j4wkgmwzk88ric5ri3b8dl2r"; sha256 = "01v5269bv09ggvmq6lqyhr5am51hzmwya1p5n62h84b7rdwd8q9m";
}; };
nativeBuildInputs = [ setuptools_scm sdcc ]; nativeBuildInputs = [ setuptools_scm sdcc ];
@ -44,6 +44,8 @@ buildPythonPackage rec {
checkInputs = [ yosys icestorm nextpnr ]; checkInputs = [ yosys icestorm nextpnr ];
enableParallelBuilding = true;
preBuild = '' preBuild = ''
make -C firmware LIBFX2=${fx2}/share/libfx2 make -C firmware LIBFX2=${fx2}/share/libfx2
cp firmware/glasgow.ihex software/glasgow cp firmware/glasgow.ihex software/glasgow
@ -55,7 +57,7 @@ buildPythonPackage rec {
doInstallCheck = false; doInstallCheck = false;
checkPhase = '' checkPhase = ''
python -m unittest discover python -W ignore::DeprecationWarning test.py
''; '';
makeWrapperArgs = [ makeWrapperArgs = [

View File

@ -8,15 +8,15 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "nmigen-boards"; pname = "nmigen-boards";
version = "unstable-2019-10-13"; version = "unstable-2020-02-06";
# python setup.py --version # python setup.py --version
realVersion = "0.1.dev79+g${lib.substring 0 7 src.rev}"; realVersion = "0.1.dev92+g${lib.substring 0 7 src.rev}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "m-labs"; owner = "nmigen";
repo = "nmigen-boards"; repo = "nmigen-boards";
rev = "835c175d7cf9d143aea2c7dbc0c870ede655cfc2"; rev = "f37fe0295035db5f1bf82ed086b2eb349ab3a530";
sha256 = "1mbxgfv6k9i3668lr1b3hrvial2vznvgn4ckjzc36hhizp47ypzw"; sha256 = "16112ahil100anfwggj64nyrj3pf7mngwrjyqyhf2ggxx9ir24cc";
}; };
nativeBuildInputs = [ setuptools_scm ]; nativeBuildInputs = [ setuptools_scm ];
@ -28,8 +28,8 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Board and connector definitions for nMigen"; description = "Board and connector definitions for nMigen";
homepage = https://github.com/m-labs/nmigen-boards; homepage = https://github.com/nmigen/nmigen-boards;
license = licenses.bsd0; license = licenses.bsd2;
maintainers = with maintainers; [ emily ]; maintainers = with maintainers; [ emily ];
}; };
} }

View File

@ -0,0 +1,35 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, nmigen
, setuptools
, setuptools_scm
}:
buildPythonPackage rec {
pname = "nmigen-soc";
version = "unstable-2020-02-08";
# python setup.py --version
realVersion = "0.1.dev24+g${lib.substring 0 7 src.rev}";
src = fetchFromGitHub {
owner = "nmigen";
repo = "nmigen-soc";
rev = "f1b009c7e075bca461d10ec963a7eaa3bf4dfc14";
sha256 = "04kjaq9qp6ac3h0r1wlb4jyz56bb52l1rikmz1x7azvnr10xhrad";
};
nativeBuildInputs = [ setuptools_scm ];
propagatedBuildInputs = [ setuptools nmigen ];
preBuild = ''
export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
'';
meta = with lib; {
description = "System on Chip toolkit for nMigen";
homepage = https://github.com/nmigen/nmigen-soc;
license = licenses.bsd2;
maintainers = with maintainers; [ emily ];
};
}

View File

@ -5,7 +5,6 @@
, setuptools , setuptools
, setuptools_scm , setuptools_scm
, pyvcd , pyvcd
, bitarray
, jinja2 , jinja2
# for tests # for tests
@ -16,22 +15,22 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "nmigen"; pname = "nmigen";
version = "unstable-2019-10-17"; version = "unstable-2019-02-08";
# python setup.py --version # python setup.py --version
realVersion = "0.1.rc2.dev5+g${lib.substring 0 7 src.rev}"; realVersion = "0.2.dev49+g${lib.substring 0 7 src.rev}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "m-labs"; owner = "nmigen";
repo = "nmigen"; repo = "nmigen";
rev = "9fba5ccb513cfbd53f884b1efca699352d2471b9"; rev = "66f4510c4465be5d0763d7835770553434e4ee91";
sha256 = "02bjry4sqjsrhl0s42zl1zl06gk5na9i6br6vmz7fvxic29vl83v"; sha256 = "19y39c4ywckm4yzrpjzcdl9pqy9d1sf1zsb4zpzajpmnfqccc3b0";
}; };
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
nativeBuildInputs = [ setuptools_scm ]; nativeBuildInputs = [ setuptools_scm ];
propagatedBuildInputs = [ setuptools pyvcd bitarray jinja2 ]; propagatedBuildInputs = [ setuptools pyvcd jinja2 ];
checkInputs = [ yosys symbiyosys yices ]; checkInputs = [ yosys symbiyosys yices ];
@ -41,8 +40,8 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "A refreshed Python toolbox for building complex digital hardware"; description = "A refreshed Python toolbox for building complex digital hardware";
homepage = https://github.com/m-labs/nmigen; homepage = https://github.com/nmigen/nmigen;
license = licenses.bsd0; license = licenses.bsd2;
maintainers = with maintainers; [ emily ]; maintainers = with maintainers; [ emily ];
}; };
} }

View File

@ -3,15 +3,16 @@
, fetchPypi , fetchPypi
, setuptools_scm , setuptools_scm
, six , six
, pytest }: , pytest
}:
buildPythonPackage rec { buildPythonPackage rec {
version = "0.1.6"; version = "0.1.7";
pname = "pyvcd"; pname = "pyvcd";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "285fcd96c3ee482e7b222bdd01d5dd19c2f5a0ad9b8e950baa98d386a2758c8f"; sha256 = "1ixpdl0qiads81h8s9h9r9z0cyc9dlmvi01nfjggxixvbb17305y";
}; };
buildInputs = [ setuptools_scm ]; buildInputs = [ setuptools_scm ];
@ -26,7 +27,8 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Python package for writing Value Change Dump (VCD) files"; description = "Python package for writing Value Change Dump (VCD) files";
homepage = https://github.com/SanDisk-Open-Source/pyvcd; homepage = https://github.com/SanDisk-Open-Source/pyvcd;
changelog = "https://github.com/SanDisk-Open-Source/pyvcd/blob/${version}/CHANGELOG.rst";
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.sb0 ]; maintainers = [ maintainers.sb0 maintainers.emily ];
}; };
} }

View File

@ -25,7 +25,10 @@ buildPythonPackage rec {
}; };
preConfigure = '' preConfigure = ''
# TODO: Executable bits are set by upstream with the next release
# see AGProjects/python-sipsimple/commit/a36d66cf758afb43c59f7ac48b193c4148eb1848
chmod +x ./deps/pjsip/configure ./deps/pjsip/aconfigure chmod +x ./deps/pjsip/configure ./deps/pjsip/aconfigure
export LD=$CC export LD=$CC
''; '';

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, makeWrapper, jre }: { stdenv, fetchurl, makeWrapper, jre }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "8.28"; version = "8.29";
pname = "checkstyle"; pname = "checkstyle";
src = fetchurl { src = fetchurl {
url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar"; url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
sha256 = "014jsj6pbpf3y4c1vx606f82c7pic6q4lcsbl7wwqn67dr0g0v1m"; sha256 = "1rbipf4031inv34ci0rczz7dipi3b12cpn45h949i095gdh37pgh";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -12,7 +12,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "codeql"; pname = "codeql";
version = "2.0.0"; version = "2.0.2";
dontConfigure = true; dontConfigure = true;
dontBuild = true; dontBuild = true;
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
src = fetchzip { src = fetchzip {
url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip"; url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
sha256 = "1v6wzjdhfws77fr5r15s03f1ipzc1gh7sl8gvw1fb4pplpa2d08s"; sha256 = "11siv8qmj4arl6qxks7bqnhx5669r3kxqcxq37ai7sf9f7v78k1i";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, unzip }: { stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.1.5"; version = "4.2.1";
pname = "randoop"; pname = "randoop";
src = fetchurl { src = fetchurl {
url = "https://github.com/randoop/randoop/releases/download/v${version}/${pname}-${version}.zip"; url = "https://github.com/randoop/randoop/releases/download/v${version}/${pname}-${version}.zip";
sha256 = "13zspyi9fgnqc90qfqqnj0hb7869l0aixv0vwgj8m4m1hggpadlx"; sha256 = "0sq6zyagb8qrj629rq7amzi0dnm6q00mll6gd5yx1nqdnjbfb4qd";
}; };
buildInputs = [ unzip ]; buildInputs = [ unzip ];

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sbt"; pname = "sbt";
version = "1.3.7"; version = "1.3.8";
src = fetchurl { src = fetchurl {
urls = [ urls = [
"https://piccolo.link/sbt-${version}.tgz" "https://piccolo.link/sbt-${version}.tgz"
"https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz" "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
]; ];
sha256 = "054qfbvhkh1w66f2nvsv1mvrkjc9qddzsnfrhmaqx79gglxllgc1"; sha256 = "0pcrbpsvccyxdwc7f8h87rkn0kalar0iypnh3gygw4c0fm4yvci7";
}; };
patchPhase = '' patchPhase = ''

View File

@ -1,16 +1,16 @@
{ stdenv, buildGoPackage, fetchFromGitHub { stdenv, buildGoPackage, fetchFromGitHub
, gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, ostree, libselinux, libseccomp , gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, libselinux, libseccomp
}: }:
buildGoPackage rec { buildGoPackage rec {
pname = "buildah"; pname = "buildah";
version = "1.13.2"; version = "1.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = "buildah"; repo = "buildah";
rev = "v${version}"; rev = "v${version}";
sha256 = "0860ynv93gbicpczfapvrd558dzbqicy9rv4ivyjhb6yyfgy4qai"; sha256 = "0nbcrhfd0c14d0m9a4mkd01jxk5i503z38kv2qfz5cvfghx517qq";
}; };
outputs = [ "bin" "man" "out" ]; outputs = [ "bin" "man" "out" ];
@ -19,7 +19,7 @@ buildGoPackage rec {
excludedPackages = [ "tests" ]; excludedPackages = [ "tests" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux libseccomp ]; buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs libselinux libseccomp ];
patches = [ ./disable-go-module-mode.patch ]; patches = [ ./disable-go-module-mode.patch ];

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, jre_headless, makeWrapper }: { stdenv, fetchurl, jre_headless, makeWrapper }:
let let
version = "6.1.3"; version = "6.2.2";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "flyway"; pname = "flyway";
inherit version; inherit version;
src = fetchurl { src = fetchurl {
url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz"; url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
sha256 = "0hd5gkfjhxb1ny8y0pqn7vs34bqk4w5k7vcygd6iz1d57q0giwp6"; sha256 = "09x62dbid9gx26q8m7gz4b21kinsx1ag3961krbxks28ihmwlm6a";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
dontBuild = true; dontBuild = true;

View File

@ -1,12 +1,12 @@
{ stdenv, fetchFromGitHub }: { stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "git-quick-stats"; pname = "git-quick-stats";
version = "2.0.12"; version = "2.0.13";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "git-quick-stats"; repo = "git-quick-stats";
owner = "arzzen"; owner = "arzzen";
rev = version; rev = version;
sha256 = "1diisgz8xc2ghsfdz3vh6z4vn13vvb9gf0i6qml0a46a5fqf32zb"; sha256 = "0j0a4y50wlwban40lj8y89ch4xnmm1ag8klkl8smbrn972d5d0cy";
}; };
PREFIX = builtins.placeholder "out"; PREFIX = builtins.placeholder "out";
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -13,8 +13,10 @@ stdenv.mkDerivation rec {
pname = "icestorm"; pname = "icestorm";
version = "2019.09.13"; version = "2019.09.13";
passthru = rec {
pythonPkg = if usePyPy then pypy3 else python3; pythonPkg = if usePyPy then pypy3 else python3;
pythonInterp = pythonPkg.interpreter; pythonInterp = pythonPkg.interpreter;
};
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cliffordwolf"; owner = "cliffordwolf";
@ -24,7 +26,7 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ pythonPkg libftdi1 ]; buildInputs = [ passthru.pythonPkg libftdi1 ];
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -39,12 +41,12 @@ stdenv.mkDerivation rec {
--replace /usr/local/share "$out/share" --replace /usr/local/share "$out/share"
for x in icefuzz/Makefile icebox/Makefile icetime/Makefile; do for x in icefuzz/Makefile icebox/Makefile icetime/Makefile; do
substituteInPlace "$x" --replace python3 "${pythonInterp}" substituteInPlace "$x" --replace python3 "${passthru.pythonInterp}"
done done
for x in $(find . -type f -iname '*.py'); do for x in $(find . -type f -iname '*.py'); do
substituteInPlace "$x" \ substituteInPlace "$x" \
--replace '/usr/bin/env python3' '${pythonInterp}' --replace '/usr/bin/env python3' '${passthru.pythonInterp}'
done done
''; '';

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "clojure-lsp"; pname = "clojure-lsp";
version = "20200117T215443"; version = "20200121T234305";
src = fetchurl { src = fetchurl {
url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}"; url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}";
sha256 = "0ccn3700lam5m5yh5hdcm6wkazyr3dhvhyc9bc08basjwk09lfkp"; sha256 = "04598vxay85q2blr49xh4pb58i4rsgjbznnn2cszcqgyzh05fs4y";
}; };
dontUnpack = true; dontUnpack = true;

View File

@ -72,15 +72,15 @@ let
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "hydra"; pname = "hydra";
version = "2019-11-13"; version = "2020-02-06";
inherit stdenv; inherit stdenv;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NixOS"; owner = "NixOS";
repo = pname; repo = pname;
rev = "20dd0bbe6a90d9066e635ee82e98efec23b17e51"; rev = "2b4f14963b16b21ebfcd6b6bfa7832842e9b2afc";
sha256 = "06chiaa7p54zxngmy2q3ps7bbiqpdv9h2rfmprh83qz36xps9rs2"; sha256 = "16q0cffcsfx5pqd91n9k19850c1nbh4vvbd9h8yi64ihn7v8bick";
}; };
buildInputs = buildInputs =

View File

@ -6,13 +6,13 @@
with python3Packages; buildPythonApplication rec { with python3Packages; buildPythonApplication rec {
pname = "tinyprog"; pname = "tinyprog";
# `python setup.py --version` from repo checkout # `python setup.py --version` from repo checkout
version = "1.0.24.dev99+ga77f828"; version = "1.0.24.dev114+g${lib.substring 0 7 src.rev}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tinyfpga"; owner = "tinyfpga";
repo = "TinyFPGA-Bootloader"; repo = "TinyFPGA-Bootloader";
rev = "a77f828d3d6ae077e323ec96fc3925efab5aa9d7"; rev = "97f6353540bf7c0d27f5612f202b48f41da75299";
sha256 = "0jg47q0n1qkdrzri2q6n9a7czicj0qk58asz0xhzkajx1k9z3g5q"; sha256 = "0zbrvvb957z2lwbfd39ixqdsnd2w4wfjirwkqdrqm27bjz308731";
}; };
sourceRoot = "source/programmer"; sourceRoot = "source/programmer";

View File

@ -1,17 +1,17 @@
{ stdenv, lib, buildGoPackage, fetchFromGitHub, runCommand { stdenv, lib, buildGoPackage, fetchFromGitHub, runCommand
, gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, ostree, libselinux , gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, libselinux
, go-md2man }: , go-md2man }:
with stdenv.lib; with stdenv.lib;
let let
version = "0.1.40"; version = "0.1.41";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "containers"; owner = "containers";
repo = "skopeo"; repo = "skopeo";
sha256 = "1bagirzdzjhicn5dr691092ac3q6lhz3xngjzgqiqkxnvpz7p6cn"; sha256 = "0aqw17irj2wn4a8g9hzfm5z5azqq33z6r1dbg1gyn2c8qxy1vfxs";
}; };
defaultPolicyFile = runCommand "skopeo-default-policy.json" {} "cp ${src}/default-policy.json $out"; defaultPolicyFile = runCommand "skopeo-default-policy.json" {} "cp ${src}/default-policy.json $out";
@ -29,7 +29,7 @@ buildGoPackage {
excludedPackages = "integration"; excludedPackages = "integration";
nativeBuildInputs = [ pkgconfig (lib.getBin go-md2man) ]; nativeBuildInputs = [ pkgconfig (lib.getBin go-md2man) ];
buildInputs = [ gpgme ] ++ lib.optionals stdenv.isLinux [ libgpgerror lvm2 btrfs-progs ostree libselinux ]; buildInputs = [ gpgme ] ++ lib.optionals stdenv.isLinux [ libgpgerror lvm2 btrfs-progs libselinux ];
buildFlagsArray = '' buildFlagsArray = ''
-ldflags= -ldflags=
@ -51,7 +51,7 @@ buildGoPackage {
meta = { meta = {
description = "A command line utility for various operations on container images and image repositories"; description = "A command line utility for various operations on container images and image repositories";
homepage = https://github.com/projectatomic/skopeo; homepage = "https://github.com/containers/skopeo";
maintainers = with stdenv.lib.maintainers; [ vdemeester lewo ]; maintainers = with stdenv.lib.maintainers; [ vdemeester lewo ];
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
}; };

View File

@ -8,24 +8,24 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "trellis"; pname = "trellis";
version = "2019.10.13"; version = "2020.02.04";
# git describe --tags # git describe --tags
realVersion = with stdenv.lib; with builtins; realVersion = with stdenv.lib; with builtins;
"1.0-95-g${substring 0 7 (elemAt srcs 0).rev}"; "1.0-130-g${substring 0 7 (elemAt srcs 0).rev}";
srcs = [ srcs = [
(fetchFromGitHub { (fetchFromGitHub {
owner = "SymbiFlow"; owner = "SymbiFlow";
repo = "prjtrellis"; repo = "prjtrellis";
rev = "e2e10bfdfaa29fed5d19e83dc7460be9880f5af4"; rev = "4e4b95c8e03583d48d76d1229f9c7825e2ee5be1";
sha256 = "0l59nliv75rdxnajl2plilib0r0bzbr3qqzc88cdal841x1m0izs"; sha256 = "02kg48393bjiys56r62b4ks2xvfarw9phi5bips2xsnj9c99pmg0";
name = "trellis"; name = "trellis";
}) })
(fetchFromGitHub { (fetchFromGitHub {
owner = "SymbiFlow"; owner = "SymbiFlow";
repo = "prjtrellis-db"; repo = "prjtrellis-db";
rev = "5b5bb70bae13e6b8c971b4b2d26931f4a64b51bc"; rev = "717478b757a702bbc7e3e11a5fbecee2a64f7922";
sha256 = "1fi963zdny3gxdvq564037qs22i7b4y7mxc3yij2a1ww8rzrnpdj"; sha256 = "0q4j8qz3m2hissn2a82ck542cx62bp4f0wwzl3g22yv59i13yg83";
name = "trellis-database"; name = "trellis-database";
}) })
]; ];
@ -33,7 +33,12 @@ stdenv.mkDerivation rec {
buildInputs = [ boostWithPython3 ]; buildInputs = [ boostWithPython3 ];
nativeBuildInputs = [ cmake python3 ]; nativeBuildInputs = [ cmake python3 ];
cmakeFlags = [ "-DCURRENT_GIT_VERSION=${realVersion}" ]; cmakeFlags = [
"-DCURRENT_GIT_VERSION=${realVersion}"
# TODO: should this be in stdenv instead?
"-DCMAKE_INSTALL_DATADIR=${placeholder "out"}/share"
];
enableParallelBuilding = true;
preConfigure = with builtins; '' preConfigure = with builtins; ''
rmdir database && ln -sfv ${elemAt srcs 1} ./database rmdir database && ln -sfv ${elemAt srcs 1} ./database
@ -50,7 +55,7 @@ stdenv.mkDerivation rec {
to provide sufficient information to develop a free and to provide sufficient information to develop a free and
open Verilog to bitstream toolchain for these devices. open Verilog to bitstream toolchain for these devices.
''; '';
homepage = https://github.com/symbiflow/prjtrellis; homepage = https://github.com/SymbiFlow/prjtrellis;
license = stdenv.lib.licenses.isc; license = stdenv.lib.licenses.isc;
maintainers = with maintainers; [ q3k thoughtpolice emily ]; maintainers = with maintainers; [ q3k thoughtpolice emily ];
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "yarn"; pname = "yarn";
version = "1.21.1"; version = "1.22.0";
src = fetchzip { src = fetchzip {
url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz"; url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
sha256 = "1yw3v62a6309f9hr189870i9jw2a15pkians1nnfjqczzh7r5pih"; sha256 = "0hbsdbrqx5xhr171ik862v51xwjzbfncic92pgbnhnlmxy2y974x";
}; };
buildInputs = [ nodejs ]; buildInputs = [ nodejs ];

View File

@ -61,18 +61,18 @@ in
configureFlags = let configureFlags = let
isCross = stdenv.hostPlatform != stdenv.buildPlatform; isCross = stdenv.hostPlatform != stdenv.buildPlatform;
host = stdenv.hostPlatform.platform; host = stdenv.hostPlatform.platform;
isArm = stdenv.hostPlatform.isArm; isAarch32 = stdenv.hostPlatform.isAarch32;
in sharedConfigureFlags ++ [ in sharedConfigureFlags ++ [
"--without-dtrace" "--without-dtrace"
] ++ (optionals isCross [ ] ++ (optionals isCross [
"--cross-compiling" "--cross-compiling"
"--without-intl" "--without-intl"
"--without-snapshot" "--without-snapshot"
]) ++ (optionals (isCross && isArm && hasAttr "fpu" host.gcc) [ ]) ++ (optionals (isCross && isAarch32 && hasAttr "fpu" host.gcc) [
"--with-arm-fpu=${host.gcc.fpu}" "--with-arm-fpu=${host.gcc.fpu}"
]) ++ (optionals (isCross && isArm && hasAttr "float-abi" host.gcc) [ ]) ++ (optionals (isCross && isAarch32 && hasAttr "float-abi" host.gcc) [
"--with-arm-float-abi=${host.gcc.float-abi}" "--with-arm-float-abi=${host.gcc.float-abi}"
]) ++ (optionals (isCross && isArm) [ ]) ++ (optionals (isCross && isAarch32) [
"--dest-cpu=arm" "--dest-cpu=arm"
]) ++ extraConfigFlags; ]) ++ extraConfigFlags;

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gzdoom"; pname = "gzdoom";
version = "4.3.1"; version = "4.3.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "coelckers"; owner = "coelckers";
repo = "gzdoom"; repo = "gzdoom";
rev = "g${version}"; rev = "g${version}";
sha256 = "1fpdwgm6qx66q1kqg1x32lcm61hk3a033lhagk819kicdsib90b7"; sha256 = "1c4vhnvvwy1rs8xm01kqd486h5xsiccwkf95fjx7912zr49yalks";
}; };
nativeBuildInputs = [ cmake makeWrapper ]; nativeBuildInputs = [ cmake makeWrapper ];

View File

@ -1,11 +1,14 @@
{stdenv, fetchurl, scons, zlib, SDL, lua5_1, pkgconfig}: {stdenv, fetchFromGitHub, scons, zlib, SDL, lua5_1, pkgconfig}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "fceux-2.2.3"; pname = "fceux-unstable";
version = "2020-01-29";
src = fetchurl { src = fetchFromGitHub {
url = mirror://sourceforge/fceultra/Source%20Code/2.2.3%20src/fceux-2.2.3.src.tar.gz; owner = "TASVideos";
sha256 = "0gl2i3qdmcm7v9m5kpfz98w05d8m33990jiwka043ya7lflxvrjb"; repo = "fceux";
rev = "fb8d46d9697cb24b0ebe79d84eedf282f69ab337";
sha256 = "0gpz411dzfwx9mr34yi4zb1hphd5hha1nvwgzxki0sviwafca992";
}; };
nativeBuildInputs = [ pkgconfig scons ]; nativeBuildInputs = [ pkgconfig scons ];
@ -30,6 +33,7 @@ stdenv.mkDerivation {
meta = { meta = {
description = "A Nintendo Entertainment System (NES) Emulator"; description = "A Nintendo Entertainment System (NES) Emulator";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.scubed2 ];
homepage = http://www.fceux.com/; homepage = http://www.fceux.com/;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };

View File

@ -2,13 +2,13 @@
buildPythonApplication rec { buildPythonApplication rec {
name = "frescobaldi-${version}"; name = "frescobaldi-${version}";
version = "3.1"; version = "3.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wbsoft"; owner = "wbsoft";
repo = "frescobaldi"; repo = "frescobaldi";
rev = "v${version}"; rev = "v${version}";
sha256 = "0sv6dc1l34rrhfbn1wqkl9zs9hiacmmbviw87d0d03987s1iirb1"; sha256 = "07hjlq29npasn2bsb3qrzr1gikyvcc85avx0sxybfih329bvjk03";
}; };
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [

View File

@ -114,7 +114,7 @@ let
CLS_U32_PERF = yes; CLS_U32_PERF = yes;
CLS_U32_MARK = yes; CLS_U32_MARK = yes;
BPF_JIT = whenPlatformHasEBPFJit yes; BPF_JIT = whenPlatformHasEBPFJit yes;
BPF_JIT_ALWAYS_ON = whenPlatformHasEBPFJit yes; BPF_JIT_ALWAYS_ON = no; # whenPlatformHasEBPFJit yes; # see https://github.com/NixOS/nixpkgs/issues/79304
HAVE_EBPF_JIT = whenPlatformHasEBPFJit yes; HAVE_EBPF_JIT = whenPlatformHasEBPFJit yes;
BPF_STREAM_PARSER = whenAtLeast "4.19" yes; BPF_STREAM_PARSER = whenAtLeast "4.19" yes;
XDP_SOCKETS = whenAtLeast "4.19" yes; XDP_SOCKETS = whenAtLeast "4.19" yes;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mcelog"; pname = "mcelog";
version = "167"; version = "168";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "andikleen"; owner = "andikleen";
repo = "mcelog"; repo = "mcelog";
rev = "v${version}"; rev = "v${version}";
sha256 = "0vkkqri3x11p7wz8z8rym4v637qpvw7lj6v40sx7sgh1g97ja9iy"; sha256 = "0mcmmjvvc80nk20n4dknimv0jzvdkj1ajgyq33b2i4v6xq0bz1pb";
}; };
postPatch = '' postPatch = ''

View File

@ -15,11 +15,11 @@ assert enableWebDAV -> libuuid != null;
assert enableExtendedAttrs -> attr != null; assert enableExtendedAttrs -> attr != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lighttpd-1.4.54"; name = "lighttpd-1.4.55";
src = fetchurl { src = fetchurl {
url = "https://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz"; url = "https://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
sha256 = "08c7kbdfq915dzzqcghwacrgia197hd1w66knvydi5ja4picq56g"; sha256 = "09z947730yjh438wrqb3z1c5hr1dbb11a8sr92g3vk6mr7lm02va";
}; };
postPatch = '' postPatch = ''

View File

@ -102,13 +102,13 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "mpd"; pname = "mpd";
version = "0.21.18"; version = "0.21.19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MusicPlayerDaemon"; owner = "MusicPlayerDaemon";
repo = "MPD"; repo = "MPD";
rev = "v${version}"; rev = "v${version}";
sha256 = "04kzdxigg6yhf5km66hxk6y8n7gl72bxnv2bc5zy274fzqf4cy9p"; sha256 = "0awfnhygasww2xbxnc3a81hv2kbw3v3mblav6wjvzz25qipv19dq";
}; };
buildInputs = [ glib boost ] buildInputs = [ glib boost ]

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "groonga"; pname = "groonga";
version = "9.1.1"; version = "9.1.2";
src = fetchurl { src = fetchurl {
url = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz"; url = "https://packages.groonga.org/source/groonga/${pname}-${version}.tar.gz";
sha256 = "16i5bmypawxjac6g808qgr0z3rvla6g6dr586rmwl7sbq0z2nr82"; sha256 = "0zj9zribkg4x6c6175pwl4i6jpxg045bca1ywfrfcdsxkjllvk7g";
}; };
buildInputs = with stdenv.lib; buildInputs = with stdenv.lib;

View File

@ -137,9 +137,6 @@ let
isi686 isx86_32 isx86_64 isi686 isx86_32 isx86_64
is32bit is64bit is32bit is64bit
isAarch32 isAarch64 isMips isBigEndian; isAarch32 isAarch64 isMips isBigEndian;
isArm = lib.warn
"`stdenv.isArm` is deprecated after 18.03. Please use `stdenv.isAarch32` instead"
hostPlatform.isAarch32;
# The derivation's `system` is `buildPlatform.system`. # The derivation's `system` is `buildPlatform.system`.
inherit (buildPlatform) system; inherit (buildPlatform) system;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fuse-overlayfs"; pname = "fuse-overlayfs";
version = "0.7.5"; version = "0.7.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1xsdn16n867c7af3j02z7nxh1i71wi0g4zspnrgz1qmpxdw4aays"; sha256 = "1sgl6npbhg49aqlxmm3bnk3cmi9xpg8i5m4hickqfk1ni1z070ij";
}; };
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -1,17 +1,19 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, curl, openssl, libxml2, fuse }: { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, curl, openssl, libxml2, fuse, osxfuse }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "s3fs-fuse"; pname = "s3fs-fuse";
version = "1.85"; version = "1.86";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "s3fs-fuse"; owner = "s3fs-fuse";
repo = "s3fs-fuse"; repo = "s3fs-fuse";
rev = "v${version}"; rev = "v${version}";
sha256 = "0sk2b7bxb2wzni1f39l4976dy47s7hqv62l7x7fwcjp62y22nw7m"; sha256 = "115zqbspr17xmidhizjmsqv9c7ql2jhmxws8wh59bpz2335kn0q7";
}; };
buildInputs = [ curl openssl libxml2 fuse ]; buildInputs = [ curl openssl libxml2 ]
++ stdenv.lib.optionals stdenv.isLinux [ fuse ]
++ stdenv.lib.optionals stdenv.isDarwin [ osxfuse ];
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];
configureFlags = [ configureFlags = [
@ -25,6 +27,6 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Mount an S3 bucket as filesystem through FUSE"; description = "Mount an S3 bucket as filesystem through FUSE";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux ++ platforms.darwin;
}; };
} }

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, autoreconfHook, tzdata }: { stdenv, fetchurl, autoreconfHook, tzdata }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.4.6"; version = "0.4.7";
pname = "dateutils"; pname = "dateutils";
src = fetchurl { src = fetchurl {
url = "https://bitbucket.org/hroptatyr/dateutils/downloads/${pname}-${version}.tar.xz"; url = "https://bitbucket.org/hroptatyr/dateutils/downloads/${pname}-${version}.tar.xz";
sha256 = "1kaphw474lz7336awr9rzsgcsr1p9njsjsryd8i0ywg5g8qp3816"; sha256 = "16jr9yjk8wgzfh22hr3z6mp4jm3fkacyibds4jj5xx5yymbm8wj9";
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];

View File

@ -9,11 +9,11 @@
# Note: when upgrading this package, please run the list-missing-tools.sh script as described below! # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "diffoscope"; pname = "diffoscope";
version = "135"; version = "136";
src = fetchurl { src = fetchurl {
url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2"; url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
sha256 = "1grf28mb6lyxdqbmvws4h7inalda9z7qnjx7dc859mzkf54cn3yd"; sha256 = "0an9c63xgy1bvqnpnn9mfphsq1qx8ba69yk15nqa9p78iqq2hf4h";
}; };
patches = [ patches = [

View File

@ -6,11 +6,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "opentsdb"; pname = "opentsdb";
version = "2.3.1"; version = "2.4.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/OpenTSDB/opentsdb/releases/download/v${version}/${pname}-${version}.tar.gz"; url = "https://github.com/OpenTSDB/opentsdb/releases/download/v${version}/${pname}-${version}.tar.gz";
sha256 = "1lf1gynr11silla4bsrkwqv023dxirsb88ncs2qmc2ng35593fjd"; sha256 = "0b0hilqmgz6n1q7irp17h48v8fjpxhjapgw1py8kyav1d51s7mm2";
}; };
buildInputs = [ autoconf automake curl jdk makeWrapper nettools python git ]; buildInputs = [ autoconf automake curl jdk makeWrapper nettools python git ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tmux-xpanes"; pname = "tmux-xpanes";
version = "4.1.0"; version = "4.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "greymd"; owner = "greymd";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "11yz6rh2ckd1z8q80n8giv2gcz2i22fgf3pnfxq96qrzflb0d96a"; sha256 = "13q02vdk229chgbn547wwv29cj4njvz02lmw840g8qmwh73qb2pi";
}; };
buildInputs = [ openssl perl ]; buildInputs = [ openssl perl ];

View File

@ -3,13 +3,13 @@
with python3Packages; with python3Packages;
buildPythonApplication rec { buildPythonApplication rec {
pname = "wakatime"; pname = "wakatime";
version = "13.0.3"; version = "13.0.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wakatime"; owner = "wakatime";
repo = "wakatime"; repo = "wakatime";
rev = version; rev = version;
sha256 = "16g23nm1x1a142rmnljdclq03c5anfzyiiazxaxyka8bggzhfmmc"; sha256 = "11np3cc5ha785vlmknk7vr7spgk2nw0wls0li60vfpvggbv0r4j6";
}; };
# needs more dependencies from https://github.com/wakatime/wakatime/blob/191b302bfb5f272ae928c6d3867d06f3dfcba4a8/dev-requirements.txt # needs more dependencies from https://github.com/wakatime/wakatime/blob/191b302bfb5f272ae928c6d3867d06f3dfcba4a8/dev-requirements.txt

View File

@ -18,7 +18,7 @@ buildGoPackage rec {
license = licenses.isc; license = licenses.isc;
homepage = https://dnscrypt.info/; homepage = https://dnscrypt.info/;
maintainers = with maintainers; [ waynr ]; maintainers = with maintainers; [ atemu waynr ];
platforms = with platforms; unix; platforms = with platforms; unix;
}; };
} }

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fio"; pname = "fio";
version = "3.17"; version = "3.18";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "axboe"; owner = "axboe";
repo = "fio"; repo = "fio";
rev = "fio-${version}"; rev = "fio-${version}";
sha256 = "1s37w8bhg23ml1f89x0bkaifywlkgh31305vmip4xfvh3j3vjbym"; sha256 = "0p2w1pyjh7vjxqxibjawi7waqb7n0lwnx21qj0z75g8zhb629l0w";
}; };
buildInputs = [ python zlib ] buildInputs = [ python zlib ]

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "java-service-wrapper"; pname = "java-service-wrapper";
version = "3.5.41"; version = "3.5.42";
src = fetchurl { src = fetchurl {
url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz"; url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
sha256 = "0wvazc4y134brn99aa4rc9jdh1h2q3l7qhhvbcs6lhf4ym47sskm"; sha256 = "1gi4zc7fhqm7rb1ajpnxx0n7ngpa06ja46mb5p65h025mz567ywd";
}; };
buildInputs = [ jdk ]; buildInputs = [ jdk ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lr"; pname = "lr";
version = "1.5"; version = "1.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "chneukirchen"; owner = "chneukirchen";
repo = "lr"; repo = "lr";
rev = "v${version}"; rev = "v${version}";
sha256 = "1dxla14ldyym01lhmacfwps1vim0fk67c2ik2w08gg534siyj770"; sha256 = "1wv2acm4r5y5gg6f64v2hiwpg1f3lnr4fy1a9zssw77fmdc7ys3j";
}; };
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];

View File

@ -1222,6 +1222,8 @@ in
behdad-fonts = callPackage ../data/fonts/behdad-fonts { }; behdad-fonts = callPackage ../data/fonts/behdad-fonts { };
bless = callPackage ../applications/editors/bless { };
blink1-tool = callPackage ../tools/misc/blink1-tool { }; blink1-tool = callPackage ../tools/misc/blink1-tool { };
bliss = callPackage ../applications/science/math/bliss { }; bliss = callPackage ../applications/science/math/bliss { };
@ -21040,7 +21042,7 @@ in
qmmp = libsForQt5.callPackage ../applications/audio/qmmp { }; qmmp = libsForQt5.callPackage ../applications/audio/qmmp { };
qnotero = callPackage ../applications/office/qnotero { }; qnotero = libsForQt5.callPackage ../applications/office/qnotero { };
qrcode = callPackage ../tools/graphics/qrcode {}; qrcode = callPackage ../tools/graphics/qrcode {};

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