diff options
author | Eli Schwartz <eschwartz93@gmail.com> | 2024-05-23 00:40:13 -0400 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-05-23 22:52:06 +0100 |
commit | cb553ffc4d2487245044c655555d03242986f0ec (patch) | |
tree | 0a3c952bc80eeef5d5fb084b41a0b98779e5eae4 /app-text/rtf2html | |
parent | app-text/rtf2html: update EAPI 7 -> 8 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | app-text/rtf2html/files/buildsystem-fixes.patch | 157 | ||||
-rw-r--r-- | app-text/rtf2html/rtf2html-0.2.0-r2.ebuild | 16 |
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' |