1{
2 buildEnv,
3 lib,
4 postgresql,
5 postgresqlTestExtension,
6 tclPackages,
7}:
8
9let
10 withPackages =
11 f:
12 let
13 pkgs = f tclPackages;
14 paths = lib.concatMapStringsSep " " (pkg: "${pkg}/lib") pkgs;
15 finalPackage = buildEnv {
16 name = "${postgresql.pname}-pltcl-${postgresql.version}";
17 paths = [ postgresql.pltcl ];
18 passthru = {
19 inherit withPackages;
20 wrapperArgs = [
21 ''--set TCLLIBPATH "${paths}"''
22 ];
23 tests.extension = postgresqlTestExtension {
24 finalPackage = finalPackage.withPackages (ps: [
25 ps.mustache-tcl
26 ps.tcllib
27 ]);
28 sql = ''
29 CREATE EXTENSION pltclu;
30 CREATE FUNCTION test() RETURNS VOID
31 LANGUAGE pltclu AS $$
32 package require mustache
33 $$;
34 SELECT test();
35 '';
36 };
37 };
38 meta = {
39 inherit (postgresql.meta)
40 homepage
41 license
42 changelog
43 teams
44 platforms
45 ;
46 description = "PL/Tcl - Tcl Procedural Language";
47 };
48 };
49 in
50 finalPackage;
51in
52withPackages (_: [ ])