176 lines
6.5 KiB
Makefile
176 lines
6.5 KiB
Makefile
# $NetBSD: Makefile,v 1.57 2010/01/18 09:59:30 wiz Exp $
|
|
|
|
DISTNAME= amaya-fullsrc-10.0.1
|
|
PKGNAME= ${DISTNAME:S/-fullsrc//}
|
|
PKGREVISION= 3
|
|
CATEGORIES= www
|
|
MASTER_SITES= http://www.w3.org/Amaya/Distribution/ \
|
|
ftp://ftp.w3.org/pub/amaya/ \
|
|
ftp://mirror.aarnet.edu.au/pub/amaya/
|
|
EXTRACT_SUFX= .tgz
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= http://www.w3.org/Amaya/
|
|
COMMENT= Web browser/editor from the World Wide Web Consortium (W3C)
|
|
|
|
PKG_DESTDIR_SUPPORT= user-destdir
|
|
|
|
USE_LANGUAGES= c c++
|
|
USE_TOOLS+= gmake perl pkg-config
|
|
GNU_CONFIGURE= yes
|
|
|
|
WRKSRC= ${WRKDIR}/Amaya/work
|
|
CONFIGURE_SCRIPT= ../configure
|
|
BUILD_TARGET= all
|
|
|
|
CFLAGS+= -Dunix
|
|
|
|
FONTS_DIRS.ttf+= ${PREFIX}/share/Amaya/fonts
|
|
REQD_DIRS+= ${PREFIX}/share/Amaya ${PREFIX}/share/Amaya/fonts
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.if !empty(PKGSRC_COMPILER:Mgcc*)
|
|
CFLAGS+= -fno-strict-aliasing
|
|
.endif
|
|
|
|
# GNOME/KDE desktop icon and related bits
|
|
# These used to get installed only on Linux; in 10.0.1 they don't seem
|
|
# to exist any more, but given the makefiles in this package that
|
|
# doesn't prove anything, and I can't test on Linux easily. So I'm
|
|
# going to leave this here commented out, along with the PLIST
|
|
# entries, until they're confirmed to be gone.
|
|
#PLIST_VARS+= desktop
|
|
#.if ${OPSYS} == "Linux"
|
|
#PLIST.desktop= yes
|
|
#.endif
|
|
|
|
#
|
|
# Some notes on the build issues, for the benefit of the next person
|
|
# hacking this package:
|
|
#
|
|
# - The build directory must be a subdir of the Amaya dir of the
|
|
# distribution. If it isn't, the build breaks. Hence WRKSRC.
|
|
#
|
|
# - The copy of libwww that comes in the distfile is required; it is
|
|
# custom-patched in unspecified ways. The copy of expat in that copy
|
|
# of libwww is also custom-patched. This means we need to use that
|
|
# expat and not the pkgsrc one, which is problematic because wxWidgets
|
|
# also uses expat.
|
|
#
|
|
# - The build system is incapable of building that libwww without
|
|
# help; if the libwww subdir of the build directory does not exist,
|
|
# the makefiles won't create it, and it's not created by the configure
|
|
# script. Thus the manual invocation of make libwww_config in
|
|
# post-configure.
|
|
#
|
|
# - The distfile contains not just one but multiple included copies of
|
|
# various basic libraries (libpng, libjpeg, zlib, expat) and for the
|
|
# most part we don't want to use those copies, because they're out of
|
|
# date. It is like pulling teeth - you have to patch all over the
|
|
# place, even though the configure script ostensibly supports using
|
|
# the system versions.
|
|
#
|
|
# - For now I'm using the included copy of wxWidgets, because the
|
|
# pkgsrc copy is too old. This has a couple of its own issues, but,
|
|
# once one forcibly persuades the Amaya configure script to configure
|
|
# it correctly, isn't a big problem.
|
|
#
|
|
# - The code using redland does not work, even using the copy of
|
|
# redland included in the distfile. The schemas it tries to build are
|
|
# syntactically invalid. It *might* be a simple problem, I don't know
|
|
# enough about that stuff to fix it. Maybe someone else does.
|
|
#
|
|
# - The DAV code does not build. It requires generated files from a
|
|
# later part of the build to already exist when it's compiled. I don't
|
|
# know if it also must come before that part of the build, but it
|
|
# wouldn't entirely surprise me if it did; between this and the libwww
|
|
# issue it's clear that whoever develops this thing never tries
|
|
# building a clean tree. By the time I got to this I was tired of the
|
|
# lossage and just disabled the DAV code entirely.
|
|
#
|
|
# - The build target is "all". This is not the default. The default
|
|
# build target (if you just run make) also sort of builds the package
|
|
# but doesn't actually work.
|
|
#
|
|
# - The makefiles link some of the internal portions of the program
|
|
# using -l/-L, and some by explicitly listing .a files. The pkgsrc
|
|
# wrappers reorder these and break the build. I patched the makefiles
|
|
# to always explicitly name .a files for internal program pieces.
|
|
#
|
|
|
|
post-extract:
|
|
${MKDIR} ${WRKSRC}
|
|
|
|
post-configure:
|
|
${CP} ${WRKSRC}/Options.orig ${WRKSRC}/Options
|
|
${TOUCH} ${WRKSRC}/Makefile
|
|
cd ${WRKSRC} && \
|
|
${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} ${GMAKE} libwww_config
|
|
|
|
#
|
|
# Components, deps, and included copies of libraries
|
|
#
|
|
|
|
EXTRACT_ELEMENTS= Amaya
|
|
|
|
# Requires its own custom-patched libwww,
|
|
# which also incl. a custom-patched expat.
|
|
EXTRACT_ELEMENTS+= libwww
|
|
# -or-
|
|
#.include "../../www/libwww/buildlink3.mk"
|
|
#.include "../../textproc/expat/buildlink3.mk"
|
|
|
|
# The Amaya portion of the distfile inclues copies of libpng, jpeg, and zlib.
|
|
# Use pkgsrc's libpng, jpeg, and zlib instead.
|
|
CONFIGURE_ARGS+= --without-graphic-libs # Use pkgsrc libraries
|
|
# link correctly with pkgsrc zlib (XXX: is this needed or correct?)
|
|
LIBS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib
|
|
.include "../../graphics/jpeg/buildlink3.mk"
|
|
.include "../../graphics/png/buildlink3.mk"
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
|
|
# The davlib code doesn't build.
|
|
CONFIGURE_ARGS+= --without-dav
|
|
|
|
# pkgsrc doesn't have redland (yet?)
|
|
# disable; currently doesn't work and I don't have time to chase down why
|
|
#EXTRACT_ELEMENTS+= redland
|
|
# -or-
|
|
#CONFIGURE_ARGS+= --enable-system-redland
|
|
#.include "../../???/redland/buildlink3.mk"
|
|
|
|
# pkgsrc's wxGTK is too old (2.6.3; 2.8.x is required)
|
|
EXTRACT_ELEMENTS+= wxWidgets
|
|
.include "../../x11/gtk2/buildlink3.mk"
|
|
.include "../../x11/libXinerama/buildlink3.mk"
|
|
.include "../../x11/libSM/buildlink3.mk"
|
|
.include "../../x11/libXxf86vm/buildlink3.mk"
|
|
.include "../../x11/xf86vidmodeproto/buildlink3.mk"
|
|
.include "../../graphics/MesaLib/buildlink3.mk"
|
|
.include "../../graphics/glu/buildlink3.mk"
|
|
CONFIGURE_ENV+= BUILDLINK_DIR=${BUILDLINK_DIR:Q}
|
|
# wxWidgets has *another* copy of a bunch of image libs.
|
|
CONFIGURE_ARGS+= --with-libpng=sys # Use pkgsrc libraries
|
|
CONFIGURE_ARGS+= --with-libjpeg=sys # Use pkgsrc libraries
|
|
CONFIGURE_ARGS+= --with-libtiff=sys # Use pkgsrc libraries
|
|
CONFIGURE_ARGS+= --with-libxpm=sys # Use pkgsrc libraries
|
|
.include "../../graphics/tiff/buildlink3.mk"
|
|
.include "../../x11/libXpm/buildlink3.mk"
|
|
# wxWidgets also has a private copy of expat; since Amaya ostensibly
|
|
# needs the patched expat in its libwww, which is at least the same
|
|
# version as the one in wxWidgets, we'll let wxWidgets use its builtin
|
|
# copy. That way if both are linked the fallout should be limited, and
|
|
# maybe (ha!) the Amaya developers have seen to it. This will probably
|
|
# break with pkgsrc wxWidgets, but we can worry about that later.
|
|
#.include "../../textproc/expat/buildlink3.mk"
|
|
# -or-
|
|
#CONFIGURE_ARGS+= --enable-system-wx # Use pkgsrc libraries
|
|
#.include "../../graphics/glu/buildlink3.mk"
|
|
#.include "../../x11/wxGTK/buildlink3.mk"
|
|
|
|
# also uses glib
|
|
.include "../../devel/glib2/buildlink3.mk"
|
|
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|