diff options
-rw-r--r-- | nixos/modules/installer/tools/nixos-generate-config.pl | 2 | ||||
-rw-r--r-- | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixos/modules/security/pam.nix | 11 | ||||
-rw-r--r-- | nixos/modules/services/security/oauth2_proxy.nix | 2 | ||||
-rw-r--r-- | nixos/modules/tasks/filesystems/ecryptfs.nix | 14 | ||||
-rw-r--r-- | pkgs/development/tools/build-managers/dub/default.nix | 49 | ||||
-rw-r--r-- | pkgs/os-specific/linux/eudev/default.nix | 13 | ||||
-rw-r--r-- | pkgs/os-specific/linux/lxc/default.nix | 6 | ||||
-rw-r--r-- | pkgs/servers/xmpp/biboumi/catch.patch | 30 | ||||
-rw-r--r-- | pkgs/servers/xmpp/biboumi/default.nix | 44 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 5 |
11 files changed, 145 insertions, 32 deletions
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 926d1e3133f7..c0df2977856e 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -103,7 +103,7 @@ if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") { foreach $e (@desired_governors) { if (index($governors, $e) != -1) { - last if (push @attrs, "powerManagement.cpuFreqGovernor = \"$e\";"); + last if (push @attrs, "powerManagement.cpuFreqGovernor = lib.mkDefault \"$e\";"); } } } diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index e67e6ae32b9a..6f00a97dd3ff 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -696,6 +696,7 @@ ./tasks/filesystems/bcachefs.nix ./tasks/filesystems/btrfs.nix ./tasks/filesystems/cifs.nix + ./tasks/filesystems/ecryptfs.nix ./tasks/filesystems/exfat.nix ./tasks/filesystems/ext.nix ./tasks/filesystems/f2fs.nix diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index ede4ace5ed03..5ded36329f33 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -486,8 +486,9 @@ in ++ optionals config.krb5.enable [pam_krb5 pam_ccreds] ++ optionals config.security.pam.enableOTPW [ pkgs.otpw ] ++ optionals config.security.pam.oath.enable [ pkgs.oathToolkit ] - ++ optionals config.security.pam.enableU2F [ pkgs.pam_u2f ] - ++ optionals config.security.pam.enableEcryptfs [ pkgs.ecryptfs ]; + ++ optionals config.security.pam.enableU2F [ pkgs.pam_u2f ]; + + boot.supportedFilesystems = optionals config.security.pam.enableEcryptfs [ "ecryptfs" ]; security.wrappers = { unix_chkpwd = { @@ -495,10 +496,7 @@ in owner = "root"; setuid = true; }; - } // (if config.security.pam.enableEcryptfs then { - "mount.ecryptfs_private".source = "${pkgs.ecryptfs.out}/bin/mount.ecryptfs_private"; - "umount.ecryptfs_private".source = "${pkgs.ecryptfs.out}/bin/umount.ecryptfs_private"; - } else {}); + }; environment.etc = mapAttrsToList (n: v: makePAMService v) config.security.pam.services; @@ -521,6 +519,7 @@ in ftp = {}; i3lock = {}; i3lock-color = {}; + swaylock = {}; screen = {}; vlock = {}; xlock = {}; diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix index 3e5087766b1c..ef48d52e7a94 100644 --- a/nixos/modules/services/security/oauth2_proxy.nix +++ b/nixos/modules/services/security/oauth2_proxy.nix @@ -385,7 +385,7 @@ in httpAddress = mkOption { type = types.str; - default = "127.0.0.1:4180"; + default = "http://127.0.0.1:4180"; description = '' HTTPS listening address. This module does not expose the port by default. If you want this URL to be accessible to other machines, please diff --git a/nixos/modules/tasks/filesystems/ecryptfs.nix b/nixos/modules/tasks/filesystems/ecryptfs.nix new file mode 100644 index 000000000000..12a407cabbfb --- /dev/null +++ b/nixos/modules/tasks/filesystems/ecryptfs.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: +# TODO: make ecryptfs work in initramfs? + +with lib; + +{ + config = mkIf (any (fs: fs == "ecryptfs") config.boot.supportedFilesystems) { + system.fsPackages = [ pkgs.ecryptfs ]; + security.wrappers = { + "mount.ecryptfs_private".source = "${pkgs.ecryptfs.out}/bin/mount.ecryptfs_private"; + "umount.ecryptfs_private".source = "${pkgs.ecryptfs.out}/bin/umount.ecryptfs_private"; + }; + }; +} diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix index 7f178babf32e..007ce5b07cde 100644 --- a/pkgs/development/tools/build-managers/dub/default.nix +++ b/pkgs/development/tools/build-managers/dub/default.nix @@ -1,27 +1,53 @@ -{ stdenv, fetchFromGitHub, curl, dmd, gcc }: +{ stdenv, fetchFromGitHub, curl, dmd, libevent, rsync }: stdenv.mkDerivation rec { name = "dub-${version}"; - version = "1.1.0"; + version = "1.5.0"; src = fetchFromGitHub { - sha256 = "1smzlfs5gjmrlghccdgn04qzy5b8l0xm8y2virayb2adrwqviscm"; - rev = "v${version}"; + owner = "dlang"; repo = "dub"; - owner = "D-Programming-Language"; + rev = "v${version}"; + sha256 = "0kmirx4ijhzirjwdqmnwqhngg38zdaydpvny2p0yj3afqgkj6vq5"; }; - buildInputs = [ curl ]; - propagatedBuildInputs = [ gcc dmd ]; - - buildPhase = '' + postPatch = '' # Avoid that the version file is overwritten substituteInPlace build.sh \ --replace source/dub/version_.d /dev/null - patchShebangs ./build.sh + + substituteInPlace build.sh \ + --replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_ + + patchShebangs build.sh + patchShebangs test + + # Remove unittest which is not working for now (upstream already fixed: https://github.com/dlang/dub/issues/1224) + rm test/interactive-remove.sh + + # Fix test as long as there is no upstream solution. (see https://github.com/dlang/dub/pull/1227) + substituteInPlace test/issue884-init-defer-file-creation.sh \ + --replace "< /dev/stdin" "<(while :; do sleep 1; done)" \ + --replace "sleep 1" "" + ''; + + nativeBuildInputs = [ dmd libevent rsync ]; + buildInputs = [ curl ]; + + buildPhase = '' + export DMD=${dmd.out}/bin/dmd ./build.sh ''; + doCheck = false; + + checkPhase = '' + export DUB=$PWD/bin/dub + export DC=${dmd.out}/bin/dmd + export HOME=$TMP + ./test/run-unittest.sh + ''; + installPhase = '' mkdir $out mkdir $out/bin @@ -29,9 +55,10 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "Build tool for D projects"; + description = "Package and build manager for D applications and libraries"; homepage = http://code.dlang.org/; license = licenses.mit; + maintainers = with maintainers; [ ThomasMader ]; platforms = platforms.unix; }; } diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix index 091a0d4b46f4..67ce39ddbd39 100644 --- a/pkgs/os-specific/linux/eudev/default.nix +++ b/pkgs/os-specific/linux/eudev/default.nix @@ -1,17 +1,17 @@ -{stdenv, fetchurl, pkgconfig, glib, gperf, utillinux}: +{stdenv, fetchurl, pkgconfig, glib, gperf, utillinux, kmod}: let s = # Generated upstream information rec { baseName="eudev"; - version = "3.2.1"; + version = "3.2.4"; name="${baseName}-${version}"; url="http://dev.gentoo.org/~blueness/eudev/eudev-${version}.tar.gz"; - sha256 = "06gyyl90n85x8i7lfhns514y1kg1ians13l467admyzy3kjxkqsp"; + sha256 = "1vbg2k5mngyxdcdw4jkkzxbwdgrcr643hkby1whz7x91kg4g9p6x"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - glib gperf utillinux + glib gperf utillinux kmod ]; in stdenv.mkDerivation { @@ -21,11 +21,6 @@ stdenv.mkDerivation { inherit (s) url sha256; }; patches = [ - (fetchurl { - # for new gperf - url = "https://github.com/gentoo/eudev/commit/5bab4d8de0dcbb8e2e7d4d5125b4aea1652a0d60.patch"; - sha256 = "097pjmgq243mz3vfxndwmm37prmacgq2f4r4gb47whfkbd6syqcw"; - }) ]; configureFlags = [ diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index c1f9425efc34..f818d2c0d8c0 100644 --- a/pkgs/os-specific/linux/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -12,11 +12,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "lxc-${version}"; - version = "2.0.8"; + version = "2.1.0"; src = fetchurl { url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz"; - sha256 = "15449r56rqg3487kzsnfvz0w4p5ajrq0krcsdh6c9r6g0ark93hd"; + sha256 = "1qld0gi19mximxm0qyr6vzav32gymhc7fvp0bzwv37j0b8q0fi1r"; }; nativeBuildInputs = [ @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ libapparmor gnutls libselinux libseccomp cgmanager libnih dbus libcap - python3Packages.python systemd + python3Packages.python python3Packages.setuptools systemd ]; patches = [ diff --git a/pkgs/servers/xmpp/biboumi/catch.patch b/pkgs/servers/xmpp/biboumi/catch.patch new file mode 100644 index 000000000000..05cf534ecfef --- /dev/null +++ b/pkgs/servers/xmpp/biboumi/catch.patch @@ -0,0 +1,30 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -273,27 +273,6 @@ foreach(file ${source_all}) + endforeach() + + # +-## Add a rule to download the catch unit test framework +-# +-include(ExternalProject) +-ExternalProject_Add(catch +- GIT_REPOSITORY "https://lab.louiz.org/louiz/Catch.git" +- PREFIX "external" +- UPDATE_COMMAND "" +- CONFIGURE_COMMAND "" +- BUILD_COMMAND "" +- INSTALL_COMMAND "" +- ) +-set_target_properties(catch PROPERTIES EXCLUDE_FROM_ALL TRUE) +-ExternalProject_Get_Property(catch SOURCE_DIR) +-if(NOT EXISTS ${CMAKE_SOURCE_DIR}/tests/catch.hpp) +- target_include_directories(test_suite +- PUBLIC "${SOURCE_DIR}/include/" +- ) +- add_dependencies(test_suite catch) +-endif() +- +-# + ## Add some custom rules to launch the tests + # + add_custom_target(check COMMAND "test_suite" diff --git a/pkgs/servers/xmpp/biboumi/default.nix b/pkgs/servers/xmpp/biboumi/default.nix new file mode 100644 index 000000000000..e59aaa9116c9 --- /dev/null +++ b/pkgs/servers/xmpp/biboumi/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, fetchgit, cmake, libuuid, expat, sqlite, libidn, + libiconv, botan2, systemd, pkgconfig, udns, pandoc, procps } : + +stdenv.mkDerivation rec { + name = "biboumi-${version}"; + version = "6.1"; + + src = fetchurl { + url = "https://git.louiz.org/biboumi/snapshot/biboumi-${version}.tar.xz"; + sha256 = "1la1n502v2wyfm0vl8v4m0hbigkkjchi21446n9mb203fz1cvr77"; + }; + + louiz_catch = fetchgit { + url = https://lab.louiz.org/louiz/Catch.git; + rev = "35f510545d55a831372d3113747bf1314ff4f2ef"; + sha256 = "1l5b32sgr9zc2hlfr445hwwxv18sh3cn5q1xmvf588z6jyf88g2g"; + }; + + patches = [ ./catch.patch ]; + + nativeBuildInputs = [ cmake pkgconfig pandoc ]; + buildInputs = [ libuuid expat sqlite libiconv libidn botan2 systemd + udns procps ]; + + inherit procps; + preConfigure = '' + substituteInPlace CMakeLists.txt --replace /etc/biboumi $out/etc/biboumi + substituteInPlace unit/biboumi.service.cmake --replace /bin/kill $procps/bin/kill + cp $louiz_catch/single_include/catch.hpp tests/ + # echo "policy_directory=$out/etc/biboumi" >> conf/biboumi.cfg + # TODO include conf/biboumi.cfg as example somewhere + ''; + + enableParallelBuilding = true; + doCheck = true; + + meta = with stdenv.lib; { + description = "Modern XMPP IRC gateway"; + platforms = platforms.unix; + homepage = https://lab.louiz.org/louiz/biboumi; + license = licenses.zlib; + maintainers = [ maintainers.woffs ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ab062fd2bda1..c38ee66735e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11483,6 +11483,8 @@ with pkgs; inherit (lua51Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luazlib; }; + biboumi = callPackage ../servers/xmpp/biboumi { }; + elasticmq = callPackage ../servers/elasticmq { }; eventstore = callPackage ../servers/nosql/eventstore { @@ -15027,6 +15029,7 @@ with pkgs; wlc = callPackage ../development/libraries/wlc { }; orbment = callPackage ../applications/window-managers/orbment { }; sway = callPackage ../applications/window-managers/sway { }; + swaylock = callPackage ../applications/window-managers/sway { }; swc = callPackage ../development/libraries/swc { }; wld = callPackage ../development/libraries/wld { }; @@ -18281,7 +18284,7 @@ with pkgs; kinfocenter kmenuedit kscreen kscreenlocker ksshaskpass ksysguard kwallet-pam kwayland-integration kwin kwrited milou oxygen plasma-desktop plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace - plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm startkde + plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm systemsettings; ### SCIENCE |