ports/189323: [patch] textproc/flex: make libfl_pic.a actually pic
Tijl Coosemans
tijl at FreeBSD.org
Sat May 3 22:00:00 UTC 2014
>Number: 189323
>Category: ports
>Synopsis: [patch] textproc/flex: make libfl_pic.a actually pic
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat May 03 22:00:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator: Tijl Coosemans
>Release: FreeBSD 11.0-CURRENT i386
>Organization:
>Environment:
>Description:
Currently libfl_pic.a is compiled as a regular static library without
-fpic so it is exactly the same as libfl.a.
The attached patch modifies Makefile.am to add the -prefer-pic libtool
flag. It also adds the --tag=disable-shared flag so a shared library
is never built (it would be the same as libfl.so).
This requires running automake which requires aclocal which in turn
implies autoconf and autoheader.
The RANLIB patching in post-patch is removed because it has no effect.
The "tests" patching has been included in the Makefile.am patch
because automake complains about the trailing backslash otherwise.
The MAKEINFO patching is handled in CONFIGURE_ENV.
This will be used to fix a problem in devel/libmatheval:
https://redports.org/buildarchive/20140503201200-15078/
https://redports.org/buildarchive/20140503214120-38210/
Redports: https://redports.org/buildarchive/20140503214000-47181/
>How-To-Repeat:
>Fix:
--- flex.patch begins here ---
Index: textproc/flex/Makefile
===================================================================
--- textproc/flex/Makefile (revision 352934)
+++ textproc/flex/Makefile (working copy)
@@ -2,6 +2,7 @@
PORTNAME= flex
PORTVERSION= 2.5.39
+PORTREVISION= 1
CATEGORIES= textproc
MASTER_SITES= SF/${PORTNAME}
@@ -12,11 +13,13 @@ BUILD_DEPENDS= help2man:${PORTSDIR}/misc
gm4:${PORTSDIR}/devel/m4
RUN_DEPENDS= gm4:${PORTSDIR}/devel/m4
-USES= bison gmake tar:bzip2
+USES= bison gmake libtool:keepla tar:bzip2
+USE_AUTOTOOLS= aclocal autoconf autoheader automake
+ACLOCAL_ARGS= -I m4
GNU_CONFIGURE= yes
# install flex header to its own dir to avoid conflict with system flex.
CONFIGURE_ARGS= --includedir=${PREFIX}/include/flex --disable-shared
-CONFIGURE_ENV= M4=${LOCALBASE}/bin/gm4
+CONFIGURE_ENV= M4=${LOCALBASE}/bin/gm4 MAKEINFO="makeinfo --no-split"
INSTALL_TARGET= install-strip
INFO= flex
@@ -27,12 +30,6 @@ NLS_USES= gettext iconv
NLS_CONFIGURE_ENABLE= nls
post-patch: .SILENT
- ${REINPLACE_CMD} -Ee 's/tests//' \
- -e 's/^([[:space:]]*)\$$\(RANLIB\) ([^ ;]*)/\1chmod u+w \2;&/' \
- -e '/echo.*RANLIB/,+1d' \
- ${WRKSRC}/Makefile.in
- ${REINPLACE_CMD} -e 's/@MAKEINFO@/& --no-split/g' \
- ${WRKSRC}/doc/Makefile.in
${RM} -f ${WRKSRC}/doc/*.info*
.include <bsd.port.mk>
Index: textproc/flex/files/patch-Makefile.am
===================================================================
--- textproc/flex/files/patch-Makefile.am (revision 0)
+++ textproc/flex/files/patch-Makefile.am (working copy)
@@ -0,0 +1,21 @@
+--- Makefile.am.orig 2014-03-26 13:46:44.000000000 +0100
++++ Makefile.am 2014-05-03 23:29:10.000000000 +0200
+@@ -79,6 +79,8 @@
+ libmain.c \
+ libyywrap.c
+
++libfl_pic_la_CFLAGS = -prefer-pic
++libfl_pic_la_LIBTOOLFLAGS = --tag=disable-shared
+ libfl_pic_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@
+
+ noinst_HEADERS = \
+@@ -119,8 +121,7 @@
+ . \
+ doc \
+ examples \
+- po \
+- tests
++ po
+
+ localedir = $(datadir)/locale
+ AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl
Property changes on: textproc/flex/files/patch-Makefile.am
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
--- flex.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list