sci-libs/primegen: Fix man page to remove 'struct' keyword
authorDavid Seifert <soap@gentoo.org>
Fri, 15 Jan 2016 20:05:31 +0000 (21:05 +0100)
committerDavid Seifert <soap@gentoo.org>
Fri, 15 Jan 2016 20:05:50 +0000 (21:05 +0100)
Gentoo-Bug: 562570
In addition, modernize to EAPI=6 and amend patches accordingly.

Package-Manager: portage-2.2.26

sci-libs/primegen/files/primegen-0.97-man.patch
sci-libs/primegen/files/primegen-0.97-missing-headers.patch
sci-libs/primegen/primegen-0.97-r2.ebuild [new file with mode: 0644]

index 025b88cbabd97023f5422d54824de4788fb2c82a..069409f1df76a458c05330b4bb18373d8f00999a 100644 (file)
@@ -1,7 +1,18 @@
-diff -Naurp primegen-0.97-orig/primegen.3 primegen-0.97/primegen.3
---- primegen-0.97-orig/primegen.3      2008-07-23 22:27:52.000000000 +0200
-+++ primegen-0.97/primegen.3   2008-07-23 22:26:52.000000000 +0200
-@@ -21,6 +21,9 @@ uint64 \fIbound\fR;
+Fix incorrect man page and include mention of the possibility
+of linking to a static libary only.
+https://bugs.gentoo.org/show_bug.cgi?id=562570
+
+--- primegen-0.97/primegen.3
++++ primegen-0.97/primegen.3
+@@ -14,13 +14,16 @@
+ .br
+ void \fBprimegen_skipto\fP(&\fIpg\fR,\fIbound\fR);
+ 
+-struct primegen \fIpg\fR;
++primegen \fIpg\fR;
+ .br
+ uint64 \fIbound\fR;
+ .SH DESCRIPTION
  The primegen library generates prime numbers in order:
  2, 3, 5, 7, etc.
  It can generate primes as large as 10^15.
index 4f919d92ee8d4f4d7c0750eb250ea56de066a1c6..51f1aaac3823d633baf6387c335daea1a0f72409 100644 (file)
@@ -1,5 +1,5 @@
---- eratspeed.c.orig   2009-03-27 09:16:52.000000000 -0300
-+++ eratspeed.c        2009-03-27 09:18:29.000000000 -0300
+--- primegen-0.97/eratspeed.c.orig     2009-03-27 09:16:52.000000000 -0300
++++ primegen-0.97/eratspeed.c  2009-03-27 09:18:29.000000000 -0300
 @@ -1,6 +1,8 @@
  #define B32 1001
  #define B (B32 * 32)
@@ -9,32 +9,32 @@
  #include "timing.h"
  #include "uint32.h"
  
---- primegaps.c.orig   2009-03-27 09:17:07.000000000 -0300
-+++ primegaps.c        2009-03-27 09:17:19.000000000 -0300
+--- primegen-0.97/primegaps.c.orig     2009-03-27 09:17:07.000000000 -0300
++++ primegen-0.97/primegaps.c  2009-03-27 09:17:19.000000000 -0300
 @@ -1,4 +1,5 @@
  #include <math.h>
 +#include <stdio.h>
  #include "primegen.h"
  
  primegen pg;
---- primes.c.orig      2009-03-27 09:19:08.000000000 -0300
-+++ primes.c   2009-03-27 09:19:14.000000000 -0300
+--- primegen-0.97/primes.c.orig        2009-03-27 09:19:08.000000000 -0300
++++ primegen-0.97/primes.c     2009-03-27 09:19:14.000000000 -0300
 @@ -1,4 +1,5 @@
  #include <stdio.h>
 +#include <stdlib.h>
  #include "primegen.h"
  #include "fs64.h"
  
---- primespeed.c.orig  2009-03-27 09:17:41.000000000 -0300
-+++ primespeed.c       2009-03-27 09:18:54.000000000 -0300
+--- primegen-0.97/primespeed.c.orig    2009-03-27 09:17:41.000000000 -0300
++++ primegen-0.97/primespeed.c 2009-03-27 09:18:54.000000000 -0300
 @@ -1,3 +1,5 @@
 +#include <stdio.h>
 +#include <stdlib.h>
  #include "timing.h"
  #include "primegen.h"
  #include "primegen_impl.h"
---- error.h.orig       2009-09-11 19:40:53.000000000 +0100
-+++ error.h    2009-09-11 19:41:02.000000000 +0100
+--- primegen-0.97/error.h.orig 2009-09-11 19:40:53.000000000 +0100
++++ primegen-0.97/error.h      2009-09-11 19:41:02.000000000 +0100
 @@ -1,7 +1,7 @@
  #ifndef ERROR_H
  #define ERROR_H
diff --git a/sci-libs/primegen/primegen-0.97-r2.ebuild b/sci-libs/primegen/primegen-0.97-r2.ebuild
new file mode 100644 (file)
index 0000000..3698de3
--- /dev/null
@@ -0,0 +1,55 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Small, fast library to generate primes in order"
+HOMEPAGE="http://cr.yp.to/primegen.html"
+SRC_URI="http://cr.yp.to/primegen/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+PATCHES=(
+       "${FILESDIR}/${P}-man.patch"
+       "${FILESDIR}/${P}-missing-headers.patch"
+)
+
+src_prepare() {
+       default
+       while IFS="" read -d $'\0' -r file
+       do
+               sed -i -e 's:\(primegen.a\):lib\1:' "${file}" || die
+       done < <(find . -type f -print0)
+       mkdir usr || die
+}
+
+src_configure() {
+       # Fixes bug #161015
+       append-flags -fsigned-char
+       echo "$(tc-getCC) ${CFLAGS}" > conf-cc || die
+       echo "${S}/usr" > conf-home || die
+       echo "$(tc-getCC) ${LDFLAGS}" > conf-ld || die
+}
+
+src_test() {
+       [[ $(./primes 1 100000000 | md5sum ) == "4e2b0027288a27e9c99699364877c9db "* ]] || die "test failed"
+}
+
+src_install() {
+       dobin primegaps primes primespeed
+       doman primegaps.1 primes.1 primespeed.1 primegen.3
+       dolib.a libprimegen.a
+       # include the 2 typedefs to avoid collision (bug #248327)
+       sed -i \
+               -e "s/#include \"uint32.h\"/$(grep typedef uint32.h)/" \
+               -e "s/#include \"uint64.h\"/$(grep typedef uint64.h)/" \
+               primegen.h || die
+       insinto /usr/include
+       doins primegen.h
+       dodoc BLURB CHANGES README TODO
+}