Commits

Joshua Root authored d41a0388cfd
Remove eval [subst {...}] antipattern from ports

Disabling substitution by using braces but then adding an extra interpreter pass to get it back is pointless and inefficient.
No tags

databases/postgis/Portfile

Modified
63 63 set pgsql_ports {}
64 64 foreach s ${pgsql_suffixes} {
65 65 lappend pgsql_ports postgresql${s}
66 66 }
67 67
68 68 foreach s ${pgsql_suffixes} {
69 69 set p postgresql${s}
70 70 set v [string index ${s} 0].[string index ${s} 1]
71 71 set i [lsearch -exact ${pgsql_ports} ${p}]
72 72 set c [lreplace ${pgsql_ports} ${i} ${i}]
73 - eval [subst {
74 - variant ${p} description "Build with PostgreSQL ${v}" conflicts ${c} {
75 - post-patch {
76 - set args {
77 - PGSQL_DOCDIR=${prefix}/share/doc/${p}
78 - PGSQL_MANDIR=${prefix}/share/man
79 - PGSQL_SHAREDIR=${prefix}/share/${p}
80 - }
81 -
82 - reinplace -E "/doc .*install\\\$/s|\\\$| \[join \${args}\]|" ${worksrcpath}/GNUmakefile
73 + variant ${p} description "Build with PostgreSQL ${v}" conflicts {*}${c} "
74 + post-patch {
75 + set args {
76 + PGSQL_DOCDIR=${prefix}/share/doc/${p}
77 + PGSQL_MANDIR=${prefix}/share/man
78 + PGSQL_SHAREDIR=${prefix}/share/${p}
83 79 }
84 - depends_lib-append port:${p}
85 80
86 - configure.args-append --libdir=${prefix}/lib/${p} \
87 - --with-pgconfig=${prefix}/lib/${p}/bin/pg_config
88 -
89 - build.args-append PGSQL_DOCDIR=${prefix}/share/doc/${p} \
90 - PGSQL_MANDIR=${prefix}/share/man
81 + reinplace -E \"/doc .*install\\\$/s|\\\$| \[join \${args}\]|\" ${worksrcpath}/GNUmakefile
91 82 }
92 - }]
83 + depends_lib-append port:${p}
84 +
85 + configure.args-append --libdir=${prefix}/lib/${p} \
86 + --with-pgconfig=${prefix}/lib/${p}/bin/pg_config
87 +
88 + build.args-append PGSQL_DOCDIR=${prefix}/share/doc/${p} \
89 + PGSQL_MANDIR=${prefix}/share/man
90 + "
93 91 }
94 92
95 93 proc has_pgsql_variant {} {
96 94 global pgsql_ports
97 95 foreach p ${pgsql_ports} {
98 96 if {[variant_isset ${p}]} {
99 97 return 1
100 98 }
101 99 }
102 100 return 0

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut