···7777 (modify depth snip x)) y;
78787979 /* A combination of `traceVal` and `traceSeq` */
8080- traceValSeqFn = f: v: traceVal f (builtins.deepSeq v v);
8080+ traceValSeqFn = f: v: traceValFn f (builtins.deepSeq v v);
8181 traceValSeq = traceValSeqFn id;
82828383 /* A combination of `traceVal` and `traceSeqN`. */
+21
nixos/doc/manual/release-notes/rl-1809.xml
···19192020 <itemizedlist>
2121 <listitem>
2222+ <para>
2323+ Support for wrapping binaries using <literal>firejail</literal> has been
2424+ added through <varname>programs.firejail.wrappedBinaries</varname>.
2525+ </para>
2626+ <para>
2727+ For example
2828+ </para>
2929+<programlisting>
3030+programs.firejail = {
3131+ enable = true;
3232+ wrappedBinaries = {
3333+ firefox = "${lib.getBin pkgs.firefox}/bin/firefox";
3434+ mpv = "${lib.getBin pkgs.mpv}/bin/mpv";
3535+ };
3636+};
3737+</programlisting>
3838+ <para>
3939+ This will place <literal>firefox</literal> and <literal>mpv</literal> binaries in the global path wrapped by firejail.
4040+ </para>
4141+ </listitem>
4242+ <listitem>
2243 <para>
2344 User channels are now in the default <literal>NIX_PATH</literal>, allowing
2445 users to use their personal <command>nix-channel</command> defined
+10-2
nixos/modules/installer/tools/nixos-option.sh
···1616nixPath=""
17171818option=""
1919+exit_code=0
19202021argfun=""
2122for arg; do
···7475#############################
75767677evalNix(){
7878+ # disable `-e` flag, it's possible that the evaluation of `nix-instantiate` fails (e.g. due to broken pkgs)
7979+ set +e
7780 result=$(nix-instantiate ${nixPath:+$nixPath} - --eval-only "$@" 2>&1)
7878- if test $? -eq 0; then
8181+ exit_code=$?
8282+ set -e
8383+8484+ if test $exit_code -eq 0; then
7985 cat <<EOF
8086$result
8187EOF
···8793' <<EOF
8894$result
8995EOF
9090- return 1;
9696+ exit_code=1
9197 fi
9298}
9399···317323 echo $result
318324 fi
319325fi
326326+327327+exit $exit_code
···19192020 Xsetup = pkgs.writeScript "Xsetup" ''
2121 #!/bin/sh
2222-2323- # Prior to Qt 5.9.2, there is a QML cache invalidation bug which sometimes
2424- # strikes new Plasma 5 releases. If the QML cache is not invalidated, SDDM
2525- # will segfault without explanation. We really tore our hair out for awhile
2626- # before finding the bug:
2727- # https://bugreports.qt.io/browse/QTBUG-62302
2828- # We work around the problem by deleting the QML cache before startup. It
2929- # will be regenerated, causing a small but perceptible delay when SDDM
3030- # starts.
3131- rm -fr /var/lib/sddm/.cache/sddm-greeter/qmlcache
3232-3322 ${cfg.setupScript}
3423 '';
3524···285274 # To enable user switching, allow sddm to allocate TTYs/displays dynamically.
286275 services.xserver.tty = null;
287276 services.xserver.display = null;
277277+278278+ systemd.tmpfiles.rules = [
279279+ # Prior to Qt 5.9.2, there is a QML cache invalidation bug which sometimes
280280+ # strikes new Plasma 5 releases. If the QML cache is not invalidated, SDDM
281281+ # will segfault without explanation. We really tore our hair out for awhile
282282+ # before finding the bug:
283283+ # https://bugreports.qt.io/browse/QTBUG-62302
284284+ # We work around the problem by deleting the QML cache before startup.
285285+ # This was supposedly fixed in Qt 5.9.2 however it has been reported with
286286+ # 5.10 and 5.11 as well. The initial workaround was to delete the directory
287287+ # in the Xsetup script but that doesn't do anything.
288288+ # Instead we use tmpfiles.d to ensure it gets wiped.
289289+ # This causes a small but perceptible delay when SDDM starts.
290290+ "e ${config.users.users.sddm.home}/.cache - - - 0"
291291+ ];
288292 };
289293}
+1-1
nixos/modules/system/boot/stage-1.nix
···164164165165 # Strip binaries further than normal.
166166 chmod -R u+w $out
167167- stripDirs "lib bin" "-s"
167167+ stripDirs "$STRIP" "lib bin" "-s"
168168169169 # Run patchelf to make the programs refer to the copied libraries.
170170 find $out/bin $out/lib -type f | while read i; do
···2626 Streamlink is a fork of the livestreamer project.
2727 '';
2828 license = licenses.bsd2;
2929- platforms = platforms.linux;
3030- maintainers = with maintainers; [ dezgeg zraexy ];
2929+ platforms = platforms.linux ++ platforms.darwin;
3030+ maintainers = with maintainers; [ dezgeg zraexy enzime ];
3131 };
3232}
+11-1
pkgs/build-support/setup-hooks/auto-patchelf.sh
···172172 done
173173}
174174175175-fixupOutputHooks+=(autoPatchelf)
175175+# XXX: This should ultimately use fixupOutputHooks but we currently don't have
176176+# a way to enforce the order. If we have $runtimeDependencies set, the setup
177177+# hook of patchelf is going to ruin everything and strip out those additional
178178+# RPATHs.
179179+#
180180+# So what we do here is basically run in postFixup and emulate the same
181181+# behaviour as fixupOutputHooks because the setup hook for patchelf is run in
182182+# fixupOutput and the postFixup hook runs later.
183183+postFixupHooks+=(
184184+ 'for output in $outputs; do prefix="${!output}" autoPatchelf; done'
185185+)
···4646 export CVXOPT_FFTW_INC_DIR=${fftw.dev}/include
4747 '';
48484949+ # https://github.com/cvxopt/cvxopt/issues/122
5050+ # This is fixed on staging (by #43234, status 2018-07-15), but until that
5151+ # lands we should disable the tests. Otherwise the 99% of use cases that
5252+ # should be unaffected by that failure are affected.
5353+ doCheck = false;
4954 checkPhase = ''
5055 ${python.interpreter} -m unittest discover -s tests
5156 '';
···11+{ stdenv, fetchurl, buildPythonPackage }:
22+33+buildPythonPackage rec {
44+ name = "wcwidth-${version}";
55+ version = "0.1.7";
66+77+ src = fetchurl {
88+ url = "mirror://pypi/w/wcwidth/${name}.tar.gz";
99+ sha256 = "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx";
1010+ };
1111+1212+ # Checks fail due to missing tox.ini file:
1313+ doCheck = false;
1414+1515+ meta = with stdenv.lib; {
1616+ description = "Measures number of Terminal column cells of wide-character codes";
1717+ longDescription = ''
1818+ This API is mainly for Terminal Emulator implementors -- any Python
1919+ program that attempts to determine the printable width of a string on
2020+ a Terminal. It is implemented in python (no C library calls) and has
2121+ no 3rd-party dependencies.
2222+ '';
2323+ homepage = https://github.com/jquast/wcwidth;
2424+ license = licenses.mit;
2525+ };
2626+ }