···182182 <literal>lib.mkOverride</literal> can be used.
183183 </para>
184184 </listitem>
185185+ <listitem>
186186+ <para>
187187+ The following changes apply if the <literal>stateVersion</literal> is changed to 18.03 or higher.
188188+ For <literal>stateVersion = "17.09"</literal> or lower the old behavior is preserved.
189189+ </para>
190190+ <itemizedlist>
191191+ <listitem>
192192+ <para>
193193+ <literal>matrix-synapse</literal> uses postgresql by default instead of sqlite.
194194+ Migration instructions can be found <link xlink:href="https://github.com/matrix-org/synapse/blob/master/docs/postgres.rst#porting-from-sqlite"> here </link>.
195195+ </para>
196196+ </listitem>
197197+ </itemizedlist>
198198+ </listitem>
185199</itemizedlist>
186200187201</section>
+5-5
nixos/modules/programs/shadow.nix
···2626 # Ensure privacy for newly created home directories.
2727 UMASK 077
28282929- # Uncomment this to allow non-root users to change their account
3030- #information. This should be made configurable.
2929+ # Uncomment this and install chfn SUID to allow non-root
3030+ # users to change their account GECOS information.
3131+ # This should be made configurable.
3132 #CHFN_RESTRICT frwh
32333334 '';
···103104104105 security.wrappers = {
105106 su.source = "${pkgs.shadow.su}/bin/su";
106106- chfn.source = "${pkgs.shadow.out}/bin/chfn";
107107+ sg.source = "${pkgs.shadow.out}/bin/sg";
108108+ newgrp.source = "${pkgs.shadow.out}/bin/newgrp";
107109 newuidmap.source = "${pkgs.shadow.out}/bin/newuidmap";
108110 newgidmap.source = "${pkgs.shadow.out}/bin/newgidmap";
109111 } // (if config.users.mutableUsers then {
110112 passwd.source = "${pkgs.shadow.out}/bin/passwd";
111111- sg.source = "${pkgs.shadow.out}/bin/sg";
112112- newgrp.source = "${pkgs.shadow.out}/bin/newgrp";
113113 } else {});
114114 };
115115}
···1414 breeze-qt5 kconfig kconfigwidgets kiconthemes kio knotifications kwayland
1515 libXcursor qtquickcontrols2
1616 ];
1717+ patches = [
1818+ # See also: https://phabricator.kde.org/D9070
1919+ # ttuegel: The patch is checked into Nixpkgs because I could not get
2020+ # Phabricator to give me a stable link to it.
2121+ ./D9070.patch
2222+ ];
2323+ patchFlags = "-p0";
1724}
···11+Index: src/platformtheme/kfontsettingsdata.cpp
22+===================================================================
33+--- src/platformtheme/kfontsettingsdata.cpp
44++++ src/platformtheme/kfontsettingsdata.cpp
55+@@ -70,15 +70,18 @@
66+ const KFontData &fontData = DefaultFontData[fontType];
77+ cachedFont = new QFont(QLatin1String(fontData.FontName), fontData.Size, fontData.Weight);
88+ cachedFont->setStyleHint(fontData.StyleHint);
99+- cachedFont->setStyleName(QLatin1String(fontData.StyleName));
1010+1111+ const KConfigGroup configGroup(mKdeGlobals, fontData.ConfigGroupKey);
1212+ QString fontInfo = configGroup.readEntry(fontData.ConfigKey, QString());
1313+1414+ //If we have serialized information for this font, restore it
1515+ //NOTE: We are not using KConfig directly because we can't call QFont::QFont from here
1616+ if (!fontInfo.isEmpty()) {
1717+ cachedFont->fromString(fontInfo);
1818++ } else {
1919++ // set the canonical stylename here, where it cannot override
2020++ // user-specific font attributes if those do not include a stylename.
2121++ cachedFont->setStyleName(QLatin1String(fontData.StyleName));
2222+ }
2323+2424+ mFonts[fontType] = cachedFont;
···11+--- 1.1.0.4/source/src/Makefile
22++++ 1.1.0.4/source/src/Makefile
33+@@ -6,7 +6,7 @@
44+ # found to have been caused by the g++ compiler in the past. This seems to have
55+ # been fixed now by relaxing the optimization that g++ does, so although we'll
66+ # continue using clang++ (just in case), you can use g++ if you prefer.
77+-CXX=clang++
88++#CXX=clang++
99+1010+ # Changing this to ACDEBUG=yes will compile a debug version of AssaultCube.
1111+ ACDEBUG=no
+82
pkgs/games/assaultcube/default.nix
···11+{ fetchFromGitHub, stdenv, makeDesktopItem, openal, pkgconfig, libogg,
22+ libvorbis, SDL, SDL_image, makeWrapper, zlib,
33+ client ? true, server ? true }:
44+55+with stdenv.lib;
66+77+stdenv.mkDerivation rec {
88+99+ # master branch has legacy (1.2.0.2) protocol 1201 and gcc 6 fix.
1010+ pname = "assaultcube";
1111+ version = "01052017";
1212+ name = "${pname}-${version}";
1313+1414+ meta = {
1515+ description = "Fast and fun first-person-shooter based on the Cube fps";
1616+ homepage = http://assault.cubers.net;
1717+ maintainers = [ maintainers.genesis ];
1818+ platforms = platforms.linux; # should work on darwin with a little effort.
1919+ license = stdenv.lib.licenses.zlib;
2020+ };
2121+2222+ src = fetchFromGitHub {
2323+ owner = "assaultcube";
2424+ repo = "AC";
2525+ rev = "9f537b0876a39d7686e773040469fbb1417de18b";
2626+ sha256 = "0nvckn67mmfaa7x3j41xyxjllxqzfx1dxg8pnqsaak3kkzds34pl";
2727+ };
2828+2929+ # ${branch} not accepted as a value ?
3030+ # TODO: write a functional BUNDLED_ENET option and restore it in deps.
3131+ patches = [ ./assaultcube-next.patch ];
3232+3333+ nativeBuildInputs = [ pkgconfig ];
3434+3535+ # add optional for server only ?
3636+ buildInputs = [ makeWrapper openal SDL SDL_image libogg libvorbis zlib ];
3737+3838+ #makeFlags = [ "CXX=g++" ];
3939+4040+ targets = (optionalString server "server") + (optionalString client " client");
4141+ buildPhase = ''
4242+ make -C source/src ${targets}
4343+ '';
4444+4545+ desktop = makeDesktopItem {
4646+ name = "AssaultCube";
4747+ desktopName = "AssaultCube";
4848+ comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay.";
4949+ genericName = "First-person shooter";
5050+ categories = "Application;Game;ActionGame;Shooter";
5151+ icon = "assaultcube.png";
5252+ exec = "${pname}";
5353+ };
5454+5555+ gamedatadir = "/share/games/${pname}";
5656+5757+ installPhase = ''
5858+5959+ bindir=$out/bin
6060+6161+ mkdir -p $bindir $out/$gamedatadir
6262+6363+ cp -r config packages $out/$gamedatadir
6464+6565+ # install custom script
6666+ substituteAll ${./launcher.sh} $bindir/assaultcube
6767+ chmod +x $bindir/assaultcube
6868+6969+ if (test -e source/src/ac_client) then
7070+ cp source/src/ac_client $bindir
7171+ mkdir -p $out/share/applications
7272+ cp ${desktop}/share/applications/* $out/share/applications
7373+ install -Dpm644 packages/misc/icon.png $out/share/icons/assaultcube.png
7474+ install -Dpm644 packages/misc/icon.png $out/share/pixmaps/assaultcube.png
7575+ fi
7676+7777+ if (test -e source/src/ac_server) then
7878+ cp source/src/ac_server $bindir
7979+ ln -s $bindir/${pname} $bindir/${pname}-server
8080+ fi
8181+ '';
8282+}
+20
pkgs/games/assaultcube/launcher.sh
···11+#!@shell@
22+# original scripts are very awful
33+44+CUBE_DIR=@out@@gamedatadir@
55+66+case $(basename "$0") in
77+ assaultcube-server)
88+ CUBE_OPTIONS="-Cconfig/servercmdline.txt"
99+ BINARYPATH=@out@/bin/ac_server
1010+ ;;
1111+ assaultcube)
1212+ CUBE_OPTIONS="--home=${HOME}/.assaultcube/v1.2next --init"
1313+ BINARYPATH=@out@/bin/ac_client
1414+ ;;
1515+ *) echo "$0" is not supported.
1616+ exit 1
1717+esac
1818+1919+cd $CUBE_DIR
2020+exec "${BINARYPATH}" ${CUBE_OPTIONS} "$@"