diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index de4d1bf1987..61faeab7d32 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -454,7 +454,7 @@ in { authentication = mkOption { type = with types; nullOr str; default = null; - description = "Authentitcation type to use, see http://api.rubyonrails.org/classes/ActionMailer/Base.html"; + description = "Authentication type to use, see http://api.rubyonrails.org/classes/ActionMailer/Base.html"; }; enableStartTLSAuto = mkOption { diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index bf3615f2fe7..5360cff22f3 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -7,7 +7,7 @@ # the VM in the host. On the other hand, the root filesystem is a # read/writable disk image persistent across VM reboots. -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, options, ... }: with lib; with import ../../lib/qemu-flags.nix { inherit pkgs; }; @@ -266,6 +266,8 @@ in options = { + virtualisation.fileSystems = options.fileSystems; + virtualisation.memorySize = mkOption { default = 384; @@ -659,6 +661,7 @@ in # attribute should be disregarded for the purpose of building a VM # test image (since those filesystems don't exist in the VM). fileSystems = mkVMOverride ( + cfg.fileSystems // { "/".device = cfg.bootDevice; ${if cfg.writableStore then "/nix/.ro-store" else "/nix/store"} = { device = "store"; diff --git a/nixos/tests/bees.nix b/nixos/tests/bees.nix index 6e6a9c3446b..58a9c295135 100644 --- a/nixos/tests/bees.nix +++ b/nixos/tests/bees.nix @@ -8,7 +8,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux2 /dev/vdc ''; virtualisation.emptyDiskImages = [ 4096 4096 ]; - fileSystems = lib.mkVMOverride { + virtualisation.fileSystems = { "/aux1" = { # filesystem configured to be deduplicated device = "/dev/disk/by-label/aux1"; fsType = "btrfs"; diff --git a/nixos/tests/fsck.nix b/nixos/tests/fsck.nix index e522419fde2..5453f3bc48b 100644 --- a/nixos/tests/fsck.nix +++ b/nixos/tests/fsck.nix @@ -4,7 +4,7 @@ import ./make-test-python.nix { machine = { lib, ... }: { virtualisation.emptyDiskImages = [ 1 ]; - fileSystems = lib.mkVMOverride { + virtualisation.fileSystems = { "/mnt" = { device = "/dev/vdb"; fsType = "ext4"; diff --git a/nixos/tests/glusterfs.nix b/nixos/tests/glusterfs.nix index cb07bc09511..ef09264a021 100644 --- a/nixos/tests/glusterfs.nix +++ b/nixos/tests/glusterfs.nix @@ -3,7 +3,7 @@ import ./make-test-python.nix ({pkgs, lib, ...}: let client = { pkgs, ... } : { environment.systemPackages = [ pkgs.glusterfs ]; - fileSystems = pkgs.lib.mkVMOverride + virtualisation.fileSystems = { "/gluster" = { device = "server1:/gv0"; fsType = "glusterfs"; @@ -22,7 +22,7 @@ let virtualisation.emptyDiskImages = [ 1024 ]; - fileSystems = pkgs.lib.mkVMOverride + virtualisation.fileSystems = { "/data" = { device = "/dev/disk/by-label/data"; fsType = "ext4"; diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix index d3f1f317296..0c26eaa310d 100644 --- a/nixos/tests/hardened.nix +++ b/nixos/tests/hardened.nix @@ -18,7 +18,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... } : { boot.initrd.postDeviceCommands = '' ${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb ''; - fileSystems = lib.mkVMOverride { + virtualisation.fileSystems = { "/efi" = { device = "/dev/disk/by-label/EFISYS"; fsType = "vfat"; diff --git a/nixos/tests/locate.nix b/nixos/tests/locate.nix index 67ae610fe01..e8ba41812a8 100644 --- a/nixos/tests/locate.nix +++ b/nixos/tests/locate.nix @@ -7,7 +7,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: nodes = rec { a = { environment.systemPackages = with pkgs; [ sshfs ]; - fileSystems = lib.mkVMOverride { + virtualisation.fileSystems = { "/ssh" = { device = "alice@b:/"; fsType = "fuse.sshfs"; diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix index fda2e60a41b..fb19b706056 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ...} : rec { environment.variables.EDITOR = mkOverride 0 "emacs"; documentation.nixos.enable = mkOverride 0 true; systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ]; - fileSystems = mkVMOverride { "/tmp2" = + virtualisation.fileSystems = { "/tmp2" = { fsType = "tmpfs"; options = [ "mode=1777" "noauto" ]; }; diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix index 90050447042..0b8e1937128 100644 --- a/nixos/tests/nextcloud/basic.nix +++ b/nixos/tests/nextcloud/basic.nix @@ -15,7 +15,7 @@ in { echo "http://nextcloud/remote.php/webdav/ ${adminuser} ${adminpass}" > /tmp/davfs2-secrets chmod 600 /tmp/davfs2-secrets ''; - fileSystems = pkgs.lib.mkVMOverride { + virtualisation.fileSystems = { "/mnt/dav" = { device = "http://nextcloud/remote.php/webdav/"; fsType = "davfs"; diff --git a/nixos/tests/nfs/kerberos.nix b/nixos/tests/nfs/kerberos.nix index 078f0b7814c..75d1210496b 100644 --- a/nixos/tests/nfs/kerberos.nix +++ b/nixos/tests/nfs/kerberos.nix @@ -40,7 +40,7 @@ in networking.domain = "nfs.test"; networking.hostName = "client"; - fileSystems = lib.mkVMOverride + virtualisation.fileSystems = { "/data" = { device = "server.nfs.test:/"; fsType = "nfs"; diff --git a/nixos/tests/nfs/simple.nix b/nixos/tests/nfs/simple.nix index 630c68a5b05..6a01089c082 100644 --- a/nixos/tests/nfs/simple.nix +++ b/nixos/tests/nfs/simple.nix @@ -4,7 +4,7 @@ let client = { pkgs, ... }: - { fileSystems = pkgs.lib.mkVMOverride + { virtualisation.fileSystems = { "/data" = { # nfs4 exports the export with fsid=0 as a virtual root directory device = if (version == 4) then "server:/" else "server:/data"; diff --git a/nixos/tests/orangefs.nix b/nixos/tests/orangefs.nix index 24b7737058c..fe9f9cc37ea 100644 --- a/nixos/tests/orangefs.nix +++ b/nixos/tests/orangefs.nix @@ -9,7 +9,7 @@ let virtualisation.emptyDiskImages = [ 4096 ]; - fileSystems = pkgs.lib.mkVMOverride + virtualisation.fileSystems = { "/data" = { device = "/dev/disk/by-label/data"; fsType = "ext4"; diff --git a/nixos/tests/samba.nix b/nixos/tests/samba.nix index 142269752b3..d1d50caabfa 100644 --- a/nixos/tests/samba.nix +++ b/nixos/tests/samba.nix @@ -8,7 +8,7 @@ import ./make-test-python.nix ({ pkgs, ... }: nodes = { client = { pkgs, ... }: - { fileSystems = pkgs.lib.mkVMOverride + { virtualisation.fileSystems = { "/public" = { fsType = "cifs"; device = "//server/public"; diff --git a/nixos/tests/snapper.nix b/nixos/tests/snapper.nix index 018102d7f64..098d8d9d72f 100644 --- a/nixos/tests/snapper.nix +++ b/nixos/tests/snapper.nix @@ -9,7 +9,7 @@ import ./make-test-python.nix ({ ... }: virtualisation.emptyDiskImages = [ 4096 ]; - fileSystems = lib.mkVMOverride { + virtualisation.fileSystems = { "/home" = { device = "/dev/disk/by-label/aux"; fsType = "btrfs"; diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix index f7c13a587c5..e0685f53a94 100644 --- a/nixos/tests/systemd.nix +++ b/nixos/tests/systemd.nix @@ -9,7 +9,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { environment.systemPackages = [ pkgs.cryptsetup ]; - fileSystems = lib.mkVMOverride { + virtualisation.fileSystems = { "/test-x-initrd-mount" = { device = "/dev/vdb"; fsType = "ext2"; diff --git a/nixos/tests/zfs.nix b/nixos/tests/zfs.nix index 03aa5e5399c..ba5eb7cd528 100644 --- a/nixos/tests/zfs.nix +++ b/nixos/tests/zfs.nix @@ -29,7 +29,7 @@ let # Setup regular fileSystems machinery to ensure forceImportAll can be # tested via the regular service units. - fileSystems = lib.mkVMOverride { + virtualisation.fileSystems = { "/forcepool" = { device = "forcepool"; fsType = "zfs"; diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix index c670a4b367d..f3fec316bf9 100644 --- a/pkgs/applications/misc/archivy/default.nix +++ b/pkgs/applications/misc/archivy/default.nix @@ -5,11 +5,11 @@ watchdog, wtforms, html2text, flask-compress }: python3.pkgs.buildPythonApplication rec { pname = "archivy"; - version = "1.0.0"; + version = "1.0.1"; src = fetchPypi { inherit pname version; - sha256 = "FDyUfahjv4zqOVFr0nRhcgxr7mskFP1W/PlhZWx/6E8="; + sha256 = "53a43e26e9081ac266412d8643c66c07c289c4639bbaec374fd5147441253a4f"; }; # Relax some dependencies diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 7917975f4f2..9ae93d3a2dd 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -27,11 +27,11 @@ mkDerivation rec { pname = "calibre"; - version = "5.10.1"; + version = "5.11.0"; src = fetchurl { url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz"; - sha256 = "18pnqxdyvgmw12yarxhvsgs4jk6c5hp05gf8khybcd78330954v9"; + sha256 = "sha256-PI+KIMnslhoagv9U6Mcmo9Onfu8clVqASNlDir8JzUw="; }; patches = [ diff --git a/pkgs/applications/misc/diff-pdf/default.nix b/pkgs/applications/misc/diff-pdf/default.nix index f5e5dccd0f3..186826e6f7d 100644 --- a/pkgs/applications/misc/diff-pdf/default.nix +++ b/pkgs/applications/misc/diff-pdf/default.nix @@ -9,13 +9,13 @@ let in stdenv.mkDerivation rec { pname = "diff-pdf"; - version = "0.4.1"; + version = "0.5"; src = fetchFromGitHub { owner = "vslavik"; repo = "diff-pdf"; rev = "v${version}"; - sha256 = "1y5ji4c4m69vzs0z051fkhfdrjnyxb6kzac5flhdkfb2hgp1jnxl"; + sha256 = "sha256-Si8v5ZY1Q/AwQTaxa1bYG8bgqxWj++c4Hh1LzXSmSwE="; }; nativeBuildInputs = [ autoconf automake pkg-config ]; diff --git a/pkgs/applications/networking/cluster/atlantis/default.nix b/pkgs/applications/networking/cluster/atlantis/default.nix index 728e23ff380..dcb6b823667 100644 --- a/pkgs/applications/networking/cluster/atlantis/default.nix +++ b/pkgs/applications/networking/cluster/atlantis/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "atlantis"; - version = "0.16.0"; + version = "0.16.1"; src = fetchFromGitHub { owner = "runatlantis"; repo = "atlantis"; rev = "v${version}"; - sha256 = "sha256-1sak6CaqFhiBIoaa7kERXLHsgn24oMgBlOJaQDuF61E="; + sha256 = "sha256-D549pInoK8ispgcn8LYdix19Hp7wO6w2/d2Y1L/9Px8="; }; vendorSha256 = null; diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix index b4efd89441e..af290fc1cc5 100644 --- a/pkgs/applications/networking/p2p/gnunet/default.nix +++ b/pkgs/applications/networking/p2p/gnunet/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "gnunet"; - version = "0.13.2"; + version = "0.14.0"; src = fetchurl { url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz"; - sha256 = "0b4a6bxwhpmj274d281vhny7i5rwydrdmab76xk6ji8vf0p705dn"; + sha256 = "sha256-2u9gO9Mu0dM1yixcaqOnZcDfGcp69dc5CH5tkl6vRas="; }; enableParallelBuilding = true; diff --git a/pkgs/development/compilers/sbcl/2.1.1.nix b/pkgs/development/compilers/sbcl/2.1.1.nix new file mode 100644 index 00000000000..53d2220faa7 --- /dev/null +++ b/pkgs/development/compilers/sbcl/2.1.1.nix @@ -0,0 +1,114 @@ +{ lib, stdenv, fetchurl, writeText, sbclBootstrap +, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit" +, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system) +, disableImmobileSpace ? false + # Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die. + # Note that the created binaries still need `patchelf --set-interpreter ...` + # to get rid of ${glibc} dependency. +, purgeNixReferences ? false +, texinfo +}: + +stdenv.mkDerivation rec { + pname = "sbcl"; + version = "2.1.1"; + + src = fetchurl { + url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2"; + sha256 = "sha256:15wa66sachhzgvg5n35vihmkpasg100lh561c1d1bdrql0p8kbd9"; + }; + + buildInputs = [texinfo]; + + patchPhase = '' + echo '"${version}.nixos"' > version.lisp-expr + + pwd + + # SBCL checks whether files are up-to-date in many places.. + # Unfortunately, same timestamp is not good enough + sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp + #sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp + sed -i src/cold/slam.lisp -e \ + '/file-write-date input/a)' + sed -i src/cold/slam.lisp -e \ + '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))' + sed -i src/code/target-load.lisp -e \ + '/date defaulted-fasl/a)' + sed -i src/code/target-load.lisp -e \ + '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))' + + # Fix the tests + sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp + sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp + + # Use whatever `cc` the stdenv provides + substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc + + substituteInPlace src/runtime/Config.x86-64-darwin \ + --replace mmacosx-version-min=10.4 mmacosx-version-min=10.5 + '' + + (if purgeNixReferences + then + # This is the default location to look for the core; by default in $out/lib/sbcl + '' + sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \ + -i src/runtime/runtime.c + '' + else + # Fix software version retrieval + '' + sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \ + src/code/run-program.lisp + '' + ); + + + preBuild = '' + export INSTALL_ROOT=$out + mkdir -p test-home + export HOME=$PWD/test-home + ''; + + enableFeatures = with lib; + optional threadSupport "sb-thread" ++ + optional stdenv.isAarch32 "arm"; + + disableFeatures = with lib; + optional (!threadSupport) "sb-thread" ++ + optionals disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ]; + + buildPhase = '' + sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" ${ + lib.concatStringsSep " " + (builtins.map (x: "--with-${x}") enableFeatures ++ + builtins.map (x: "--without-${x}") disableFeatures) + } + (cd doc/manual ; make info) + ''; + + installPhase = '' + INSTALL_ROOT=$out sh install.sh + '' + + lib.optionalString (!purgeNixReferences) '' + cp -r src $out/lib/sbcl + cp -r contrib $out/lib/sbcl + cat >$out/lib/sbcl/sbclrc <