diff --git a/var/spack/repos/builtin/packages/cairomm/package.py b/var/spack/repos/builtin/packages/cairomm/package.py new file mode 100644 index 0000000000..37408d50c5 --- /dev/null +++ b/var/spack/repos/builtin/packages/cairomm/package.py @@ -0,0 +1,38 @@ +############################################################################## +# Copyright (c) 2013-2018, 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/spack/spack +# Please also see the NOTICE and LICENSE files 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 Cairomm(AutotoolsPackage): + """Cairomm is a C++ wrapper for the cairo graphics library.""" + + homepage = "https://www.cairographics.org/cairomm/" + url = "https://cairographics.org/releases/cairomm-1.6.4.tar.gz" + + version('1.6.4', '63561c62536173a98f03005dfe55c90e') + version('1.6.2', 'eac5d159e4cba98e32ea174483dee24e') + + depends_on('cairo') + depends_on('libsigcpp') diff --git a/var/spack/repos/builtin/packages/glibmm/guint16_cast.patch b/var/spack/repos/builtin/packages/glibmm/guint16_cast.patch new file mode 100644 index 0000000000..325eb4d21f --- /dev/null +++ b/var/spack/repos/builtin/packages/glibmm/guint16_cast.patch @@ -0,0 +1,36 @@ +diff --git a/glib/glibmm/class.cc b/glib/glibmm/class.cc +index dc1c4a8..fc640ae 100644 +--- a/glib/glibmm/class.cc ++++ b/glib/glibmm/class.cc +@@ -37,13 +37,13 @@ void Class::register_derived_type(GType base_type) + + const GTypeInfo derived_info = + { +- base_query.class_size, ++ (guint16) base_query.class_size, + 0, // base_init + 0, // base_finalize + class_init_func_, + 0, // class_finalize + 0, // class_data +- base_query.instance_size, ++ (guint16) base_query.instance_size, + 0, // n_preallocs + 0, // instance_init + 0, // value_table +@@ -75,13 +75,13 @@ GType Class::clone_custom_type(const char* custom_type_name) const + + const GTypeInfo derived_info = + { +- base_query.class_size, ++ (guint16) base_query.class_size, + 0, // base_init + 0, // base_finalize + &Class::custom_class_init_function, + 0, // class_finalize + this, // class_data +- base_query.instance_size, ++ (guint16) base_query.instance_size, + 0, // n_preallocs + 0, // instance_init + 0, // value_table diff --git a/var/spack/repos/builtin/packages/glibmm/package.py b/var/spack/repos/builtin/packages/glibmm/package.py new file mode 100644 index 0000000000..810a8674b1 --- /dev/null +++ b/var/spack/repos/builtin/packages/glibmm/package.py @@ -0,0 +1,47 @@ +############################################################################## +# Copyright (c) 2013-2018, 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/spack/spack +# Please also see the NOTICE and LICENSE files 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 Glibmm(AutotoolsPackage): + """Glibmm is a C++ wrapper for the glib library.""" + + homepage = "https://developer.gnome.org/glib/" + url = "https://ftp.gnome.org/pub/GNOME/sources/glibmm/2.19/glibmm-2.19.3.tar.gz" + + version('2.19.3', 'b50180bb93f501172a2ac4c54e83e88a') + version('2.16.0', '24390d2da1734205f1e572f24d4942f0') + version('2.4.8', 'fa8b2889cd845752446c6ce15a94bb32') + + depends_on('libsigcpp') + depends_on('glib') + + patch('guint16_cast.patch', when='@2.19.3') + + def url_for_version(self, version): + """Handle glibmm's version-based custom URLs.""" + url = "https://ftp.acc.umu.se/pub/GNOME/sources/glibmm" + ext = '.tar.gz' if version < Version('2.28.2') else '.tar.xz' + return url + "/%s/glibmm-%s%s" % (version.up_to(2), version, ext) diff --git a/var/spack/repos/builtin/packages/gtkmm/package.py b/var/spack/repos/builtin/packages/gtkmm/package.py new file mode 100644 index 0000000000..6d06bd14a1 --- /dev/null +++ b/var/spack/repos/builtin/packages/gtkmm/package.py @@ -0,0 +1,53 @@ +############################################################################## +# Copyright (c) 2013-2018, 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/spack/spack +# Please also see the NOTICE and LICENSE files 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 Gtkmm(AutotoolsPackage): + """Gtkmm is the official C++ interface for the popular GUI library GTK+.""" + + homepage = "https://www.gtkmm.org/en/" + url = "https://ftp.acc.umu.se/pub/GNOME/sources/gtkmm/2.16/gtkmm-2.16.0.tar.gz" + + version('2.19.7', '2afc018e5b15cde293cd2d21db9b6a55') + version('2.19.6', 'fb140e82e583620defe0d70bfe7eefd7') + version('2.19.4', '60006a23306487938dfe0e4b17e3fa46') + version('2.19.2', 'dc208575a24e8d5265af2fd59c08f3d8') + version('2.17.11', '2326ff83439aac83721ed4694acf14e5') + version('2.17.1', '19358644e5e620ad738658be2cb6d739') + version('2.16.0', 'de178c2a6f23eda0b6a8bfb0219e2e1c') + version('2.4.11', 'a339958bc4ab7f74201b312bd3562d46') + + depends_on('glibmm') + depends_on('atk') + depends_on('gtkplus') + depends_on('pangomm') + depends_on('cairomm') + + def url_for_version(self, version): + """Handle glib's version-based custom URLs.""" + url = "https://ftp.acc.umu.se/pub/GNOME/sources/gtkmm" + ext = '.tar.gz' if version < Version('3.1.0') else '.tar.xz' + return url + "/%s/gtkmm-%s%s" % (version.up_to(2), version, ext) diff --git a/var/spack/repos/builtin/packages/libsigcpp/package.py b/var/spack/repos/builtin/packages/libsigcpp/package.py new file mode 100644 index 0000000000..2197f3f991 --- /dev/null +++ b/var/spack/repos/builtin/packages/libsigcpp/package.py @@ -0,0 +1,42 @@ +############################################################################## +# Copyright (c) 2013-2018, 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/spack/spack +# Please also see the NOTICE and LICENSE files 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 Libsigcpp(AutotoolsPackage): + """Libsigc++ is a C++ library for typesafe callbacks""" + + homepage = "http://www.example.com" + url = "https://ftp.acc.umu.se/pub/GNOME/sources/libsigc++/2.0/libsigc++-2.0.3.tar.gz" + + version('2.9.3', '0e5630fd0557ee80b5e5cbbcebaa2594') + version('2.1.1', '5ae4d6da9a408c90e86c776673c38972') + version('2.0.3', '57c6887dd46ce0bd312a4823589db5d8') + + def url_for_version(self, version): + """Handle version-based custom URLs.""" + url = "https://ftp.acc.umu.se/pub/GNOME/sources/libsigc++" + ext = '.tar.gz' if version < Version('2.2.10') else '.tar.xz' + return url + "/%s/libsigc++-%s%s" % (version.up_to(2), version, ext) diff --git a/var/spack/repos/builtin/packages/pangomm/package.py b/var/spack/repos/builtin/packages/pangomm/package.py new file mode 100644 index 0000000000..bb287596da --- /dev/null +++ b/var/spack/repos/builtin/packages/pangomm/package.py @@ -0,0 +1,45 @@ +############################################################################## +# Copyright (c) 2013-2018, 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/spack/spack +# Please also see the NOTICE and LICENSE files 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 Pangomm(AutotoolsPackage): + """Pangomm is a C++ interface to Pango.""" + + homepage = "http://www.pango.org/" + url = "https://ftp.gnome.org/pub/GNOME/sources/pangomm/2.14/pangomm-2.14.1.tar.gz" + + version('2.14.1', '607a404291d9eeb895f1df3d08f531d7') + version('2.14.0', '897d8c56cec4a9c297a426eb0fc2af91') + + depends_on('pango') + depends_on('glibmm') + depends_on('cairomm') + + def url_for_version(self, version): + """Handle version-based custom URLs.""" + url = "https://ftp.acc.umu.se/pub/GNOME/sources/pangomm" + ext = '.tar.gz' if version < Version('2.28.3') else '.tar.xz' + return url + "/%s/pangomm-%s%s" % (version.up_to(2), version, ext) diff --git a/var/spack/repos/builtin/packages/py-cheetah/package.py b/var/spack/repos/builtin/packages/py-cheetah/package.py new file mode 100644 index 0000000000..b27d848630 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-cheetah/package.py @@ -0,0 +1,34 @@ +############################################################################## +# Copyright (c) 2013-2018, 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/spack/spack +# Please also see the NOTICE and LICENSE files 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 PyCheetah(PythonPackage): + """Cheetah is a template engine and code generation tool.""" + + homepage = "https://pypi.python.org/pypi/Cheetah/2.4.4" + url = "https://pypi.io/packages/source/C/Cheetah/Cheetah-2.3.0.tar.gz" + + version('2.3.0', 'e28ffef7f5c1660d66196639f162d9ce') diff --git a/var/spack/repos/builtin/packages/workrave/add_time_header.patch b/var/spack/repos/builtin/packages/workrave/add_time_header.patch new file mode 100644 index 0000000000..535b7356fe --- /dev/null +++ b/var/spack/repos/builtin/packages/workrave/add_time_header.patch @@ -0,0 +1,12 @@ +diff --git a/backend/src/TimePred.hh b/backend/src/TimePred.hh +index 187f0fc..99bf48c 100644 +--- a/backend/src/TimePred.hh ++++ b/backend/src/TimePred.hh +@@ -26,6 +26,7 @@ + #else + # if HAVE_SYS_TIME_H + # include ++# include + # else + # include + # endif diff --git a/var/spack/repos/builtin/packages/workrave/dont_get_widget.patch b/var/spack/repos/builtin/packages/workrave/dont_get_widget.patch new file mode 100644 index 0000000000..de8076748c --- /dev/null +++ b/var/spack/repos/builtin/packages/workrave/dont_get_widget.patch @@ -0,0 +1,22 @@ +diff --git a/frontend/plugin/statistics/gtkmm/src/StatisticsDialog.cc b/frontend/plugin/statistics/gtkmm/src/StatisticsDialog.cc +index ee7d56f..608fddb 100644 +--- a/frontend/plugin/statistics/gtkmm/src/StatisticsDialog.cc ++++ b/frontend/plugin/statistics/gtkmm/src/StatisticsDialog.cc +@@ -604,7 +604,7 @@ StatisticsDialog::on_history_delete_all() + ); + Gtk::MessageDialog mb_ask( *this, msg, true, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_YES_NO, false ); + mb_ask.set_title( _("Warning") ); +- mb_ask.get_widget_for_response( Gtk::RESPONSE_NO )->grab_default(); ++ //mb_ask.get_widget_for_response( Gtk::RESPONSE_NO )->grab_default(); + if( mb_ask.run() == Gtk::RESPONSE_YES ) + { + mb_ask.hide(); +@@ -630,7 +630,7 @@ StatisticsDialog::on_history_delete_all() + ); + Gtk::MessageDialog mb_error( *this, msg, true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_YES_NO, false ); + mb_error.set_title( _("Error") ); +- mb_error.get_widget_for_response( Gtk::RESPONSE_NO )->grab_default(); ++ //mb_error.get_widget_for_response( Gtk::RESPONSE_NO )->grab_default(); + if( mb_error.run() != Gtk::RESPONSE_YES ) + break; + } diff --git a/var/spack/repos/builtin/packages/workrave/no_gettext.patch b/var/spack/repos/builtin/packages/workrave/no_gettext.patch new file mode 100644 index 0000000000..ab440c0e11 --- /dev/null +++ b/var/spack/repos/builtin/packages/workrave/no_gettext.patch @@ -0,0 +1,29 @@ +diff --git a/configure.ac b/configure.ac +index a8a437f..6128cd2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -949,8 +949,8 @@ dnl + dnl Internationalization + dnl + +-AM_GNU_GETTEXT_VERSION([0.17]) +-AM_GNU_GETTEXT([external]) ++dnl AM_GNU_GETTEXT_VERSION([0.17]) ++dnl AM_GNU_GETTEXT([external]) + + dnl Hack because windows gettext package is SEVERELY broken... + if test "x$platform_os_win32" = "xyes" +@@ -963,9 +963,10 @@ then + BUILD_INCLUDED_LIBINTL=no + fi + +-GETTEXT_PACKAGE=workrave +-AC_SUBST(GETTEXT_PACKAGE) +-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Define to the gettext domain name.]) ++dnl GETTEXT_PACKAGE=workrave ++dnl AC_SUBST(GETTEXT_PACKAGE) ++dnl AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Define to the gettext domain name.]) ++AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package]) + IT_PROG_INTLTOOL([0.40.0]) + + diff --git a/var/spack/repos/builtin/packages/workrave/package.py b/var/spack/repos/builtin/packages/workrave/package.py new file mode 100644 index 0000000000..76434acad3 --- /dev/null +++ b/var/spack/repos/builtin/packages/workrave/package.py @@ -0,0 +1,105 @@ +############################################################################## +# Copyright (c) 2013-2018, 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/spack/spack +# Please also see the NOTICE and LICENSE files 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 * +from shutil import copyfile + + +class Workrave(AutotoolsPackage): + """Workrave is a program that assists in the recovery and prevention of + Repetitive Strain Injury (RSI). The program frequently alerts you to + take micro-pauses, rest breaks and restricts you to your daily limit. + The program runs on GNU/Linux and Microsoft Windows. + """ + + homepage = "http://www.workrave.org/" + url = "https://github.com/rcaelers/workrave/archive/v1_10_20.tar.gz" + + version('1_10_20', '095567c10311bd2c1a52f98035cc8590') + version('1_10_19', 'a87ed53d5b321133e8b6b98fd715507b') + version('1_10_18', 'd36c2aba0485116b831d5b36a862f343') + version('1_10_17', 'ba829bb2c0ec999b3194b4d845549c39') + version('1_10_16', 'b9bf77bfe0c909fff56759e7dda40f9d') + version('1_10_15', '4a70c2e325503249d1a40fcc236d6802') + version('1_10_14', '67108d993719d9438a1b69f0cb8fc9b8') + version('1_10_13', 'd5e7110dfb0b0a31c909405913ac2a75') + version('1_10_12', '0bfbaa1dc35901ffa8f1a3676421a992') + version('1_10_10', 'cf827672c8a1ece074f8ddfcf73d0fe2') + + depends_on('autoconf', type='build') + depends_on('automake', type='build') + depends_on('libtool', type='build') + depends_on('m4', type='build') + + depends_on('libx11') + depends_on('py-cheetah') + depends_on('glib') + depends_on('glibmm') + depends_on('gtkplus') + depends_on('gtkmm@2.17.1') + depends_on('libsigcpp') + + # adds #include to a workrave test + patch('add_time_header.patch') + + # removes call to missing gtkmm api function + patch('dont_get_widget.patch') + + # removes gettext which canot be use with intltool + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=724555 + # https://bugzilla.gnome.org/show_bug.cgi?id=708673#c4 + patch('no_gettext.patch') + + # add a couple m4 macros used during autoreconf + # https://github.com/rcaelers/workrave/issues/95 + m4files = ['ax_cxx_compile_stdcxx_11', 'ax_cxx_compile_stdcxx'] + resource(name=m4files[0], + url='http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_cxx_compile_stdcxx_11.m4', + sha256='d75fc9fe4502eea02e8c5bfb61b88a04cd08aa6d5bd757fe66e9a9a1e4781b46', + expand=False, + destination='', + placement=m4files[0]) + resource(name=m4files[1], + url='http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_cxx_compile_stdcxx.m4', + sha256='0c08d2f64147f65eb7e255019102c1042ab695c60fd49add19793951a1279a1a', + expand=False, + destination='', + placement=m4files[1]) + + def setup_environment(self, build_env, run_env): + # unset PYTHONHOME to let system python script with explict + # system python sbangs like glib-mkenums work, see #6968 + # Without this, we will get + # ImportError: No module named site + # during build phase when make runs glib-mkenums + build_env.unset('PYTHONHOME') + + @run_before('autoreconf') + def extra_m4(self): + # move m4 macros, which we added with the resource() directive, + # to the m4 directory, where aclocal will pick them up + for fname in self.m4files: + src = '%s/%s/%s.m4' % (self.stage.source_path, fname, fname) + dest = '%s/m4/%s.m4' % (self.stage.source_path, fname) + copyfile(src, dest)