53 lines
1.2 KiB
Nix
53 lines
1.2 KiB
Nix
{
|
|
buildEnv,
|
|
lib,
|
|
postgresql,
|
|
postgresqlTestExtension,
|
|
tclPackages,
|
|
}:
|
|
|
|
let
|
|
withPackages =
|
|
f:
|
|
let
|
|
pkgs = f tclPackages;
|
|
paths = lib.concatMapStringsSep " " (pkg: "${pkg}/lib") pkgs;
|
|
finalPackage = buildEnv {
|
|
name = "${postgresql.pname}-pltcl-${postgresql.version}";
|
|
paths = [ postgresql.pltcl ];
|
|
passthru = {
|
|
inherit withPackages;
|
|
wrapperArgs = [
|
|
''--set TCLLIBPATH "${paths}"''
|
|
];
|
|
tests.extension = postgresqlTestExtension {
|
|
finalPackage = finalPackage.withPackages (ps: [
|
|
ps.mustache-tcl
|
|
ps.tcllib
|
|
]);
|
|
sql = ''
|
|
CREATE EXTENSION pltclu;
|
|
CREATE FUNCTION test() RETURNS VOID
|
|
LANGUAGE pltclu AS $$
|
|
package require mustache
|
|
$$;
|
|
SELECT test();
|
|
'';
|
|
};
|
|
};
|
|
meta = {
|
|
inherit (postgresql.meta)
|
|
homepage
|
|
license
|
|
changelog
|
|
teams
|
|
platforms
|
|
;
|
|
description = "PL/Tcl - Tcl Procedural Language";
|
|
};
|
|
};
|
|
in
|
|
finalPackage;
|
|
in
|
|
withPackages (_: [ ])
|