3 DISTNAME= chromium-11.0.696.68
5 MASTER_SITES= http://build.chromium.org/buildbot/official/
8 MAINTAINER= rxg@NetBSD.org
9 HOMEPAGE= http://dev.chromium.org/Home
10 COMMENT= Open-source browser project
13 USE_TOOLS+= bash bison flex:pkgsrc gmake pax perl pkg-config
16 BUILD_DEPENDS+= gperf>=3.0.1:../../devel/gperf
18 PKG_DESTDIR_SUPPORT= user-destdir
20 ONLY_FOR_PLATFORM= *-*-arm *-*-i386 *-*-x86_64
21 TOOLS_PLATFORM.flex= # override the platform definition to use pkgsrc's flex.
23 DATADIR= ${DESTDIR}${PREFIX}/share/chromium
25 .include "../../mk/bsd.prefs.mk"
27 .if ${OPSYS} == "Linux" || ${OPSYS} == "DragonFly" || ${OPSYS} == "FreeBSD"
28 .include "../../audio/alsa-lib/buildlink3.mk"
32 CONFIGURE_DIRS= third_party/icu/source
33 CONFIGURE_DIRS+=third_party/tcmalloc/vendor
34 CONFIGURE_DIRS+=third_party/yasm/source/patched-yasm
35 CONFIGURE_ENV+= GYP_DEFINES=${GYP_DEFINES:Q}
37 # we need to replace config.sub et al. up to 5 directories deep
40 GYP_DEFINES+= OS=${LOWER_OPSYS}
41 GYP_DEFINES+= buildtype=Official
42 .if ${OPSYS} != "Linux"
43 GYP_DEFINES+= disable_nacl=1
45 GYP_DEFINES+= disable_sse2=0
46 GYP_DEFINES+= ffmpeg_branding=${FFMPEG_CODECS}
47 GYP_DEFINES+= libvpx_path=${BUILDLINK_DIR}/lib
48 .if ${OPSYS} != "Linux" && ${OPSYS} != "FreeBSD"
49 GYP_DEFINES+= linux_use_tcmalloc=0
51 .if ${OPSYS} == "NetBSD"
52 GYP_DEFINES+= no_gc_sections=1
54 GYP_DEFINES+= python_ver=${PYVERSSUFFIX}
55 GYP_DEFINES+= use_system_bzip2=1
56 GYP_DEFINES+= use_system_ffmpeg=0
57 GYP_DEFINES+= use_system_libevent=1
58 GYP_DEFINES+= use_system_libjpeg=1
59 GYP_DEFINES+= use_system_libpng=1
60 GYP_DEFINES+= use_system_libxml=1
61 GYP_DEFINES+= use_system_sqlite=0
62 GYP_DEFINES+= use_system_ssl=0
63 GYP_DEFINES+= use_system_vpx=1
64 GYP_DEFINES+= use_system_yasm=0
65 GYP_DEFINES+= use_system_zlib=1
67 FFMPEG_ARGS+= --disable-everything
68 FFMPEG_ARGS+= --disable-network
69 FFMPEG_ARGS+= --disable-bzlib
70 FFMPEG_ARGS+= --disable-zlib
71 FFMPEG_ARGS+= --disable-swscale
72 FFMPEG_ARGS+= --disable-amd3dnow
73 FFMPEG_ARGS+= --disable-amd3dnowext
74 FFMPEG_ARGS+= --enable-shared
75 FFMPEG_ARGS+= --enable-libvpx
76 FFMPEG_ARGS+= --enable-encoder=libvpx
81 MAKE_ENV+= BUILDTYPE=${BUILDTYPE}
82 MAKE_ENV+= CC.host=${CC:Q}
83 MAKE_ENV+= CFLAGS.host=${CFLAGS:M*:Q}
84 MAKE_ENV+= CXX.host=${CXX:Q}
85 MAKE_ENV+= CXXFLAGS.host=${CXXFLAGS:M*:Q}
86 MAKE_ENV+= LINK.host=${CXX:Q}
87 MAKE_ENV+= LDFLAGS.host=${LDFLAGS:M*:Q}
88 MAKE_ENV+= AR.host=${AR:Q}
89 .if ${OPSYS} != "Linux"
90 # Override the LINK variable for the platforms which do not have flock(1).
91 MAKE_ENV+= LINK=${CXX:Q}
94 BUILDDIR= ${WRKSRC}/out/${BUILDTYPE}
96 CHECK_PORTABILITY_SKIP+=gpu/demos/run_demo_ppapi.sh
97 CHECK_PORTABILITY_SKIP+=third_party/xdg-utils/scripts/xdg-terminal
98 CHECK_PORTABILITY_SKIP+=third_party/xdg-utils/scripts/xdg-terminal.in
99 CHECK_PORTABILITY_SKIP+=v8/tools/linux-tick-processor
102 SUBST_MESSAGE.bash= Fixing bash path
103 SUBST_STAGE.bash= post-patch
104 SUBST_FILES.bash+= build/linux/python_arch.sh
105 SUBST_FILES.bash+= chrome/tools/build/linux/chrome-wrapper
106 SUBST_FILES.bash+= chrome/tools/build/linux/sed.sh
107 SUBST_SED.bash= -e 's:/bin/bash:${BASH}:'
110 SUBST_MESSAGE.path= Fixing pkg path
111 SUBST_STAGE.path= post-patch
112 SUBST_FILES.path+= base/base_paths_linux.cc
113 SUBST_FILES.path+= base/process_util_openbsd.cc
114 SUBST_FILES.path+= build/common.gypi
115 SUBST_FILES.path+= chrome/chrome_tests.gypi
116 SUBST_SED.path+= -e 's:/usr/local/:${PREFIX}/:'
117 SUBST_SED.path+= -e 's:/usr/lib/:${BUILDLINK_DIR}/lib/:'
118 SUBST_SED.path+= -e 's:/usr/include/:${BUILDLINK_DIR}/include/:'
120 INSTALLATION_DIRS+= ${PKGMANDIR}/man1 bin share/chromium
121 INSTALLATION_DIRS+= share/chromium/locales share/chromium/resources
123 # Remove pre-configure stage when implement python in tools.
125 ${LN} -sf ${PYTHONBIN} ${TOOLS_DIR}/bin/python
126 ${RM} -f ${BUILDLINK_DIR}/${PYINC}/ast.h
127 ${RM} -rf ${BUILDLINK_DIR}/include/GL
128 cd ${WRKSRC}/third_party/icu && \
129 ${CP} -Rf public/common/unicode source/common
132 cd ${WRKSRC}/third_party/icu && \
133 ${MV} -f source/common/unicode/platform.h public/common/unicode
134 cd ${WRKSRC}/third_party/tcmalloc && \
135 ${MV} -f vendor/src/config.h chromium/src/config_linux.h
136 cd ${WRKSRC}/third_party/ffmpeg/patched-ffmpeg-mt && \
137 ${SH} ./configure ${FFMPEG_ARGS} && cd .. && \
138 ${MV} -f patched-ffmpeg-mt/config.h \
139 config/${FFMPEG_CODECS}/linux/${MACHINE_ARCH:S/i386/ia32/:S/x86_64/x64/}
140 cd ${WRKSRC}/third_party/yasm/source && \
141 ${MKDIR} config/${LOWER_OPSYS} && \
142 ${MV} -f patched-yasm/Makefile \
143 patched-yasm/config.h \
144 patched-yasm/libyasm-stdint.h config/${LOWER_OPSYS}
146 ${SETENV} ${CONFIGURE_ENV} python build/gyp_chromium --depth=${WRKSRC}
149 .for f in chrome ffmpegsumo_nolink libffmpegsumo.so mksnapshot protoc
150 ${INSTALL_PROGRAM} ${BUILDDIR}/${f} ${DATADIR}
152 .for f in chrome-wrapper xdg-mime xdg-settings
153 ${INSTALL_SCRIPT} ${BUILDDIR}/${f} ${DATADIR}
155 .for f in chrome.pak product_logo_48.png resources.pak
156 ${INSTALL_DATA} ${BUILDDIR}/${f} ${DATADIR}
158 .for d in locales resources
159 cd ${BUILDDIR}/${d} && pax -rwpm . ${DATADIR}/${d}
161 ${INSTALL_MAN} ${BUILDDIR}/chrome.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
162 ${LN} -sf ${DATADIR}/chrome ${DESTDIR}${PREFIX}/bin
164 .include "../../devel/GConf/buildlink3.mk"
165 .include "../../devel/gettext-lib/buildlink3.mk"
166 .include "../../devel/libevent/buildlink3.mk"
167 .include "../../devel/nss/buildlink3.mk"
168 .include "../../devel/zlib/buildlink3.mk"
169 .include "../../graphics/png/buildlink3.mk"
170 .include "../../lang/python/pyversion.mk"
171 .include "../../mk/jpeg.buildlink3.mk"
172 .include "../../multimedia/libvpx/buildlink3.mk"
173 .include "../../textproc/libxslt/buildlink3.mk"
174 .include "../../x11/gtk2/buildlink3.mk"
175 .include "../../x11/libXScrnSaver/buildlink3.mk"
176 .include "../../x11/libXtst/buildlink3.mk"
177 .include "../../mk/bsd.pkg.mk"