diff options
28 files changed, 395 insertions, 147 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e20bc18ef27..f5c00ff6268 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6568,6 +6568,12 @@ githubId = 1525767; name = "Vaibhav Sagar"; }; + valebes = { + email = "valebes@gmail.com"; + github = "valebes"; + githubid = 10956211; + name = "Valerio Besozzi"; + }; valeriangalliat = { email = "val@codejam.info"; github = "valeriangalliat"; diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml index b02d99438de..6493bb99596 100644 --- a/nixos/doc/manual/release-notes/rl-1909.xml +++ b/nixos/doc/manual/release-notes/rl-1909.xml @@ -284,6 +284,13 @@ Squid 3 has been removed and the <option>squid</option> derivation now refers to Squid 4. </para> </listitem> + <listitem> + <para> + The <option>services.pdns-recursor.extraConfig</option> option has been replaced by + <option>services.pdns-recursor.settings</option>. The new option allows setting extra + configuration while being better type-checked and mergeable. + </para> + </listitem> </itemizedlist> </section> @@ -506,12 +513,20 @@ been removed. </para> </listitem> - <listitem> - <para> - The <literal>rmilter</literal> package was removed with associated module and options due deprecation by upstream developer. - Use <literal>rspamd</literal> in proxy mode instead. - </para> - </listitem> + <listitem> + <para> + The <literal>rmilter</literal> package was removed with associated module and options due deprecation by upstream developer. + Use <literal>rspamd</literal> in proxy mode instead. + </para> + </listitem> + <listitem> + <para> + systemd cgroup accounting via the + <link linkend="opt-systemd.enableCgroupAccounting">systemd.enableCgroupAccounting</link> + option is now enabled by default. It now also enables the more recent Block IO and IP accounting + features. + </para> + </listitem> </itemizedlist> </section> </section> diff --git a/nixos/modules/services/networking/dnschain.nix b/nixos/modules/services/networking/dnschain.nix index 0c2add424ba..5b58ea9b0c9 100644 --- a/nixos/modules/services/networking/dnschain.nix +++ b/nixos/modules/services/networking/dnschain.nix @@ -136,10 +136,16 @@ in "/.dns/127.0.0.1#${toString cfg.dns.port}" ]; - services.pdns-recursor.forwardZones = mkIf cfgs.pdns-recursor.resolveDNSChainQueries - { bit = "127.0.0.1:${toString cfg.dns.port}"; - dns = "127.0.0.1:${toString cfg.dns.port}"; - }; + services.pdns-recursor = mkIf cfgs.pdns-recursor.resolveDNSChainQueries { + forwardZones = + { bit = "127.0.0.1:${toString cfg.dns.port}"; + dns = "127.0.0.1:${toString cfg.dns.port}"; + }; + luaConfig ='' + addNTA("bit", "namecoin doesn't support DNSSEC") + addNTA("dns", "namecoin doesn't support DNSSEC") + ''; + }; users.users = singleton { name = username; diff --git a/nixos/modules/services/networking/pdns-recursor.nix b/nixos/modules/services/networking/pdns-recursor.nix index d07deb9dcc6..ec69cc838da 100644 --- a/nixos/modules/services/networking/pdns-recursor.nix +++ b/nixos/modules/services/networking/pdns-recursor.nix @@ -6,25 +6,27 @@ let dataDir = "/var/lib/pdns-recursor"; username = "pdns-recursor"; - cfg = config.services.pdns-recursor; - zones = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones; + cfg = config.services.pdns-recursor; - configFile = pkgs.writeText "recursor.conf" '' - local-address=${cfg.dns.address} - local-port=${toString cfg.dns.port} - allow-from=${concatStringsSep "," cfg.dns.allowFrom} + oneOrMore = type: with types; either type (listOf type); + valueType = with types; oneOf [ int str bool path ]; + configType = with types; attrsOf (nullOr (oneOrMore valueType)); - webserver-address=${cfg.api.address} - webserver-port=${toString cfg.api.port} - webserver-allow-from=${concatStringsSep "," cfg.api.allowFrom} + toBool = val: if val then "yes" else "no"; + serialize = val: with types; + if str.check val then val + else if int.check val then toString val + else if path.check val then toString val + else if bool.check val then toBool val + else if builtins.isList val then (concatMapStringsSep "," serialize val) + else ""; - forward-zones=${concatStringsSep "," zones} - export-etc-hosts=${if cfg.exportHosts then "yes" else "no"} - dnssec=${cfg.dnssecValidation} - serve-rfc1918=${if cfg.serveRFC1918 then "yes" else "no"} + configFile = pkgs.writeText "recursor.conf" + (concatStringsSep "\n" + (flip mapAttrsToList cfg.settings + (name: val: "${name}=${serialize val}"))); - ${cfg.extraConfig} - ''; + mkDefaultAttrs = mapAttrs (n: v: mkDefault v); in { options.services.pdns-recursor = { @@ -117,17 +119,55 @@ in { ''; }; - extraConfig = mkOption { + settings = mkOption { + type = configType; + default = { }; + example = literalExample '' + { + loglevel = 8; + log-common-errors = true; + } + ''; + description = '' + PowerDNS Recursor settings. Use this option to configure Recursor + settings not exposed in a NixOS option or to bypass one. + See the full documentation at + <link xlink:href="https://doc.powerdns.com/recursor/settings.html"/> + for the available options. + ''; + }; + + luaConfig = mkOption { type = types.lines; default = ""; description = '' - Extra options to be appended to the configuration file. + The content Lua configuration file for PowerDNS Recursor. See + <link xlink:href="https://doc.powerdns.com/recursor/lua-config/index.html"/>. ''; }; }; config = mkIf cfg.enable { + services.pdns-recursor.settings = mkDefaultAttrs { + local-address = cfg.dns.address; + local-port = cfg.dns.port; + allow-from = cfg.dns.allowFrom; + + webserver-address = cfg.api.address; + webserver-port = cfg.api.port; + webserver-allow-from = cfg.api.allowFrom; + + forward-zones = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones; + export-etc-hosts = cfg.exportHosts; + dnssec = cfg.dnssecValidation; + serve-rfc1918 = cfg.serveRFC1918; + lua-config-file = pkgs.writeText "recursor.lua" cfg.luaConfig; + + log-timestamp = false; + disable-syslog = true; + }; + users.users."${username}" = { home = dataDir; createHome = true; @@ -150,8 +190,7 @@ in { AmbientCapabilities = "cap_net_bind_service"; ExecStart = ''${pkgs.pdns-recursor}/bin/pdns_recursor \ --config-dir=${dataDir} \ - --socket-dir=${dataDir} \ - --disable-syslog + --socket-dir=${dataDir} ''; }; @@ -165,4 +204,10 @@ in { ''; }; }; + + imports = [ + (mkRemovedOptionModule [ "services" "pdns-recursor" "extraConfig" ] + "To change extra Recursor settings use services.pdns-recursor.settings instead.") + ]; + } diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 23a2dd45d49..2a0360b12cb 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -537,7 +537,7 @@ in }; systemd.enableCgroupAccounting = mkOption { - default = false; + default = true; type = types.bool; description = '' Whether to enable cgroup accounting. @@ -804,10 +804,10 @@ in [Manager] ${optionalString config.systemd.enableCgroupAccounting '' DefaultCPUAccounting=yes + DefaultBlockIOAccounting=yes DefaultIOAccounting=yes DefaultBlockIOAccounting=yes - DefaultMemoryAccounting=yes - DefaultTasksAccounting=yes + DefaultIPAccounting=yes ''} DefaultLimitCORE=infinity ${config.systemd.extraConfig} diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix index 3168c026d51..1c201e3b5dc 100644 --- a/nixos/tests/systemd.nix +++ b/nixos/tests/systemd.nix @@ -89,5 +89,12 @@ import ./make-test.nix ({ pkgs, ... }: { $machine->waitForUnit('multi-user.target'); $machine->succeed('sysctl net.core.default_qdisc | grep -q "fq_codel"'); }; + + # Test cgroup accounting is enabled + subtest "systemd cgroup accounting is enabled", sub { + $machine->waitForUnit('multi-user.target'); + $machine->succeed('systemctl show testservice1.service -p IOAccounting | grep -q "yes"'); + $machine->succeed('systemctl status testservice1.service | grep -q "CPU:"'); + }; ''; }) diff --git a/pkgs/applications/misc/rsclock/default.nix b/pkgs/applications/misc/rsclock/default.nix new file mode 100644 index 00000000000..81c001509f3 --- /dev/null +++ b/pkgs/applications/misc/rsclock/default.nix @@ -0,0 +1,24 @@ +{ stdenv, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "rsClock"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "valebes"; + repo = pname; + rev = "v${version}"; + sha256 = "1fpidswkgpf9yr4vxqn38livz6r3z5i0lhg7ngj9f1ki4yqxn9zh"; + }; + + cargoSha256 = "1m0lm8xh1qp0cbx870xy2m0bv047mb00vcwzq7r5gxqx8n61qm4n"; + + meta = with stdenv.lib; { + description = "A simple terminal clock written in Rust"; + homepage = "https://github.com/valebes/rsClock"; + license = licenses.mit; + maintainers = with maintainers; [valebes]; + platforms = platforms.all; + }; +} + diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix index c4075075299..b4707327bc7 100644 --- a/pkgs/applications/networking/cluster/tilt/default.nix +++ b/pkgs/applications/networking/cluster/tilt/default.nix @@ -5,20 +5,20 @@ buildGoPackage rec { /* Do not use "dev" as a version. If you do, Tilt will consider itself running in development environment and try to serve assets from the source tree, which is not there once build completes. */ - version = "0.9.7"; + version = "0.10.4"; src = fetchFromGitHub { owner = "windmilleng"; repo = pname; rev = "v${version}"; - sha256 = "0b7jk7iwjzdsb2wp9qx4gs9g3gi2vcqw5ilkax3gfz7wsplm0n65"; + sha256 = "0nxgmldbcaj91jq47qxpf6jqwvi9bhg243qchdkiliphybvilcrg"; }; goPackagePath = "github.com/windmilleng/tilt"; subPackages = [ "cmd/tilt" ]; - buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-07-30"); + buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-08-14"); meta = with stdenv.lib; { description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production"; diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix index 715d8e13ec3..eaa6b07c8fa 100644 --- a/pkgs/applications/networking/p2p/gnunet/default.nix +++ b/pkgs/applications/networking/p2p/gnunet/default.nix @@ -1,20 +1,24 @@ { stdenv, fetchurl, adns, curl, gettext, gmp, gnutls, libextractor , libgcrypt, libgnurl, libidn, libmicrohttpd, libtool, libunistring , makeWrapper, ncurses, pkgconfig, libxml2, sqlite, zlib -, libpulseaudio, libopus, libogg }: +, libpulseaudio, libopus, libogg, jansson }: stdenv.mkDerivation rec { - name = "gnunet-0.11.0"; + pname = "gnunet"; + version = "0.11.6"; src = fetchurl { - url = "mirror://gnu/gnunet/${name}.tar.gz"; - sha256 = "16kydkrjlf2vxflgls46bwaf9kjczf621p456q0qlphd7cy7lixp"; + url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz"; + sha256 = "1gspr1lh885sb9r2anh7bi4zan3zjqx33lpyhq9hm2g0n5ip187q"; }; + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig libtool makeWrapper ]; buildInputs = [ - adns curl gettext gmp gnutls libextractor libgcrypt libgnurl libidn - libmicrohttpd libtool libunistring libxml2 makeWrapper ncurses - pkgconfig sqlite zlib libpulseaudio libopus libogg + adns curl gmp gnutls libextractor libgcrypt libgnurl libidn + libmicrohttpd libunistring libxml2 ncurses gettext + sqlite zlib libpulseaudio libopus libogg jansson ]; preConfigure = '' @@ -29,26 +33,18 @@ stdenv.mkDerivation rec { find . \( -iname \*test\*.c -or -name \*.conf \) | \ xargs sed -ie "s|/tmp|$TMPDIR|g" - # Ensure NSS installation works fine - configureFlags="$configureFlags --with-nssdir=$out/lib" - patchShebangs src/gns/nss/install-nss-plugin.sh - sed -ie 's|@LDFLAGS@|@LDFLAGS@ $(Z_LIBS)|g' \ src/regex/Makefile.in \ src/fs/Makefile.in ''; + # unfortunately, there's still a few failures with impure tests doCheck = false; - - /* FIXME: Tests must be run this way, but there are still a couple of - failures. - - postInstall = - '' export GNUNET_PREFIX="$out" - export PATH="$out/bin:$PATH" - make -k check - ''; - */ + checkPhase = '' + export GNUNET_PREFIX="$out" + export PATH="$out/bin:$PATH" + make -k check + ''; meta = with stdenv.lib; { description = "GNU's decentralized anonymous and censorship-resistant P2P framework"; @@ -69,9 +65,7 @@ stdenv.mkDerivation rec { ''; homepage = https://gnunet.org/; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ vrthra ]; platforms = platforms.gnu ++ platforms.linux; }; diff --git a/pkgs/applications/science/logic/stp/default.nix b/pkgs/applications/science/logic/stp/default.nix index 081dc788163..0ea659d1927 100644 --- a/pkgs/applications/science/logic/stp/default.nix +++ b/pkgs/applications/science/logic/stp/default.nix @@ -1,14 +1,14 @@ { stdenv, cmake, boost, bison, flex, fetchFromGitHub, perl, python3, python3Packages, zlib, minisatUnstable, cryptominisat }: stdenv.mkDerivation rec { - version = "2.2.0"; - name = "stp-${version}"; + pname = "stp"; + version = "2.3.3"; src = fetchFromGitHub { owner = "stp"; repo = "stp"; - rev = "stp-${version}"; - sha256 = "1jh23wjm62nnqfx447g2y53bbangq04hjrvqc35v9xxpcjgj3i49"; + rev = version; + sha256 = "1yg2v4wmswh1sigk47drwsxyayr472mf4i47lqmlcgn9hhbx1q87"; }; buildInputs = [ boost zlib minisatUnstable cryptominisat python3 ]; @@ -23,9 +23,8 @@ stdenv.mkDerivation rec { ) ''; - # `make -f lib/Interface/CMakeFiles/cppinterface.dir/build.make lib/Interface/CMakeFiles/cppinterface.dir/cpp_interface.cpp.o`: - # include/stp/AST/UsefulDefs.h:41:29: fatal error: stp/AST/ASTKind.h: No such file or directory - enableParallelBuilding = false; + # seems to build fine now, may revert if concurrency does become an issue + enableParallelBuilding = true; meta = with stdenv.lib; { description = "Simple Theorem Prover"; diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix index 12427b91265..215a576a578 100644 --- a/pkgs/applications/window-managers/sway/default.nix +++ b/pkgs/applications/window-managers/sway/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "sway"; - version = "1.1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "swaywm"; repo = "sway"; rev = version; - sha256 = "0yhn9zdg9mzfhn97c440lk3pw6122nrhx0is5sqmvgr6p814f776"; + sha256 = "0vch2zm5afc76ia78p3vg71zr2fyda67l9hd2h0x1jq3mnvfbxnd"; }; patches = [ @@ -41,10 +41,6 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/sway --prefix PATH : "${swaybg}/bin" ''; - postPatch = '' - sed -i "s/version: '1.0'/version: '${version}'/" meson.build - ''; - meta = with stdenv.lib; { description = "i3-compatible tiling Wayland compositor"; homepage = https://swaywm.org; diff --git a/pkgs/desktops/gnome-3/core/vino/default.nix b/pkgs/desktops/gnome-3/core/vino/default.nix index b3f06c2dcc1..444c144cfab 100644 --- a/pkgs/desktops/gnome-3/core/vino/default.nix +++ b/pkgs/desktops/gnome-3/core/vino/default.nix @@ -1,29 +1,85 @@ -{ stdenv, fetchurl, lib, wrapGAppsHook -, pkgconfig, gnome3, gtk3, glib, intltool, libXtst, libnotify, libsoup -, telepathySupport ? false, dbus-glib ? null, telepathy-glib ? null -, libsecret, gnutls, libgcrypt, avahi, zlib, libjpeg, libXdamage, libXfixes, libXext -, networkmanager }: - -with lib; +{ stdenv +, fetchFromGitLab +, wrapGAppsHook +, pkgconfig +, gnome3 +, gtk3 +, glib +, intltool +, libXtst +, libnotify +, libsoup +, libsecret +, gnutls +, libgcrypt +, avahi +, zlib +, libjpeg +, libXdamage +, libXfixes +, libXext +, networkmanager +, gnome-common +, libtool +, automake +, autoconf +, telepathySupport ? false +, dbus-glib ? null +, telepathy-glib ? null +}: stdenv.mkDerivation rec { - name = "vino-${version}"; - version = "3.22.0"; + pname = "vino"; + version = "unstable-2019-07-08"; - src = fetchurl { - url = "mirror://gnome/sources/vino/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "2911c779b6a2c46e5bc8e5a0c94c2a4d5bd4a1ee7e35f2818702cb13d9d23bab"; + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = "vino"; + rev = "aed81a798558c8127b765cd4fb4dc726d10f1e21"; + sha256 = "16r4cj5nsygmd9v97nq6d1yhynzak9hdnaprcdbmwfhh0c9w8jv3"; }; doCheck = true; - nativeBuildInputs = [ intltool wrapGAppsHook pkgconfig ]; + nativeBuildInputs = [ + autoconf + automake + gnome-common + intltool + libtool + pkgconfig + wrapGAppsHook + ]; buildInputs = [ - gnome3.adwaita-icon-theme gtk3 glib libXtst libnotify libsoup - libsecret gnutls libgcrypt avahi zlib libjpeg - libXdamage libXfixes libXext networkmanager - ] ++ optionals telepathySupport [ dbus-glib telepathy-glib ]; + avahi + glib + gnome3.adwaita-icon-theme + gnutls + gtk3 + libXdamage + libXext + libXfixes + libXtst + libgcrypt + libjpeg + libnotify + libsecret + libsoup + networkmanager + zlib + ] + ++ stdenv.lib.optionals telepathySupport [ dbus-glib telepathy-glib ] + ; + + preConfigure = '' + NOCONFIGURE=1 ./autogen.sh + ''; + + postInstall = stdenv.lib.optionalString (!telepathySupport) '' + rm -f $out/share/dbus-1/services/org.freedesktop.Telepathy.Client.Vino.service + ''; passthru = { updateScript = gnome3.updateScript { @@ -35,7 +91,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Projects/Vino; description = "GNOME desktop sharing server"; - maintainers = with maintainers; [ lethalman domenkozar ]; + maintainers = gnome3.maintainers; license = licenses.gpl2; platforms = platforms.linux; }; diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix index de980f1ca68..4e323898afb 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -79,6 +79,12 @@ let sha256 = "0l9rw6r5r90iybdkp3hhl2pf0h0s1izc68h5d3ywrm92pq32wz57"; }) + (fetchpatch { + url = "https://github.com/python/cpython/commit/979daae300916adb399ab5b51410b6ebd0888f13.patch"; + name = "CVE-2018-20852.patch"; + sha256 = "0p838ycssd6abxzby69rhngjqqm59cmlp07910mpjx7lmsz049pb"; + }) + # Fix race-condition during pyc creation. Has a slight backwards # incompatible effect: pyc symlinks will now be overridden # (https://bugs.python.org/issue17222). Included in python >= 3.4, diff --git a/pkgs/development/libraries/cctz/default.nix b/pkgs/development/libraries/cctz/default.nix index 2930ffa61e3..832b070c883 100644 --- a/pkgs/development/libraries/cctz/default.nix +++ b/pkgs/development/libraries/cctz/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub }: +{ stdenv, fetchFromGitHub, darwin }: stdenv.mkDerivation rec { name = "cctz-${version}"; @@ -13,8 +13,14 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; + buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Foundation; + installTargets = [ "install_hdrs" "install_shared_lib" ]; + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -id $out/lib/libcctz.so $out/lib/libcctz.so + ''; + enableParallelBuilding = true; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix index e87f535a1f7..0bb3af37eee 100644 --- a/pkgs/development/libraries/libgnurl/default.nix +++ b/pkgs/development/libraries/libgnurl/default.nix @@ -2,23 +2,38 @@ libidn2, libunistring, nghttp2 }: stdenv.mkDerivation rec { - version = "7.64.0"; - - name = "libgnurl-${version}"; + pname = "libgnurl"; + version = "7.65.3"; src = fetchurl { url = "mirror://gnu/gnunet/gnurl-${version}.tar.gz"; - sha256 = "0pvmbi32lixcpk10prplmwrmi4wzp3bc1aiyhr552kx0wqdqmdk8"; + sha256 = "19l7jw3x83qk7yay5968pc39vzvxl55mhn1nmjh51miyda405qa9"; }; nativeBuildInputs = [ libtool groff perl pkgconfig python2 ]; - + buildInputs = [ gnutls zlib libidn2 libunistring nghttp2 ]; configureFlags = [ "--disable-ntlm-wb" "--without-ca-bundle" "--with-ca-fallback" + # below options will cause errors if enabled + "--disable-ftp" + "--disable-tftp" + "--disable-file" + "--disable-ldap" + "--disable-dict" + "--disable-rtsp" + "--disable-telnet" + "--disable-pop3" + "--disable-imap" + "--disable-smb" + "--disable-smtp" + "--disable-gopher" + "--without-ssl" # disables only openssl, not ssl in general + "--without-libpsl" + "--without-librtmp" ]; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix index 68ddf5c91d1..e766657c19a 100644 --- a/pkgs/development/libraries/poco/default.nix +++ b/pkgs/development/libraries/poco/default.nix @@ -28,6 +28,5 @@ stdenv.mkDerivation rec { description = "Cross-platform C++ libraries with a network/internet focus"; license = licenses.boost; maintainers = with maintainers; [ orivej ]; - platforms = platforms.linux; }; } diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index b85616842ea..4d820bd9519 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -6,18 +6,17 @@ stdenv.mkDerivation rec { pname = "wlroots"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "swaywm"; repo = "wlroots"; rev = version; - sha256 = "1rdcmll5b8w242n6yfjpsaprq280ck2jmbz46dxndhignxgda7k4"; + sha256 = "0jzxa6psbc7ddxli7rbfqxmv1svxnis51l1vch4hb9fdixqm284a"; }; - # $out for the library, $bin for rootston, and $examples for the example - # programs (in examples) AND rootston - outputs = [ "out" "bin" "examples" ]; + # $out for the library and $examples for the example programs (in examples): + outputs = [ "out" "examples" ]; nativeBuildInputs = [ meson ninja pkgconfig ]; @@ -32,31 +31,13 @@ stdenv.mkDerivation rec { "-Dxcb-icccm=enabled" "-Dxcb-errors=enabled" ]; - postPatch = '' - # It happens from time to time that the version wasn't updated: - sed -iE "s/version: '[0-9]\.[0-9]\.[0-9]'/version: '${version}.0'/" meson.build - ''; - postInstall = '' - # Copy the library to $bin and $examples - for output in "$bin" "$examples"; do - mkdir -p $output/lib - cp -P libwlroots* $output/lib/ - done + # Copy the library to $examples + mkdir -p $examples/lib + cp -P libwlroots* $examples/lib/ ''; postFixup = '' - # Install rootston (the reference compositor) to $bin and $examples (this - # has to be done after the fixup phase to prevent broken binaries): - for output in "$bin" "$examples"; do - mkdir -p $output/bin - cp rootston/rootston $output/bin/ - patchelf \ - --set-rpath "$(patchelf --print-rpath $output/bin/rootston | sed s,$out,$output,g)" \ - $output/bin/rootston - mkdir $output/etc - cp ../rootston/rootston.ini.example $output/etc/rootston.ini - done # Install ALL example programs to $examples: # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle # screenshot output-layout multi-pointer rotation tablet touch pointer @@ -65,9 +46,6 @@ stdenv.mkDerivation rec { cd ./examples for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do cp "$binary" "$examples/bin/wlroots-$binary" - patchelf \ - --set-rpath "$(patchelf --print-rpath $output/bin/rootston | sed s,$out,$examples,g)" \ - "$examples/bin/wlroots-$binary" done ''; diff --git a/pkgs/development/python-modules/browser-cookie3/default.nix b/pkgs/development/python-modules/browser-cookie3/default.nix index 64510ee5b64..807dafab436 100644 --- a/pkgs/development/python-modules/browser-cookie3/default.nix +++ b/pkgs/development/python-modules/browser-cookie3/default.nix @@ -1,11 +1,11 @@ { lib, fetchPypi, buildPythonPackage, isPy3k, keyring, pbkdf2, pyaes}: buildPythonPackage rec { pname = "browser-cookie3"; - version = "0.6.4"; + version = "0.7.6"; src = fetchPypi { inherit pname version; - sha256 = "16nghwsrv08gz4iiyxsy5lgg5ljgrwkp471m7xnsvhhpb3axmnsc"; + sha256 = "1f24hsclg1wz2i8aiam91l06qqy0plxhwl615l4qkg35mbw4ry7h"; }; disabled = !isPy3k; diff --git a/pkgs/development/python-modules/django-mailman3/default.nix b/pkgs/development/python-modules/django-mailman3/default.nix new file mode 100644 index 00000000000..91cea9b0059 --- /dev/null +++ b/pkgs/development/python-modules/django-mailman3/default.nix @@ -0,0 +1,30 @@ +{ stdenv, buildPythonPackage, fetchPypi, django-gravatar2, django_compressor +, django-allauth, mailmanclient, django, mock +}: + +buildPythonPackage rec { + pname = "django-mailman3"; + version = "1.2.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "0v6c1jhcc212wc2xa314irfcchl05r7nysrcy63dcaan958kmnnx"; + }; + + propagatedBuildInputs = [ + django-gravatar2 django_compressor django-allauth mailmanclient + ]; + checkInputs = [ django mock ]; + + checkPhase = '' + cd $NIX_BUILD_TOP/$sourceRoot + PYTHONPATH=.:$PYTHONPATH django-admin.py test --settings=django_mailman3.tests.settings_test + ''; + + meta = with stdenv.lib; { + description = "Django library for Mailman UIs"; + homepage = https://gitlab.com/mailman/django-mailman3; + license = licenses.gpl3; + maintainers = with maintainers; [ globin peti ]; + }; +} diff --git a/pkgs/development/python-modules/mailmanclient/default.nix b/pkgs/development/python-modules/mailmanclient/default.nix new file mode 100644 index 00000000000..95e9e4fdd3e --- /dev/null +++ b/pkgs/development/python-modules/mailmanclient/default.nix @@ -0,0 +1,21 @@ +{ stdenv, buildPythonPackage, fetchPypi, six, httplib2 }: + +buildPythonPackage rec { + pname = "mailmanclient"; + version = "3.2.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "0xsrzdrsmfhnxv68zwm1g6awk7in08k6yhkyd27ipn0mq1wjm5jd"; + }; + + propagatedBuildInputs = [ six httplib2 ]; + + meta = with stdenv.lib; { + homepage = "http://www.gnu.org/software/mailman/"; + description = "REST client for driving Mailman 3"; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ peti globin ]; + }; +} diff --git a/pkgs/development/tools/misc/texi2html/default.nix b/pkgs/development/tools/misc/texi2html/default.nix index b094f05e951..247733b81ba 100644 --- a/pkgs/development/tools/misc/texi2html/default.nix +++ b/pkgs/development/tools/misc/texi2html/default.nix @@ -1,20 +1,27 @@ -{ stdenv, fetchurl, perl }: +{ stdenv, fetchurl, perl, gettext }: stdenv.mkDerivation rec { - name = "texi2html-1.82"; + pname = "texi2html"; + version = "5.0"; src = fetchurl { - url = "mirror://savannah/texi2html/${name}.tar.bz2"; - sha256 = "1wdli2szkgm3l0vx8rf6lylw0b0m47dlz9iy004n928nqkzix76n"; + url = "mirror://savannah/texi2html/${pname}-${version}.tar.bz2"; + sha256 = "1yprv64vrlcbksqv25asplnjg07mbq38lfclp1m5lj8cw878pag8"; }; - buildInputs = [perl]; + nativeBuildInputs = [ gettext ]; + buildInputs = [ perl ]; - meta = { + preBuild = '' + substituteInPlace separated_to_hash.pl \ + --replace "/usr/bin/perl" "${perl}/bin/perl" + ''; + + meta = with stdenv.lib; { description = "Perl script which converts Texinfo source files to HTML output"; homepage = https://www.nongnu.org/texi2html/; - license = stdenv.lib.licenses.gpl2; - maintainers = [stdenv.lib.maintainers.marcweber]; - platforms = stdenv.lib.platforms.unix; + license = licenses.gpl2; + maintainers = [ maintainers.marcweber ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix index 61d47cf907b..58dde838692 100644 --- a/pkgs/development/tools/skaffold/default.nix +++ b/pkgs/development/tools/skaffold/default.nix @@ -1,10 +1,10 @@ { lib, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { - name = "skaffold-${version}"; - version = "0.35.0"; - # rev is the 0.35.0 commit, mainly for skaffold version command output - rev = "1da7608f9eb21ebe722bc054584e591e4223a3dc"; + pname = "skaffold"; + version = "0.36.0"; + # rev is the 0.36.0 commit, mainly for skaffold version command output + rev = "1c054d4ffc7e14b4d81efcbea8b2022403ee4b89"; goPackagePath = "github.com/GoogleContainerTools/skaffold"; subPackages = ["cmd/skaffold"]; @@ -20,7 +20,7 @@ buildGoPackage rec { owner = "GoogleContainerTools"; repo = "skaffold"; rev = "v${version}"; - sha256 = "1vh7vlz14gfjpxf2wy1pybw5x55mw34j6isyy5zl0rsbs9mf6ci1"; + sha256 = "1d7z36r33lmxm5cv1kby6g9zbsr88prgsp32x4jcs9l1ifwblhng"; }; meta = { diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/misc/vscode-extensions/cpptools/default.nix index a5dad88b924..73b533f368e 100644 --- a/pkgs/misc/vscode-extensions/cpptools/default.nix +++ b/pkgs/misc/vscode-extensions/cpptools/default.nix @@ -83,8 +83,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "cpptools"; publisher = "ms-vscode"; - version = "0.24.1"; - sha256 = "0gqplcppfg2lr6k198q9pw08n0cpc0wvc9w350m9ivv35hw0x5ra"; + version = "0.25.0"; + sha256 = "0vqqc0j9ahhb9a8wrhjjb34rfdj7msqsza3443bi4206gkiwpp3n"; }; buildInputs = [ diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix index ff71e460b2a..a0fa4b4bca9 100644 --- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix +++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, apacheHttpd, python2 }: +{ stdenv, fetchurl, apacheHttpd, python, ncurses }: stdenv.mkDerivation rec { name = "mod_wsgi-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1j8pqn0xhd502ardlmkqx8y85s1npmk9nifqps60wjh29nny03f2"; }; - buildInputs = [ apacheHttpd python2 ]; + buildInputs = [ apacheHttpd python ncurses ]; patchPhase = '' sed -r -i -e "s|^LIBEXECDIR=.*$|LIBEXECDIR=$out/modules|" \ diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/core.nix index fcd594270db..fcd594270db 100644 --- a/pkgs/servers/mail/mailman/default.nix +++ b/pkgs/servers/mail/mailman/core.nix diff --git a/pkgs/servers/mail/mailman/postorius.nix b/pkgs/servers/mail/mailman/postorius.nix new file mode 100644 index 00000000000..871f2ea244d --- /dev/null +++ b/pkgs/servers/mail/mailman/postorius.nix @@ -0,0 +1,28 @@ +{ stdenv, buildPythonPackage, fetchPypi, beautifulsoup4, vcrpy, mock +, django-mailman3, mailmanclient +}: + +buildPythonPackage rec { + pname = "postorius"; + version = "1.2.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "1722lnscxfl8wdigf5d80d1qmd5gblr439wa989jxlww0wkjg9fl"; + }; + + buildInputs = [ beautifulsoup4 vcrpy mock ]; + propagatedBuildInputs = [ django-mailman3 ]; + + checkPhase = '' + cd $NIX_BUILD_TOP/$sourceRoot + PYTHONPATH=.:$PYTHONPATH python example_project/manage.py test --settings=test_settings postorius + ''; + + meta = { + homepage = https://www.gnu.org/software/mailman/; + description = "Web-based user interface for managing GNU Mailman"; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ globin peti ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bbe2e49bc8f..e15740dc371 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14466,7 +14466,9 @@ in mod_python = callPackage ../servers/http/apache-modules/mod_python { }; - mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { }; + mod_wsgi = self.mod_wsgi2; + mod_wsgi2 = callPackage ../servers/http/apache-modules/mod_wsgi { python = python2; ncurses = null; }; + mod_wsgi3 = callPackage ../servers/http/apache-modules/mod_wsgi { python = python3; }; php = pkgs.php.override { inherit apacheHttpd; }; @@ -20450,6 +20452,8 @@ in rpcs3 = libsForQt5.callPackage ../misc/emulators/rpcs3 { }; + rsclock = callPackage ../applications/misc/rsclock { }; + rstudio = libsForQt5.callPackage ../applications/editors/rstudio { boost = boost166; llvmPackages = llvmPackages_7; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 008c624c94a..e8dca7c924b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -711,7 +711,9 @@ in { mail-parser = callPackage ../development/python-modules/mail-parser { }; - mailman = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman { }); + mailman = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/core.nix { }); + + mailmanclient = callPackage ../development/python-modules/mailmanclient { }; manhole = callPackage ../development/python-modules/manhole { }; @@ -821,6 +823,8 @@ in { poetry = callPackage ../development/python-modules/poetry { }; + postorius = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/postorius.nix { }); + pplpy = callPackage ../development/python-modules/pplpy { }; pprintpp = callPackage ../development/python-modules/pprintpp { }; @@ -2868,6 +2872,8 @@ in { django-logentry-admin = callPackage ../development/python-modules/django-logentry-admin { }; + django-mailman3 = callPackage ../development/python-modules/django-mailman3 { }; + django-pglocks = callPackage ../development/python-modules/django-pglocks { }; django-picklefield = callPackage ../development/python-modules/django-picklefield { }; |