aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2013-03-03 10:06:37 -0800
committerSébastien Fabbro <bicatali@gentoo.org>2013-03-03 10:06:37 -0800
commit11ac5238134448ebbc8e481660c405213328052f (patch)
tree6a9f061b1234d50c67bd7306760bb95d2ef34e7f /sci-libs/openlibm
parentsci-libs/amdlibm: Updated download page and prefix'ed (diff)
downloadsci-11ac5238134448ebbc8e481660c405213328052f.tar.gz
sci-11ac5238134448ebbc8e481660c405213328052f.tar.bz2
sci-11ac5238134448ebbc8e481660c405213328052f.zip
sci-libs/openlibm: Initial import
Package-Manager: portage-2.2.01.21688-prefix
Diffstat (limited to 'sci-libs/openlibm')
-rw-r--r--sci-libs/openlibm/ChangeLog10
-rw-r--r--sci-libs/openlibm/files/openlibm-respect-toolchain.patch32
-rw-r--r--sci-libs/openlibm/files/openlibm-soname.patch11
-rw-r--r--sci-libs/openlibm/metadata.xml18
-rw-r--r--sci-libs/openlibm/openlibm-9999.ebuild43
5 files changed, 114 insertions, 0 deletions
diff --git a/sci-libs/openlibm/ChangeLog b/sci-libs/openlibm/ChangeLog
new file mode 100644
index 000000000..801309400
--- /dev/null
+++ b/sci-libs/openlibm/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for sci-libs/openlibm
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*openlibm-9999 (03 Mar 2013)
+
+ 03 Mar 2013; Sébastien Fabbro <bicatali@gentoo.org>
+ +files/openlibm-respect-toolchain.patch, +files/openlibm-soname.patch,
+ +metadata.xml, +openlibm-9999.ebuild:
+ sci-libs/openlibm: Initial import
diff --git a/sci-libs/openlibm/files/openlibm-respect-toolchain.patch b/sci-libs/openlibm/files/openlibm-respect-toolchain.patch
new file mode 100644
index 000000000..65bfe210c
--- /dev/null
+++ b/sci-libs/openlibm/files/openlibm-respect-toolchain.patch
@@ -0,0 +1,32 @@
+--- Make.inc.orig 2013-03-03 09:36:52.508027474 -0800
++++ Make.inc 2013-03-03 09:51:50.846633962 -0800
+@@ -3,25 +3,16 @@
+ OS = $(shell uname)
+ ARCH = $(shell uname -m)
+
+-FC = gfortran
+-FFLAGS += -O3
++CFLAGS_add += -std=c99 -Wall -I$(OPENLIBM_HOME) -I$(OPENLIBM_HOME)/include -I$(OPENLIBM_HOME)/ld80 -I$(OPENLIBM_HOME)/$(ARCH) -I$(OPENLIBM_HOME)/src -DASSEMBLER -D__BSD_VISIBLE -Wno-implicit-function-declaration
+
+-USEGCC = 1
+-USECLANG = 0
+-
+-CFLAGS_add += -std=c99 -Wall -O3 -I$(OPENLIBM_HOME) -I$(OPENLIBM_HOME)/include -I$(OPENLIBM_HOME)/ld80 -I$(OPENLIBM_HOME)/$(ARCH) -I$(OPENLIBM_HOME)/src -DASSEMBLER -D__BSD_VISIBLE -Wno-implicit-function-declaration
+-
+-ifeq ($(USECLANG),1)
+-USEGCC = 0
+-CC = clang
++ifneq (,$(findstring clang,$(CC)))
+ CFLAGS_add += -fno-builtin
+ endif
+
+-ifeq ($(USEGCC),1)
+-CC = gcc
++ifneq (,$(findstring gcc,$(CC)))
+ CFLAGS_add += -fno-gnu89-inline
+ endif
+-AR = ar
++AR := ar
+
+ default: all
+
diff --git a/sci-libs/openlibm/files/openlibm-soname.patch b/sci-libs/openlibm/files/openlibm-soname.patch
new file mode 100644
index 000000000..b30caed48
--- /dev/null
+++ b/sci-libs/openlibm/files/openlibm-soname.patch
@@ -0,0 +1,11 @@
+--- Makefile.orig 2013-03-03 09:41:33.534481539 -0800
++++ Makefile 2013-03-03 10:00:21.008239835 -0800
+@@ -26,7 +26,7 @@
+ libopenlibm.a: $(OBJS)
+ $(AR) -rcs libopenlibm.a $(OBJS)
+ libopenlibm.$(SHLIB_EXT): $(OBJS)
+- $(FC) -shared $(OBJS) $(LDFLAGS) -o libopenlibm.$(SHLIB_EXT)
++ $(FC) -shared $(OBJS) $(LDFLAGS) -Wl,--soname=libopenlibm.$(SHLIB_EXT) -o libopenlibm.$(SHLIB_EXT)
+
+ distclean:
+ rm -f $(OBJS) *.a *.$(SHLIB_EXT)
diff --git a/sci-libs/openlibm/metadata.xml b/sci-libs/openlibm/metadata.xml
new file mode 100644
index 000000000..c42de1ecf
--- /dev/null
+++ b/sci-libs/openlibm/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sci</herd>
+<longdescription lang="en">
+ OpenLibm is an effort to have a high quality standalone LIBM
+ library. It is meant to be used standalone in applications and
+ programming language implementations.
+ OpenLibm also includes the AMOS library from Netlib, which is a
+ portable package for Bessel Functions of a Complex Argument and
+ Nonnegative Order. AMOS contains subroutines for computing Bessel
+ functions and Airy functions.
+ The OpenLIBM code derives from the FreeBSD msun implementation, which
+ in turn derives from FDLIBM 5.3. As a result, it has a number of fixes
+ and updates that have accumulated over the years in msun, and also
+ optimized assembly versions of many functions.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-libs/openlibm/openlibm-9999.ebuild b/sci-libs/openlibm/openlibm-9999.ebuild
new file mode 100644
index 000000000..59cfe2213
--- /dev/null
+++ b/sci-libs/openlibm/openlibm-9999.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+EGIT_REPO_URI="git://github.com/JuliaLang/openlibm.git"
+
+inherit git-2 eutils fortran-2
+
+DESCRIPTION="High quality system independent, open source libm"
+HOMEPAGE="http://julialang.org/"
+SRC_URI=""
+
+LICENSE="MIT freedist public-domain BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-respect-toolchain.patch \
+ "${FILESDIR}"/${PN}-soname.patch
+}
+
+src_compile() {
+ emake libopenlibm.so
+ use static-libs && emake libopenlibm.a
+}
+
+src_test() {
+ emake
+}
+
+src_install() {
+ dolib.so libopenlibm.so
+ use static-libs && dolib.a libopenlibm.a
+ doheader include/{cdefs,types}-compat.h src/openlibm.h
+ dodoc README.md
+}