···240 * to implicit typing rules, so it should work with older
241 * parsers as well.
242 */
243- toYAML = {}@args: toJSON args;
244245 withRecursion =
246- args@{
247 /* If this option is not null, the given value will stop evaluating at a certain depth */
248 depthLimit
249 /* If this option is true, an error will be thrown, if a certain given depth is exceeded */
···287 allowPrettyValues ? false,
288 /* If this option is true, the output is indented with newlines for attribute sets and lists */
289 multiline ? true
290- }@args:
291 let
292 go = indent: v: with builtins;
293 let isPath = v: typeOf v == "path";
···240 * to implicit typing rules, so it should work with older
241 * parsers as well.
242 */
243+ toYAML = toJSON;
244245 withRecursion =
246+ {
247 /* If this option is not null, the given value will stop evaluating at a certain depth */
248 depthLimit
249 /* If this option is true, an error will be thrown, if a certain given depth is exceeded */
···287 allowPrettyValues ? false,
288 /* If this option is true, the output is indented with newlines for attribute sets and lists */
289 multiline ? true
290+ }:
291 let
292 go = indent: v: with builtins;
293 let isPath = v: typeOf v == "path";
+1-9
lib/modules.nix
···12 concatStringsSep
13 elem
14 filter
15- findFirst
16 foldl'
17 getAttrFromPath
18 head
···34 recursiveUpdate
35 reverseList sort
36 setAttrByPath
37- toList
38 types
39 warnIf
40 zipAttrsWith
···46 showFiles
47 showOption
48 unknownModule
49- literalExpression
50 ;
5152 showDeclPrefix = loc: decl: prefix:
···604 }
605 else
606 let
607- firstNonOption = findFirst (m: !isOption m.options) "" decls;
608 nonOptions = filter (m: !isOption m.options) decls;
609 in
610 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${
···652 'opts' is a list of modules. Each module has an options attribute which
653 correspond to the definition of 'loc' in 'opt.file'. */
654 mergeOptionDecls =
655- let
656- coerceOption = file: opt:
657- if isFunction opt then setDefaultModuleLocation file opt
658- else setDefaultModuleLocation file { options = opt; };
659- in loc: opts:
660 foldl' (res: opt:
661 let t = res.type;
662 t' = opt.options.type;
···12 concatStringsSep
13 elem
14 filter
015 foldl'
16 getAttrFromPath
17 head
···33 recursiveUpdate
34 reverseList sort
35 setAttrByPath
036 types
37 warnIf
38 zipAttrsWith
···44 showFiles
45 showOption
46 unknownModule
047 ;
4849 showDeclPrefix = loc: decl: prefix:
···601 }
602 else
603 let
0604 nonOptions = filter (m: !isOption m.options) decls;
605 in
606 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${
···648 'opts' is a list of modules. Each module has an options attribute which
649 correspond to the definition of 'loc' in 'opt.file'. */
650 mergeOptionDecls =
651+ loc: opts:
0000652 foldl' (res: opt:
653 let t = res.type;
654 t' = opt.options.type;
···67with import ../lib/testing-python.nix { inherit system pkgs; };
89-makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)
00
···67with import ../lib/testing-python.nix { inherit system pkgs; };
89+let testConfig = makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f);
10+in testConfig.test # For nix-build
11+ // testConfig # For all-tests.nix
+1-3
nixos/tests/pgadmin4.nix
···107 )
108109 # Don't bother to test LDAP or kerberos authentification
110- # For now deactivate change_password API test. Current bug report at https://redmine.postgresql.org/issues/7648
111- # Password change works from the UI, if email SMTP is configured.
112 with subtest("run browser test"):
113 machine.succeed(
114 'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
115 && python regression/runtests.py \
116 --pkg browser \
117- --exclude browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login,browser.tests.test_kerberos_with_mocking,browser.tests.test_change_password'
118 )
119120 # fontconfig is necessary for chromium to run
···107 )
108109 # Don't bother to test LDAP or kerberos authentification
00110 with subtest("run browser test"):
111 machine.succeed(
112 'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
113 && python regression/runtests.py \
114 --pkg browser \
115+ --exclude browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login,browser.tests.test_kerberos_with_mocking'
116 )
117118 # fontconfig is necessary for chromium to run
···109 gappsWrapperArgs+=(
110 # Add gio to PATH so that moving files to the trash works when not using a desktop environment
111 --prefix PATH : ${glib.bin}/bin
112- --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
113 --add-flags ${lib.escapeShellArg commandLineArgs}
114 )
115 '';
···109 gappsWrapperArgs+=(
110 # Add gio to PATH so that moving files to the trash works when not using a desktop environment
111 --prefix PATH : ${glib.bin}/bin
112+ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
113 --add-flags ${lib.escapeShellArg commandLineArgs}
114 )
115 '';
···1-{ program ? "pdfstudioviewer"
000000000002, fetchurl
3, libgccjit
4, callPackage
005}:
6-7-let makeurl = { pname, year, version }: "https://download.qoppa.com/${pname}/v${year}/${
8- builtins.replaceStrings [ "pdfstudio" "viewer" "." ] [ "PDFStudio" "Viewer" "_" ] "${pname}_v${version}"
9- }_linux64.deb";
00000010in
11{
12- pdfstudio = callPackage ./common.nix rec {
13- pname = program;
14- year = "2021";
15- version = "${year}.2.0";
16- desktopName = "PDF Studio";
17 longDescription = ''
18- 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.
19 '';
20- extraBuildInputs = [
21- libgccjit #for libstdc++.so.6 and libgomp.so.1
22- ];
000000023 src = fetchurl {
24- url = makeurl { inherit pname year version; };
25 sha256 = "sha256-wQgVWz2kS+XkrqvCAUishizfDrCwGyVDAAU4Yzj4uYU=";
26 };
000027 };
2829- pdfstudioviewer = callPackage ./common.nix rec {
30- pname = program;
31- year = "2021";
32- version = "${year}.2.0";
33- desktopName = "PDF Studio Viewer";
34- longDescription = ''
35- 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.
36- '';
37 src = fetchurl {
38- url = makeurl { inherit pname year version; };
39- sha256 = "sha256-RjVfl3wRK4bqNwSZr2R0CNx4urHTL0QLmKdogEnySWU=";
40 };
000041 };
42-}.${program}
···1+# For upstream versions, download links, and change logs see https://www.qoppa.com/pdfstudio/versions
2+#
3+# PDF Studio license is for a specific year, so we need different packages for different years.
4+# All versions of PDF Studio Viewer are free, so we package only the latest year.
5+# Thus, packages are pdfstudioviewer, pdfstudio2021, pdfstudio2022, etc.
6+# Variables:
7+# - program is either "pdfstudio" or "pdfstudioviewer", defaults to "pdfstudio".
8+# - year identifies the year portion of the version, defaults to most recent year.
9+# - pname is either "pdfstudio${year}" or "pdfstudioviewer".
10+11+{ program ? "pdfstudio"
12+, year ? "2022"
13, fetchurl
14, libgccjit
15, callPackage
16+, jdk11
17+, jdk17
18}:
19+let
20+ longDescription = ''
21+ 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.
22+ '';
23+ pname = if (program == "pdfstudio") then "${program}${year}" else program;
24+ desktopName =
25+ if (program == "pdfstudio")
26+ then "PDF Studio ${year}"
27+ else "PDF Studio Viewer";
28+ dot2dash = str: builtins.replaceStrings [ "." ] [ "_" ] str;
29in
30{
31+ pdfstudioviewer = callPackage ./common.nix rec {
32+ inherit desktopName pname program year;
33+ version = "${year}.0.2";
0034 longDescription = ''
35+ 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.
36 '';
37+ src = fetchurl {
38+ url = "https://web.archive.org/web/20220909093140/https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb";
39+ sha256 = "sha256-za+a5vGkINLFvFoZdnB++4VGE9rfdfZf5HFNw/Af1AA=";
40+ };
41+ jdk = jdk11;
42+ };
43+44+ pdfstudio2021 = callPackage ./common.nix rec {
45+ inherit desktopName longDescription pname program year;
46+ version = "${year}.2.0";
47 src = fetchurl {
48+ url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb";
49 sha256 = "sha256-wQgVWz2kS+XkrqvCAUishizfDrCwGyVDAAU4Yzj4uYU=";
50 };
51+ extraBuildInputs = [
52+ libgccjit #for libstdc++.so.6 and libgomp.so.1
53+ ];
54+ jdk = jdk11;
55 };
5657+ pdfstudio2022 = callPackage ./common.nix rec {
58+ inherit desktopName longDescription pname program year;
59+ version = "${year}.0.2";
0000060 src = fetchurl {
61+ url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64_adoptium17.deb";
62+ sha256 = "sha256-fWZXCyizP++pkmC+UpgCzGvb0QrNs4RI6iC4ZBL8hLE=";
63 };
64+ extraBuildInputs = [
65+ libgccjit #for libstdc++.so.6 and libgomp.so.1
66+ ];
67+ jdk = jdk17;
68 };
69+}.${pname}
···1-{ stdenv }@orig:
2# srcOnly is a utility builder that only fetches and unpacks the given `src`,
3# maybe pathings it in the process with the optional `patches` and
4# `buildInputs` attributes.
···1+{ stdenv }:
2# srcOnly is a utility builder that only fetches and unpacks the given `src`,
3# maybe pathings it in the process with the optional `patches` and
4# `buildInputs` attributes.
···1-# This file is automatically @generated by Cargo.
2-# It is not intended for manual editing.
3-version = 3
4-5-[[package]]
6-name = "elfcat"
7-version = "0.1.8"
···847 pbis-open = throw "pbis-open has been removed, because it is no longer maintained upstream"; # added 2021-12-15
848 pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project"; # Added 2022-01-01
849 pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15
0850 peach = asouldocs; # Added 2022-08-28
851 pentablet-driver = xp-pen-g430-driver; # Added 2022-06-23
852 perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22
···847 pbis-open = throw "pbis-open has been removed, because it is no longer maintained upstream"; # added 2021-12-15
848 pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project"; # Added 2022-01-01
849 pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15
850+ 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
851 peach = asouldocs; # Added 2022-08-28
852 pentablet-driver = xp-pen-g430-driver; # Added 2022-06-23
853 perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22
···2324makeScope newScope (self:
25 let
26- inherit (octave) blas lapack gfortran python texinfo gnuplot;
27-28 callPackage = self.callPackage;
2930 buildOctavePackage = callPackage ../development/interpreters/octave/build-octave-package.nix {
31 inherit lib stdenv;
32 inherit octave;
33 inherit computeRequiredOctavePackages;
34- };
35-36- wrapOctave = callPackage ../development/interpreters/octave/wrap-octave.nix {
37- inherit octave;
38- inherit (pkgs) makeSetupHook makeWrapper;
39 };
4041 # Given a list of required Octave package derivations, get a list of
···2324makeScope newScope (self:
25 let
0026 callPackage = self.callPackage;
2728 buildOctavePackage = callPackage ../development/interpreters/octave/build-octave-package.nix {
29 inherit lib stdenv;
30 inherit octave;
31 inherit computeRequiredOctavePackages;
0000032 };
3334 # Given a list of required Octave package derivations, get a list of