summaryrefslogtreecommitdiff
path: root/dev-libs/openspecfun
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/openspecfun')
-rw-r--r--dev-libs/openspecfun/Manifest3
-rw-r--r--dev-libs/openspecfun/files/openspecfun-0.5.5-Makefile.patch68
-rw-r--r--dev-libs/openspecfun/openspecfun-0.5.5.ebuild41
3 files changed, 112 insertions, 0 deletions
diff --git a/dev-libs/openspecfun/Manifest b/dev-libs/openspecfun/Manifest
index 7976d0a83a3a..306725b3b6fc 100644
--- a/dev-libs/openspecfun/Manifest
+++ b/dev-libs/openspecfun/Manifest
@@ -1,4 +1,7 @@
AUX openspecfun-0.5.3-Makefile.patch 1754 BLAKE2B 7e116594fd8f64f3d3aa1938963bc51518cd774f5640e44d03382cb73b942d545dcd4312c60aae7c6c72fca078beb1b05cff3c79dfdfd40f4f63715d0e380a55 SHA512 e57585f8274706171049c58b7b943072cf3e9e22a12973bdb021232e8e8789a02a78e62c2d814201914d8d3deb5bf57f583ffa842f7f6ae2a7f5bcc40b87036d
+AUX openspecfun-0.5.5-Makefile.patch 1802 BLAKE2B 9e1174fb6663d394dcd7bf4cc400d673bf508d66f8157e85d34047502f81ac10cdc100797bf7a18270e6413bc10e6b90eb3aab42b6e864850d29a0f59f1699bd SHA512 4a9996b2ec5a8c59c0929cfb367d6cc5f7a084f0ab611643847742c8e4602b62c00286f9df5697c155e8db252e0d5f9f24fb9c3bb1bd6c00889f7b26f1fdb644
DIST openspecfun-0.5.3.tar.gz 121156 BLAKE2B 4b1d883634524db9a5c1d5c2e291667264f3bc15c2b6cd1c335ef7a4748668091255c4940c54cea27ab0fd301e7c08156825bcdecfef71802b7d571d74af021e SHA512 503da7592b126cce9ecb8af5ce16c667a9b022676721063e5f551fb88c0955f465ed66df7728ed2391f068ea14b77414bfd9934c0ee38081d11b998826d6b88a
+DIST openspecfun-0.5.5.tar.gz 121025 BLAKE2B 72d92a676c90f24378f9902f76d59df47a403810b56d9a90bd39d6348082d34be59223b0f6b9ad00cd1ebdeb03001b31141134088d8e8164cf9a9c4fad239c78 SHA512 429c0ce47c3a3a044266fee0e285bd4e53e7433c83bf02b03fc4526b8d0e415295143693642a34cdf1c6b59aa86e76fd76c51ffc9440d0ba655c16a8a24a2a1b
EBUILD openspecfun-0.5.3.ebuild 846 BLAKE2B 8a4e82c5387f30b2207808473812ca9e16353a812fa2ad81a508d9a74d2306f5724ad24f3dec1e3ddd4181252f016937d7aada30fef6c46fb14c2ca6fc7061fb SHA512 1d39fad14ca2b13b56f1e5cec714720001baf66bc80b42cdbd41368e7290d897921afaf2f3abe9900099ae104270a978e284640abc299e075c62825d920b78f2
+EBUILD openspecfun-0.5.5.ebuild 846 BLAKE2B 8eafc016f64266250803e9ceab2b43c24d0730154dacb21061b88ae5bc26ee83982de41ca948428bd31a5d0f12310a7ca0208e7a159f3d9c6a5f135b589a910f SHA512 a27880fe0ace469d45153304f46414e17871dbb13b00df6a4b4dbf59effc8b71b5e2faf969d694bbda14b9286ea4ed29977e230692611fc92c38ae017decce48
MISC metadata.xml 464 BLAKE2B 5fe304df52f66ccc4bb5c7a123c9f49e9e43c33201c073334fd2e3a43410f066f4e071009c570482acb118a4183ad60195ef92dae426a98621f8c12306284902 SHA512 36c099b5a0d2ee685fc7acbea16b9d9809e5705d08befc530cf6514f704cc16437089f1f6f48e7c64ece4ed7939cf1a31775dfd71ae72da0e33e1733cfc92d38
diff --git a/dev-libs/openspecfun/files/openspecfun-0.5.5-Makefile.patch b/dev-libs/openspecfun/files/openspecfun-0.5.5-Makefile.patch
new file mode 100644
index 000000000000..3544d8197a2e
--- /dev/null
+++ b/dev-libs/openspecfun/files/openspecfun-0.5.5-Makefile.patch
@@ -0,0 +1,68 @@
+--- a/Make.inc
++++ b/Make.inc
+@@ -14,41 +14,18 @@ bindir = $(prefix)/bin
+ libdir = $(prefix)/lib
+ includedir = $(prefix)/include
+
+-FC = gfortran
+ # CFLAGS_add and FFLAGS_add are flags that we always want to include
+ # They are not overridable by the user, whereas CFLAGS and FFLAGS are
+ # simply defaults and are overridable via environment variables or
+ # `make CFLAGS="foo"` on the command line
+
+-FFLAGS = -O3 -fno-optimize-sibling-calls
+-CFLAGS = -std=c99 -O3
+-CPPFLAGS =
++CFLAGS += -std=c99 -Wall
+
+ override FFLAGS_add =
+ override CFLAGS_add =
+ override CPPFLAGS_add =
+ override LDFLAGS_add =
+
+-USEGCC = 1
+-USECLANG = 0
+-
+-ifneq (,$(findstring $(OS),FreeBSD Darwin))
+-USEGCC = 0
+-USECLANG = 1
+-endif
+-
+-AR = ar
+-
+-ifeq ($(USECLANG),1)
+-USEGCC = 0
+-CC = clang
+-override CFLAGS_add += -fno-builtin
+-endif
+-
+-ifeq ($(USEGCC),1)
+-CC = gcc
+-override CFLAGS_add += -fno-gnu89-inline -std=c99
+-endif
+
+ ARCH := $(shell $(CC) -dumpmachine | sed "s/\([^-]*\).*$$/\1/")
+ ifeq ($(ARCH),mingw32)
+diff --git a/Makefile b/Makefile
+index 7b028b8..c30ed98 100644
+--- a/Makefile
++++ b/Makefile
+@@ -35,9 +35,7 @@ OSF_MAJOR_SHLIB_EXT := $(SHLIB_EXT).$(SOMAJOR)
+ endif
+ endif
+
+-all: libopenspecfun.a libopenspecfun.$(OSF_MAJOR_MINOR_SHLIB_EXT)
+-libopenspecfun.a: $(OBJS)
+- $(AR) -rcs libopenspecfun.a $(OBJS)
++all: libopenspecfun.$(OSF_MAJOR_MINOR_SHLIB_EXT)
+ libopenspecfun.$(OSF_MAJOR_MINOR_SHLIB_EXT): $(OBJS)
+ $(FC) -shared $(OBJS) $(LDFLAGS) $(LDFLAGS_add) -Wl,$(SONAME_FLAG),libopenspecfun.$(OSF_MAJOR_SHLIB_EXT) -o $@
+ ifneq ($(OS),WINNT)
+@@ -50,7 +48,6 @@ install: all
+ mkdir -p $(DESTDIR)$(libdir)
+ mkdir -p $(DESTDIR)$(includedir)
+ cp -a libopenspecfun.*$(SHLIB_EXT)* $(DESTDIR)$(shlibdir)/
+- cp -a libopenspecfun.a $(DESTDIR)$(libdir)/
+ cp -a Faddeeva/Faddeeva.h $(DESTDIR)$(includedir)
+
+ clean:
diff --git a/dev-libs/openspecfun/openspecfun-0.5.5.ebuild b/dev-libs/openspecfun/openspecfun-0.5.5.ebuild
new file mode 100644
index 000000000000..da7263c522f8
--- /dev/null
+++ b/dev-libs/openspecfun/openspecfun-0.5.5.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fortran-2 toolchain-funcs
+
+DESCRIPTION="A collection of special mathematical functions"
+HOMEPAGE="https://julialang.org"
+SRC_URI="https://github.com/JuliaLang/openspecfun/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="sci-libs/openlibm:="
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-Makefile.patch )
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ prefix="${EPREFIX}"/usr \
+ libdir="${EPREFIX}"/usr/$(get_libdir) \
+ USE_OPENLIBM=1
+}
+
+src_install() {
+ emake \
+ prefix="${EPREFIX}"/usr \
+ libdir="${EPREFIX}"/usr/$(get_libdir) \
+ DESTDIR="${D}" \
+ install
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}