summaryrefslogtreecommitdiff
path: root/sci-libs/libcore
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-libs/libcore
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-libs/libcore')
-rw-r--r--sci-libs/libcore/Manifest2
-rw-r--r--sci-libs/libcore/files/2.1.1-makefiles.patch115
-rw-r--r--sci-libs/libcore/files/libcore-1.7.patch96
-rw-r--r--sci-libs/libcore/files/libcore-2.0.8-makefiles.patch97
-rw-r--r--sci-libs/libcore/libcore-2.1.1-r1.ebuild75
-rw-r--r--sci-libs/libcore/metadata.xml14
6 files changed, 399 insertions, 0 deletions
diff --git a/sci-libs/libcore/Manifest b/sci-libs/libcore/Manifest
new file mode 100644
index 00000000000..9c1077d1f26
--- /dev/null
+++ b/sci-libs/libcore/Manifest
@@ -0,0 +1,2 @@
+DIST core-2.1.1.tgz 2759163 SHA256 61b2086563d43f3546ec6de2ddd25ccc0c950c2f0c5f5f13448adf26e3143cbe SHA512 e56e184b8efaee82b737e3947f2934b71983cbf905f05005171d3d5670f326597ff7d25767c00ec18a470eb7306f14b813edf9548869d84054830565c044f6fb WHIRLPOOL 18f28c00fe285c2496f7ac6724179e2f1eb47ba725fc3c8c623aab860b5aca1e611608612649441260323927663f1ee90357800985391e2a896ce7dc5b63dd74
+DIST core-2.1.doc.tgz 657871 SHA256 e2297a2efd2b9b090aac51343a11c38d3b76bfd69784a5152504cea7068d0c9a
diff --git a/sci-libs/libcore/files/2.1.1-makefiles.patch b/sci-libs/libcore/files/2.1.1-makefiles.patch
new file mode 100644
index 00000000000..09a8f5be2f3
--- /dev/null
+++ b/sci-libs/libcore/files/2.1.1-makefiles.patch
@@ -0,0 +1,115 @@
+diff -Nur core-2.1.1.orig/ext/Makefile core-2.1.1/ext/Makefile
+--- core-2.1.1.orig/ext/Makefile 2011-08-06 22:53:29.000000000 +0100
++++ core-2.1.1/ext/Makefile 2011-08-07 00:40:58.000000000 +0100
+@@ -38,16 +38,18 @@
+ endif
+ endif
+
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/gmp/include \
+- -I${CORE_PATH}/mpfr/include
++INCLUDE=-I${CORE_PATH}/inc
+
+
+ COREX_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.a
+ COREX_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.a
+ COREX_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.a
+-COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.${CORE_DYLIB_EXTENSION}
+-COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.${CORE_DYLIB_EXTENSION}
+-COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.${CORE_DYLIB_EXTENSION}
++COREX_SHARED_LIB_LEVEL3_NAME=libcorex++$(VAR)_level3.${CORE_DYLIB_EXTENSION}.2
++COREX_SHARED_LIB_LEVEL2_NAME=libcorex++$(VAR)_level2.${CORE_DYLIB_EXTENSION}.2
++COREX_SHARED_LIB_LEVEL1_NAME=libcorex++$(VAR)_level1.${CORE_DYLIB_EXTENSION}.2
++COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL3_NAME)
++COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL2_NAME)
++COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL1_NAME)
+
+ TARGET=${COREX_LIB_LEVEL3} ${COREX_LIB_LEVEL2} ${COREX_LIB_LEVEL1}
+
+@@ -74,11 +76,11 @@
+ -@rm -rf $@
+ $(AR) $@ $?
+
+-COREX_SHARED_DEPS=-L${GMP_PREFIX}/lib -lgmp -L${MPFR_PREFIX}/lib -lmpfr -L${CORE_PATH}/lib -lcore++${VAR}
++COREX_SHARED_DEPS= -lgmp -lmpfr -L${CORE_PATH}/lib -lcore++${VAR}
+
+ ${COREX_SHARED_LIB_LEVEL3}: ${L3_OBJS}
+ -@rm -rf $@
+- $(CXX) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL3_NAME) -o $@ $?
+
+ ${COREX_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+@@ -86,7 +88,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+- $(CXX) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL2_NAME) -o $@ $?
+
+ ${COREX_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+@@ -94,7 +96,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+- $(CXX) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(COREX_SHARED_DEPS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL1_NAME) -o $@ $?
+
+ %_level3.o: %.cpp
+ ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=3 $(INCLUDE) -c $< -o $@
+diff -Nur core-2.1.1.orig/progs/Make.options core-2.1.1/progs/Make.options
+--- core-2.1.1.orig/progs/Make.options 2011-08-06 22:53:29.000000000 +0100
++++ core-2.1.1/progs/Make.options 2011-08-06 23:31:01.000000000 +0100
+@@ -11,10 +11,8 @@
+
+ include $(CORE_PATH)/Make.config
+
+-CORE_INC=-I. -I$(CORE_PATH)/inc -I$(CORE_PATH)/mpfr/include \
+- -I$(CORE_PATH)/gmp/include
+-CORE_LIB=-L$(CORE_PATH)/lib -L$(CORE_PATH)/mpfr/lib -L$(CORE_PATH)/gmp/lib \
+- -lcore++$(VAR) -lmpfr -lgmp
++CORE_INC=-I. -I$(CORE_PATH)/inc
++CORE_LIB=-L$(CORE_PATH)/lib -lcore++$(VAR) -lmpfr -lgmp
+
+ COREX_LIB_LEVEL=-lcoreex++$(VAR)_level
+
+diff -Nur core-2.1.1.orig/src/Makefile core-2.1.1/src/Makefile
+--- core-2.1.1.orig/src/Makefile 2011-08-06 22:53:29.000000000 +0100
++++ core-2.1.1/src/Makefile 2011-08-07 00:24:38.000000000 +0100
+@@ -23,7 +23,7 @@
+ endif
+ endif
+
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/mpfr/include -I${CORE_PATH}/gmp/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ # VAR indicates variants of the Core library
+ # E.g., if VAR=(empty) then we compile the release version.
+@@ -44,7 +44,8 @@
+
+ # The following library will be built:
+ CORE_LIB=$(CORE_PATH)/lib/libcore++${VAR}.a
+-CORE_SHARED_LIB=$(CORE_PATH)/lib/libcore++${VAR}.${CORE_DYLIB_EXTENSION}
++CORE_SHARED_LIB_NAME=libcore++${VAR}.${CORE_DYLIB_EXTENSION}.2
++CORE_SHARED_LIB=$(CORE_PATH)/lib/$(CORE_SHARED_LIB_NAME)
+
+ TARGET=$(CORE_LIB)
+
+@@ -52,7 +53,7 @@
+ TARGET+=$(CORE_SHARED_LIB)
+ endif
+
+-DEPS=-L${GMP_PREFIX}/lib -L${MPFR_PREFIX}/lib -lgmp -lmpfr
++DEPS=-lgmp -lmpfr
+
+ # =============================================================
+ # RULES ======================================================
+@@ -64,7 +65,7 @@
+ $(AR) $@ $^
+
+ ${CORE_SHARED_LIB}: $(EXPROBJS)
+- $(CXX) $(DEPS) $(CORE_LDFLAGS) -o $@ $^
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(CORE_SHARED_LIB_NAME) $(DEPS) -o $@ $^ $(LIBS)
+
+ %${VAR}.o: %.cpp
+ ${CXX} $(CORE_CXXFLAGS) $(INCLUDE) -c $< -o $@
diff --git a/sci-libs/libcore/files/libcore-1.7.patch b/sci-libs/libcore/files/libcore-1.7.patch
new file mode 100644
index 00000000000..dcc2c77ac45
--- /dev/null
+++ b/sci-libs/libcore/files/libcore-1.7.patch
@@ -0,0 +1,96 @@
+--- src/Makefile 2004-11-11 19:10:53.000000000 +0100
++++ src/Makefile 2006-10-12 20:25:40.000000000 +0200
+@@ -7,7 +7,7 @@
+
+ CORE_PATH=..
+
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/gmp/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ # VAR indicates variants of the Core library
+ # E.g., if VAR=(empty) then we compile the release version.
+@@ -31,7 +31,8 @@
+
+ # The following library will be built:
+ CORE_LIB=$(CORE_PATH)/lib/libcore++${VAR}.a
+-CORE_SHARED_LIB=$(CORE_PATH)/lib/libcore++${VAR}.so
++CORE_SHARED_LIB_NAME=libcore++${VAR}.so
++CORE_SHARED_LIB=$(CORE_PATH)/lib/$(CORE_SHARED_LIB_NAME)
+
+ TARGET=$(CORE_LIB)
+
+@@ -49,7 +50,7 @@
+ $(AR) $@ $?
+
+ ${CORE_SHARED_LIB}: $(EXPROBJS)
+- $(CXX) $(CORE_LDFLAGS) -o $@ $^
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(CORE_SHARED_LIB_NAME).1 -o $@ $^
+
+ %${VAR}.o: %.cpp
+ # Aug 8, 2004 by Chee (TEMP CHANGE! FOR DEBUGGING)
+--- ext/Makefile 2004-11-11 19:10:55.000000000 +0100
++++ ext/Makefile 2006-10-12 20:26:00.000000000 +0200
+@@ -13,7 +13,7 @@
+ # =============================================================
+
+ CORE_PATH=..
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/gmp/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ MODULES := linearAlgebra geometry2d geometry3d
+
+@@ -29,9 +29,12 @@
+ COREX_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.a
+ COREX_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.a
+ COREX_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.a
+-COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.so
+-COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.so
+-COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.so
++COREX_SHARED_LIB_LEVEL3_NAME=libcorex++$(VAR)_level3.so
++COREX_SHARED_LIB_LEVEL2_NAME=libcorex++$(VAR)_level2.so
++COREX_SHARED_LIB_LEVEL1_NAME=libcorex++$(VAR)_level1.so
++COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL3_NAME)
++COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL2_NAME)
++COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL1_NAME)
+
+ TARGET=${COREX_LIB_LEVEL3} ${COREX_LIB_LEVEL2} ${COREX_LIB_LEVEL1}
+
+@@ -59,7 +62,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL3}: ${L3_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL3_NAME).1 -o $@ $?
+
+ ${COREX_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+@@ -67,7 +70,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL2_NAME).1 -o $@ $?
+
+ ${COREX_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+@@ -75,16 +78,16 @@
+
+ ${COREX_SHARED_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL1_NAME).1 -o $@ $?
+
+ %_level3.o: %.cpp
+- ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=3 $(INCLUDE) -c $< -o $@
++ ${CXX} -ffriend-injection -fpermissive $(CORE_CXXFLAGS) -DCORE_LEVEL=3 $(INCLUDE) -c $< -o $@
+
+ %_level2.o: %.cpp
+- ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=2 $(INCLUDE) -c $< -o $@
++ ${CXX} -ffriend-injection -fpermissive $(CORE_CXXFLAGS) -DCORE_LEVEL=2 $(INCLUDE) -c $< -o $@
+
+ %_level1.o: %.cpp
+- ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=1 $(INCLUDE) -c $< -o $@
++ ${CXX} -ffriend-injection -fpermissive $(CORE_CXXFLAGS) -DCORE_LEVEL=1 $(INCLUDE) -c $< -o $@
+
+ clean:
+ -@test -z "*.o" || rm -f *.o
diff --git a/sci-libs/libcore/files/libcore-2.0.8-makefiles.patch b/sci-libs/libcore/files/libcore-2.0.8-makefiles.patch
new file mode 100644
index 00000000000..6980332837f
--- /dev/null
+++ b/sci-libs/libcore/files/libcore-2.0.8-makefiles.patch
@@ -0,0 +1,97 @@
+--- src/Makefile.orig 2009-08-12 22:52:51.000000000 +0100
++++ src/Makefile 2009-08-12 23:38:51.000000000 +0100
+@@ -7,7 +7,7 @@
+
+ CORE_PATH=..
+
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/mpfr/include -I${CORE_PATH}/gmp/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ # VAR indicates variants of the Core library
+ # E.g., if VAR=(empty) then we compile the release version.
+@@ -37,12 +37,13 @@
+
+ # The following library will be built:
+ CORE_LIB=$(CORE_PATH)/lib/libcore++${VAR}.a
+-CORE_SHARED_LIB=$(CORE_PATH)/lib/libcore++${VAR}.so
++CORE_SHARED_LIB_NAME=libcore++${VAR}.so.2.0.0
++CORE_SHARED_LIB=$(CORE_PATH)/lib/$(CORE_SHARED_LIB_NAME)
+
+ TARGET=$(CORE_LIB)
+
+ ifeq (${LINKAGE}, shared)
+- TARGET+=$(CORE_SHARED_LIB)
++ TARGET=$(CORE_SHARED_LIB)
+ endif
+
+ # =============================================================
+@@ -55,7 +56,7 @@
+ $(AR) $@ $^
+
+ ${CORE_SHARED_LIB}: $(EXPROBJS)
+- $(CXX) $(CORE_LDFLAGS) -o $@ $^
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(CORE_SHARED_LIB_NAME).2.0.0 -o $@ $^ $(LIBS)
+
+ %${VAR}.o: %.cpp
+ ${CXX} $(CORE_CXXFLAGS) $(INCLUDE) -c $< -o $@
+--- ext/Makefile.orig 2009-08-12 22:54:55.000000000 +0100
++++ ext/Makefile 2009-08-12 23:39:19.000000000 +0100
+@@ -13,8 +13,7 @@
+ # =============================================================
+
+ CORE_PATH=..
+-INCLUDE=-I${CORE_PATH}/inc -I${CORE_PATH}/gmp/include \
+- -I${CORE_PATH}/mpfr/include
++INCLUDE=-I${CORE_PATH}/inc
+
+ MODULES := linearAlgebra geometry2d geometry3d
+
+@@ -30,14 +29,17 @@
+ COREX_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.a
+ COREX_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.a
+ COREX_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.a
+-COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/libcorex++$(VAR)_level3.so
+-COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/libcorex++$(VAR)_level2.so
+-COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/libcorex++$(VAR)_level1.so
++COREX_SHARED_LIB_LEVEL3_NAME=libcorex++$(VAR)_level3.so.2.0.0
++COREX_SHARED_LIB_LEVEL2_NAME=libcorex++$(VAR)_level2.so.2.0.0
++COREX_SHARED_LIB_LEVEL1_NAME=libcorex++$(VAR)_level1.so.2.0.0
++COREX_SHARED_LIB_LEVEL3=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL3_NAME)
++COREX_SHARED_LIB_LEVEL2=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL2_NAME)
++COREX_SHARED_LIB_LEVEL1=${CORE_PATH}/lib/$(COREX_SHARED_LIB_LEVEL1_NAME)
+
+ TARGET=${COREX_LIB_LEVEL3} ${COREX_LIB_LEVEL2} ${COREX_LIB_LEVEL1}
+
+ ifeq (${LINKAGE}, shared)
+- TARGET += $(COREX_SHARED_LIB_LEVEL3) $(COREX_SHARED_LIB_LEVEL2) \
++ TARGET = $(COREX_SHARED_LIB_LEVEL3) $(COREX_SHARED_LIB_LEVEL2) \
+ $(COREX_SHARED_LIB_LEVEL1)
+ endif
+
+@@ -60,7 +62,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL3}: ${L3_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL3_NAME).2.0.0 -o $@ $?
+
+ ${COREX_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+@@ -68,7 +70,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL2}: ${L2_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL2_NAME).2.0.0 -o $@ $?
+
+ ${COREX_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+@@ -76,7 +78,7 @@
+
+ ${COREX_SHARED_LIB_LEVEL1}: ${L1_OBJS}
+ -@rm -rf $@
+- $(CXX) $(CORE_LDFLAGS) -o $@ $?
++ $(CXX) $(LDFLAGS) $(CORE_LDFLAGS) -Wl,-soname,$(COREX_SHARED_LIB_LEVEL1_NAME).2.0.0 -o $@ $?
+
+ %_level3.o: %.cpp
+ ${CXX} $(CORE_CXXFLAGS) -DCORE_LEVEL=3 $(INCLUDE) -c $< -o $@
diff --git a/sci-libs/libcore/libcore-2.1.1-r1.ebuild b/sci-libs/libcore/libcore-2.1.1-r1.ebuild
new file mode 100644
index 00000000000..cfa65e34e63
--- /dev/null
+++ b/sci-libs/libcore/libcore-2.1.1-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils toolchain-funcs versionator
+
+MYPN=core
+DOCPV="$(get_version_component_range 1-2)"
+
+DESCRIPTION="Robust numerical and geometric computation library"
+HOMEPAGE="http://www.cs.nyu.edu/exact/core_pages/"
+SRC_URI="http://cs.nyu.edu/exact/core/download/${MYPN}/${MYPN}-${PV}.tgz
+ doc? ( http://cs.nyu.edu/exact/core/download/${MYPN}/${MYPN}-${DOCPV}.doc.tgz )"
+
+LICENSE="QPL-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-libs/mpfr
+ dev-libs/gmp
+ doc? ( app-doc/doxygen[latex] )"
+
+S="${WORKDIR}/${MYPN}-${PV}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-makefiles.patch
+ sed -i \
+ -e "s/-O2/${CXXFLAGS}/g" \
+ -e "s/-shared/-shared ${LDFLAGS}/g" \
+ Make.config || die
+ sed -i -e 's/-lgmp/-lgmp -lgmpxx/g' progs/Make.options || die
+ # missing input file in gaussian test and buggy test in tutorial
+ sed -i -e '/gaussian/d' -e '/tutorial/d' progs/Makefile || die
+}
+
+src_compile(){
+ emake VAR= LINKAGE=shared corelib corex USE_GMPXX=1
+ rm -f src/*.o ext/*.o
+ use static-libs && emake VAR="" corelib corex USE_GMPXX=1
+ if use doc; then
+ cd "${S}/doc"
+ export VARTEXFONTS="${T}/fonts"
+ emake -j1 all
+ emake -j1 -C doxy/latex pdf
+ fi
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}/lib" emake \
+ VAR= GMP_PREFIX= MPFR_PREFIX= test
+}
+
+src_install(){
+ dolib.so lib/*.so*
+ for i in $(find "${ED}/usr/$(get_libdir)" -name "*so" | sed "s:${ED}::g"); do
+ dosym $i.2 $i
+ done
+ use static-libs && dolib.a lib/*.a
+
+ insinto /usr/include
+ doins inc/CORE.h
+ insinto /usr/include/CORE
+ doins inc/CORE/*.h
+
+ dodoc FAQs README
+ if use doc; then
+ dodoc doc/*.txt
+ dodoc doc/tutorial/tutorial.pdf doc/doxy/latex/*pdf
+ dohtml -r doc/doxy/html/*
+ fi
+}
diff --git a/sci-libs/libcore/metadata.xml b/sci-libs/libcore/metadata.xml
new file mode 100644
index 00000000000..316dc3d398c
--- /dev/null
+++ b/sci-libs/libcore/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci-geosciences</herd>
+<longdescription lang='en'>
+ The Core Library is a collection of C/C++ classes for exact
+ computation with real algebraic numbers.
+ It embodies our precision-driven approach and is
+ useful for robust numerical (especially geometric) algorithms.
+ The library supports the Exact Geometric Computation (EGC)
+ philosophy through its novel and easy-to-use notion of accuracy
+ levels.
+</longdescription>
+</pkgmetadata>