at master 52 lines 1.2 kB view raw
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 (_: [ ])