diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2020-11-10 10:11:08 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2020-11-10 10:11:08 +0100 |
commit | 379aaa1e0cb9ba38cf2071c049a7478adefb4827 (patch) | |
tree | 68abc642740780618cb3e0e63d893776e75d4129 | |
parent | 3a5ba30c138d18ab79edbb60fa06beab62366d55 (diff) | |
parent | d04287f130365228569b95c49df068e3ad1aea3a (diff) |
Merge master into staging-next
64 files changed, 848 insertions, 327 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 48f847b3d197..483a49172222 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2833,6 +2833,12 @@ fingerprint = "50B7 11F4 3DFD 2018 DCE6 E8D0 8A52 A140 BEBF 7D2C"; }]; }; + fabianhjr = { + email = "fabianhjr@protonmail.com"; + github = "fabianhjr"; + githubId = 303897; + name = "Fabián Heredia Montiel"; + }; fadenb = { email = "tristan.helmich+nixos@gmail.com"; github = "fadenb"; diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml index 6eb8f50bacac..44ff1f1b571a 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -18,6 +18,7 @@ <xi:include href="user-mgmt.xml" /> <xi:include href="file-systems.xml" /> <xi:include href="x-windows.xml" /> + <xi:include href="wayland.xml" /> <xi:include href="gpu-accel.xml" /> <xi:include href="xfce.xml" /> <xi:include href="networking.xml" /> diff --git a/nixos/doc/manual/configuration/wayland.xml b/nixos/doc/manual/configuration/wayland.xml new file mode 100644 index 000000000000..231c219cf081 --- /dev/null +++ b/nixos/doc/manual/configuration/wayland.xml @@ -0,0 +1,23 @@ +<chapter xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xi="http://www.w3.org/2001/XInclude" + version="5.0" + xml:id="sec-wayland"> + <title>Wayland</title> + + <para> + While X11 (see <xref linkend="sec-x11"/>) is still the primary display + technology on NixOS, Wayland support is steadily improving. + Where X11 separates the X Server and the window manager, on Wayland those + are combined: a Wayland Compositor is like an X11 window manager, but also + embeds the Wayland 'Server' functionality. This means it is sufficient to + install a Wayland Compositor such as <package>sway</package> without + separately enabling a Wayland server: +<programlisting> +<xref linkend="opt-programs.sway.enable"/> = true; +</programlisting> + This installs the <package>sway</package> compositor along with some + essential utilities. Now you can start <package>sway</package> from the TTY + console. + </para> +</chapter> diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 408d0a9c33f2..044fa48853db 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -36,6 +36,8 @@ let ${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"} ${addModuleIf cfg.tcp.enable (concatStringsSep " " ([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))} + ${addModuleIf config.services.jack.jackd.enable "module-jack-sink"} + ${addModuleIf config.services.jack.jackd.enable "module-jack-source"} ${cfg.extraConfig} ''; }; @@ -144,7 +146,9 @@ in { package = mkOption { type = types.package; - default = pkgs.pulseaudio; + default = if config.services.jack.jackd.enable + then pkgs.pulseaudioFull + else pkgs.pulseaudio; defaultText = "pkgs.pulseaudio"; example = literalExample "pkgs.pulseaudioFull"; description = '' @@ -284,6 +288,8 @@ in { RestartSec = "500ms"; PassEnvironment = "DISPLAY"; }; + } // optionalAttrs config.services.jack.jackd.enable { + environment.JACK_PROMISCUOUS_SERVER = "jackaudio"; }; sockets.pulseaudio = { wantedBy = [ "sockets.target" ]; diff --git a/nixos/modules/services/audio/jack.nix b/nixos/modules/services/audio/jack.nix index ceff366d0bbb..bee97dbfc6b3 100644 --- a/nixos/modules/services/audio/jack.nix +++ b/nixos/modules/services/audio/jack.nix @@ -246,6 +246,9 @@ in { description = "JACK Audio Connection Kit"; serviceConfig = { User = "jackaudio"; + SupplementaryGroups = lib.optional + (config.hardware.pulseaudio.enable + && !config.hardware.pulseaudio.systemWide) "users"; ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}"; LimitRTPRIO = 99; LimitMEMLOCK = "infinity"; diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index ddfd1af4a319..18c77948cb90 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -28,6 +28,20 @@ let utillinux # needed for mount and mountpoint ]; + scriptType = with types; + let scriptOptions = + { deps = mkOption + { type = types.listOf types.str; + default = [ ]; + description = "List of dependencies. The script will run after these."; + }; + text = mkOption + { type = types.lines; + description = "The content of the script."; + }; + }; + in either str (submodule { options = scriptOptions; }); + in { @@ -40,16 +54,14 @@ in default = {}; example = literalExample '' - { stdio = { - text = ''' - # Needed by some programs. - ln -sfn /proc/self/fd /dev/fd - ln -sfn /proc/self/fd/0 /dev/stdin - ln -sfn /proc/self/fd/1 /dev/stdout - ln -sfn /proc/self/fd/2 /dev/stderr - '''; - deps = []; - }; + { stdio.text = + ''' + # Needed by some programs. + ln -sfn /proc/self/fd /dev/fd + ln -sfn /proc/self/fd/0 /dev/stdin + ln -sfn /proc/self/fd/1 /dev/stdout + ln -sfn /proc/self/fd/2 /dev/stderr + '''; } ''; @@ -62,7 +74,7 @@ in idempotent and fast. ''; - type = types.attrsOf types.unspecified; # FIXME + type = types.attrsOf scriptType; apply = set: { script = @@ -125,7 +137,7 @@ in idempotent and fast. ''; - type = types.attrsOf types.unspecified; + type = with types; attrsOf scriptType; apply = set: { script = '' diff --git a/pkgs/applications/blockchains/freicoin.nix b/pkgs/applications/blockchains/freicoin.nix deleted file mode 100644 index cc28fff96c47..000000000000 --- a/pkgs/applications/blockchains/freicoin.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ fetchFromGitHub, stdenv, db, boost, gmp, mpfr, qt4, qmake4Hook }: - -stdenv.mkDerivation rec { - version = "0.8.6-2"; - pname = "freicoin"; - - src = fetchFromGitHub { - owner = "freicoin"; - repo = "freicoin"; - rev = "v${version}"; - sha256 = "1v1qwv4x5agjba82s1vknmdgq67y26wzdwbmwwqavv7f7y3y860h"; - }; - - enableParallelBuilding = false; - - qmakeFlags = ["USE_UPNP=-"]; - - # I think that openssl and zlib are required, but come through other - # packages - - preBuild = "unset AR"; - - installPhase = '' - mkdir -p $out/bin - cp freicoin-qt $out/bin - ''; - - nativeBuildInputs = [ qmake4Hook ]; - buildInputs = [ db boost gmp mpfr qt4 ]; - - meta = with stdenv.lib; { - description = "Peer-to-peer currency with demurrage fee"; - homepage = "http://freicoi.in/"; - license = licenses.mit; - maintainers = [ maintainers.viric ]; - platforms = platforms.linux; - - # upstream doesn't support newer openssl versions, use 1.0.1 for testing - broken = true; - }; -} diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 3a5bc63e1c38..cca7b0b2f41f 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -19,9 +19,9 @@ let sha256Hash = "sha256-qbxmR9g8DSKzcP09bJuc+am79BSXWG39UQxFEb1bZ88="; }; latestVersion = { # canary & dev - version = "4.2.0.15"; # "Android Studio 4.2 Canary 15" - build = "202.6922807"; - sha256Hash = "sha256-PXFNnPSJbdp9NtkMDR3Vq+vpWqd85Io2FmXPhRLRk/8="; + version = "4.2.0.16"; # "Android Studio 4.2 Canary 16" + build = "202.6939830"; + sha256Hash = "sha256-2Xh0GR4BHZI6ofdyMI2icrztI2BmiHWT+1bEZIZ58IE="; }; in { # Attributes are named by their corresponding release channels diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix index b6f25795665a..001616ab41dd 100644 --- a/pkgs/applications/graphics/qview/default.nix +++ b/pkgs/applications/graphics/qview/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "qview"; - version = "3.0"; + version = "4.0"; src = fetchFromGitHub { owner = "jurplel"; repo = "qView"; rev = version; - sha256 = "15a91bs3wcqhgf76wzigbn10hayg628j84pq4j2vaxar94ak0vk7"; + sha256 = "15n9cq7w3ckinnx38hvncxrbkv4qm4k51sal41q4y0pkvhmafhnr"; }; nativeBuildInputs = [ qmake ]; diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix index 75e467d4cdf8..be61a76190a2 100644 --- a/pkgs/applications/misc/k2pdfopt/default.nix +++ b/pkgs/applications/misc/k2pdfopt/default.nix @@ -2,7 +2,7 @@ , cmake, pkgconfig, zlib, libpng, makeWrapper , enableGSL ? true, gsl , enableGhostScript ? true, ghostscript -, enableMuPDF ? true, mupdf +, enableMuPDF ? true, mupdf_1_17 , enableDJVU ? true, djvulibre , enableGOCR ? false, gocr # Disabled by default due to crashes , enableTesseract ? true, leptonica, tesseract4 @@ -89,7 +89,7 @@ in stdenv.mkDerivation rec { cp ${k2pdfopt_src}/mupdf_mod/pdf-* ./source/pdf/ ''; }; - mupdf_modded = mupdf.overrideAttrs ({ patches ? [], ... }: { + mupdf_modded = mupdf_1_17.overrideAttrs ({ patches ? [], ... }: { patches = patches ++ [ mupdf_patch ]; # This function is missing in font.c, see font-win32.c postPatch = '' diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix index d7752258df98..c16322ad84fa 100644 --- a/pkgs/applications/misc/llpp/default.nix +++ b/pkgs/applications/misc/llpp/default.nix @@ -1,16 +1,16 @@ -{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, -libGLU, libGL, freetype, xclip, inotify-tools, procps }: +{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, jbig2dec, openjpeg, libjpeg , lcms2, harfbuzz, +libGLU, libGL, gumbo, freetype, zlib, xclip, inotify-tools, procps }: assert lib.versionAtLeast (lib.getVersion ocaml) "4.07"; stdenv.mkDerivation rec { pname = "llpp"; - version = "32"; + version = "33"; src = fetchgit { url = "git://repo.or.cz/llpp.git"; rev = "v${version}"; - sha256 = "1h1zysm5cz8laq8li49djl6929cnrjlflag9hw0c1dcr4zaxk32y"; + sha256 = "0shqzhaflm2yhkx6c0csq9lxp1s1r7lh5kgpx9q5k06xya2a7yvs"; fetchSubmodules = false; }; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { }); nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ]; + buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ]; dontStrip = true; diff --git a/pkgs/applications/misc/llpp/fix-build-bash.patch b/pkgs/applications/misc/llpp/fix-build-bash.patch index fbc341c8af78..c12828f2d94d 100644 --- a/pkgs/applications/misc/llpp/fix-build-bash.patch +++ b/pkgs/applications/misc/llpp/fix-build-bash.patch @@ -1,8 +1,9 @@ diff --git a/build.bash b/build.bash index 7c278b6..41494c5 100755 +with manual adjustments --- a/build.bash +++ b/build.bash -@@ -29,7 +29,6 @@ srcd="$(dirname $0)" +@@ -30,7 +30,6 @@ srcd="$(dirname $0)" mudir=$outd/mupdf muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include" @@ -10,25 +11,25 @@ index 7c278b6..41494c5 100755 mkdir -p $outd/{$wsid,lablGL} :>$outd/ordered -@@ -39,12 +38,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; } - mbt=${mbt:-native} - mulibs="$mudir/build/$mbt/libmupdf.a" # $mudir/build/$mbt/libmupdf-third.a +@@ -41,12 +40,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; } + mulibst="$mudir/build/$mbt/libs" + mulibs="$mudir/build/$mbt/libmupdf.a $mudir/build/$mbt/libmupdf-third.a" -keycmd="(cd $mudir && make -q build=$mbt libs && echo); digest $mulibs" --isfresh "$mulibs" "$(eval $keycmd)" || ( +-isfresh "$mulibst" "$(eval $keycmd)" || ( - make -C "$mudir" build=$mbt -j $mjobs libs -- eval $keycmd >$mudir/build/$mbt/libmupdf.a.past +- eval $keycmd >${mulibst}.past -) && vecho "fresh mupdf" - oincs() { local i= local incs1= -@@ -89,34 +82,6 @@ mflags() { +@@ -100,35 +93,6 @@ mflags() { } overs="$(ocamlc -vnum 2>/dev/null)" || overs="" --test "$overs" = "4.10.0" || { -- url=https://caml.inria.fr/pub/distrib/ocaml-4.10/ocaml-4.10.0.tar.xz +-test "$overs" = "4.11.1" || { +- url=https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.1.tar.xz - txz=$outd/$(basename $url) - keycmd="printf $url; digest $txz;" - isfresh $txz "$(eval $keycmd)" || { @@ -48,7 +49,8 @@ index 7c278b6..41494c5 100755 - tar xf $txz -C $outd - bn=$(basename $url) - cd $outd/${bn%.tar.xz} -- ./configure --disable-ocamldoc --enable-debugger=no --prefix=$absprefix +- ./configure --disable-ocamldoc --disable-ocamltest \ +- --enable-debugger=no --prefix=$absprefix - make -j $mjobs world - make install - eval $keycmd >$absprefix/bin/ocamlc.past @@ -58,7 +60,7 @@ index 7c278b6..41494c5 100755 ccomp=${LLPP_CC-$(ocamlc -config | grep "^c_compiler: " | \ { read _ c; echo $c; })} -@@ -230,7 +195,7 @@ bobjc() { +@@ -243,7 +208,7 @@ bobjc() { } && vecho "fresh $o" } @@ -67,12 +69,12 @@ index 7c278b6..41494c5 100755 cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)" keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml" -@@ -284,7 +249,7 @@ for m in ml_gl ml_glarray ml_raw; do +@@ -291,7 +256,7 @@ for m in ml_gl ml_glarray ml_raw; do done libs="str.cma unix.cma" -clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread" -+clibs="-lmupdf -lfreetype -lpthread" ++clibs="-lmupdf -lmupdf-third -lfreetype -lgumbo -ljpeg -lopenjp2 -ljbig2dec -llcms2 -lharfbuzz -lpthread -lz" if $darwin; then mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; }) clibs="$clibs -framework Cocoa -framework OpenGL" |