commit:     442ca7e2f4ea1011d26b4ac95f337bda7cd309eb
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 29 16:31:37 2020 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Aug 29 16:31:37 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=442ca7e2

dev-libs/iniparser: Port SLOT=0 to EAPI 7

* Rebase patches

Closes: https://bugs.gentoo.org/739468
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 .../iniparser/files/iniparser-3.0-autotools.patch  |  4 +-
 dev-libs/iniparser/files/iniparser-3.0b-cpp.patch  | 30 ++++++-------
 .../files/iniparser-4.0-out-of-bounds-read.patch   | 15 +------
 dev-libs/iniparser/iniparser-3.1-r2.ebuild         | 50 +++++++++++++---------
 4 files changed, 47 insertions(+), 52 deletions(-)

diff --git a/dev-libs/iniparser/files/iniparser-3.0-autotools.patch 
b/dev-libs/iniparser/files/iniparser-3.0-autotools.patch
index 89c7f63d29a..361c96a7d4f 100644
--- a/dev-libs/iniparser/files/iniparser-3.0-autotools.patch
+++ b/dev-libs/iniparser/files/iniparser-3.0-autotools.patch
@@ -1,5 +1,5 @@
 --- /dev/null
-+++ Makefile.am
++++ b/Makefile.am
 @@ -0,0 +1,8 @@
 +ACLOCAL_AMFLAGS = -I config
 +
@@ -10,7 +10,7 @@
 +
 +include_HEADERS = src/dictionary.h  src/iniparser.h
 --- /dev/null
-+++ configure.ac
++++ b/configure.ac
 @@ -0,0 +1,24 @@
 +AC_PREREQ([2.65])
 +AC_INIT([iniparser], [3.0], [[email protected]])

diff --git a/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch 
b/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch
index cb331b81309..b7cd17d2d22 100644
--- a/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch
+++ b/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch
@@ -1,9 +1,8 @@
-diff -ur iniparser3.0b/src/dictionary.c iniparser3.0b-patched/src/dictionary.c
---- iniparser3.0b/src/dictionary.c     2007-11-24 05:39:18.000000000 +0800
-+++ iniparser3.0b-patched/src/dictionary.c     2009-04-01 21:38:09.000000000 
+0800
-@@ -38,6 +38,9 @@
+--- a/src/dictionary.c
++++ b/src/dictionary.c
+@@ -32,6 +32,9 @@
  /*---------------------------------------------------------------------------
-                                                       Private functions
+                             Private functions
   ---------------------------------------------------------------------------*/
 +#ifdef __cplusplus
 +extern "C" {
@@ -11,9 +10,9 @@ diff -ur iniparser3.0b/src/dictionary.c 
iniparser3.0b-patched/src/dictionary.c
  
  /* Doubles the allocated size associated to a pointer */
  /* 'size' is the current allocated size. */
-@@ -401,5 +404,10 @@
-       dictionary_del(d);
-       return 0 ;
+@@ -394,5 +397,10 @@
+     dictionary_del(d);
+     return 0 ;
  }
 +
 +#ifdef __cplusplus
@@ -22,12 +21,11 @@ diff -ur iniparser3.0b/src/dictionary.c 
iniparser3.0b-patched/src/dictionary.c
 +
  #endif
  /* vim: set ts=4 et sw=4 tw=75 */
