···5152In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list/Discourse archives, pull request discussions or upstream changes, it may require a lot of work.
5354-For package version upgrades and such a one-line commit message is usually sufficient.
5556## Rebasing between branches (i.e. from master to staging)
57
···5152In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list/Discourse archives, pull request discussions or upstream changes, it may require a lot of work.
5354+Package version upgrades usually allow for simpler commit messages, including attribute name, old and new version, as well as a reference to the relevant release notes/changelog. Every once in a while a package upgrade requires more extensive changes, and that subsequently warrants a more verbose message.
5556## Rebasing between branches (i.e. from master to staging)
57
···994 </listitem>
995 <listitem>
996 <para>
000000997 <literal>pkgs.fetchNextcloudApp</literal> has been rewritten
998 to circumvent impurities in e.g. tarballs from GitHub and to
999 make it easier to apply patches. This means that your hashes
···1012 <literal>services.syncthing.dataDir</literal>.
1013 </para>
1014 </listitem>
0000000000000000001015 </itemizedlist>
1016 </section>
1017 <section xml:id="sec-release-22.11-notable-changes">
···1023 0.18.0 to 0.19.0, which brings some breaking changes. See the
1024 <link xlink:href="https://github.com/sayanarijit/xplr/releases/tag/v0.19.0">upstream
1025 release notes</link> for more details.
00000001026 </para>
1027 </listitem>
1028 <listitem>
···1431 to be set. This also allows extensions to be installed via the
1432 <literal>ExtensionSettings</literal> policy. The new options
1433 are under <literal>programs.firefox</literal>.
000000001434 </para>
1435 </listitem>
1436 </itemizedlist>
···994 </listitem>
995 <listitem>
996 <para>
997+ <literal>ocamlPackages.ocaml_extlib</literal> has been renamed
998+ to <literal>ocamlPackages.extlib</literal>.
999+ </para>
1000+ </listitem>
1001+ <listitem>
1002+ <para>
1003 <literal>pkgs.fetchNextcloudApp</literal> has been rewritten
1004 to circumvent impurities in e.g. tarballs from GitHub and to
1005 make it easier to apply patches. This means that your hashes
···1018 <literal>services.syncthing.dataDir</literal>.
1019 </para>
1020 </listitem>
1021+ <listitem>
1022+ <para>
1023+ <literal>services.github-runner</literal> and
1024+ <literal>services.github-runners.<name></literal> gained
1025+ the option <literal>serviceOverrides</literal> which allows
1026+ overriding the systemd <literal>serviceConfig</literal>. If
1027+ you have been overriding the systemd service configuration
1028+ (i.e., by defining
1029+ <literal>systemd.services.github-runner.serviceConfig</literal>),
1030+ you have to use the <literal>serviceOverrides</literal> option
1031+ now. Example:
1032+ </para>
1033+ <programlisting>
1034+services.github-runner.serviceOverrides.SupplementaryGroups = [
1035+ "docker"
1036+];
1037+</programlisting>
1038+ </listitem>
1039 </itemizedlist>
1040 </section>
1041 <section xml:id="sec-release-22.11-notable-changes">
···1047 0.18.0 to 0.19.0, which brings some breaking changes. See the
1048 <link xlink:href="https://github.com/sayanarijit/xplr/releases/tag/v0.19.0">upstream
1049 release notes</link> for more details.
1050+ </para>
1051+ </listitem>
1052+ <listitem>
1053+ <para>
1054+ Configuring multiple GitHub runners is now possible through
1055+ <literal>services.github-runners.<name></literal>. The
1056+ option <literal>services.github-runner</literal> remains.
1057 </para>
1058 </listitem>
1059 <listitem>
···1462 to be set. This also allows extensions to be installed via the
1463 <literal>ExtensionSettings</literal> policy. The new options
1464 are under <literal>programs.firefox</literal>.
1465+ </para>
1466+ </listitem>
1467+ <listitem>
1468+ <para>
1469+ The option
1470+ <literal>services.picom.experimentalBackends</literal> was
1471+ removed since it is now the default and the option will cause
1472+ <literal>picom</literal> to quit instead.
1473 </para>
1474 </listitem>
1475 </itemizedlist>
+14
nixos/doc/manual/release-notes/rl-2211.section.md
···307308- `stylua` no longer accepts `lua52Support` and `luauSupport` overrides, use `features` instead, which defaults to `[ "lua54" "luau" ]`.
30900310- `pkgs.fetchNextcloudApp` has been rewritten to circumvent impurities in e.g. tarballs from GitHub and to make it easier to
311 apply patches. This means that your hashes are out-of-date and the (previously required) attributes `name` and `version`
312 are no longer accepted.
···316 In a future release other paths will be allowed again and interpreted
317 relative to `services.syncthing.dataDir`.
31800000000319<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
320321## Other Notable Changes {#sec-release-22.11-notable-changes}
322323- The `xplr` package has been updated from 0.18.0 to 0.19.0, which brings some breaking changes. See the [upstream release notes](https://github.com/sayanarijit/xplr/releases/tag/v0.19.0) for more details.
00324325- `github-runner` gained support for ephemeral runners and registrations using a personal access token (PAT) instead of a registration token. See `services.github-runner.ephemeral` and `services.github-runner.tokenFile` for details.
326···434- The `mame` package does not ship with its tools anymore in the default output. They were moved to a separate `tools` output instead. For convenience, `mame-tools` package was added for those who want to use it.
435436- A NixOS module for Firefox has been added which allows preferences and [policies](https://github.com/mozilla/policy-templates/blob/master/README.md) to be set. This also allows extensions to be installed via the `ExtensionSettings` policy. The new options are under `programs.firefox`.
00437438<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
···307308- `stylua` no longer accepts `lua52Support` and `luauSupport` overrides, use `features` instead, which defaults to `[ "lua54" "luau" ]`.
309310+- `ocamlPackages.ocaml_extlib` has been renamed to `ocamlPackages.extlib`.
311+312- `pkgs.fetchNextcloudApp` has been rewritten to circumvent impurities in e.g. tarballs from GitHub and to make it easier to
313 apply patches. This means that your hashes are out-of-date and the (previously required) attributes `name` and `version`
314 are no longer accepted.
···318 In a future release other paths will be allowed again and interpreted
319 relative to `services.syncthing.dataDir`.
320321+- `services.github-runner` and `services.github-runners.<name>` gained the option `serviceOverrides` which allows overriding the systemd `serviceConfig`. If you have been overriding the systemd service configuration (i.e., by defining `systemd.services.github-runner.serviceConfig`), you have to use the `serviceOverrides` option now. Example:
322+323+ ```
324+ services.github-runner.serviceOverrides.SupplementaryGroups = [
325+ "docker"
326+ ];
327+ ```
328+329<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
330331## Other Notable Changes {#sec-release-22.11-notable-changes}
332333- The `xplr` package has been updated from 0.18.0 to 0.19.0, which brings some breaking changes. See the [upstream release notes](https://github.com/sayanarijit/xplr/releases/tag/v0.19.0) for more details.
334+335+- Configuring multiple GitHub runners is now possible through `services.github-runners.<name>`. The option `services.github-runner` remains.
336337- `github-runner` gained support for ephemeral runners and registrations using a personal access token (PAT) instead of a registration token. See `services.github-runner.ephemeral` and `services.github-runner.tokenFile` for details.
338···446- The `mame` package does not ship with its tools anymore in the default output. They were moved to a separate `tools` output instead. For convenience, `mame-tools` package was added for those who want to use it.
447448- A NixOS module for Firefox has been added which allows preferences and [policies](https://github.com/mozilla/policy-templates/blob/master/README.md) to be set. This also allows extensions to be installed via the `ExtensionSettings` policy. The new options are under `programs.firefox`.
449+450+- The option `services.picom.experimentalBackends` was removed since it is now the default and the option will cause `picom` to quit instead.
451452<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+1-3
nixos/modules/config/gtk/gtk-icon-cache.nix
···5253 environment.extraSetup = ''
54 # For each icon theme directory ...
55-56- find $out/share/icons -mindepth 1 -maxdepth 1 -print0 | while read -d $'\0' themedir
57 do
58-59 # In order to build the cache, the theme dir should be
60 # writable. When the theme dir is a symbolic link to somewhere
61 # in the nix store it is not writable and it means that only
···5253 environment.extraSetup = ''
54 # For each icon theme directory ...
55+ find $out/share/icons -exec test -d {} ';' -mindepth 1 -maxdepth 1 -print0 | while read -d $'\0' themedir
056 do
057 # In order to build the cache, the theme dir should be
58 # writable. When the theme dir is a symbolic link to somewhere
59 # in the nix store it is not writable and it means that only
···307 ''
308 else
309 throw ''
310- Neither ${opt.hostPlatform} nor or the legacy option ${opt.system} has been set.
311 You can set ${opt.hostPlatform} in hardware-configuration.nix by re-running
312 a recent version of nixos-generate-config.
313 The option ${opt.system} is still fully supported for NixOS 22.05 interoperability,
···307 ''
308 else
309 throw ''
310+ Neither ${opt.hostPlatform} nor the legacy option ${opt.system} has been set.
311 You can set ${opt.hostPlatform} in hardware-configuration.nix by re-running
312 a recent version of nixos-generate-config.
313 The option ${opt.system} is still fully supported for NixOS 22.05 interoperability,
+3-3
nixos/modules/programs/zsh/zsh.nix
···173 # This file is read for all shells.
174175 # Only execute this file once per shell.
176- if [ -n "$__ETC_ZSHENV_SOURCED" ]; then return; fi
177 __ETC_ZSHENV_SOURCED=1
178179- if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then
180 . ${config.system.build.setEnvironment}
181 fi
182···206 ${zshStartupNotes}
207208 # Only execute this file once per shell.
209- if [ -n "$__ETC_ZPROFILE_SOURCED" ]; then return; fi
210 __ETC_ZPROFILE_SOURCED=1
211212 # Setup custom login shell init stuff.
···173 # This file is read for all shells.
174175 # Only execute this file once per shell.
176+ if [ -n "''${__ETC_ZSHENV_SOURCED-}" ]; then return; fi
177 __ETC_ZSHENV_SOURCED=1
178179+ if [ -z "''${__NIXOS_SET_ENVIRONMENT_DONE-}" ]; then
180 . ${config.system.build.setEnvironment}
181 fi
182···206 ${zshStartupNotes}
207208 # Only execute this file once per shell.
209+ if [ -n "''${__ETC_ZPROFILE_SOURCED-}" ]; then return; fi
210 __ETC_ZPROFILE_SOURCED=1
211212 # Setup custom login shell init stuff.
+12-8
nixos/modules/services/networking/adguardhome.nix
···51 };
5253 settings = mkOption {
54- default = { };
55- type = submodule {
56 freeformType = (pkgs.formats.yaml { }).type;
57 options = {
58 schema_version = mkOption {
···79 '';
80 };
81 };
82- };
83 description = lib.mdDoc ''
84 AdGuard Home configuration. Refer to
85 <https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#configuration-file>
···89 On start and if {option}`mutableSettings` is `true`,
90 these options are merged into the configuration file on start, taking
91 precedence over configuration changes made on the web interface.
000092 :::
93 '';
94 };
···105 config = mkIf cfg.enable {
106 assertions = [
107 {
108- assertion = cfg.settings != { }
109- -> (hasAttrByPath [ "dns" "bind_host" ] cfg.settings)
110 || (hasAttrByPath [ "dns" "bind_hosts" ] cfg.settings);
111 message =
112 "AdGuard setting dns.bind_host or dns.bind_hosts needs to be configured for a minimal working configuration";
113 }
114 {
115- assertion = cfg.settings != { }
116- -> hasAttrByPath [ "dns" "bootstrap_dns" ] cfg.settings;
117 message =
118 "AdGuard setting dns.bootstrap_dns needs to be configured for a minimal working configuration";
119 }
···128 StartLimitBurst = 10;
129 };
130131- preStart = optionalString (cfg.settings != { }) ''
132 if [ -e "$STATE_DIRECTORY/AdGuardHome.yaml" ] \
133 && [ "${toString cfg.mutableSettings}" = "1" ]; then
134 # Writing directly to AdGuardHome.yaml results in empty file
···51 };
5253 settings = mkOption {
54+ default = null;
55+ type = nullOr (submodule {
56 freeformType = (pkgs.formats.yaml { }).type;
57 options = {
58 schema_version = mkOption {
···79 '';
80 };
81 };
82+ });
83 description = lib.mdDoc ''
84 AdGuard Home configuration. Refer to
85 <https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#configuration-file>
···89 On start and if {option}`mutableSettings` is `true`,
90 these options are merged into the configuration file on start, taking
91 precedence over configuration changes made on the web interface.
92+93+ Set this to `null` (default) for a non-declarative configuration without any
94+ Nix-supplied values.
95+ Declarative configurations are supplied with a default `schema_version`, `bind_host`, and `bind_port`.
96 :::
97 '';
98 };
···109 config = mkIf cfg.enable {
110 assertions = [
111 {
112+ assertion = cfg.settings != null -> cfg.mutableSettings
113+ || (hasAttrByPath [ "dns" "bind_host" ] cfg.settings)
114 || (hasAttrByPath [ "dns" "bind_hosts" ] cfg.settings);
115 message =
116 "AdGuard setting dns.bind_host or dns.bind_hosts needs to be configured for a minimal working configuration";
117 }
118 {
119+ assertion = cfg.settings != null -> cfg.mutableSettings
120+ || hasAttrByPath [ "dns" "bootstrap_dns" ] cfg.settings;
121 message =
122 "AdGuard setting dns.bootstrap_dns needs to be configured for a minimal working configuration";
123 }
···132 StartLimitBurst = 10;
133 };
134135+ preStart = optionalString (cfg.settings != null) ''
136 if [ -e "$STATE_DIRECTORY/AdGuardHome.yaml" ] \
137 && [ "${toString cfg.mutableSettings}" = "1" ]; then
138 # Writing directly to AdGuardHome.yaml results in empty file
···47 since picom v6 and was subsequently removed by upstream.
48 See https://github.com/yshui/picom/commit/bcbc410
49 '')
00050 ];
5152 options.services.picom = {
···55 default = false;
56 description = lib.mdDoc ''
57 Whether or not to enable Picom as the X.org composite manager.
58- '';
59- };
60-61- experimentalBackends = mkOption {
62- type = types.bool;
63- default = false;
64- description = lib.mdDoc ''
65- Whether to use the unstable new reimplementation of the backends.
66 '';
67 };
68···306 };
307308 serviceConfig = {
309- ExecStart = "${pkgs.picom}/bin/picom --config ${configFile}"
310- + (optionalString cfg.experimentalBackends " --experimental-backends");
311 RestartSec = 3;
312 Restart = "always";
313 };
···47 since picom v6 and was subsequently removed by upstream.
48 See https://github.com/yshui/picom/commit/bcbc410
49 '')
50+ (mkRemovedOptionModule [ "services" "picom" "experimentalBackends" ] ''
51+ This option was removed by upstream since picom v10.
52+ '')
53 ];
5455 options.services.picom = {
···58 default = false;
59 description = lib.mdDoc ''
60 Whether or not to enable Picom as the X.org composite manager.
0000000061 '';
62 };
63···301 };
302303 serviceConfig = {
304+ ExecStart = "${pkgs.picom}/bin/picom --config ${configFile}";
0305 RestartSec = 3;
306 Restart = "always";
307 };
+2-1
nixos/modules/system/boot/systemd.nix
···558 # Environment of PID 1
559 systemd.managerEnvironment = {
560 # Doesn't contain systemd itself - everything works so it seems to use the compiled-in value for its tools
561- PATH = lib.makeBinPath config.system.fsPackages;
0562 LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive";
563 TZDIR = "/etc/zoneinfo";
564 # If SYSTEMD_UNIT_PATH ends with an empty component (":"), the usual unit load path will be appended to the contents of the variable
···558 # Environment of PID 1
559 systemd.managerEnvironment = {
560 # Doesn't contain systemd itself - everything works so it seems to use the compiled-in value for its tools
561+ # util-linux is needed for the main fsck utility wrapping the fs-specific ones
562+ PATH = lib.makeBinPath (config.system.fsPackages ++ [cfg.package.util-linux]);
563 LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive";
564 TZDIR = "/etc/zoneinfo";
565 # If SYSTEMD_UNIT_PATH ends with an empty component (":"), the usual unit load path will be appended to the contents of the variable
+1-5
nixos/modules/tasks/filesystems.nix
···300 boot.supportedFilesystems = map (fs: fs.fsType) fileSystems;
301302 # Add the mount helpers to the system path so that `mount' can find them.
303- system.fsPackages = [
304- pkgs.dosfstools
305- # This is needed for the main fsck utility wrapping the fs-specific ones.
306- pkgs.util-linux
307- ];
308309 environment.systemPackages = with pkgs; [ fuse3 fuse ] ++ config.system.fsPackages;
310
···300 boot.supportedFilesystems = map (fs: fs.fsType) fileSystems;
301302 # Add the mount helpers to the system path so that `mount' can find them.
303+ system.fsPackages = [ pkgs.dosfstools ];
0000304305 environment.systemPackages = with pkgs; [ fuse3 fuse ] ++ config.system.fsPackages;
306
+16
nixos/tests/adguardhome.nix
···2 name = "adguardhome";
34 nodes = {
0000000005 declarativeConf = { ... }: {
6 services.adguardhome = {
7 enable = true;
···34 };
3536 testScript = ''
000000037 with subtest("Declarative config test, DNS will be reachable"):
38 declarativeConf.wait_for_unit("adguardhome.service")
39 declarativeConf.wait_for_open_port(53)
···114115self: super: {
1160000000000117 clang_complete = super.clang_complete.overrideAttrs (old: {
118 # In addition to the arguments you pass to your compiler, you also need to
119 # specify the path of the C++ std header (if you are using C++).
···114115self: super: {
116117+ barbecue-nvim = super.vimshell-vim.overrideAttrs (old: {
118+ dependencies = with self; [ nvim-lspconfig nvim-navic nvim-web-devicons ];
119+ meta = {
120+ description = "A VS Code like winbar for Neovim";
121+ homepage = "https://github.com/utilyre/barbecue.nvim";
122+ license = lib.licenses.mit;
123+ maintainers = with lib.maintainers; [ lightquantum ];
124+ };
125+ });
126+127 clang_complete = super.clang_complete.overrideAttrs (old: {
128 # In addition to the arguments you pass to your compiler, you also need to
129 # specify the path of the C++ std header (if you are using C++).
···910stdenv.mkDerivation rec {
11 pname = "signal-desktop";
12- version = "5.63.0"; # Please backport all updates to the stable channel.
13 # All releases have a limited lifetime and "expire" 90 days after the release.
14 # When releases "expire" the application becomes unusable until an update is
15 # applied. The expiration date for the current release can be extracted with:
···1920 src = fetchurl {
21 url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
22- sha256 = "sha256-f8gQUnmI/VU0FteoMVY0k0RK1R7Ho7JRx+WoMhKki4s=";
23 };
2425 nativeBuildInputs = [
···910stdenv.mkDerivation rec {
11 pname = "signal-desktop";
12+ version = "5.63.1"; # Please backport all updates to the stable channel.
13 # All releases have a limited lifetime and "expire" 90 days after the release.
14 # When releases "expire" the application becomes unusable until an update is
15 # applied. The expiration date for the current release can be extracted with:
···1920 src = fetchurl {
21 url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
22+ sha256 = "sha256-+zeYjWRFEY09f3o49TcJU14fM1Wks7uR0GsyU2eMJPk=";
23 };
2425 nativeBuildInputs = [
···189 EXTRA_LINK=$(sed -n "s/^cargo:rustc-link-lib=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ')
190 EXTRA_LINK_SEARCH=$(sed -n "s/^cargo:rustc-link-search=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
191192+ # We want to read part of every line that has cargo:rustc-env= prefix and
193+ # export it as environment variables. This turns out tricky if the lines
194+ # have spaces: we can't wrap the command in double quotes as that captures
195+ # all the lines in single output. We can't use while read loop because
196+ # exporting from inside of it doesn't make it to the outside scope. We
197+ # can't use xargs as export is a built-in and does not work from it. As a
198+ # last resort then, we change the IFS so that the for loop does not split
199+ # on spaces and reset it after we are done. See ticket #199298.
200+ #
201+ _OLDIFS="$IFS"
202+ IFS=$'\n'
203 for env in $(sed -n "s/^cargo:rustc-env=\(.*\)/\1/p" target/build/${crateName}.opt); do
204+ export "$env"
205 done
206+ IFS="$_OLDIFS"
207208 CRATENAME=$(echo ${crateName} | sed -e "s/\(.*\)-sys$/\U\1/" -e "s/-/_/g")
209 grep -P "^cargo:(?!(rustc-|warning=|rerun-if-changed=|rerun-if-env-changed))" target/build/${crateName}.opt \
+23
pkgs/data/fonts/linja-pi-pu-lukin/default.nix
···00000000000000000000000
···1+{ lib, fetchurl }:
2+3+fetchurl {
4+ pname = "linja-pi-pu-lukin";
5+ version = "unstable-2021-10-29";
6+7+ url = "https://web.archive.org/web/20211029000000/https://jansa-tp.github.io/linja-pi-pu-lukin/PuLukin.otf";
8+ hash = "sha256-VPdrMHWpiokFYON4S8zT+pSs4TsB17S8TZRtkjqIqU8=";
9+10+ downloadToTemp = true;
11+ recursiveHash = true;
12+ postFetch = ''
13+ install -D $downloadedFile $out/share/fonts/opentype/linja-pi-pu-lukin.otf
14+ '';
15+16+ meta = with lib; {
17+ description = "A sitelen pona font resembling the style found in Toki Pona: The Language of Good (lipu pu), by jan Sa.";
18+ homepage = "https://jansa-tp.github.io/linja-pi-pu-lukin/";
19+ license = licenses.unfree; # license is unspecified in repository
20+ platforms = platforms.all;
21+ maintainers = with maintainers; [ somasis ];
22+ };
23+}
···50in
5152stdenv.mkDerivation rec {
53- pname = "gnatcoll-${component}";
54- version = "22.0.0";
00005556 src = fetchFromGitHub {
57 owner = "AdaCore";
58 repo = "gnatcoll-db";
59 rev = "v${version}";
60- sha256 = "1c39yg13faadg5mzpq3s83rn24npmpc4yjj0cvj7kqwpqxci4m55";
61 };
62-63- patches = lib.optionals (component == "sqlite") [
64- # fixes build of the static sqlite component
65- # when building against the system libsqlite3
66- # See https://github.com/AdaCore/gprbuild/issues/27#issuecomment-298444608
67- ./gnatcoll-db-sqlite-static-external.patch
68- ];
6970 # Link executables dynamically unless specified by the platform,
71 # as we usually do in nixpkgs where possible
···50in
5152stdenv.mkDerivation rec {
53+ # executables don't adhere to the string gnatcoll-* scheme
54+ pname =
55+ if onlyExecutable
56+ then builtins.replaceStrings [ "_" ] [ "-" ] component
57+ else "gnatcoll-${component}";
58+ version = "23.0.0";
5960 src = fetchFromGitHub {
61 owner = "AdaCore";
62 repo = "gnatcoll-db";
63 rev = "v${version}";
64+ sha256 = "1j77ina17myahlsvbyiycgxkncd7ijc7jrvzwa4gagx0fwjk7prh";
65 };
00000006667 # Link executables dynamically unless specified by the platform,
68 # as we usually do in nixpkgs where possible
···1-diff --git a/sqlite/gnatcoll_sqlite.gpr b/sqlite/gnatcoll_sqlite.gpr
2-index 5bd53d35..580739f8 100644
3---- a/sqlite/gnatcoll_sqlite.gpr
4-+++ b/sqlite/gnatcoll_sqlite.gpr
5-@@ -69,7 +69,12 @@ project GnatColl_Sqlite is
6- for Source_Dirs use (".", "amalgamation");
7- when "external" =>
8- for Source_Dirs use (".");
9-- for Library_Options use ("-lsqlite3") & Thread_Lib;
10-+ case Library_Type is
11-+ when "relocatable" =>
12-+ for Library_Options use ("-lsqlite3") & Thread_Lib;
13-+ when others =>
14-+ null;
15-+ end case;
16- end case;
17-18- package Compiler is
···1-commit 37c815ee660d1bf37256638d23b0346ad7cc19e7
2-Author: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>
3-Date: Wed Jul 21 00:18:30 2021 +0200
4-5- omp/setup.py: open version_information in text mode
6-7- Otherwise saving the config in setup_support.py will fail as a bytes
8- object is not encodeable as JSON. Luckily, version_information is text
9- anyways.
10-11-diff --git a/omp/setup.py b/omp/setup.py
12-index 942ab1f5..5281398e 100755
13---- a/omp/setup.py
14-+++ b/omp/setup.py
15-@@ -25,7 +25,7 @@ class GNATCollOMP(SetupApp):
16-17- # Set library version
18- with open(os.path.join(config.source_dir, '..',
19-- 'version_information'), 'rb') as fd:
20-+ 'version_information'), 'r') as fd:
21- version = fd.read().strip()
22- config.set_data('GNATCOLL_VERSION', version, sub='gprbuild')
23-
···1-diff --git a/kde-modules/KDEInstallDirsCommon.cmake b/kde-modules/KDEInstallDirsCommon.cmake
2-index c1d056b..d9e19f0 100644
3---- a/kde-modules/KDEInstallDirsCommon.cmake
4-+++ b/kde-modules/KDEInstallDirsCommon.cmake
5-@@ -15,35 +15,6 @@
6- # GNUInstallDirs code deals with re-configuring, but that is dealt with
7- # by the _define_* macros in this module).
8- set(_LIBDIR_DEFAULT "lib")
9--# Override this default 'lib' with 'lib64' if:
10--# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
11--# - we are NOT on debian
12--# - we are NOT on flatpak
13--# - we are on a 64 bits system
14--# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
15--# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
16--# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
17--# See https://wiki.debian.org/Multiarch
18--if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
19-- AND NOT CMAKE_CROSSCOMPILING
20-- AND NOT EXISTS "/etc/arch-release"
21-- AND NOT DEFINED ENV{FLATPAK_ID})
22-- if (EXISTS "/etc/debian_version") # is this a debian system ?
23-- if(CMAKE_LIBRARY_ARCHITECTURE)
24-- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
25-- endif()
26-- else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
27-- if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
28-- message(AUTHOR_WARNING
29-- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
30-- "Please enable at least one language before including KDEInstallDirs.")
31-- else()
32-- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
33-- set(_LIBDIR_DEFAULT "lib64")
34-- endif()
35-- endif()
36-- endif()
37--endif()
38-39- set(_gnu_install_dirs_vars
40- BINDIR
···1-{lib, stdenv, fetchurl, automake, autoconf, xlibsWrapper}:
00000023stdenv.mkDerivation rec {
4 pname = "libstroke";
···10 };
1112 nativeBuildInputs = [ automake autoconf ];
13- buildInputs = [ xlibsWrapper ];
1415 # libstroke ships with an ancient config.sub that doesn't know about x86_64, so regenerate it.
16 # Also, modern automake doesn't like things and returns error code 63. But it generates the file.
···1+{ lib
2+, stdenv
3+, fetchurl
4+, automake
5+, autoconf
6+, libX11
7+}:
89stdenv.mkDerivation rec {
10 pname = "libstroke";
···16 };
1718 nativeBuildInputs = [ automake autoconf ];
19+ buildInputs = [ libX11 ];
2021 # libstroke ships with an ancient config.sub that doesn't know about x86_64, so regenerate it.
22 # Also, modern automake doesn't like things and returns error code 63. But it generates the file.
···1+From 9287fcfc36ed9f2bb936ec2253244f60df80711f Mon Sep 17 00:00:00 2001
2+From: Pascal Bach <pascal.bach@nextrem.ch>
3+Date: Wed, 22 Sep 2021 09:42:42 +0200
4+Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded
5+ heimdal
6+7+This patch fixes the case of finding asn1_compile and compile_et for
8+building embedded heimdal, by setting
9+--bundled-libraries='!asn1_compile,!compile_et' as configure flags.
10+11+The Heimdal build tools compile_et and asn1_compile are needed *only*
12+if we use the embedded heimdal (otherwise we don't build heimdal and
13+use headers that have been generated by those tools elsewhere).
14+15+For cross-compilation with embedded heimdal, it is vital to use host build
16+tools, and so asn1_compile and compile_et must be supplied and not
17+built. One way of doing this would be to set the COMPILE_ET and
18+ASN1_COMPILE env vars to the location of supplied binaries. Another way,
19+which is more commonly used, is to exclude asn1_compile and compile_et
20+from bundled packages via the switch
21+-bundled-libraries='!asn1_compile,!compile_et'. When this is done,
22+the build script searches the path for those tools and sets the
23+ASN1_COMPILE and COMPILE_ET vars accordingly. (this is admittedly
24+kind of a round-about way of doing things but this has become the
25+de-facto standard amongst embedded distro builders).
26+27+In commit 8061983d4882f3ba3f12da71443b035d7b672eec, this process of
28+finding the binaris has been moved to be carried out only in the
29+system heimdal case. As explained above, we only need these tools,
30+and hence the check, in bundled mode.
31+32+BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164
33+34+Signed-off-by: Uri Simchoni <uri@samba.org>
35+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
36+[Bachp: rebased for version 4.15.0]
37+38+# Conflicts:
39+# wscript_configure_system_heimdal
40+---
41+ wscript_configure_embedded_heimdal | 11 +++++++++++
42+ wscript_configure_system_heimdal | 11 -----------
43+ 2 files changed, 11 insertions(+), 11 deletions(-)
44+45+diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal
46+index 6066f2b39d7..e92cabad65f 100644
47+--- a/wscript_configure_embedded_heimdal
48++++ b/wscript_configure_embedded_heimdal
49+@@ -6,3 +6,14 @@ if not conf.env['BISON']:
50+51+ conf.define('USING_EMBEDDED_HEIMDAL', 1)
52+ conf.RECURSE('third_party/heimdal_build')
53++
54++def check_system_heimdal_binary(name):
55++ if conf.LIB_MAY_BE_BUNDLED(name):
56++ return False
57++ if not conf.find_program(name, var=name.upper()):
58++ return False
59++ conf.define('USING_SYSTEM_%s' % name.upper(), 1)
60++ return True
61++
62++check_system_heimdal_binary("compile_et")
63++check_system_heimdal_binary("asn1_compile")
64+diff --git a/wscript_configure_system_heimdal b/wscript_configure_system_heimdal
65+index 6033dad08dc..c0a9bb95e87 100644
66+--- a/wscript_configure_system_heimdal
67++++ b/wscript_configure_system_heimdal
68+@@ -37,14 +37,6 @@ def check_system_heimdal_lib(name, functions='', headers='', onlyif=None):
69+ conf.define('USING_SYSTEM_%s' % name.upper(), 1)
70+ return True
71+72+-def check_system_heimdal_binary(name):
73+- if conf.LIB_MAY_BE_BUNDLED(name):
74+- return False
75+- if not conf.find_program(name, var=name.upper()):
76+- return False
77+- conf.define('USING_SYSTEM_%s' % name.upper(), 1)
78+- return True
79+-
80+ check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h")
81+82+ if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"):
83+@@ -86,9 +78,6 @@ finally:
84+ #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'):
85+ # conf.define('USING_SYSTEM_TOMMATH', 1)
86+87+-check_system_heimdal_binary("compile_et")
88+-check_system_heimdal_binary("asn1_compile")
89+-
90+ conf.env.KRB5_VENDOR = 'heimdal'
91+ conf.define('USING_SYSTEM_KRB5', 1)
92+ conf.define('USING_SYSTEM_HEIMDAL', 1)
93+--
94+2.37.3
95+
+3-3
pkgs/servers/search/meilisearch/default.nix
···8, nixosTests
9}:
1011-let version = "0.29.1";
12in
13rustPlatform.buildRustPackage {
14 pname = "meilisearch";
···17 owner = "meilisearch";
18 repo = "MeiliSearch";
19 rev = "v${version}";
20- sha256 = "sha256-1zZqarUxaSlux2ndSnQ3qAs+if2MxN9FPuEAxDnVv28=";
21 };
22- cargoSha256 = "sha256-VhCpqCBQhr4GgHEUJ30KPGMbN3EqhdJRKr7/PGYQ3OY=";
23 # Default features include mini dashboard which downloads something from the internet.
24 buildNoDefaultFeatures = true;
25 buildInputs = lib.optionals stdenv.isDarwin [ Security DiskArbitration Foundation ];
···8, nixosTests
9}:
1011+let version = "0.29.2";
12in
13rustPlatform.buildRustPackage {
14 pname = "meilisearch";
···17 owner = "meilisearch";
18 repo = "MeiliSearch";
19 rev = "v${version}";
20+ sha256 = "sha256-ltfJUwz/QFwsXJzES0GVOaCXh7QbziuKMILQNvaCG+4=";
21 };
22+ cargoSha256 = "sha256-HrPve9x7dSQx/CTxV7t4+SUu4gRmVNRHIZj+2S3CbLQ=";
23 # Default features include mini dashboard which downloads something from the internet.
24 buildNoDefaultFeatures = true;
25 buildInputs = lib.optionals stdenv.isDarwin [ Security DiskArbitration Foundation ];
···1516 meta = with lib; {
17 # drutil is required on Darwin, which does not seem to be available in nixpkgs
18- broken = stdenv.isDarwin;
19 description = "Script to submit ISRCs from disc to MusicBrainz";
20 license = licenses.gpl3Plus;
21 homepage = "http://jonnyjd.github.io/musicbrainz-isrcsubmit/";
···1516 meta = with lib; {
17 # drutil is required on Darwin, which does not seem to be available in nixpkgs
18+ broken = true; # 2022-11-16
19 description = "Script to submit ISRCs from disc to MusicBrainz";
20 license = licenses.gpl3Plus;
21 homepage = "http://jonnyjd.github.io/musicbrainz-isrcsubmit/";
···38 It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well
39 '';
40 license = licenses.gpl3Only;
41- platforms = platforms.linux;
42 maintainers = with maintainers; [ georgesalkhouri ];
43 };
44}
···38 It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well
39 '';
40 license = licenses.gpl3Only;
41+ platforms = platforms.unix;
42 maintainers = with maintainers; [ georgesalkhouri ];
43 };
44}
···42 ''-DNIXPKGS_PASS=\"${lib.getBin pass}/bin/pass\"''
43 ];
4445- # there are *lots* of pointless warnings in v1.3.0
46- cmakeFlags = [ "-Wno-dev" ];
00004748 meta = with lib; {
49 description = "Integrates krunner with pass the unix standard password manager (https://www.passwordstore.org/)";
···42 ''-DNIXPKGS_PASS=\"${lib.getBin pass}/bin/pass\"''
43 ];
4445+ cmakeFlags = [
46+ # there are *lots* of pointless warnings in v1.3.0
47+ "-Wno-dev"
48+ # required for kf5auth to work correctly
49+ "-DCMAKE_POLICY_DEFAULT_CMP0012=NEW"
50+ ];
5152 meta = with lib; {
53 description = "Integrates krunner with pass the unix standard password manager (https://www.passwordstore.org/)";
···208 tvnamer = throw "tvnamer was moved to pkgs.tvnamer"; # added 2021-07-05
209 types-cryptography = throw "types-cryptography has been removed because it is obsolete since cryptography version 3.4.4."; # added 2022-05-30
210 types-paramiko = throw "types-paramiko has been removed because it was unused."; # added 2022-05-30
0211 WazeRouteCalculator = wazeroutecalculator; # added 2021-09-29
212 webapp2 = throw "webapp2 is unmaintained since 2012"; # added 2022-05-29
213 websocket_client = websocket-client; # added 2021-06-15
···208 tvnamer = throw "tvnamer was moved to pkgs.tvnamer"; # added 2021-07-05
209 types-cryptography = throw "types-cryptography has been removed because it is obsolete since cryptography version 3.4.4."; # added 2022-05-30
210 types-paramiko = throw "types-paramiko has been removed because it was unused."; # added 2022-05-30
211+ Wand = wand; # added 2022-11-13
212 WazeRouteCalculator = wazeroutecalculator; # added 2021-09-29
213 webapp2 = throw "webapp2 is unmaintained since 2012"; # added 2022-05-29
214 websocket_client = websocket-client; # added 2021-06-15