summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/blitz')
-rw-r--r--dev-libs/blitz/Manifest1
-rw-r--r--dev-libs/blitz/blitz-0.10-r1.ebuild66
-rw-r--r--dev-libs/blitz/blitz-0.10.ebuild62
-rw-r--r--dev-libs/blitz/files/blitz-0.10-docs.patch88
-rw-r--r--dev-libs/blitz/files/blitz-0.10-gcc47.patch33
-rw-r--r--dev-libs/blitz/files/blitz-0.10-set-default-arg-value.patch107
-rw-r--r--dev-libs/blitz/metadata.xml25
7 files changed, 382 insertions, 0 deletions
diff --git a/dev-libs/blitz/Manifest b/dev-libs/blitz/Manifest
new file mode 100644
index 000000000000..03a870a470be
--- /dev/null
+++ b/dev-libs/blitz/Manifest
@@ -0,0 +1 @@
+DIST blitz-0.10.tar.gz 3777276 SHA256 804ef0e6911d43642a2ea1894e47c6007e4c185c866a7d68bad1e4c8ac4e6f94 SHA512 04fb0c8735d8ae173e6e907bd04fd739c482b7816c25b7dfe58c8641b90c17321e9a6849ced73a04ca9cc55439070de1a1e395497887317b553b0550fa0a2462 WHIRLPOOL ab091832e5dd34f0d2a0f6584c000962946b42f32175fb589fc5c329807e6f75cc81c921c4da3d9e60bc211de0746af1a5f30dc5776761993434a0b8e32ebf6e
diff --git a/dev-libs/blitz/blitz-0.10-r1.ebuild b/dev-libs/blitz/blitz-0.10-r1.ebuild
new file mode 100644
index 000000000000..cde2fc351c5f
--- /dev/null
+++ b/dev-libs/blitz/blitz-0.10-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+inherit autotools-utils
+
+DESCRIPTION="High-performance C++ numeric library"
+HOMEPAGE="http://blitz.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( LGPL-3 Artistic-2 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~ppc-macos ~x86-linux ~x86-macos"
+
+IUSE="boost debug doc examples static-libs"
+
+RDEPEND="boost? ( >=dev-libs/boost-1.40 )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-docs.patch"
+ "${FILESDIR}/${P}-gcc47.patch"
+ "${FILESDIR}/${P}-set-default-arg-value.patch"
+)
+
+src_configure() {
+ # blas / fortran only needed for benchmarks
+ use doc && doxygen -u doc/doxygen/Doxyfile.in
+ local myeconfargs=(
+ --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
+ --enable-shared
+ --disable-cxx-flags-preset
+ --disable-fortran
+ --without-blas
+ $(use_enable boost serialization)
+ $(use_enable debug)
+ $(use_enable doc doxygen)
+ $(use_enable doc html-docs)
+ $(use_with boost boost "${EPREFIX}/usr")
+ $(use_with boost boost-serialization)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile LDFLAGS="${LDFLAGS}" lib
+ use doc && autotools-utils_src_compile info html pdf
+}
+
+src_test() {
+ pushd ${AUTOTOOLS_BUILD_DIR} > /dev/null
+ emake check-testsuite check-examples
+ popd > /dev/null
+}
+
+src_install () {
+ autotools-utils_src_install $(use doc && echo install-html install-pdf)
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.{cpp,f}
+ fi
+}
diff --git a/dev-libs/blitz/blitz-0.10.ebuild b/dev-libs/blitz/blitz-0.10.ebuild
new file mode 100644
index 000000000000..23669a634113
--- /dev/null
+++ b/dev-libs/blitz/blitz-0.10.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils multilib
+
+DESCRIPTION="High-performance C++ numeric library"
+HOMEPAGE="http://blitz.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="|| ( LGPL-3 Artistic-2 BSD )"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~ppc-macos ~x86-linux ~x86-macos"
+IUSE="boost debug doc examples static-libs"
+
+RDEPEND="boost? ( >=dev-libs/boost-1.40 )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen[dot] )"
+
+PATCHES=( "${FILESDIR}"/${P}-{docs,gcc47,set-default-arg-value}.patch )
+
+src_configure() {
+ # blas / fortran only needed for benchmarks
+ use doc && doxygen -u doc/doxygen/Doxyfile.in
+ local myeconfargs=(
+ --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
+ --enable-shared
+ --disable-cxx-flags-preset
+ --disable-fortran
+ --without-blas
+ $(use_enable boost serialization)
+ $(use_enable debug)
+ $(use_enable doc doxygen)
+ $(use_enable doc html-docs)
+ $(use_with boost boost "${EPREFIX}/usr")
+ $(use_with boost boost-serialization)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile lib
+ use doc && autotools-utils_src_compile info html pdf
+}
+
+src_test() {
+ pushd ${AUTOTOOLS_BUILD_DIR} > /dev/null
+ emake check-testsuite check-examples
+ popd > /dev/null
+}
+
+src_install () {
+ autotools-utils_src_install $(use doc&& echo install-html install-pdf)
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.{cpp,f}
+ fi
+}
diff --git a/dev-libs/blitz/files/blitz-0.10-docs.patch b/dev-libs/blitz/files/blitz-0.10-docs.patch
new file mode 100644
index 000000000000..dd0dca77af36
--- /dev/null
+++ b/dev-libs/blitz/files/blitz-0.10-docs.patch
@@ -0,0 +1,88 @@
+* respect user's docdir,htmldir,pdfdir at configuration time
+* install recursive for doxygen generated
+* works for out-of-source directory installation
+
+bicatali@gentoo.org Aug 2012
+
+diff -Nur doc.orig/doxygen/Makefile.am doc/doxygen/Makefile.am
+--- doc.orig/doxygen/Makefile.am 2012-05-11 13:11:13.000000000 -0700
++++ doc/doxygen/Makefile.am 2012-08-13 13:44:27.616583722 -0700
+@@ -2,7 +2,6 @@
+
+ # Support doxygen documentation ?
+
+-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/doxygen
+
+ DISTCLEANFILES = Doxyfile doxygen-warning
+
+@@ -84,29 +83,27 @@
+ $(RM) -rf latex; \
+ fi
+
+-# Install hooks
+-make-install-dirs:
+- @if test '!' -d $(DESTDIR)$(docdir) ; \
+- then mkdir -p $(DESTDIR)$(docdir) ; \
+- fi
+
+-install-data-hook: make-install-dirs
++install-data-hook:
+ @if test -d html; then \
+- echo Installing HTML documentation into $(DESTDIR)$(docdir) ; \
+- $(INSTALL_DATA) html/* $(DESTDIR)$(docdir) ; \
++ echo Installing HTML documentation into $(DESTDIR)$(htmldir) ; \
++ $(MKDIR_P) $(DESTDIR)$(htmldir) ; \
++ cp -r html/* $(DESTDIR)$(htmldir) ; \
+ fi
+ @if test -f $(PACKAGE).pdf; then \
+- echo Installing PDF manual into $(DESTDIR)$(docdir) ; \
+- $(INSTALL_DATA) $(PACKAGE).pdf $(DESTDIR)$(docdir) ; \
++ echo Installing PDF manual into $(DESTDIR)$(pdfdir) ; \
++ $(MKDIR_P) $(DESTDIR)$(pdfdir) ; \
++ $(INSTALL_DATA) $(PACKAGE).pdf $(DESTDIR)$(pdfdir) ; \
+ fi
+ @if test -f $(PACKAGE).ps; then \
+- echo Installing PS manual into $(DESTDIR)$(docdir) ; \
+- $(INSTALL_DATA) $(PACKAGE).ps $(DESTDIR)$(docdir) ; \
++ echo Installing PS manual into $(DESTDIR)$(psdir) ; \
++ $(MKDIR_P) $(DESTDIR)$(psdir) ; \
++ $(INSTALL_DATA) $(PACKAGE).ps $(DESTDIR)$(psdir) ; \
+ fi
+
+ uninstall-hook:
+ @echo Uninstalling doxygen documentation directory ; \
+- rm -rf "$(DESTDIR)$(docdir)";
++ rm -rf "$(DESTDIR)$(htmldir)" "$(DESTDIR)$(psdir)" "$(DESTDIR)$(pdfdir)" ;
+
+
+
+diff -Nur doc.orig/Makefile.am doc/Makefile.am
+--- doc.orig/Makefile.am 2012-05-11 13:11:13.000000000 -0700
++++ doc/Makefile.am 2012-08-13 13:54:04.490647132 -0700
+@@ -4,8 +4,6 @@
+
+ SUBDIRS = examples stencils doxygen
+
+-# docdir directory to install the doc (pdf ps html)
+-docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
+
+ DVIPS=export TEXPICTS=$(srcdir); dvips
+ AM_MAKEINFOFLAGS = --no-split -I$(srcdir)
+@@ -78,7 +76,7 @@
+ # Install also the images into the directory html
+ install-html-local:
+ test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
+- $(INSTALL_DATA) *.gif *.jpg $(DESTDIR)$(htmldir)
++ $(INSTALL_DATA) $(srcdir)/*.gif $(srcdir)/*.jpg $(DESTDIR)$(htmldir)
+
+ .PHONY: html
+
+@@ -86,7 +84,7 @@
+
+ # Install also the images into the directory containing the html files
+ install-html-local:
+- $(INSTALL_DATA) *.gif *.jpg blitz.html
++ $(INSTALL_DATA) $(srcdir)/*.gif $(srcdir)/*.jpg $(top_builddir)/doc/blitz.html
+
+ endif
+
diff --git a/dev-libs/blitz/files/blitz-0.10-gcc47.patch b/dev-libs/blitz/files/blitz-0.10-gcc47.patch
new file mode 100644
index 000000000000..d0b35665567b
--- /dev/null
+++ b/dev-libs/blitz/files/blitz-0.10-gcc47.patch
@@ -0,0 +1,33 @@
+diff -ur blitz-0.10/blitz/bzdebug.h blitz-0.10.new/blitz/bzdebug.h
+--- blitz-0.10/blitz/bzdebug.h 2012-05-11 22:11:13.000000000 +0200
++++ blitz-0.10.new/blitz/bzdebug.h 2012-06-28 15:42:38.060656045 +0200
+@@ -117,15 +117,15 @@
+ }
+ }
+
+- #define BZASSERT(X) checkAssert(X, __FILE__, __LINE__)
+- #define BZPRECONDITION(X) checkAssert(X, __FILE__, __LINE__)
+- #define BZPOSTCONDITION(X) checkAssert(X, __FILE__, __LINE__)
+- #define BZSTATECHECK(X,Y) checkAssert(X == Y, __FILE__, __LINE__)
++ #define BZASSERT(X) blitz::checkAssert(X, __FILE__, __LINE__)
++ #define BZPRECONDITION(X) blitz::checkAssert(X, __FILE__, __LINE__)
++ #define BZPOSTCONDITION(X) blitz::checkAssert(X, __FILE__, __LINE__)
++ #define BZSTATECHECK(X,Y) blitz::checkAssert(X == Y, __FILE__, __LINE__)
+ #define BZPRECHECK(X,Y) \
+ { \
+ if ((assertFailMode == false) && (!(X))) \
+ BZ_STD_SCOPE(cerr) << Y << BZ_STD_SCOPE(endl); \
+- checkAssert(X, __FILE__, __LINE__); \
++ blitz::checkAssert(X, __FILE__, __LINE__); \
+ }
+
+ #define BZ_DEBUG_MESSAGE(X) \
+@@ -138,7 +138,7 @@
+ }
+
+ #define BZ_DEBUG_PARAM(X) X
+- #define BZ_PRE_FAIL checkAssert(0)
++ #define BZ_PRE_FAIL blitz::checkAssert(0)
+ #define BZ_ASM_DEBUG_MARKER
+
+ #elif defined(BZ_DEBUG)
diff --git a/dev-libs/blitz/files/blitz-0.10-set-default-arg-value.patch b/dev-libs/blitz/files/blitz-0.10-set-default-arg-value.patch
new file mode 100644
index 000000000000..6d10b399a1af
--- /dev/null
+++ b/dev-libs/blitz/files/blitz-0.10-set-default-arg-value.patch
@@ -0,0 +1,107 @@
+Set default variable to allow both --enable-x/--disable-x and
+ --with-x/--without-x to work as expected.
+
+bicatali@gentoo.org 08/2012
+
+--- configure.ac.orig 2012-08-20 17:46:41.000000000 +0100
++++ configure.ac 2012-08-20 17:56:23.000000000 +0100
+@@ -37,7 +37,7 @@
+ # Option to disable Fortran (benchmarks will not compile)
+ AC_MSG_CHECKING([whether to enable Fortran compilation for benchmark codes])
+ AC_ARG_ENABLE(fortran,
+- AS_HELP_STRING([--enable-fortran],[Enable Fortran compilation]),,[
++ AS_HELP_STRING([--enable-fortran],[Enable Fortran compilation]),enable_fortran=$enableval,[
+ enable_fortran="yes"])
+ AC_MSG_RESULT([$enable_fortran])
+ AM_CONDITIONAL(FORTRAN_ENABLED, [test $enable_fortran = yes])
+@@ -96,7 +96,7 @@
+ # Option to enable thread-safety (requires thread support or OpenMP)
+ AC_MSG_CHECKING([whether to enable Blitz thread-safety features])
+ AC_ARG_ENABLE(threadsafe,
+- AS_HELP_STRING([--enable-threadsafe],[Enable thread-safety features]),,[
++ AS_HELP_STRING([--enable-threadsafe],[Enable thread-safety features]),enable_threadsafe=$enableval,[
+ enable_threadsafe="no"])
+ AC_MSG_RESULT([$enable_threadsafe])
+ if test "$enable_threadsafe" = yes; then
+@@ -106,17 +106,22 @@
+ AC_MSG_CHECKING([if we are using Intel Threading Building Blocks])
+ AC_ARG_WITH([tbb],
+ AS_HELP_STRING([--with-tbb],[Use Intel Threading Building Blocks atomic types]),
+- [
++ [if test x$withval != xno; then
+ AC_MSG_RESULT([yes])
+ AC_CHECK_HEADERS([tbb/atomic.h],,AC_MSG_ERROR([tbb/atomic.h not found]))
+ AC_DEFINE([THREADSAFE_USE_TBB],[1],[Use TBB atomic types])
++ else
++ AC_MSG_RESULT([no])
++ fi
+ ],AC_MSG_RESULT([no]))
+
+ AC_MSG_CHECKING([for SIMD instruction width])
+ AC_ARG_ENABLE([simd-width],
+ AS_HELP_STRING([--enable-simd-width=n],[Facilitate compiler vectorization optimizations for SIMD instruction width of n bytes.]),
+- [ AC_ALIGNMENT_DIRECTIVE
+- AC_DEFINE([USE_ALIGNMENT_PRAGMAS],[1],[Specifies whether compiler alignment pragmas should be used]) ],
++ [if test x$enableval != xno; then
++ AC_ALIGNMENT_DIRECTIVE
++ AC_DEFINE([USE_ALIGNMENT_PRAGMAS],[1],[Specifies whether compiler alignment pragmas should be used])
++ fi ],
+ [enable_simd_width=no]
+ )
+ AC_MSG_RESULT([$enable_simd_width])
+@@ -130,12 +135,15 @@
+ AC_MSG_CHECKING([whether to pad array lengths to SIMD instruction width])
+ AC_ARG_ENABLE([array-length-padding],
+ AS_HELP_STRING([--enable-array-length-padding],[Sets the default array padding policy to pad all lowest-rank lengths to nearest larger SIMD width. Caution: This means that arrays will in general be non-contiguous.]),
+- [
++ [if test x$enableval != xno; then
+ AC_MSG_RESULT([yes])
+ if test "$enable_simd_width" == [1] ; then
+ AC_MSG_WARN([This option is useless without a SIMD width >1.])
+ fi
+ AC_DEFINE([PAD_ARRAYS],1,[Pad array lengths to SIMD width.])
++ else
++ AC_MSG_RESULT([no])
++ fi
+ ],AC_MSG_RESULT([no]))
+
+ AC_MSG_CHECKING([whether to enable Blitz 64-bit dimensions])
+@@ -147,10 +155,14 @@
+ AC_MSG_CHECKING([whether to enable serialization support])
+ AC_ARG_ENABLE([serialization],
+ AS_HELP_STRING([--enable-serialization],[Enable serialization support using Boost::Serialization]), [
++ if test x$enableval != xno; then
+ AC_MSG_RESULT([yes])
+ AX_BOOST_BASE([1.40.0])
+ AX_BOOST_SERIALIZATION
+ AC_CHECK_HEADERS([boost/mpi.hpp])
++ else
++ AC_MSG_RESULT([no])
++ fi
+ ], AC_MSG_RESULT([no]))
+
+ # check for PAPI library
+diff -Nur m4.orig/ac_prog_doxygen.m4 m4/ac_prog_doxygen.m4
+--- m4.orig/ac_prog_doxygen.m4 2012-08-20 18:03:12.000000000 +0100
++++ m4/ac_prog_doxygen.m4 2012-08-20 18:00:46.000000000 +0100
+@@ -3,16 +3,16 @@
+ AC_DEFUN([AC_PROG_DOXYGEN],
+ [
+ AC_ARG_ENABLE(doxygen,
+-AS_HELP_STRING([--enable-doxygen],[enable documentation generation with doxygen (no)]),[],[enable_doxygen=no])
++AS_HELP_STRING([--enable-doxygen],[enable documentation generation with doxygen (no)]),[enable_doxygen=$enableval],[enable_doxygen=no])
+
+ AC_ARG_ENABLE(dot,
+-AS_HELP_STRING([--enable-dot],[use 'dot' to generate graphs in doxygen (no)]),[],[enable_dot=no])
++AS_HELP_STRING([--enable-dot],[use 'dot' to generate graphs in doxygen (no)]),[enable_dot=$enableval],[enable_dot=no])
+ AC_ARG_ENABLE(html-docs,
+ AS_HELP_STRING([--enable-html-docs],[enable HTML generation with doxygen (no)]),
+-[],[ enable_html_docs=no])
++[enable_html_docs=$enableval],[ enable_html_docs=no])
+ AC_ARG_ENABLE(latex-docs,
+ AS_HELP_STRING([--enable-latex-docs],
+-[enable LaTeX documentation generation with doxygen (no)]),[],[enable_latex_docs=no])
++[enable LaTeX documentation generation with doxygen (no)]),[enable_latex_docs=$enableval],[enable_latex_docs=no])
+
+ if test "x$enable_doxygen" = xno; then
+ enable_doc=no
diff --git a/dev-libs/blitz/metadata.xml b/dev-libs/blitz/metadata.xml
new file mode 100644
index 000000000000..bbedddcd0e73
--- /dev/null
+++ b/dev-libs/blitz/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cpp</herd>
+ <maintainer>
+ <email>bicatali@gentoo.org</email>
+ <description>feel free to fix/update</description>
+ </maintainer>
+ <longdescription lang="en">
+ Blitz++ is a meta-template library for array
+ manipulation in C++ with a speed comparable to Fortran
+ implementations, while preserving an object-oriented
+ interface. These results are being obtained not through better
+ optimizing compilers, preprocessors, or language extensions, but
+ through the use of template techniques. By using templates cleverly,
+ optimizations such as loop fusion, unrolling, tiling, and algorithm
+ specialization can be performed automatically at compile time.
+</longdescription>
+ <use>
+ <flag name="boost">Enable usage of boost::serialization</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">blitz</remote-id>
+ </upstream>
+</pkgmetadata>