summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorChris Green <greenc@fnal.gov>2019-03-25 19:51:51 -0500
committerPeter Scheibel <scheibel1@llnl.gov>2019-03-25 19:51:51 -0500
commitc124b1f47142be406834ff80a4ddb43007818b84 (patch)
tree86174b8cf512ac8b4fa5145b22278b8b5d23c4b3 /var
parent6478a32598135508ae87caa467ba2392530e885c (diff)
downloadspack-c124b1f47142be406834ff80a4ddb43007818b84.tar.gz
spack-c124b1f47142be406834ff80a4ddb43007818b84.tar.bz2
spack-c124b1f47142be406834ff80a4ddb43007818b84.tar.xz
spack-c124b1f47142be406834ff80a4ddb43007818b84.zip
postgresql package: build enhancements. (#10877)
We add new variants to handle readline vs libedit, a client-only build and install, and bindings to TCL, Python and Perl. We also add new versions and the ability to detect remote versions not otherwise dealt with.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/postgresql/package.py90
1 files changed, 83 insertions, 7 deletions
diff --git a/var/spack/repos/builtin/packages/postgresql/package.py b/var/spack/repos/builtin/packages/postgresql/package.py
index bd92288d0d..ec0ea848c8 100644
--- a/var/spack/repos/builtin/packages/postgresql/package.py
+++ b/var/spack/repos/builtin/packages/postgresql/package.py
@@ -14,22 +14,98 @@ class Postgresql(AutotoolsPackage):
homepage = "http://www.postgresql.org/"
url = "http://ftp.postgresql.org/pub/source/v9.3.4/postgresql-9.3.4.tar.bz2"
+ list_url = "http://ftp.postgresql.org/pub/source"
+ list_depth = 1
+ version('11.2', sha256='2676b9ce09c21978032070b6794696e0aa5a476e3d21d60afc036dc0a9c09405')
+ version('11.1', sha256='90815e812874831e9a4bf6e1136bf73bc2c5a0464ef142e2dfea40cda206db08')
+ version('11.0', sha256='bf9bba03d0c3902c188af12e454b35343c4a9bf9e377ec2fe50132efb44ef36b')
+ version('10.7', sha256='bfed1065380c1bba927bfe51f23168471373f26e3324cbad859269cc32733ede')
+ version('10.6', sha256='68a8276f08bda8fbefe562faaf8831cb20664a7a1d3ffdbbcc5b83e08637624b')
+ version('10.5', sha256='6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011')
+ version('10.4', sha256='1b60812310bd5756c62d93a9f93de8c28ea63b0df254f428cd1cf1a4d9020048')
version('10.3', '506498796a314c549388cafb3d5c717a')
version('10.2', 'e97c3cc72bdf661441f29069299b260a')
- version('9.3.4', 'd0a41f54c377b2d2fab4a003b0dac762')
+ version('10.1', sha256='3ccb4e25fe7a7ea6308dea103cac202963e6b746697366d72ec2900449a5e713')
+ version('10.0', sha256='712f5592e27b81c5b454df96b258c14d94b6b03836831e015c65d6deeae57fd1')
+ version('9.6.12', sha256='2e8c8446ba94767bda8a26cf5a2152bf0ae68a86aaebf894132a763084579d84')
+ version('9.6.11', sha256='38250adc69a1e8613fb926c894cda1d01031391a03648894b9a6e13ff354a530')
version('9.5.3', '3f0c388566c688c82b01a0edf1e6b7a0')
+ version('9.3.4', 'd0a41f54c377b2d2fab4a003b0dac762')
- depends_on('openssl')
- depends_on('readline')
-
+ variant('client_only', default=False,
+ description='Build and install client only.')
variant('threadsafe', default=False, description='Build with thread safe.')
+ variant('lineedit', default='readline',
+ values=('readline', 'libedit', 'none'), multi=False,
+ description='Line editing library')
+ variant('python', default=False, description='Enable Python bindings.')
+ variant('perl', default=False, description='Enable Perl bindings.')
+ variant('tcl', default=False, description='Enable Tcl bindings.')
+ variant('gssapi', default=False,
+ description='Build with GSSAPI functionality.')
- def configure_arg(self):
+ depends_on('readline', when='lineedit=readline')
+ depends_on('libedit', when='lineedit=libedit')
+ depends_on('openssl')
+ depends_on('tcl', when='+tcl')
+ depends_on('perl', when='+perl')
+ depends_on('python', when='+python')
+
+ def configure_args(self):
config_args = ["--with-openssl"]
+
if '+threadsafe' in self.spec:
- config_args.append("--enable-thread-safety")
+ config_args.append('--enable-thread-safety')
else:
- config_args.append("--disable-thread-safety")
+ config_args.append('--disable-thread-safety')
+
+ if self.spec.variants['lineedit'].value == 'libedit':
+ config_args.append('--with-libedit-preferred')
+ elif self.spec.variants['lineedit'].value == 'none':
+ config_args.append('--without-readline')
+
+ if '+gssapi' in self.spec:
+ config_args.append('--with-gssapi')
+
+ if '+python' in self.spec:
+ config_args.append('--with-python')
+
+ if '+perl' in self.spec:
+ config_args.append('--with-perl')
+
+ if '+tcl' in self.spec:
+ config_args.append('--with-tcl')
return config_args
+
+ def install(self, spec, prefix):
+ if '+client-only' in self.spec:
+ for subdir in ('bin', 'include', 'interfaces', 'pl'):
+ with working_dir(os.path.join('src', subdir)):
+ make('install')
+ else:
+ AutotoolsPackage.install(self, spec, prefix)
+
+ def setup_environment(self, spack_env, run_env):
+ spec = self.spec
+
+ if '+perl' in spec:
+ run_env.prepend_path('PERL5LIB', self.prefix.lib)
+ if '+tcl' in spec:
+ run_env.prepend_path('TCLLIBPATH', self.prefix.lib)
+ if '+python' in spec:
+ run_env.prepend_path('PYTHONPATH', self.prefix.lib)
+
+ def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
+ spec = self.spec
+
+ if '+perl' in spec:
+ spack_env.prepend_path('PERL5LIB', self.prefix.lib)
+ run_env.prepend_path('PERL5LIB', self.prefix.lib)
+ if '+tcl' in spec:
+ spack_env.prepend_path('TCLLIBPATH', self.prefix.lib)
+ run_env.prepend_path('TCLLIBPATH', self.prefix.lib)
+ if '+python' in spec:
+ spack_env.prepend_path('PYTHONPATH', self.prefix.lib)
+ run_env.prepend_path('PYTHONPATH', self.prefix.lib)