Fixup fromcvs/togit conversion
[pkgsrcv2.git] / www / amaya / Makefile
1 # $NetBSD$
2
3 DISTNAME=       amaya-fullsrc-11.3.1
4 PKGNAME=        ${DISTNAME:S/-fullsrc//}
5 PKGREVISION=    8
6 CATEGORIES=     www
7 MASTER_SITES=   http://www.w3.org/Amaya/Distribution/ \
8                 ftp://ftp.w3.org/pub/amaya/ \
9                 ftp://mirror.aarnet.edu.au/pub/amaya/
10 EXTRACT_SUFX=   .tgz
11
12 MAINTAINER=     pkgsrc-users@NetBSD.org
13 HOMEPAGE=       http://www.w3.org/Amaya/
14 COMMENT=        Web browser/editor from the World Wide Web Consortium (W3C)
15 LICENSE=        amaya-license
16
17 PKG_DESTDIR_SUPPORT=    user-destdir
18
19 USE_LANGUAGES=          c c++
20 USE_TOOLS+=             gmake perl pkg-config
21 GNU_CONFIGURE=          yes
22
23 # builds receive SIGSEGV (go figure)
24 MAKE_JOBS_SAFE=         no
25
26 BUILDDIR=               ${WRKDIR}/Amaya/work
27 WRKSRC=                 ${WRKDIR}
28 CONFIGURE_DIRS=         Amaya/work              # also sets BUILD_DIRS
29 CONFIGURE_SCRIPT=       ../configure
30 BUILD_TARGET=           all
31
32 CFLAGS+=                -Dunix
33
34 FONTS_DIRS.ttf+=        ${PREFIX}/share/Amaya/fonts
35 REQD_DIRS+=             ${PREFIX}/share/Amaya ${PREFIX}/share/Amaya/fonts
36
37 .include "../../mk/bsd.prefs.mk"
38
39 .if !empty(PKGSRC_COMPILER:Mgcc*)
40 CFLAGS+=                -fno-strict-aliasing
41 .endif
42
43 #
44 # Some notes on the build issues, for the benefit of the next person
45 # hacking this package:
46 #
47 # - The build directory must be a subdir of the Amaya dir of the
48 # distribution. If it isn't, the build breaks. This is why the
49 # build dir is put where it is and not directly under ${WRKDIR}.
50 # (This was true in 10.x; it might not be true any longer.)
51 #
52 # - The distfile currently includes copies of Mesa, freetype, libwww,
53 # redland, and wxWidgets as well as Amaya itself. In 10.x it used to
54 # also contain a pile of graphics libraries; these have thankfully
55 # been pruned.
56 #
57 # - There is no reason I can see to use or care about the included
58 # Mesa, freetype, or redland.
59 #
60 # - The pkgsrc package used to use the included wxWidgets because at
61 # the time it was put together pkgsrc didn't have wxGTK28, only
62 # 26. This is no longer true and it should be safe to ignore the
63 # included wxWidgets. However, if it needs to come back, beware of
64 # copies of other libs included in it that Amaya may forcibly build
65 # and use; in 10.x the only way to get the included wxWidgets to not
66 # use its own copies of png, jpeg, tiff, and xpm was to patch the
67 # Amaya build logic. I've left this patch in place for future
68 # reference, although it's only about 50% likely it'll have any effect
69 # next time. Do not believe the build docs or the configure script
70 # when it claims to allow you to disable builtin copies of libs; it
71 # lies.
72 #
73 # - The included libwww, however, appears to be necessary. In 10.x it
74 # was a custom-patched version; now it appears not to be but it is
75 # also a newer version than found in pkgsrc. As I don't think a newer
76 # libwww than the one in pkgsrc has actually been released, it may as
77 # well be a custom-patched version. Given the history it is unlikely
78 # that Amaya will work with the older libwww in pkgsrc... assuming it
79 # works at all of course... so it is probably best to use the included
80 # libwww until such time as this becoems clearer.
81 #
82 # - The included libwww includes in turn its own copy of expat. In
83 # 10.x this was also a custom-patched version. This may or may not be
84 # true now. Regardless, Amaya shold be made to use pkgsrc expat,
85 # because as things stand it is likely to end up with multiple expats
86 # linked into it at once, and that's unlikely to work. I have not done
87 # this yet though. (XXX)
88 #
89 # - As of 10.x the code using redland did not work, even using the
90 # copy of redland included in the distfile. The schemas it tries to
91 # build are syntactically invalid. It *might* be a simple problem, I
92 # don't know enough about that stuff to fix it. Maybe someone else
93 # does. I haven't tried this in 11.x yet. (XXX)
94 #
95 # - The build target is "all". This is not the default. The default
96 # build target (if you just run make) also sort of builds the package
97 # but doesn't actually work.
98 #
99 # - The makefiles link some of the internal portions of the program
100 # using -l/-L, and some by explicitly listing .a files. The pkgsrc
101 # wrappers reorder these and break the build. I patched the makefiles
102 # to always explicitly name .a files for internal program pieces.
103 #
104 # - The DAV code does not build by default. It requires generated
105 # files from a later part of the build to already exist when it's
106 # compiled. (That is, davlib/ doesn't build until part of amaya/ is
107 # built, but you can't successfully build amaya/ without davlib/
108 # because it needs to link with it. It turns out that this can be
109 # hacked around by forcibly disabling the davlib/ directory in the
110 # top-level makefile; if davlib is nonetheless enabled, the amaya/
111 # makefile recurses back to it to build it after generating the file
112 # it needs. Sheesh. Between this and other issues it's clear that
113 # whoever develops this thing never tries building a clean tree, and
114 # sometimes I wonder if they compile it at all before releasing it.
115 #
116
117 post-extract:
118         ${MKDIR} ${BUILDDIR}
119
120 post-configure:
121         ${CP} ${BUILDDIR}/Options.orig ${BUILDDIR}/Options
122         ${TOUCH} ${BUILDDIR}/Makefile
123
124 # The davlib code doesn't build, so disable it. (no longer necessary)
125 #CONFIGURE_ARGS+=       --without-dav
126
127 #
128 # Use the supplied (prerelease?) libwww; use pkgsrc for everything else.
129 # See notes above, and check the cvs history for tips if trying to reenable
130 # the builtin wxWidgets.
131 #
132 EXTRACT_ELEMENTS=       Amaya libwww
133 CONFIGURE_ARGS+=        --enable-system-redland
134 CONFIGURE_ARGS+=        --enable-system-wx
135
136 #.include "../../www/libwww/buildlink3.mk"
137 .include "../../textproc/redland/buildlink3.mk"
138 .include "../../graphics/glu/buildlink3.mk"
139 .include "../../x11/wxGTK28/buildlink3.mk"
140 .include "../../devel/glib2/buildlink3.mk"
141 .include "../../textproc/expat/buildlink3.mk"
142
143 .include "../../mk/bsd.pkg.mk"