···240240 * to implicit typing rules, so it should work with older
241241 * parsers as well.
242242 */
243243- toYAML = {}@args: toJSON args;
243243+ toYAML = toJSON;
244244245245 withRecursion =
246246- args@{
246246+ {
247247 /* If this option is not null, the given value will stop evaluating at a certain depth */
248248 depthLimit
249249 /* If this option is true, an error will be thrown, if a certain given depth is exceeded */
···287287 allowPrettyValues ? false,
288288 /* If this option is true, the output is indented with newlines for attribute sets and lists */
289289 multiline ? true
290290- }@args:
290290+ }:
291291 let
292292 go = indent: v: with builtins;
293293 let isPath = v: typeOf v == "path";
+1-9
lib/modules.nix
···1212 concatStringsSep
1313 elem
1414 filter
1515- findFirst
1615 foldl'
1716 getAttrFromPath
1817 head
···3433 recursiveUpdate
3534 reverseList sort
3635 setAttrByPath
3737- toList
3836 types
3937 warnIf
4038 zipAttrsWith
···4644 showFiles
4745 showOption
4846 unknownModule
4949- literalExpression
5047 ;
51485249 showDeclPrefix = loc: decl: prefix:
···604601 }
605602 else
606603 let
607607- firstNonOption = findFirst (m: !isOption m.options) "" decls;
608604 nonOptions = filter (m: !isOption m.options) decls;
609605 in
610606 throw "The option `${showOption loc}' in module `${(lib.head optionDecls)._file}' would be a parent of the following options, but its type `${(lib.head optionDecls).options.type.description or "<no description>"}' does not support nested options.\n${
···652648 'opts' is a list of modules. Each module has an options attribute which
653649 correspond to the definition of 'loc' in 'opt.file'. */
654650 mergeOptionDecls =
655655- let
656656- coerceOption = file: opt:
657657- if isFunction opt then setDefaultModuleLocation file opt
658658- else setDefaultModuleLocation file { options = opt; };
659659- in loc: opts:
651651+ loc: opts:
660652 foldl' (res: opt:
661653 let t = res.type;
662654 t' = opt.options.type;
···6677with import ../lib/testing-python.nix { inherit system pkgs; };
8899-makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)
99+let testConfig = makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f);
1010+in testConfig.test # For nix-build
1111+ // testConfig # For all-tests.nix
+1-3
nixos/tests/pgadmin4.nix
···107107 )
108108109109 # Don't bother to test LDAP or kerberos authentification
110110- # For now deactivate change_password API test. Current bug report at https://redmine.postgresql.org/issues/7648
111111- # Password change works from the UI, if email SMTP is configured.
112110 with subtest("run browser test"):
113111 machine.succeed(
114112 'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
115113 && python regression/runtests.py \
116114 --pkg browser \
117117- --exclude browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login,browser.tests.test_kerberos_with_mocking,browser.tests.test_change_password'
115115+ --exclude browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login,browser.tests.test_kerberos_with_mocking'
118116 )
119117120118 # fontconfig is necessary for chromium to run
···109109 gappsWrapperArgs+=(
110110 # Add gio to PATH so that moving files to the trash works when not using a desktop environment
111111 --prefix PATH : ${glib.bin}/bin
112112- --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
112112+ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
113113 --add-flags ${lib.escapeShellArg commandLineArgs}
114114 )
115115 '';
···11-{ program ? "pdfstudioviewer"
11+# For upstream versions, download links, and change logs see https://www.qoppa.com/pdfstudio/versions
22+#
33+# PDF Studio license is for a specific year, so we need different packages for different years.
44+# All versions of PDF Studio Viewer are free, so we package only the latest year.
55+# Thus, packages are pdfstudioviewer, pdfstudio2021, pdfstudio2022, etc.
66+# Variables:
77+# - program is either "pdfstudio" or "pdfstudioviewer", defaults to "pdfstudio".
88+# - year identifies the year portion of the version, defaults to most recent year.
99+# - pname is either "pdfstudio${year}" or "pdfstudioviewer".
1010+1111+{ program ? "pdfstudio"
1212+, year ? "2022"
213, fetchurl
314, libgccjit
415, callPackage
1616+, jdk11
1717+, jdk17
518}:
66-77-let makeurl = { pname, year, version }: "https://download.qoppa.com/${pname}/v${year}/${
88- builtins.replaceStrings [ "pdfstudio" "viewer" "." ] [ "PDFStudio" "Viewer" "_" ] "${pname}_v${version}"
99- }_linux64.deb";
1919+let
2020+ longDescription = ''
2121+ PDF Studio is an easy to use, full-featured PDF editing software. This is the standard/pro edition, which requires a license. For the free PDF Studio Viewer see the package pdfstudioviewer.
2222+ '';
2323+ pname = if (program == "pdfstudio") then "${program}${year}" else program;
2424+ desktopName =
2525+ if (program == "pdfstudio")
2626+ then "PDF Studio ${year}"
2727+ else "PDF Studio Viewer";
2828+ dot2dash = str: builtins.replaceStrings [ "." ] [ "_" ] str;
1029in
1130{
1212- pdfstudio = callPackage ./common.nix rec {
1313- pname = program;
1414- year = "2021";
1515- version = "${year}.2.0";
1616- desktopName = "PDF Studio";
3131+ pdfstudioviewer = callPackage ./common.nix rec {
3232+ inherit desktopName pname program year;
3333+ version = "${year}.0.2";
1734 longDescription = ''
1818- PDF Studio is an easy to use, full-featured PDF editing software. This is the standard/pro edition, which requires a license. For the free PDF Studio Viewer see the package pdfstudioviewer.
3535+ PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio.
1936 '';
2020- extraBuildInputs = [
2121- libgccjit #for libstdc++.so.6 and libgomp.so.1
2222- ];
3737+ src = fetchurl {
3838+ url = "https://web.archive.org/web/20220909093140/https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb";
3939+ sha256 = "sha256-za+a5vGkINLFvFoZdnB++4VGE9rfdfZf5HFNw/Af1AA=";
4040+ };
4141+ jdk = jdk11;
4242+ };
4343+4444+ pdfstudio2021 = callPackage ./common.nix rec {
4545+ inherit desktopName longDescription pname program year;
4646+ version = "${year}.2.0";
2347 src = fetchurl {
2424- url = makeurl { inherit pname year version; };
4848+ url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb";
2549 sha256 = "sha256-wQgVWz2kS+XkrqvCAUishizfDrCwGyVDAAU4Yzj4uYU=";
2650 };
5151+ extraBuildInputs = [
5252+ libgccjit #for libstdc++.so.6 and libgomp.so.1
5353+ ];
5454+ jdk = jdk11;
2755 };
28562929- pdfstudioviewer = callPackage ./common.nix rec {
3030- pname = program;
3131- year = "2021";
3232- version = "${year}.2.0";
3333- desktopName = "PDF Studio Viewer";
3434- longDescription = ''
3535- PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio.
3636- '';
5757+ pdfstudio2022 = callPackage ./common.nix rec {
5858+ inherit desktopName longDescription pname program year;
5959+ version = "${year}.0.2";
3760 src = fetchurl {
3838- url = makeurl { inherit pname year version; };
3939- sha256 = "sha256-RjVfl3wRK4bqNwSZr2R0CNx4urHTL0QLmKdogEnySWU=";
6161+ url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64_adoptium17.deb";
6262+ sha256 = "sha256-fWZXCyizP++pkmC+UpgCzGvb0QrNs4RI6iC4ZBL8hLE=";
4063 };
6464+ extraBuildInputs = [
6565+ libgccjit #for libstdc++.so.6 and libgomp.so.1
6666+ ];
6767+ jdk = jdk17;
4168 };
4242-}.${program}
6969+}.${pname}
···7272 sha256 = args.cargoSha256;
7373 } // depsExtraArgs);
74747575- # If we have a cargoSha256 fixed-output derivation, validate it at build time
7676- # against the src fixed-output derivation to check consistency.
7777- validateCargoDeps = args ? cargoHash || args ? cargoSha256;
7878-7975 target = rust.toRustTargetSpec stdenv.hostPlatform;
8076 targetIsJSON = lib.hasSuffix ".json" target;
8177 useSysroot = targetIsJSON && !__internal_dontAddSysroot;
+1-1
pkgs/build-support/src-only/default.nix
···11-{ stdenv }@orig:
11+{ stdenv }:
22# srcOnly is a utility builder that only fetches and unpacks the given `src`,
33# maybe pathings it in the process with the optional `patches` and
44# `buildInputs` attributes.
···11-# This file is automatically @generated by Cargo.
22-# It is not intended for manual editing.
33-version = 3
44-55-[[package]]
66-name = "elfcat"
77-version = "0.1.8"
···847847 pbis-open = throw "pbis-open has been removed, because it is no longer maintained upstream"; # added 2021-12-15
848848 pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project"; # Added 2022-01-01
849849 pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15
850850+ pdfstudio = throw "'pdfstudio' has been replaced with 'pdfstudio<year>', where '<year>' is the year from the PDF Studio version number, because each license is specific to a given year"; # Added 2022-09-04
850851 peach = asouldocs; # Added 2022-08-28
851852 pentablet-driver = xp-pen-g430-driver; # Added 2022-06-23
852853 perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22