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):
|
||||
"""Apache Subversion - an open source version control system."""
|
||||
homepage = 'https://subversion.apache.org/'
|
||||
url = 'http://archive.apache.org/dist/subversion/subversion-1.8.13.tar.gz'
|
||||
homepage = 'https://subversion.apache.org/'
|
||||
url = 'http://archive.apache.org/dist/subversion/subversion-1.8.13.tar.gz'
|
||||
|
||||
version('1.8.13', '8065b3698d799507fb72dd7926ed32b6')
|
||||
version('1.9.3', 'a92bcfaec4e5038f82c74a7b5bbd2f46')
|
||||
|
||||
variant('perl', default=False, description='Build with Perl bindings')
|
||||
|
||||
depends_on('apr')
|
||||
depends_on('apr-util')
|
||||
depends_on('zlib')
|
||||
depends_on('sqlite')
|
||||
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
|
||||
# bindings.
|
||||
# depends_on('swig')
|
||||
|
@ -60,12 +66,30 @@ def install(self, spec, prefix):
|
|||
options.append('--with-zlib=%s' % spec['zlib'].prefix)
|
||||
options.append('--with-sqlite=%s' % spec['sqlite'].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)
|
||||
make()
|
||||
if self.run_tests:
|
||||
make('check')
|
||||
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
|
||||
# make('swig-py',
|
||||
# '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_extra=/usr/lib/python2.7/site-packages/svn')
|
||||
|
||||
# perl bindings
|
||||
# make('swig-pl')
|
||||
# make('install-swig-pl')
|
||||
|
||||
# ruby bindings
|
||||
# make('swig-rb')
|
||||
# make('isntall-swig-rb')
|
||||
|
|
Loading…
Reference in a new issue