freebsd-ports/deskutils/fbreader/Makefile

73 lines
2 KiB
Makefile
Raw Normal View History

2013-09-11 22:34:23 +02:00
# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
# $FreeBSD$
PORTNAME= fbreader
PORTVERSION= 0.99.6
DISTVERSIONSUFFIX= -freebsdport
Remove iconv(), iconv_open() and iconv_close() symbols from libiconv. These were FreeBSD specific aliases for libiconv(), libiconv_open() and libiconv_close() that are now also provided by libc which complicates writing configure tests that work correctly when both libc iconv and libiconv are available. Also, because the libiconv iconv.h header redefines iconv* to libiconv* correct use of the header implies that the aliases aren't used. The following ports needed fixes because there was something wrong with the way they tried to detect or use iconv: audio/deadbeef: Remove LIBICONV_PLUG from a source file. It's a compile-time option and should not be set in source code. comms/hidapi: Use standard AM_ICONV configure macro to look for iconv. deskutils/fbreader: Let ports framework deal with LIBICONV_PLUG. deskutils/ljclive: Override configure test for iconv. deskutils/owncloudclient: Add USES=iconv and patch test for iconv. devel/aegis: Bump PORTREVISION because it no longer uses libiconv. devel/libexplain: Add USES=iconv and override test for iconv. devel/sdl20: Override configure test for iconv. emulators/vmw: Replace OSVERSION checks with ICONV_LIB checks and include <iconv.h> instead of <sys/iconv.h>. irc/scrollz: Override configure test for iconv. japanese/chasen-base: Override configure test for iconv and patch configure so it no longer adds -liconv to linker flags just because it happens to be installed. japanses/eb: Patch configure test for iconv. japanses/eblook: Override configure test for iconv. java/jikes: Override configure test for iconv. multimedia/transcode: Bump PORTREVISION because only one plugin links with libiconv now. net/c3270: Override configure test for iconv. net/samba4*: Bump PORTREVISION because it no longer uses libiconv. The configure script will always add -liconv to the linker flags when it happens to be installed which would be wrong but later on binaries are linked with -Wl,--as-needed and the linker discards -liconv because it finds iconv*() functions in libc now and no longer in libiconv. net-mgmt/icinga-*: Remove dependency on iconv. net-mgmt/netxms: Patch configure so it no longer adds -liconv to linker flags just because it happens to be installed. net/asterisk11: Patch configure so it no longer adds -liconv to linker flags just because it happens to be installed. net-p2p/transmission-*: Override configure test for iconv. www/htmlcxx: Override configure test for iconv. www/httrack: Override configure test for iconv. www/xapian-omega: Override configure test for iconv. x11/mrxvt(-devel): Add USES=iconv and override configure test for iconv. x11/x3270: Override configure test for iconv. x11-wm/jwm: Override configure test for iconv. PR: 202838 Exp-run by: antoine Approved by: portmgr (antoine)
2015-10-10 16:03:00 +02:00
PORTREVISION= 2
CATEGORIES= deskutils
MAINTAINER= xmj@FreeBSD.org
COMMENT= Powerful e-book reader
LICENSE= GPLv2+
LIB_DEPENDS= libcurl.so:ftp/curl \
libexpat.so:textproc/expat2 \
libfribidi.so:converters/fribidi \
libunibreak.so:textproc/libunibreak
USE_GITHUB= yes
GH_ACCOUNT= geometer
GH_PROJECT= FBReader
.if defined(WITH_DEBUG)
STATUS= debug
.else
STATUS= release
.endif
USES= compiler gmake iconv pkgconfig sqlite tar:tgz
USE_LDCONFIG= yes
INSTALL_TARGET= do_install
CFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
MAKE_ENV+= TARGET_ARCH=desktop TARGET_STATUS=${STATUS} \
ROOTDIR=${WRKSRC} INSTALLDIR=${PREFIX} LIBDIR=${PREFIX}/lib \
LD="${CXX}"
2014-06-25 00:38:24 +02:00
MAKE_ARGS+= MAKE=${MAKE_CMD} LIBDIR=${PREFIX}/lib
OPTIONS_SINGLE= GUI
OPTIONS_SINGLE_GUI= GTK2 QT4
OPTIONS_DEFAULT= QT4
OPTIONS_SUB= yes
GTK2_USE= gnome=gtk20
GTK2_MAKE_ENV= UI_TYPE=gtk
QT4_USE= qt4=gui,corelib,imageformats,network,moc_build
QT4_LDFLAGS= -L${QT_LIBDIR}
QT4_MAKE_ENV= UI_TYPE=qt4
post-patch:
Remove iconv(), iconv_open() and iconv_close() symbols from libiconv. These were FreeBSD specific aliases for libiconv(), libiconv_open() and libiconv_close() that are now also provided by libc which complicates writing configure tests that work correctly when both libc iconv and libiconv are available. Also, because the libiconv iconv.h header redefines iconv* to libiconv* correct use of the header implies that the aliases aren't used. The following ports needed fixes because there was something wrong with the way they tried to detect or use iconv: audio/deadbeef: Remove LIBICONV_PLUG from a source file. It's a compile-time option and should not be set in source code. comms/hidapi: Use standard AM_ICONV configure macro to look for iconv. deskutils/fbreader: Let ports framework deal with LIBICONV_PLUG. deskutils/ljclive: Override configure test for iconv. deskutils/owncloudclient: Add USES=iconv and patch test for iconv. devel/aegis: Bump PORTREVISION because it no longer uses libiconv. devel/libexplain: Add USES=iconv and override test for iconv. devel/sdl20: Override configure test for iconv. emulators/vmw: Replace OSVERSION checks with ICONV_LIB checks and include <iconv.h> instead of <sys/iconv.h>. irc/scrollz: Override configure test for iconv. japanese/chasen-base: Override configure test for iconv and patch configure so it no longer adds -liconv to linker flags just because it happens to be installed. japanses/eb: Patch configure test for iconv. japanses/eblook: Override configure test for iconv. java/jikes: Override configure test for iconv. multimedia/transcode: Bump PORTREVISION because only one plugin links with libiconv now. net/c3270: Override configure test for iconv. net/samba4*: Bump PORTREVISION because it no longer uses libiconv. The configure script will always add -liconv to the linker flags when it happens to be installed which would be wrong but later on binaries are linked with -Wl,--as-needed and the linker discards -liconv because it finds iconv*() functions in libc now and no longer in libiconv. net-mgmt/icinga-*: Remove dependency on iconv. net-mgmt/netxms: Patch configure so it no longer adds -liconv to linker flags just because it happens to be installed. net/asterisk11: Patch configure so it no longer adds -liconv to linker flags just because it happens to be installed. net-p2p/transmission-*: Override configure test for iconv. www/htmlcxx: Override configure test for iconv. www/httrack: Override configure test for iconv. www/xapian-omega: Override configure test for iconv. x11/mrxvt(-devel): Add USES=iconv and override configure test for iconv. x11/x3270: Override configure test for iconv. x11-wm/jwm: Override configure test for iconv. PR: 202838 Exp-run by: antoine Approved by: portmgr (antoine)
2015-10-10 16:03:00 +02:00
@${REINPLACE_CMD} -e '/^CC/d;/^LD/d;/QTINCLUDE/s,-I.*$$,-I${QT_INCDIR},' \
${WRKSRC}/makefiles/arch/desktop.mk
@${REINPLACE_CMD} -e 's,-O3,,;s,-ldl,${ICONV_LIB},' \
${WRKSRC}/makefiles/config.mk ${WRKSRC}/zlibrary/core/Makefile
@${REINPLACE_CMD} -e 's/-llinebreak/-lunibreak/g' ${WRKSRC}/zlibrary/text/Makefile
@${REINPLACE_CMD} -e 's/-llinebreak/-lunibreak/g' ${WRKSRC}/makefiles/*.mk
@${REINPLACE_CMD} -e 's,/usr,${PREFIX},' ${WRKSRC}/fbreader/desktop/Makefile
@${FIND} ${WRKSRC} -name Makefile | ${XARGS} ${REINPLACE_CMD} \
-e 's,make ,gmake ,'
2007-07-18 12:15:15 +02:00
Remove iconv(), iconv_open() and iconv_close() symbols from libiconv. These were FreeBSD specific aliases for libiconv(), libiconv_open() and libiconv_close() that are now also provided by libc which complicates writing configure tests that work correctly when both libc iconv and libiconv are available. Also, because the libiconv iconv.h header redefines iconv* to libiconv* correct use of the header implies that the aliases aren't used. The following ports needed fixes because there was something wrong with the way they tried to detect or use iconv: audio/deadbeef: Remove LIBICONV_PLUG from a source file. It's a compile-time option and should not be set in source code. comms/hidapi: Use standard AM_ICONV configure macro to look for iconv. deskutils/fbreader: Let ports framework deal with LIBICONV_PLUG. deskutils/ljclive: Override configure test for iconv. deskutils/owncloudclient: Add USES=iconv and patch test for iconv. devel/aegis: Bump PORTREVISION because it no longer uses libiconv. devel/libexplain: Add USES=iconv and override test for iconv. devel/sdl20: Override configure test for iconv. emulators/vmw: Replace OSVERSION checks with ICONV_LIB checks and include <iconv.h> instead of <sys/iconv.h>. irc/scrollz: Override configure test for iconv. japanese/chasen-base: Override configure test for iconv and patch configure so it no longer adds -liconv to linker flags just because it happens to be installed. japanses/eb: Patch configure test for iconv. japanses/eblook: Override configure test for iconv. java/jikes: Override configure test for iconv. multimedia/transcode: Bump PORTREVISION because only one plugin links with libiconv now. net/c3270: Override configure test for iconv. net/samba4*: Bump PORTREVISION because it no longer uses libiconv. The configure script will always add -liconv to the linker flags when it happens to be installed which would be wrong but later on binaries are linked with -Wl,--as-needed and the linker discards -liconv because it finds iconv*() functions in libc now and no longer in libiconv. net-mgmt/icinga-*: Remove dependency on iconv. net-mgmt/netxms: Patch configure so it no longer adds -liconv to linker flags just because it happens to be installed. net/asterisk11: Patch configure so it no longer adds -liconv to linker flags just because it happens to be installed. net-p2p/transmission-*: Override configure test for iconv. www/htmlcxx: Override configure test for iconv. www/httrack: Override configure test for iconv. www/xapian-omega: Override configure test for iconv. x11/mrxvt(-devel): Add USES=iconv and override configure test for iconv. x11/x3270: Override configure test for iconv. x11-wm/jwm: Override configure test for iconv. PR: 202838 Exp-run by: antoine Approved by: portmgr (antoine)
2015-10-10 16:03:00 +02:00
pre-configure:
# This cannot be done in post-patch because build dependencies are installed
# after patching and they can pull in libiconv which can affect CFLAGS in
# Mk/Uses/iconv.mk.
@${REINPLACE_CMD} 's|^CFLAGS =.*$$|CFLAGS = ${CFLAGS}|' \
${WRKSRC}/makefiles/arch/desktop.mk
.include <bsd.port.mk>