diff options
-rw-r--r-- | nixos/modules/services/backup/postgresql-backup.nix | 51 | ||||
-rw-r--r-- | nixos/modules/services/misc/plex.nix | 2 | ||||
-rw-r--r-- | nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix | 24 | ||||
-rw-r--r-- | nixos/tests/postgresql.nix | 27 | ||||
-rw-r--r-- | pkgs/applications/misc/synergy/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/common.nix | 2 | ||||
-rw-r--r-- | pkgs/development/libraries/jemalloc/common.nix | 8 | ||||
-rw-r--r-- | pkgs/development/python-modules/cryptography/default.nix | 14 | ||||
-rw-r--r-- | pkgs/development/python-modules/elasticsearch-dsl/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/tools/build-managers/scons/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/admin/lego/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/filesystems/gocryptfs/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/filesystems/gocryptfs/deps.nix | 103 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 1 |
14 files changed, 196 insertions, 54 deletions
diff --git a/nixos/modules/services/backup/postgresql-backup.nix b/nixos/modules/services/backup/postgresql-backup.nix index f9f9568faa5c..11efa47ec5b2 100644 --- a/nixos/modules/services/backup/postgresql-backup.nix +++ b/nixos/modules/services/backup/postgresql-backup.nix @@ -6,11 +6,11 @@ let cfg = config.services.postgresqlBackup; - postgresqlBackupService = db : + postgresqlBackupService = db: dumpCmd: { enable = true; - description = "Backup of database ${db}"; + description = "Backup of ${db} database(s)"; requires = [ "postgresql.service" ]; @@ -26,7 +26,7 @@ let ${pkgs.coreutils}/bin/mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz fi - ${config.services.postgresql.package}/bin/pg_dump ${cfg.pgdumpOptions} ${db} | \ + ${dumpCmd} | \ ${pkgs.gzip}/bin/gzip -c > ${cfg.location}/${db}.sql.gz ''; @@ -42,9 +42,7 @@ let in { options = { - services.postgresqlBackup = { - enable = mkOption { default = false; description = '' @@ -61,6 +59,19 @@ in { ''; }; + backupAll = mkOption { + default = cfg.databases == []; + defaultText = "services.postgresqlBackup.databases == []"; + type = lib.types.bool; + description = '' + Backup all databases using pg_dumpall. + This option is mutual exclusive to + <literal>services.postgresqlBackup.databases</literal>. + The resulting backup dump will have the name all.sql.gz. + This option is the default if no databases are specified. + ''; + }; + databases = mkOption { default = []; description = '' @@ -79,18 +90,36 @@ in { type = types.string; default = "-Cbo"; description = '' - Command line options for pg_dump. + Command line options for pg_dump. This options is not used + if <literal>config.services.postgresqlBackup.backupAll</literal> is enabled. + Note that config.services.postgresqlBackup.backupAll is also active, + when no databases where specified. ''; }; }; }; - config = mkIf config.services.postgresqlBackup.enable { - - systemd.services = listToAttrs (map (db : { + config = mkMerge [ + { + assertions = [{ + assertion = cfg.backupAll -> cfg.databases == []; + message = "config.services.postgresqlBackup.backupAll cannot be used together with config.services.postgresqlBackup.databases"; + }]; + } + (mkIf (cfg.enable && cfg.backupAll) { + systemd.services.postgresqlBackup = + postgresqlBackupService "all" "${config.services.postgresql.package}/bin/pg_dumpall"; + }) + (mkIf (cfg.enable && !cfg.backupAll) { + systemd.services = listToAttrs (map (db: + let + cmd = "${config.services.postgresql.package}/bin/pg_dump ${cfg.pgdumpOptions} ${db}"; + in { name = "postgresqlBackup-${db}"; - value = postgresqlBackupService db; } ) cfg.databases); - }; + value = postgresqlBackupService db cmd; + }) cfg.databases); + }) + ]; } diff --git a/nixos/modules/services/misc/plex.nix b/nixos/modules/services/misc/plex.nix index 8fe5879c2764..e4810ce9f876 100644 --- a/nixos/modules/services/misc/plex.nix +++ b/nixos/modules/services/misc/plex.nix @@ -145,7 +145,7 @@ in PLEX_MEDIA_SERVER_HOME="${cfg.package}/usr/lib/plexmediaserver"; PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6"; PLEX_MEDIA_SERVER_TMPDIR="/tmp"; - LD_LIBRARY_PATH="${cfg.package}/usr/lib/plexmediaserver"; + LD_LIBRARY_PATH="/run/opengl-driver/lib:${cfg.package}/usr/lib/plexmediaserver"; LC_ALL="en_US.UTF-8"; LANG="en_US.UTF-8"; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix index 4ca6d4e5f8b6..c47e87a3dc35 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix @@ -18,12 +18,34 @@ in socketPath = mkOption { type = types.path; default = "/var/run/dovecot/stats"; - example = "/var/run/dovecot2/stats"; + example = "/var/run/dovecot2/old-stats"; description = '' Path under which the stats socket is placed. The user/group under which the exporter runs, should be able to access the socket in order to scrape the metrics successfully. + + Please keep in mind that the stats module has changed in + <link xlink:href="https://wiki2.dovecot.org/Upgrading/2.3">Dovecot 2.3+</link> which + is not <link xlink:href="https://github.com/kumina/dovecot_exporter/issues/8">compatible with this exporter</link>. + + The following extra config has to be passed to Dovecot to ensure that recent versions + work with this exporter: + <programlisting> + { + <xref linkend="opt-services.prometheus.exporters.dovecot.enable" /> = true; + <xref linkend="opt-services.prometheus.exporters.dovecot.socketPath" /> = "/var/run/dovecot2/old-stats"; + <xref linkend="opt-services.dovecot2.extraConfig" /> = ''' + mail_plugins = $mail_plugins old_stats + service old-stats { + unix_listener old-stats { + user = nobody + group = nobody + } + } + '''; + } + </programlisting> ''; }; scopes = mkOption { diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index 1d434b62a5cb..975ba7f488e2 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -21,7 +21,7 @@ let CREATE TABLE xmltest ( doc xml ); INSERT INTO xmltest (doc) VALUES ('<test>ok</test>'); -- check if libxml2 enabled ''; - make-postgresql-test = postgresql-name: postgresql-package: makeTest { + make-postgresql-test = postgresql-name: postgresql-package: backup-all: makeTest { name = postgresql-name; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ zagy ]; @@ -29,14 +29,17 @@ let machine = {...}: { - services.postgresql.package=postgresql-package; + services.postgresql.package = postgresql-package; services.postgresql.enable = true; services.postgresqlBackup.enable = true; - services.postgresqlBackup.databases = [ "postgres" ]; + services.postgresqlBackup.databases = optional (!backup-all) "postgres"; }; - testScript = '' + testScript = let + backupName = if backup-all then "all" else "postgres"; + backupService = if backup-all then "postgresqlBackup" else "postgresqlBackup-postgres"; + in '' sub check_count { my ($select, $nlines) = @_; return 'test $(sudo -u postgres psql postgres -tAc "' . $select . '"|wc -l) -eq ' . $nlines; @@ -56,12 +59,20 @@ let $machine->succeed(check_count("SELECT xpath(\'/test/text()\', doc) FROM xmltest;", 1)); # Check backup service - $machine->succeed("systemctl start postgresqlBackup-postgres.service"); - $machine->succeed("zcat /var/backup/postgresql/postgres.sql.gz | grep '<test>ok</test>'"); - $machine->succeed("stat -c '%a' /var/backup/postgresql/postgres.sql.gz | grep 600"); + $machine->succeed("systemctl start ${backupService}.service"); + $machine->succeed("zcat /var/backup/postgresql/${backupName}.sql.gz | grep '<test>ok</test>'"); + $machine->succeed("stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600"); $machine->shutdown; ''; }; in - mapAttrs' (p-name: p-package: {name=p-name; value=make-postgresql-test p-name p-package;}) postgresql-versions + (mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // ( + # just pick one version for the dump all test + let + first = head (attrNames postgresql-versions); + name = "${first}-backup-all"; + in { + ${name} = make-postgresql-test name postgresql-versions.${first} true; + } + ) diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 5f12bdb4dfcd..25855c2a6130 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, xlibsWrapper -, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver +, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver, cf-private , libX11, libXi, libXtst, libXrandr, xinput, curl, openssl, unzip }: stdenv.mkDerivation rec { @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { buildInputs = [ cmake curl openssl ] ++ lib.optionals stdenv.isDarwin [ - ApplicationServices Carbon Cocoa CoreServices ScreenSaver + ApplicationServices Carbon Cocoa CoreServices ScreenSaver cf-private ] ++ lib.optionals stdenv.isLinux [ xlibsWrapper libX11 libXi libXtst libXrandr xinput ]; installPhase = '' diff --git a/pkgs/development/compilers/llvm/common.nix b/pkgs/development/compilers/llvm/common.nix index 27f48ff3f113..df0cd29ad5b7 100644 --- a/pkgs/development/compilers/llvm/common.nix +++ b/pkgs/development/compilers/llvm/common.nix @@ -12,6 +12,8 @@ rec { "ARM" else if platform.parsed.cpu.family == "mips" then "Mips" + else if platform.parsed.cpu.family == "power" then + "PowerPC" else throw "Unsupported system"; diff --git a/pkgs/development/libraries/jemalloc/common.nix b/pkgs/development/libraries/jemalloc/common.nix index 6e83b9637c16..487af4ae97a5 100644 --- a/pkgs/development/libraries/jemalloc/common.nix +++ b/pkgs/development/libraries/jemalloc/common.nix @@ -4,8 +4,8 @@ # then stops downstream builds (mariadb in particular) from detecting it. This # option should remove the prefix and give us a working jemalloc. # Causes segfaults with some software (ex. rustc), but defaults to true for backward -# compatibility. Ignored on non OSX. -, stripPrefix ? true +# compatibility. +, stripPrefix ? stdenv.hostPlatform.isDarwin , disableInitExecTls ? false }: @@ -22,8 +22,8 @@ stdenv.mkDerivation rec { # see the comment on stripPrefix configureFlags = [] - ++ optional (stdenv.isDarwin && stripPrefix) [ "--with-jemalloc-prefix=" ] - ++ optional disableInitExecTls [ "--disable-initial-exec-tls" ] + ++ optional stripPrefix "--with-jemalloc-prefix=" + ++ optional disableInitExecTls "--disable-initial-exec-tls" ; doCheck = true; diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix index 603f92336c05..ab4aa8e89fd1 100644 --- a/pkgs/development/python-modules/cryptography/default.nix +++ b/pkgs/development/python-modules/cryptography/default.nix @@ -66,4 +66,18 @@ buildPythonPackage rec { # IOKit's dependencies are inconsistent between OSX versions, so this is the best we # can do until nix 1.11's release __impureHostDeps = [ "/usr/lib" ]; + + meta = with stdenv.lib; { + description = "A package which provides cryptographic recipes and primitives"; + longDescription = '' + Cryptography includes both high level recipes and low level interfaces to + common cryptographic algorithms such as symmetric ciphers, message + digests, and key derivation functions. + Our goal is for it to be your "cryptographic standard library". It + supports Python 2.7, Python 3.4+, and PyPy 5.3+. + ''; + homepage = https://github.com/pyca/cryptography; + license = with licenses; [ asl20 bsd3 psfl ]; + maintainers = with maintainers; [ primeos ]; + }; } diff --git a/pkgs/development/python-modules/elasticsearch-dsl/default.nix b/pkgs/development/python-modules/elasticsearch-dsl/default.nix index 94d47073764e..805bacbd716a 100644 --- a/pkgs/development/python-modules/elasticsearch-dsl/default.nix +++ b/pkgs/development/python-modules/elasticsearch-dsl/default.nix @@ -11,11 +11,11 @@ buildPythonPackage rec { pname = "elasticsearch-dsl"; - version = "6.2.1"; + version = "6.3.1"; src = fetchPypi { inherit pname version; - sha256 = "0f0w23kzyym0fkzisdkcl4xpnm8fsi97v1kskyvfrhj3mxy179fh"; + sha256 = "1gh8a0shqi105k325hgwb9avrpdjh0mc6mxwfg9ba7g6lssb702z"; }; propagatedBuildInputs = [ elasticsearch python-dateutil six ] diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix index f4c7e2f21710..2d0bf244370f 100644 --- a/pkgs/development/tools/build-managers/scons/default.nix +++ b/pkgs/development/tools/build-managers/scons/default.nix @@ -9,6 +9,6 @@ in { }; scons_latest = mkScons { version = "3.0.4"; - sha256 = "1jzvcbn77ayibd7zhzs7vz316f34mxb8akfrxccjni6i09mpv96n"; + sha256 = "06lv3pmdz5l23rx3kqsi1k712bdl36i942hgbjh209s94mpb7f72"; }; } diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix index 4805a94e7e9e..e1964b2f1611 100644 --- a/pkgs/tools/admin/lego/default.nix +++ b/pkgs/tools/admin/lego/default.nix @@ -2,14 +2,14 @@ buildGoPackage rec { name = "lego-${version}"; - version = "1.2.1"; + version = "2.0.1"; rev = "v${version}"; src = fetchFromGitHub { inherit rev; owner = "xenolf"; repo = "lego"; - sha256 = "1b2cv78v54afflz3gfyidkwzq7r2h5j45rmz0ybps03pr0hs4gk3"; + sha256 = "17q5j2zxc2c0xw8pfhnls67dmwrkicjmd2jdyim3fhi5cgxl9h93"; }; goPackagePath = "github.com/xenolf/lego"; diff --git a/pkgs/tools/filesystems/gocryptfs/default.nix b/pkgs/tools/filesystems/gocryptfs/default.nix index 75f5e9ffe11f..d923dba0bc0a 100644 --- a/pkgs/tools/filesystems/gocryptfs/default.nix +++ b/pkgs/tools/filesystems/gocryptfs/default.nix @@ -2,7 +2,7 @@ { stdenv, buildGoPackage, fetchFromGitHub, openssl, pandoc, pkgconfig }: let - version = "v1.5"; + version = "v1.6.1"; goFuseVersion = with stdenv.lib; substring 0 7 (head (filter ( d: d.goPackagePath == "github.com/hanwen/go-fuse" ) (import ./deps.nix))).fetch.rev; @@ -19,7 +19,7 @@ buildGoPackage rec { owner = "rfjakob"; repo = "gocryptfs"; rev = version; - sha256 = "0s5smjc7n9088n8a2mv7cy3cx31ci13i1i8fhg1vslc17a15qs2d"; + sha256 = "0aqbl25g48b4jp6l09k6kic6w3p0q7d9ip2wvrcvh8lhnrbdkhzd"; }; postPatch = "rm -r tests"; diff --git a/pkgs/tools/filesystems/gocryptfs/deps.nix b/pkgs/tools/filesystems/gocryptfs/deps.nix index cb5aec527f24..2589b41a0a5e 100644 --- a/pkgs/tools/filesystems/gocryptfs/deps.nix +++ b/pkgs/tools/filesystems/gocryptfs/deps.nix @@ -1,66 +1,129 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) [ { - goPackagePath = "github.com/hanwen/go-fuse"; + goPackagePath = "github.com/conejoninja/hid"; + fetch = { + type = "git"; + url = "https://github.com/conejoninja/hid"; + rev = "3a959b87ebefc18767a31fa567eea402eb37239e"; + sha256 = "1i1x7fhs3g9a48h2wxjczshx7gzmj9p6pd71l22ky998zgjadlim"; + }; + } + { + goPackagePath = "github.com/conejoninja/tesoro"; + fetch = { + type = "git"; + url = "https://github.com/conejoninja/tesoro"; + rev = "e0e839b6a6f14bce56d1bfac9a86311a1646a6a3"; + sha256 = "19q1ibj6l6pk2a3iwcyrj60sscvkqw450psd9zdflvb293cjsx8v"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265"; + sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq"; + }; + } + { + goPackagePath = "github.com/hanwen/go-fuse"; fetch = { type = "git"; url = "https://github.com/hanwen/go-fuse"; - rev = "291273cb8ce0f139636a6fd7414be3c7e2de6288"; - sha256 = "1djfl6mni8k4wllhwcr6qwyg1nh6wykdalvdl6gpc1rwrjj9c6xi"; + rev = "95c6370914ac7822973d1893680e878e156f8d70"; + sha256 = "1h701c1hxrw7ljh7kc0rjx18bfw2mzdbpmqqilb5wb0ngpdjpqxp"; }; } { - goPackagePath = "github.com/jacobsa/crypto"; + goPackagePath = "github.com/jacobsa/crypto"; fetch = { type = "git"; url = "https://github.com/jacobsa/crypto"; - rev = "c73681c634de898c869684602cf0c0d2ce938c4d"; + rev = "c73681c634de898c869684602cf0c0d2ce938c4d"; sha256 = "02jbiy6szshbzcmp4j3gpc577hrhikxqvm4kzxixp27k9f2cx5si"; }; } { - goPackagePath = "github.com/pkg/xattr"; + goPackagePath = "github.com/pkg/xattr"; fetch = { type = "git"; url = "https://github.com/pkg/xattr"; - rev = "d15dbc2bb0b5da267362b5e066e2c44c1fcff6c7"; - sha256 = "1vab8mpk2x4vbhx0kd0i0kn6sf7z5ivilcmdklyizzcfcwghh17g"; + rev = "f5b647e257e19d63831e7c7adb95dfb79d9ff4d9"; + sha256 = "0cqxibbfllhs6ffxq65gn08088g7g7aw752p9g3vbnj35jk2p8i9"; }; } { - goPackagePath = "github.com/rfjakob/eme"; + goPackagePath = "github.com/rfjakob/eme"; fetch = { type = "git"; url = "https://github.com/rfjakob/eme"; - rev = "2222dbd4ba467ab3fc7e8af41562fcfe69c0d770"; + rev = "2222dbd4ba467ab3fc7e8af41562fcfe69c0d770"; sha256 = "0c227ly3z8pqaqg22lpd8nzgqrfsbjx5gi9rp9ks1cmd11dv2gl9"; }; } { - goPackagePath = "golang.org/x/crypto"; + goPackagePath = "github.com/trezor/trezord-go"; + fetch = { + type = "git"; + url = "https://github.com/trezor/trezord-go"; + rev = "bae9c40e5d71c459bde056d42d4b19ab318c90c2"; + sha256 = "12j7b4vjs8n68214zrh5ivpqm3fcifk27bj6rszd9x2839nk3hy8"; + }; + } + { + goPackagePath = "github.com/xaionaro-go/cryptoWallet"; + fetch = { + type = "git"; + url = "https://github.com/xaionaro-go/cryptoWallet"; + rev = "47f9f6877e4324a8bc47fc5661c32d2fe6d29586"; + sha256 = "14h2vnl2jm2wj10znizdf2f0mxsk27rsjskjw5qffy8nf5a0i3i6"; + }; + } + { + goPackagePath = "github.com/zserge/hid"; + fetch = { + type = "git"; + url = "https://github.com/zserge/hid"; + rev = "c86e7adeabafd6fcb3371ad64d6ed366b04d55db"; + sha256 = "1y2zqndq6mafgsdai5gnkw4g8dzl9vmjcxq0i8xspaj4dmck19c4"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; fetch = { type = "git"; url = "https://go.googlesource.com/crypto"; - rev = "a49355c7e3f8fe157a85be2f77e6e269a0f89602"; - sha256 = "020q1laxjx5kcmnqy4wmdb63zhb0lyq6wpy40axhswzg2nd21s44"; + rev = "de0752318171da717af4ce24d0a2e8626afaeb11"; + sha256 = "1ps1dl2a5lwr3vbwcy8n4i1v73m567y024sk961fk281phrzp13i"; }; } { - goPackagePath = "golang.org/x/sync"; + goPackagePath = "golang.org/x/sync"; fetch = { type = "git"; url = "https://go.googlesource.com/sync"; - rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca"; + rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca"; sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; }; } { - goPackagePath = "golang.org/x/sys"; + goPackagePath = "golang.org/x/sys"; fetch = { type = "git"; url = "https://go.googlesource.com/sys"; - rev = "151529c776cdc58ddbe7963ba9af779f3577b419"; - sha256 = "149yfzs4k8vxhjr8f832drndir2k5ha0ggs2dw2fd6xvxf698bcx"; + rev = "14742f9018cd6651ec7364dc6ee08af0baaa1031"; + sha256 = "17k06vwhnlb18n9rb1cdcdqyjcn353znfrr4c90xb3carz1sqfq5"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; }; } -] +] \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aba19f6287c4..556dfcf0c040 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19561,6 +19561,7 @@ in syncthing-tray = callPackage ../applications/misc/syncthing-tray { }; synergy = callPackage ../applications/misc/synergy { + inherit (darwin) cf-private; inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa CoreServices ScreenSaver; }; |