Add missing dependencies to VizGlow package (#2581)

* Add missing dependencies to VizGlow package

* Use a version-specific URL for xterm
This commit is contained in:
Adam J. Stewart 2017-01-26 04:30:18 -06:00 committed by Todd Gamblin
parent ffb8aaa3f3
commit c7a1328326
5 changed files with 257 additions and 2 deletions

View file

@ -0,0 +1,68 @@
##############################################################################
# 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 Libcanberra(AutotoolsPackage):
"""libcanberra is an implementation of the XDG Sound Theme and
Name Specifications, for generating event sounds on free desktops,
such as GNOME."""
homepage = "http://0pointer.de/lennart/projects/libcanberra/"
url = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz"
version('0.30', '34cb7e4430afaf6f447c4ebdb9b42072')
# TODO: Add variants and dependencies for the following audio support:
# ALSA, OSS, PulseAudio, udev, GStreamer, null, GTK3+ , tdb
variant('gtk', default=False, description='Enable optional GTK+ support')
depends_on('libxrender', when='+gtk')
depends_on('libxext', when='+gtk')
depends_on('libx11', when='+gtk')
depends_on('libxinerama', when='+gtk')
depends_on('libxrandr', when='+gtk')
depends_on('libxcursor', when='+gtk')
depends_on('libxcomposite', when='+gtk')
depends_on('libxdamage', when='+gtk')
depends_on('libxfixes', when='+gtk')
depends_on('libxcb', when='+gtk')
depends_on('libxau', when='+gtk')
depends_on('gtkplus', when='+gtk')
depends_on('libvorbis')
depends_on('pkg-config@0.9.0:', type='build')
def configure_args(self):
args = ['--enable-static']
if '+gtk' in self.spec:
args.append('--enable-gtk')
else:
args.append('--disable-gtk')
return args

View file

@ -0,0 +1,35 @@
##############################################################################
# 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 Libogg(AutotoolsPackage):
"""Ogg is a multimedia container format, and the native file and stream
format for the Xiph.org multimedia codecs."""
homepage = "https://www.xiph.org/ogg/"
url = "http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz"
version('1.3.2', 'b72e1a1dbadff3248e4ed62a4177e937')

View file

@ -0,0 +1,44 @@
##############################################################################
# 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 Libvorbis(AutotoolsPackage):
"""Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free,
general-purpose compressed audio format for mid to high quality (8kHz-
48.0kHz, 16+ bit, polyphonic) audio and music at fixed and variable
bitrates from 16 to 128 kbps/channel."""
homepage = "https://xiph.org/vorbis/"
url = "http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz"
version('1.3.5', '7220e089f3be3412a2317d6fde9e3944')
depends_on('libogg')
depends_on('pkg-config@0.9.0:', type='build')
# `make check` crashes when run in parallel
parallel = False

View file

@ -39,20 +39,73 @@ class Vizglow(Package):
homepage = "http://esgeetech.com/products/vizglow-plasma-modeling/"
version('2.2a-15', 'be2b5044f30f2b2c3bbe87a0037bf228', expand=False,
version('2.2alpha20', '2bef890c66f3a44aaf96f7c96788c89e', expand=False,
url="file://{0}/VizGlow_v2.2alpha20-Linux-x86_64-R09December2016-Install".format(os.getcwd()))
version('2.2alpha17', '1de268564363e0ee86f9ffff1c3b82e1', expand=False,
url="file://{0}/VizGlow_v2.2alpha17-R21November2016-Linux-x86_64-Install".format(os.getcwd()))
version('2.2alpha15', 'be2b5044f30f2b2c3bbe87a0037bf228', expand=False,
url="file://{0}/VizGlow_v2.2alpha15-Linux-x86_64-R31October2016-Install".format(os.getcwd()))
# depends_on('mesa') # TODO: mesa build doesn't work for me
depends_on('zlib')
depends_on('freetype')
depends_on('fontconfig')
depends_on('libxrender')
depends_on('xterm')
# Can't get mozjs to build, packagekit -> polkit -> mozjs
# depends_on('packagekit+gtk')
depends_on('libcanberra+gtk')
# Licensing
license_required = True
license_comment = '#'
license_files = ['esgeelm.lic']
license_vars = ['ESGEE_LICENSE_FILE']
def configure(self, prefix):
# Dictionary of responses
responses = {
'CreateDesktopShortcut': 'No',
'CreateQuickLaunchShortcut': 'No',
'InstallDir': prefix
}
# Write response file
with open('spack-responses.txt', 'w') as response_file:
for key in responses:
response_file.write('{0}: {1}\n'.format(key, responses[key]))
def install(self, spec, prefix):
self.configure(prefix)
installer = glob.glob('VizGlow*Install')[0]
chmod = which('chmod')
chmod('+x', installer)
installer = Executable(installer)
installer('--mode', 'silent', '--prefix', prefix)
installer('--mode', 'silent', '--response-file', 'spack-responses.txt')
self.filter_ld_library_path(spec, prefix)
def filter_ld_library_path(self, spec, prefix):
"""Run after install to inject dependencies into LD_LIBRARY_PATH.
If we don't do this, the run files will clear the LD_LIBRARY_PATH.
Since the installer is a binary file, we have no means of specifying
an RPATH to use."""
files = glob.glob(prefix + '/binaries/*.run')
ld_library_path = ':'.join([
spec['zlib'].prefix.lib,
spec['freetype'].prefix.lib,
spec['fontconfig'].prefix.lib,
spec['libxrender'].prefix.lib,
spec['libcanberra'].prefix.lib
])
for runfile in files:
filter_file('(export LD_LIBRARY_PATH=)$',
r'\1{0}'.format(ld_library_path),
runfile)

View file

@ -0,0 +1,55 @@
##############################################################################
# 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 Xterm(AutotoolsPackage):
"""The xterm program is a terminal emulator for the X Window System. It
provides DEC VT102 and Tektronix 4014 compatible terminals for programs
that can't use the window system directly."""
homepage = "http://invisible-island.net/xterm/"
url = "ftp://invisible-island.net/xterm/xterm-327.tgz"
version('327', '3c32e931adcad44e64e57892e75d9e02')
depends_on('libxft')
depends_on('fontconfig')
depends_on('libxaw')
depends_on('libxmu')
depends_on('libxt')
depends_on('libx11')
depends_on('libxinerama')
depends_on('libxpm')
depends_on('libice')
depends_on('freetype')
depends_on('libxrender')
depends_on('libxext')
depends_on('libsm')
depends_on('libxcb')
depends_on('libxau')
depends_on('bzip2')
depends_on('pkg-config', type='build')