summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz93@gmail.com>2024-05-23 00:40:13 -0400
committerSam James <sam@gentoo.org>2024-05-23 22:52:06 +0100
commitcb553ffc4d2487245044c655555d03242986f0ec (patch)
tree0a3c952bc80eeef5d5fb084b41a0b98779e5eae4 /app-text/rtf2html
parentapp-text/rtf2html: update EAPI 7 -> 8 (diff)
downloadgentoo-cb553ffc4d2487245044c655555d03242986f0ec.tar.gz
gentoo-cb553ffc4d2487245044c655555d03242986f0ec.tar.bz2
gentoo-cb553ffc4d2487245044c655555d03242986f0ec.zip
app-text/rtf2html: fix broken build system and regenerate configure script
Uses lots of invalid bashisms, has implicit function declarations from the vintage autoconf 2.59 used. Closes: https://bugs.gentoo.org/886297 Closes: https://bugs.gentoo.org/900531 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-text/rtf2html')
-rw-r--r--app-text/rtf2html/Manifest1
-rw-r--r--app-text/rtf2html/files/buildsystem-fixes.patch157
-rw-r--r--app-text/rtf2html/rtf2html-0.2.0-r2.ebuild16
3 files changed, 172 insertions, 2 deletions
diff --git a/app-text/rtf2html/Manifest b/app-text/rtf2html/Manifest
index 9a243f6d8517..80453285cfdd 100644
--- a/app-text/rtf2html/Manifest
+++ b/app-text/rtf2html/Manifest
@@ -1 +1,2 @@
+DIST rtf2html-0.2.0-stlport.m4 3292 BLAKE2B 137016c605749aca2bd5c3a1ec69930f36d69fd177b70dc64ba67f932ebada4d9818e33ce7dce60d6935ec472dc1862253443487d45143594996a8d15585cae7 SHA512 8b67424a4fa6b4672620ada1e58de28added11e1c8ced5aee12bb2f478f6f9d31de655af91298a16bf05e1608de4f680dfa976513dcb53eee5a3d8088df7a946
DIST rtf2html-0.2.0.tar.bz2 75292 BLAKE2B 18cc67ff3642f68ae262aa6e3368be93defe19ceeab07f9e55fcd2390e4c374c7ab315c0c5f8b7644a458e4100a4be3812767b080842d862266083856f5376aa SHA512 7399c98adb4dc0f45e420cd6836c36720d6b19ccbba062d2102b2693a6812642d6193000172ef7eeef5b8a84dcb2d35c1eb99fbf3bffaf8dad43e8ca06c6fe75
diff --git a/app-text/rtf2html/files/buildsystem-fixes.patch b/app-text/rtf2html/files/buildsystem-fixes.patch
new file mode 100644
index 000000000000..24642650f8ac
--- /dev/null
+++ b/app-text/rtf2html/files/buildsystem-fixes.patch
@@ -0,0 +1,157 @@
+From 257c8fd42362f158afdcd7d7709aa3743f894468 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Thu, 23 May 2024 00:00:26 -0400
+Subject: [PATCH 1/2] configure: remove invalid bashism
+
+configure scripts are POSIX /bin/sh scripts and cannot have
+bash-specific syntax. The test `xxx == yyy` construct with double equals
+is a bash-specific alias for single equals. It does exactly the same
+thing as single equals -- it provides no additional functionality, no
+behavior changes, it is exactly the same but with an additional
+alternate spelling. In exchange for doing nothing, it breaks muscle
+memory when writing POSIX sh scripts and tricks developers into writing
+the wrong thing.
+
+It should never be used under any circumstances. Ideally it would be
+removed altogether from GNU bash.
+
+Bug: https://bugs.gentoo.org/903291
+Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
+---
+ configure.in | 4 ++--
+ stlport.m4 | 18 +++++++++---------
+ 2 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 3207599..f8ba73d 100644
+--- a/configure.in
++++ b/configure.in
+@@ -38,7 +38,7 @@ fi
+
+
+ AC_LIB_STLPORT(no)
+-if test "$ac_stlport_use" == "no"; then
++if test "$ac_stlport_use" = "no"; then
+ AC_CHECK_LIB(stdc++,main,,AC_MSG_ERROR(rtf2html requires either libstdc++ or libstrloprt))
+ fi
+
+@@ -47,5 +47,5 @@ AC_CHECK_FUNCS(floor strtol,,AC_MSG_ERROR(STDLIB funcs missing))
+ AC_CHECK_FUNC(rint,AC_DEFINE(HAVE_RINT,1,Define to 1 if you have rint function))
+
+ CXXFLAGS="$CPPFLAGS $CFLAGS"
+-
++
+ AC_OUTPUT(Makefile)
+diff --git a/stlport.m4 b/stlport.m4
+index baaf94b..ed7e13e 100644
+--- a/stlport.m4
++++ b/stlport.m4
+@@ -4,19 +4,19 @@
+ # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+ # `yes'.
+ #
+-# If all tests succeed, CPPFLAGS will be *prepended* with
++# If all tests succeed, CPPFLAGS will be *prepended* with
+ # -nostdinc++ -I<directory>
+ # and LIBS will be appended with
+ # -l<library>
+ #
+ # directory defaults to /usr/include/stlport, but can be overridden with the
+ # --with-stlport-headers directive;
+-# library defaults to stlport, and can be overridden with the
++# library defaults to stlport, and can be overridden with the
+ # --with-stlport-libs directive
+ #
+ # $Id: stlport.m4,v 1.4 2007-07-31 15:39:42 vlavrinenko Exp $
+ #
+-# This file is (c) 2001 Jasper Spaans, <jasper@spaans.ds9a.nl>
++# This file is (c) 2001 Jasper Spaans, <jasper@spaans.ds9a.nl>
+ # Please send your comments, suggestions and bugfixes to the above
+ # e-mail address.
+ #
+@@ -38,12 +38,12 @@ AC_DEFUN([AC_LIB_STLPORT],
+ [define([AC_LIB_STLPORT_DEFAULT], ifelse($1, no, no, yes))dnl
+ AC_MSG_CHECKING(whether to use stlport libraries)
+ AC_ARG_WITH(stlport, AC_HELP_STRING(--with-stlport,use sgi stlport headers and libraries),
+- [ if test "x$withval" == xno ; then
++ [ if test "x$withval" = xno ; then
+ ac_stlport_use="no"
+ fi],
+ ac_stlport_use=AC_LIB_STLPORT_DEFAULT)
+ AC_ARG_WITH(stlport-headers, AC_HELP_STRING(--with-stlport-headers,where to find stlport headers),
+- [ if test "x$withval" == xno ; then
++ [ if test "x$withval" = xno ; then
+ ac_stlport_use="no"
+ else
+ ac_stlport_headers="$with_stlport_headers"
+@@ -52,7 +52,7 @@ AC_DEFUN([AC_LIB_STLPORT],
+ ac_stlport_headers="/usr/include/stlport"
+ ])
+ AC_ARG_WITH(stlport-libs, AC_HELP_STRING(--with-stlport-libs, where to find stlport libraries),
+- [ if test "x$withval" == xno ; then
++ [ if test "x$withval" = xno ; then
+ ac_stlport_use="no"
+ else
+ ac_stlport_libs="$with_stlport_libs"
+@@ -61,7 +61,7 @@ AC_DEFUN([AC_LIB_STLPORT],
+ ac_stlport_libs="stlport"
+ ])
+
+- if test "$ac_stlport_use" == no ; then
++ if test "$ac_stlport_use" = no ; then
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT(yes)
+@@ -70,7 +70,7 @@ AC_DEFUN([AC_LIB_STLPORT],
+ ac_stlport_save_LIBS="$LIBS"
+ CPPFLAGS="-I$ac_stlport_headers $CPPFLAGS"
+ LIBS="-l$ac_stlport_libs $LIBS"
+- if test "$MSYSTEM" == "MINGW32"; then
++ if test "$MSYSTEM" = "MINGW32"; then
+ CPPFLAGS="$CPPFLAGS -mthreads"
+ fi
+ AC_LANG_PUSH(C++)
+@@ -80,7 +80,7 @@ AC_DEFUN([AC_LIB_STLPORT],
+ AC_MSG_CHECKING(where to find stlport libraries)
+ AC_TRY_RUN([#include <stl/_stlport_version.h>
+ #include <iostream>
+-int
++int
+ main()
+ {
+ std::cout << "" << std::ends;
+--
+2.44.1
+
+
+From dd1ca6d0867eaca2b9be8d7efa4d957c96b7aa51 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Thu, 23 May 2024 00:24:52 -0400
+Subject: [PATCH 2/2] autotools: ensure aclocal runs successfully by passing
+ -I.
+
+autoreconf -fi can update the autotools files automatically, but if
+aclocal doesn't know where project-local macros are it will delete them
+and then the configure script is malformed and errors out.
+
+This tells autoreconf to pass -I. to aclocal, that is, it should check
+for stlport.m4 in the current directory and use it.
+
+Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
+---
+ Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index e7eb60e..0a5fafd 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,3 +2,5 @@ AUTOMAKE_OPTIONS = foreign
+ bin_PROGRAMS = rtf2html
+ rtf2html_SOURCES = fmt_opts.cpp rtf2html.cpp rtf_keyword.cpp rtf_table.cpp config.h fmt_opts.h rtf_table.h common.h dbg_iter.h rtf_keyword.h rtf_tools.h
+ noinst_HEADERS = config.h fmt_opts.h rtf_table.h common.h dbg_iter.h rtf_keyword.h rtf_tools.h README.ru
++
++ACLOCAL_AMFLAGS = -I.
+--
+2.44.1
+
diff --git a/app-text/rtf2html/rtf2html-0.2.0-r2.ebuild b/app-text/rtf2html/rtf2html-0.2.0-r2.ebuild
index 0d62d8091759..2855e2bba293 100644
--- a/app-text/rtf2html/rtf2html-0.2.0-r2.ebuild
+++ b/app-text/rtf2html/rtf2html-0.2.0-r2.ebuild
@@ -3,18 +3,30 @@
EAPI=8
+inherit autotools
+
DESCRIPTION="RTF to HTML converter"
HOMEPAGE="http://rtf2html.sourceforge.net/"
-SRC_URI="https://downloads.sourceforge.net/rtf2html/${P}.tar.bz2"
+SRC_URI="
+ https://downloads.sourceforge.net/rtf2html/${P}.tar.bz2
+ https://github.com/lvu/rtf2html/raw/4b0e5a3cca2d0c81ee50dcfaa7e3d3dd0a89e59b/stlport.m4 -> ${P}-stlport.m4
+"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-PATCHES=( "${FILESDIR}"/${P}-gcc43.patch )
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc43.patch
+ # make autoreconf work
+ # https://github.com/lvu/rtf2html/pull/12
+ "${FILESDIR}"/buildsystem-fixes.patch
+)
src_prepare() {
+ cp "${DISTDIR}"/${P}-stlport.m4 stlport.m4 || die
default
+ eautoreconf
# CFLAGS are incorrectly parsed, so handle this here
sed -i -e '/CFLAGS=$(echo $CFLAGS/d' configure || die 'sed on configure failed'