diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-libs/libf2c | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
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 'dev-libs/libf2c')
-rw-r--r-- | dev-libs/libf2c/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/libf2c/files/20051004-add-ofiles-dep.patch | 14 | ||||
-rw-r--r-- | dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch | 11 | ||||
-rw-r--r-- | dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch | 57 | ||||
-rw-r--r-- | dev-libs/libf2c/files/libf2c-20110801-format-security.patch | 11 | ||||
-rw-r--r-- | dev-libs/libf2c/files/libf2c-20110801-main.patch | 40 | ||||
-rw-r--r-- | dev-libs/libf2c/libf2c-20110801-r4.ebuild | 58 | ||||
-rw-r--r-- | dev-libs/libf2c/metadata.xml | 8 |
8 files changed, 200 insertions, 0 deletions
diff --git a/dev-libs/libf2c/Manifest b/dev-libs/libf2c/Manifest new file mode 100644 index 000000000000..a9c14b85c08e --- /dev/null +++ b/dev-libs/libf2c/Manifest @@ -0,0 +1 @@ +DIST libf2c-20110801.zip 128845 SHA256 f13c01421e9668dc86c78159d87c2f802dd1f8e62037834285c7ab77200d97d5 SHA512 7a7b7b02ca2b11456aa0deba5094aebc1e9f7070d1742ad76450ec79de7eed967fbd7446524b66c52295ed911471d2dc396d171569b5d37079bdca8220fd2fb6 WHIRLPOOL 7bc8fa6c016dbb860863b39939f27f99156de017a2847764698bc0b5bbf21ff183e783991d6c5200ddba1b636e9a8bb93d560c00344db94b4e9a7b254abdafde diff --git a/dev-libs/libf2c/files/20051004-add-ofiles-dep.patch b/dev-libs/libf2c/files/20051004-add-ofiles-dep.patch new file mode 100644 index 000000000000..509726820ae5 --- /dev/null +++ b/dev-libs/libf2c/files/20051004-add-ofiles-dep.patch @@ -0,0 +1,14 @@ +diff -urN libf2c.orig/makefile.u libf2c/makefile.u +--- libf2c.orig/makefile.u 2006-05-13 15:41:29.000000000 -0700 ++++ libf2c/makefile.u 2006-05-13 15:42:04.000000000 -0700 +@@ -69,7 +69,9 @@ + OFILES = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \ + $(HALF) $(CMP) $(EFL) $(CHAR) $(I77) $(TIME) + +-all: f2c.h signal1.h sysdep1.h libf2c.a ++all: libf2c.a ++ ++$(OFILES): f2c.h signal1.h sysdep1.h + + libf2c.a: $(OFILES) + ar r libf2c.a $? diff --git a/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch b/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch new file mode 100644 index 000000000000..d35e60bed0ff --- /dev/null +++ b/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch @@ -0,0 +1,11 @@ +--- makefile.u.orig 2008-07-07 23:27:41.000000000 -0700 ++++ makefile.u 2008-07-07 23:28:39.000000000 -0700 +@@ -82,7 +82,7 @@ + ## of "cc -shared". + + libf2c.so: $(OFILES) +- $(CC) -shared -o libf2c.so $(OFILES) ++ $(CC) -shared $(LDFLAGS) -Wl,-soname,libf2c.so.2 $(OFILES) -o libf2c.so.2 -lm + + ### If your system lacks ranlib, you don't need it; see README. + diff --git a/dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch b/dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch new file mode 100644 index 000000000000..85687c5a4208 --- /dev/null +++ b/dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch @@ -0,0 +1,57 @@ +--- libf2c2-20090411.orig/f2c.h0 ++++ libf2c2-20090411/f2c.h0 +@@ -7,21 +7,35 @@ + #ifndef F2C_INCLUDE + #define F2C_INCLUDE + ++#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__) ++typedef int integer; ++typedef unsigned int uinteger; ++#else + typedef long int integer; + typedef unsigned long int uinteger; ++#endif + typedef char *address; + typedef short int shortint; + typedef float real; + typedef double doublereal; + typedef struct { real r, i; } complex; + typedef struct { doublereal r, i; } doublecomplex; ++#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__) ++typedef int logical; ++#else + typedef long int logical; ++#endif + typedef short int shortlogical; + typedef char logical1; + typedef char integer1; + #ifdef INTEGER_STAR_8 /* Adjust for integer*8. */ +-typedef long long longint; /* system-dependent */ +-typedef unsigned long long ulongint; /* system-dependent */ ++#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__) ++typedef long longint; /* system-dependent */ ++typedef unsigned long ulongint; /* system-dependent */ ++#else ++typedef long long longint; /* system-dependent - oh yeah*/ ++typedef unsigned long long ulongint; /* system-dependent - oh yeah*/ ++#endif + #define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b))) + #define qbit_set(a,b) ((a) | ((ulongint)1 << (b))) + #endif +@@ -42,10 +56,16 @@ + typedef short ftnlen; + typedef short ftnint; + #else ++#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__) ++typedef int flag; ++typedef int ftnlen; ++typedef int ftnint; ++#else + typedef long int flag; + typedef long int ftnlen; + typedef long int ftnint; + #endif ++#endif + + /*external read, write*/ + typedef struct diff --git a/dev-libs/libf2c/files/libf2c-20110801-format-security.patch b/dev-libs/libf2c/files/libf2c-20110801-format-security.patch new file mode 100644 index 000000000000..669da2d694b4 --- /dev/null +++ b/dev-libs/libf2c/files/libf2c-20110801-format-security.patch @@ -0,0 +1,11 @@ +--- arithchk.c ++++ arithchk.c +@@ -122,7 +122,7 @@ + long Cray1; + + /* Cray1 = 4617762693716115456 -- without overflow on non-Crays */ +- Cray1 = printf(emptyfmt) < 0 ? 0 : 4617762; ++ Cray1 = fputs(emptyfmt, stdout) < 0 ? 0 : 4617762; + if (printf(emptyfmt, Cray1) >= 0) + Cray1 = 1000000*Cray1 + 693716; + if (printf(emptyfmt, Cray1) >= 0) diff --git a/dev-libs/libf2c/files/libf2c-20110801-main.patch b/dev-libs/libf2c/files/libf2c-20110801-main.patch new file mode 100644 index 000000000000..36d61c5c5a4c --- /dev/null +++ b/dev-libs/libf2c/files/libf2c-20110801-main.patch @@ -0,0 +1,40 @@ +Add weak alias for MAIN__ + +https://bugs.gentoo.org/show_bug.cgi?id=421975 +https://bugs.gentoo.org/show_bug.cgi?id=433782 +https://groups.google.com/forum/#!msg/comp.os.linux.development.apps/41siJKfcJ78/iIcRfZ4y9G8J + +Patch written by Chris Reffett <creffett@gentoo.org> +and Kacper Kowalik <xarthisius@gentoo.org> +--- a/makefile.u ++++ b/makefile.u +@@ -27,7 +27,7 @@ + ## If your system does not have the x86_64-pc-linux-gnu-ld command, comment out + ## or remove both the x86_64-pc-linux-gnu-ld and mv lines above. + +-MISC = f77vers.o i77vers.o main.o s_rnge.o abort_.o exit_.o getarg_.o iargc_.o\ ++MISC = f77vers.o i77vers.o main.o main_foo.o s_rnge.o abort_.o exit_.o getarg_.o iargc_.o\ + getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o ctype.o\ + derf_.o derfc_.o erf_.o erfc_.o sig_die.o uninit.o + POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o +@@ -206,7 +206,7 @@ + i77vers.c i_abs.c i_dim.c i_dnnt.c i_indx.c i_len.c i_mod.c \ + i_nint.c i_sign.c iargc_.c iio.c ilnw.c inquire.c l_ge.c l_gt.c \ + l_le.c l_lt.c lbitbits.c lbitshft.c libf2c.lbc libf2c.sy lio.h \ +- lread.c lwrite.c main.c makefile.sy makefile.u makefile.vc \ ++ lread.c lwrite.c main.c main_foo.c makefile.sy makefile.u makefile.vc \ + makefile.wat math.hvc mkfile.plan9 open.c pow_ci.c pow_dd.c \ + pow_di.c pow_hh.c pow_ii.c pow_qq.c pow_ri.c pow_zi.c pow_zz.c \ + qbitbits.c qbitshft.c r_abs.c r_acos.c r_asin.c r_atan.c r_atn2.c \ +--- /dev/null ++++ b/main_foo.c +@@ -0,0 +1,9 @@ ++#include <stdio.h> ++#include <stdlib.h> ++ ++void missing_MAIN__ (void) ++{ ++ fprintf(stderr, "The Fortran main program is missing.\n"); ++ abort(); ++} ++void MAIN__ (void) __attribute__ ((weak, alias("missing_MAIN__"))); diff --git a/dev-libs/libf2c/libf2c-20110801-r4.ebuild b/dev-libs/libf2c/libf2c-20110801-r4.ebuild new file mode 100644 index 000000000000..48f67182e7d8 --- /dev/null +++ b/dev-libs/libf2c/libf2c-20110801-r4.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils multilib toolchain-funcs + +DESCRIPTION="Library that converts FORTRAN to C source" +HOMEPAGE="http://www.netlib.org/f2c/" +SRC_URI="${HOMEPAGE}/${PN}.zip -> ${P}.zip" + +LICENSE="HPND" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="static-libs" + +RDEPEND="" +DEPEND="${RDEPEND} + app-arch/unzip" + +S="${WORKDIR}" + +src_prepare() { + epatch \ + "${FILESDIR}"/20051004-add-ofiles-dep.patch \ + "${FILESDIR}"/20090407-link-shared-libf2c-correctly.patch \ + "${FILESDIR}"/${P}-main.patch\ + "${FILESDIR}"/${P}-64bit-long.patch \ + "${FILESDIR}"/${P}-format-security.patch + sed -i -e "s/ld /$(tc-getLD) /" makefile.u || die +} + +src_compile() { + emake \ + -f makefile.u \ + libf2c.so \ + CFLAGS="${CFLAGS} -fPIC" \ + CC="$(tc-getCC)" + + # Clean up files so we can recompile without PIC for the static lib + if use static-libs; then + rm *.o || die "clean failed" + emake \ + -f makefile.u \ + all \ + CFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" + fi +} + +src_install () { + dolib libf2c.so.2 + dosym libf2c.so.2 /usr/$(get_libdir)/libf2c.so + use static-libs && dolib.a libf2c.a + doheader f2c.h + dodoc README Notice +} diff --git a/dev-libs/libf2c/metadata.xml b/dev-libs/libf2c/metadata.xml new file mode 100644 index 000000000000..30770fe1c088 --- /dev/null +++ b/dev-libs/libf2c/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>sci</herd> + <longdescription lang="en"> + A library to conver FORTRAN 77 to C/C++ source code. +</longdescription> +</pkgmetadata> |