From 63121a0c4982bb163b064a4b97fbf820f5179be3 Mon Sep 17 00:00:00 2001 From: George Hartzell Date: Mon, 25 Jul 2016 15:08:12 -0400 Subject: Add package for ack Add a package for [ack](http://beyondgrep.com/install/). Simply install the fatpacked script. It uses '#!/usr/bin/env perl' and it very much not choosy about what perl it needs. For now just trust that there's one available, perhaps someday we can/should uncomment the depends_on('perl'). Follows the methodolgy I used in nextflow. Has the same uninstall/install problem that nextflow has, there is an issue in progress for that: https://github.com/LLNL/spack/issues/1308. Tested on CentOS7. --- var/spack/repos/builtin/packages/ack/package.py | 57 +++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 var/spack/repos/builtin/packages/ack/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/ack/package.py b/var/spack/repos/builtin/packages/ack/package.py new file mode 100644 index 0000000000..8c97e03456 --- /dev/null +++ b/var/spack/repos/builtin/packages/ack/package.py @@ -0,0 +1,57 @@ +############################################################################## +# 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 * +import os +import re + + +class Ack(Package): + """ack 2.14 is a tool like grep, optimized for programmers. + + Designed for programmers with large heterogeneous trees of + source code, ack is written purely in portable Perl 5 and takes + advantage of the power of Perl's regular expressions.""" + + homepage = "http://beyondgrep.com/" + url = "http://beyondgrep.com/ack-2.14-single-file" + + version('2.14', 'e74150a1609d28a70b450ef9cc2ed56b', expand=False) + + # trust that there's a system perl for now, but perhaps someday we + # should: + # depends_on('perl') + + def unpack(self): + pass + + def install(self, spec, prefix): + mkdirp(prefix.bin) + # find the file named like ack-2.14-single-file in a version + # independent manner (there should be only one )and install it + # as `ack`. + for f in os.listdir('.'): + if re.match('ack-\d*\.\d*-single-file', f): + install(f, join_path(prefix.bin, "ack")) + set_executable(join_path(prefix.bin, "ack")) -- cgit v1.2.3-70-g09d2