Subversion with perl bindings (#3644)
* perl-term-readkey: add perl Term::ReadKey package * subversion: add variant with perl bindings * subversion: use `which('perl')` to find perl executable in package.py
This commit is contained in:
parent
a81b2b4dc6
commit
890213d5c2
2 changed files with 68 additions and 7 deletions
|
@ -0,0 +1,41 @@
|
||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/llnl/spack
|
||||||
|
# Please also see the LICENSE file for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class PerlTermReadkey(PerlPackage):
|
||||||
|
"""Term::ReadKey is a compiled perl module dedicated to providing simple
|
||||||
|
control over terminal driver modes (cbreak, raw, cooked, etc.,) support
|
||||||
|
for non-blocking reads, if the architecture allows, and some generalized
|
||||||
|
handy functions for working with terminals. One of the main goals is to
|
||||||
|
have the functions as portable as possible, so you can just plug in
|
||||||
|
"use Term::ReadKey" on any architecture and have a good likelihood of it
|
||||||
|
working."""
|
||||||
|
|
||||||
|
homepage = "http://search.cpan.org/perldoc/Term::ReadKey"
|
||||||
|
url = "http://www.cpan.org/authors/id/J/JS/JSTOWE/TermReadKey-2.37.tar.gz"
|
||||||
|
list_url = "http://www.cpan.org/authors/id/J/JS/JSTOWE"
|
||||||
|
|
||||||
|
version('2.37', 'e8ea15c16333ac4f8d146d702e83cc0c')
|
|
@ -27,18 +27,24 @@
|
||||||
|
|
||||||
class Subversion(Package):
|
class Subversion(Package):
|
||||||
"""Apache Subversion - an open source version control system."""
|
"""Apache Subversion - an open source version control system."""
|
||||||
homepage = 'https://subversion.apache.org/'
|
homepage = 'https://subversion.apache.org/'
|
||||||
url = 'http://archive.apache.org/dist/subversion/subversion-1.8.13.tar.gz'
|
url = 'http://archive.apache.org/dist/subversion/subversion-1.8.13.tar.gz'
|
||||||
|
|
||||||
version('1.8.13', '8065b3698d799507fb72dd7926ed32b6')
|
version('1.8.13', '8065b3698d799507fb72dd7926ed32b6')
|
||||||
version('1.9.3', 'a92bcfaec4e5038f82c74a7b5bbd2f46')
|
version('1.9.3', 'a92bcfaec4e5038f82c74a7b5bbd2f46')
|
||||||
|
|
||||||
|
variant('perl', default=False, description='Build with Perl bindings')
|
||||||
|
|
||||||
depends_on('apr')
|
depends_on('apr')
|
||||||
depends_on('apr-util')
|
depends_on('apr-util')
|
||||||
depends_on('zlib')
|
depends_on('zlib')
|
||||||
depends_on('sqlite')
|
depends_on('sqlite')
|
||||||
depends_on('serf')
|
depends_on('serf')
|
||||||
|
|
||||||
|
extends('perl', when='+perl')
|
||||||
|
depends_on('swig@1.3.24:3.0.0', when='+perl')
|
||||||
|
depends_on('perl-term-readkey', when='+perl')
|
||||||
|
|
||||||
# Optional: We need swig if we want the Perl, Python or Ruby
|
# Optional: We need swig if we want the Perl, Python or Ruby
|
||||||
# bindings.
|
# bindings.
|
||||||
# depends_on('swig')
|
# depends_on('swig')
|
||||||
|
@ -60,12 +66,30 @@ def install(self, spec, prefix):
|
||||||
options.append('--with-zlib=%s' % spec['zlib'].prefix)
|
options.append('--with-zlib=%s' % spec['zlib'].prefix)
|
||||||
options.append('--with-sqlite=%s' % spec['sqlite'].prefix)
|
options.append('--with-sqlite=%s' % spec['sqlite'].prefix)
|
||||||
options.append('--with-serf=%s' % spec['serf'].prefix)
|
options.append('--with-serf=%s' % spec['serf'].prefix)
|
||||||
# options.append('--with-swig=%s' % spec['swig'].prefix)
|
|
||||||
|
if spec.satisfies('^swig'):
|
||||||
|
options.append('--with-swig=%s' % spec['swig'].prefix)
|
||||||
|
if spec.satisfies('+perl'):
|
||||||
|
options.append(
|
||||||
|
'PERL=%s' % join_path(spec['perl'].prefix.bin, 'perl'))
|
||||||
|
|
||||||
configure(*options)
|
configure(*options)
|
||||||
make()
|
make()
|
||||||
|
if self.run_tests:
|
||||||
|
make('check')
|
||||||
make('install')
|
make('install')
|
||||||
|
|
||||||
|
if spec.satisfies('+perl'):
|
||||||
|
make('swig-pl')
|
||||||
|
if self.run_tests:
|
||||||
|
make('check-swig-pl')
|
||||||
|
make('install-swig-pl-lib')
|
||||||
|
with working_dir(join_path(
|
||||||
|
'subversion', 'bindings', 'swig', 'perl', 'native')):
|
||||||
|
perl = which('perl')
|
||||||
|
perl('Makefile.PL', 'INSTALL_BASE=%s' % prefix)
|
||||||
|
make('install')
|
||||||
|
|
||||||
# python bindings
|
# python bindings
|
||||||
# make('swig-py',
|
# make('swig-py',
|
||||||
# 'swig-pydir=/usr/lib/python2.7/site-packages/libsvn',
|
# 'swig-pydir=/usr/lib/python2.7/site-packages/libsvn',
|
||||||
|
@ -74,10 +98,6 @@ def install(self, spec, prefix):
|
||||||
# 'swig-pydir=/usr/lib/python2.7/site-packages/libsvn',
|
# 'swig-pydir=/usr/lib/python2.7/site-packages/libsvn',
|
||||||
# 'swig_pydir_extra=/usr/lib/python2.7/site-packages/svn')
|
# 'swig_pydir_extra=/usr/lib/python2.7/site-packages/svn')
|
||||||
|
|
||||||
# perl bindings
|
|
||||||
# make('swig-pl')
|
|
||||||
# make('install-swig-pl')
|
|
||||||
|
|
||||||
# ruby bindings
|
# ruby bindings
|
||||||
# make('swig-rb')
|
# make('swig-rb')
|
||||||
# make('isntall-swig-rb')
|
# make('isntall-swig-rb')
|
||||||
|
|
Loading…
Reference in a new issue