diff --git a/srcpkgs/groff/files/musl.patch b/srcpkgs/groff/files/musl.patch new file mode 100644 index 00000000000..9d2b322a997 --- /dev/null +++ b/srcpkgs/groff/files/musl.patch @@ -0,0 +1,79 @@ +--- lib/math.in.h.orig 2019-01-02 16:55:35.064459973 +0100 ++++ lib/math.in.h 2019-01-02 17:42:43.450242836 +0100 +@@ -2342,75 +2342,6 @@ + #endif + + +-#if @GNULIB_SIGNBIT@ +-# if (@REPLACE_SIGNBIT_USING_GCC@ \ +- && (!defined __cplusplus || __cplusplus < 201103)) +-# undef signbit +- /* GCC 4.0 and newer provides three built-ins for signbit. */ +-# define signbit(x) \ +- (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ +- sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ +- __builtin_signbitf (x)) +-# endif +-# if @REPLACE_SIGNBIT@ +-# undef signbit +-_GL_EXTERN_C int gl_signbitf (float arg); +-_GL_EXTERN_C int gl_signbitd (double arg); +-_GL_EXTERN_C int gl_signbitl (long double arg); +-# if __GNUC__ >= 2 && !defined __STRICT_ANSI__ +-# define _GL_NUM_UINT_WORDS(type) \ +- ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) +-# if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf +-# define gl_signbitf_OPTIMIZED_MACRO +-# define gl_signbitf(arg) \ +- ({ union { float _value; \ +- unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \ +- } _m; \ +- _m._value = (arg); \ +- (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \ +- }) +-# endif +-# if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd +-# define gl_signbitd_OPTIMIZED_MACRO +-# define gl_signbitd(arg) \ +- ({ union { double _value; \ +- unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \ +- } _m; \ +- _m._value = (arg); \ +- (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \ +- }) +-# endif +-# if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl +-# define gl_signbitl_OPTIMIZED_MACRO +-# define gl_signbitl(arg) \ +- ({ union { long double _value; \ +- unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \ +- } _m; \ +- _m._value = (arg); \ +- (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \ +- }) +-# endif +-# endif +-# define signbit(x) \ +- (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \ +- sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ +- gl_signbitf (x)) +-# endif +-# ifdef __cplusplus +-# if defined signbit || defined GNULIB_NAMESPACE +-_GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit) +-# undef signbit +-_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit) +-# endif +-# endif +-#elif defined GNULIB_POSIXCHECK +-# if defined signbit +-_GL_WARN_REAL_FLOATING_DECL (signbit); +-# undef signbit +-# define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x) +-# endif +-#endif +- + _GL_INLINE_HEADER_END + + #endif /* _@GUARD_PREFIX@_MATH_H */ + diff --git a/srcpkgs/groff/template b/srcpkgs/groff/template index 919ccffaac6..59d560e9129 100644 --- a/srcpkgs/groff/template +++ b/srcpkgs/groff/template @@ -1,46 +1,36 @@ # Template file for 'groff' pkgname=groff -version=1.22.3 -revision=4 +version=1.22.4 +revision=1 +build_style=gnu-configure +configure_args="--without-x --disable-rpath" hostmakedepends="perl bison" makedepends="zlib-devel" short_desc="The GNU troff text-formatting system" maintainer="Juan RP " -license="GPL-2" -homepage="http://www.gnu.org/software/groff/groff.html" -distfiles="${GNU_SITE}/$pkgname/$pkgname-$version.tar.gz" -checksum=3a48a9d6c97750bfbd535feeb5be0111db6406ddb7bb79fc680809cda6d828a5 +license="GPL-3.0-or-later" +homepage="https://www.gnu.org/software/groff/groff.html" +distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.gz" +checksum=e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293 + +subpackages="libgroff" if [ "$CROSS_BUILD" ]; then hostmakedepends+=" groff" + configure_args+=" --with-doc=no" +else + subpackages+=" groff-doc" fi -do_configure() { - if [ "$CROSS_BUILD" ]; then - sed -i \ - -e '/^GROFFBIN=/s:=.*:=/usr/bin/groff:' \ - -e '/^TROFFBIN=/s:=.*:=/usr/bin/troff:' \ - -e '/^GROFF_BIN_PATH=/s:=.*:=:' \ - -e '/^GROFF_BIN_DIR=/s:=.*:=:' \ - contrib/*/Makefile.sub \ - doc/Makefile.in \ - doc/Makefile.sub - fi - ./configure ${configure_args} --without-x --disable-rpath +pre_configure() { + case "$XBPS_TARGET_MACHINE" in + *musl) + patch -p0 -i ${FILESDIR}/musl.patch + ;; + esac } -do_build() { - if [ "$CROSS_BUILD" ]; then - make TROFFBIN=troff GROFFBIN=groff GROFF_BIN_PATH= - else - make - fi -} -do_install() { - make DESTDIR=${DESTDIR} install - - # Remove unused stuff. - rm -rf ${DESTDIR}/usr/lib +post_install() { # From Arch: # # Fix some issues when encoding to utf8 man pages @@ -51,6 +41,13 @@ do_install() { done } +libgroff_package() { + short_desc+=" - libraries" + pkg_install() { + vmove usr/lib + } +} + groff-doc_package() { short_desc+=" - documentation" noarch=yes diff --git a/srcpkgs/libgroff b/srcpkgs/libgroff new file mode 120000 index 00000000000..37831a278d9 --- /dev/null +++ b/srcpkgs/libgroff @@ -0,0 +1 @@ +groff \ No newline at end of file