-diff -ur iniparser3.0b/src/iniparser.h iniparser3.0b-patched/src/iniparser.h
---- iniparser3.0b/src/iniparser.h      2007-11-24 05:38:19.000000000 +0800
-+++ iniparser3.0b-patched/src/iniparser.h      2009-04-01 21:38:02.000000000 
+0800
-@@ -41,6 +41,10 @@
- #define iniparser_getstr(d, k)  iniparser_getstring(d, k, NULL)
- #define iniparser_setstr        iniparser_setstring
+--- a/src/iniparser.h
++++ b/src/iniparser.h
+@@ -49,6 +49,10 @@
+ int iniparser_getnsec(dictionary * d);
+ 
  
 +#ifdef __cplusplus
 +extern "C" {
@@ -35,8 +33,8 @@ diff -ur iniparser3.0b/src/iniparser.h 
iniparser3.0b-patched/src/iniparser.h
 +
  /*-------------------------------------------------------------------------*/
  /**
-   @brief    Get number of sections in a dictionary
-@@ -277,4 +281,8 @@
+   @brief    Get name for section n in a dictionary.
+@@ -304,4 +308,8 @@
  /*--------------------------------------------------------------------------*/
  void iniparser_freedict(dictionary * d);
  

diff --git a/dev-libs/iniparser/files/iniparser-4.0-out-of-bounds-read.patch 
b/dev-libs/iniparser/files/iniparser-4.0-out-of-bounds-read.patch
index 962566cd5b7..f6488810ac1 100644
--- a/dev-libs/iniparser/files/iniparser-4.0-out-of-bounds-read.patch
+++ b/dev-libs/iniparser/files/iniparser-4.0-out-of-bounds-read.patch
@@ -1,17 +1,6 @@
-From 4f870752abbb756911d7b11405d49e9769d082bd Mon Sep 17 00:00:00 2001
-From: Emmanuel Leblond <[email protected]>
-Date: Fri, 8 Apr 2016 22:13:36 +0200
-Subject: [PATCH] Fix #68 when reading file with only \0 char
-
----
- src/iniparser.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/iniparser.c b/src/iniparser.c
-index be37fec..fb1b549 100644
 --- a/src/iniparser.c
 +++ b/src/iniparser.c
-@@ -678,7 +678,7 @@ dictionary * iniparser_load(const char * ininame)
+@@ -663,7 +663,7 @@
      while (fgets(line+last, ASCIILINESZ-last, in)!=NULL) {
          lineno++ ;
          len = (int)strlen(line)-1;
@@ -19,4 +8,4 @@ index be37fec..fb1b549 100644
 +        if (len<=0)
              continue;
          /* Safety check against buffer overflows */
-         if (line[len]!='\n' && !feof(in)) {
+         if (line[len]!='\n') {

diff --git a/dev-libs/iniparser/iniparser-3.1-r2.ebuild 
b/dev-libs/iniparser/iniparser-3.1-r2.ebuild
index 357f9b4f3b5..5c50f4305ea 100644
--- a/dev-libs/iniparser/iniparser-3.1-r2.ebuild
+++ b/dev-libs/iniparser/iniparser-3.1-r2.ebuild
@@ -1,47 +1,55 @@
 # Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=4
+EAPI=7
 
-AUTOTOOLS_AUTORECONF=1
-inherit autotools-utils autotools-multilib
+inherit autotools multilib-minimal
 
 DESCRIPTION="A free stand-alone ini file parsing library"
 HOMEPAGE="http://ndevilla.free.fr/iniparser/";
-
 SRC_URI="http://ndevilla.free.fr/iniparser/${P}.tar.gz";
+
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 
sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )
-               sys-devel/libtool"
-RDEPEND=""
-
+IUSE="doc examples"
 # the tests are rather examples than tests, no point in running them
 RESTRICT="test"
 
-S="${WORKDIR}/${PN}"
+BDEPEND="doc? ( app-doc/doxygen )"
 
-DOCS=( AUTHORS README )
+S="${WORKDIR}/${PN}"
 
 PATCHES=(
-       "${FILESDIR}/${PN}-3.0b-cpp.patch"
-       "${FILESDIR}/${PN}-3.0-autotools.patch"
-       "${FILESDIR}/${PN}-4.0-out-of-bounds-read.patch"
+       "${FILESDIR}"/${PN}-3.0b-cpp.patch
+       "${FILESDIR}"/${PN}-3.0-autotools.patch
+       "${FILESDIR}"/${PN}-4.0-out-of-bounds-read.patch
 )
 
-src_install() {
-       autotools-multilib_src_install
+src_prepare() {
+       default
+       eautoreconf
+}
+
+multilib_src_configure() {
+       ECONF_SOURCE="${S}" econf \
+               --disable-static
+}
 
+multilib_src_install_all() {
        if use doc; then
                emake -C doc
-               dohtml -r html/*
+               HTML_DOCS=( html/. )
        fi
 
-       if use examples ; then
-               insinto /usr/share/doc/${PF}/examples
-               doins test/*.{c,ini,py}
+       einstalldocs
+
+       if use examples; then
+               docinto examples
+               dodoc test/*.{c,ini,py}
+               docompress -x /usr/share/doc/${PF}/examples
        fi
+
+       # no static archives
+       find "${ED}" -name '*.la' -delete || die
 }

Reply via email to