Makefile 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  1. # $OpenBSD: Makefile,v 1.159 2017/05/31 08:08:15 espie Exp $
  2. USE_WXNEEDED= Yes
  3. ONLY_FOR_ARCHS= amd64 i386
  4. COMMENT-main= multi-platform productivity suite
  5. COMMENT-kde= optional integration of LibreOffice to the KDE environment
  6. COMMENT-java= optional integration of LibreOffice java features
  7. BV= 5.2
  8. VERSION= ${BV}.4.2
  9. DISTNAME= libreoffice-${VERSION}
  10. DISTNAME= libreoffice-${VERSION}
  11. WRKDIST= ${WRKDIR}/libreoffice-${VERSION}
  12. PKGNAME= libreoffice-${VERSION}
  13. PKGNAME-main= libreoffice-${VERSION}
  14. PKGNAME-kde= libreoffice-kde-${VERSION}
  15. PKGNAME-java= libreoffice-java-${VERSION}
  16. CATEGORIES= editors productivity
  17. DPB_PROPERTIES= parallel tag:kde4
  18. REVISION= 1
  19. REVISION-java= 2
  20. EPOCH= 0
  21. MAINTAINER= Robert Nagy <robert@openbsd.org>
  22. HOMEPAGE= http://www.libreoffice.org/
  23. MASTER_SITES= http://download.documentfoundation.org/libreoffice/src/${VERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/}/ \
  24. http://humppa.hu/libreoffice/ \
  25. http://download.go-oo.org/src/
  26. MASTER_SITES0= http://dev-www.libreoffice.org/src/ \
  27. http://hg.services.openoffice.org/binaries/ \
  28. http://download.go-oo.org/src/ \
  29. http://download.go-oo.org/extern/ \
  30. http://www.numbertext.org/linux/ \
  31. http://ooo.itc.hu/oxygenoffice/download/libreoffice/
  32. MASTER_SITES1= http://dev-www.libreoffice.org/src/libgltf/
  33. TAR= ${LOCALBASE}/bin/gtar
  34. EDISTFILES= libreoffice-${VERSION}.tar.xz
  35. COMPONENTS= dictionaries help translations
  36. .for _dfile in ${COMPONENTS}
  37. EDISTFILES+= libreoffice-${_dfile}-${VERSION}.tar.xz
  38. .endfor
  39. EXTRACT_ONLY= ${EDISTFILES:C/:[0-9]$//}
  40. DISTFILES+= ${EDISTFILES} \
  41. boost_1_60_0.tar.bz2:0 \
  42. 0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz:0 \
  43. 0279a21fab6f245e85a6f85fea54f511-source-code-font-1.009.tar.gz:0 \
  44. 907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz:0 \
  45. 048751f3271906db5126ab76870444c4-commons-codec-1.9-src.zip:0 \
  46. 134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz:0 \
  47. 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip:0 \
  48. ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz:0 \
  49. libcmis-0.5.1.tar.gz:0 \
  50. 26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz:0 \
  51. 2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz:0 \
  52. 3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip:0 \
  53. 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip:0 \
  54. 35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip:0 \
  55. 368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz:0 \
  56. 39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip:0 \
  57. 3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip:0 \
  58. a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz:0 \
  59. 5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz:0 \
  60. 7681383be6ce489d84c1c74f4e7f9643-liborcus-0.7.0.tar.bz2:0 \
  61. 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip:0 \
  62. 7a15edea7d415ac5150ea403e27401fd-open-sans-font-ttf-1.10.tar.gz:0 \
  63. 8ab049135b2d15313da5d9f0656894a1-commons-lang3-3.3.1-src.tar.gz:0 \
  64. 8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip:0 \
  65. 97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip:0 \
  66. 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz:0 \
  67. d8b5214d35bcd2bfcb2cffa7795b351d-dejavu-fonts-ttf-2.35.zip:0 \
  68. a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip:0 \
  69. mdds-1.2.2.tar.bz2:0 \
  70. aa899eff126216dafe721149fbdb511b-liblangtag-0.5.8.tar.bz2:0 \
  71. language-subtag-registry-2016-07-19.tar.bz2:0 \
  72. cb4207cb913c7a5a8bfa5b91234618ee-mdds_0.11.2.tar.bz2:0 \
  73. ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip:0 \
  74. 10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2:0 \
  75. ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip:0 \
  76. bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip:0 \
  77. c3c1a8ba7452950636e871d25020ce0d-pt-serif-font-1.0000W.tar.gz:0 \
  78. c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz:0 \
  79. d62650a6f908e85643e557a236ea989c-vigra1.6.0.tar.gz:0 \
  80. d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip:0 \
  81. db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip:0 \
  82. e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip:0 \
  83. commons-logging-1.2-src.tar.gz:0 \
  84. beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip:0 \
  85. edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz:0 \
  86. eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip:0 \
  87. f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip:0 \
  88. 4311dd9ace498b57c85f611e0670df64-graphite2-minimal-1.3.8.tgz:0 \
  89. libabw-0.1.1.tar.bz2:0 \
  90. libcdr-0.1.2.tar.bz2:0 \
  91. libe-book-0.1.2.tar.bz2:0 \
  92. libetonyek-0.1.6.tar.bz2:0 \
  93. libfreehand-0.1.1.tar.bz2:0 \
  94. libgltf-0.0.2.tar.bz2:1 \
  95. libmspub-0.1.2.tar.bz2:0 \
  96. libmwaw-0.3.7.tar.bz2:0 \
  97. libodfgen-0.1.6.tar.bz2:0 \
  98. libpagemaker-0.0.3.tar.bz2:0 \
  99. librevenge-0.0.4.tar.bz2:0 \
  100. libvisio-0.1.5.tar.bz2:0 \
  101. libwpd-0.10.0.tar.bz2:0 \
  102. libwpd-0.10.1.tar.bz2:0 \
  103. libwpg-0.3.1.tar.bz2:0 \
  104. libwps-0.4.3.tar.bz2:0
  105. DIST_SUBDIR= libreoffice
  106. PERMIT_PACKAGE_CDROM= Yes
  107. MULTI_PACKAGES= -main -java -kde
  108. PSEUDO_FLAVORS= parallel no_lang
  109. FLAVORS= debug no_java
  110. FLAVOR?=
  111. .if !${FLAVOR:Mno_lang}
  112. LANGS= ar bg ca de es fa fi fr hu it \
  113. kk lt lv nl pl pt-BR ru sl sv
  114. CONFIGURE_ARGS+= --with-lang="en-US ${LANGS}"
  115. .for l in ${LANGS:L}
  116. MULTI_PACKAGES+= -i18n-$l
  117. PKGNAME-i18n-$l= libreoffice-i18n-$l-${VERSION}
  118. COMMENT-i18n-$l= $l language pack for LibreOffice
  119. RUN_DEPENDS-i18n-$l= editors/libreoffice
  120. WANTLIB-i18n-$l=
  121. LIB_DEPENDS-i18n-$l=
  122. .endfor
  123. .endif
  124. BUILD_DEPENDS+= archivers/zip \
  125. archivers/unzip \
  126. archivers/gtar \
  127. databases/db/v4 \
  128. devel/bison \
  129. devel/cppunit \
  130. devel/gpatch \
  131. devel/gperf \
  132. devel/libexecinfo \
  133. graphics/glew \
  134. shells/bash \
  135. archivers/p5-Archive-Zip \
  136. misc/findutils \
  137. print/poppler \
  138. security/nss \
  139. sysutils/coreutils \
  140. textproc/clucene \
  141. x11/gtk+3 \
  142. ${MODGNU_AUTOCONF_DEPENDS} \
  143. ${MODGNU_AUTOMAKE_DEPENDS}
  144. # configure checks for librsvg support; no LIB/RUN_DEPENDS because libcups
  145. # and librsvg is only dlopen()ed if found
  146. BUILD_DEPENDS += x11/gnome/librsvg
  147. COMPILER = gcc
  148. MODULES+= lang/python \
  149. devel/gettext
  150. # XXX can't use ${MODPY_DEFAULT_VERSION_3}, it specifically wants 3.3 and
  151. # will try (and fail) to build its own copy if not available.
  152. MODPY_VERSION= ${MODPY_DEFAULT_VERSION_3}
  153. LIB_DEPENDS-main=x11/gtk+2 \
  154. ${MODPY_LIB_DEPENDS} \
  155. databases/openldap \
  156. databases/postgresql \
  157. devel/harfbuzz,-icu \
  158. graphics/lcms2 \
  159. ${MODGCC4_CPPLIBDEP} \
  160. print/cups,-libs \
  161. print/poppler \
  162. textproc/libxslt \
  163. textproc/raptor \
  164. net/curl \
  165. net/neon \
  166. textproc/icu4c \
  167. textproc/redland \
  168. textproc/hunspell
  169. WANTLIB-main= ${LIBECXX} gdk-x11-2.0>=400.14 gtk-x11-2.0>=400.14 \
  170. xslt>=3 curl>=7 neon>=24 pq>=2 \
  171. icuuc>=0 icui18n \
  172. rdf>=0
  173. WANTLIB-main+= ICE SM X11 Xcomposite Xcursor Xdamage \
  174. Xext Xfixes Xi Xinerama Xrandr Xrender atk-1.0 c cairo \
  175. crypto expat fontconfig freetype gio-2.0 glib-2.0 \
  176. gobject-2.0 gthread-2.0 \
  177. jpeg m pango-1.0 pangocairo-1.0 pangoft2-1.0 \
  178. pthread ssl xml2 z gdk_pixbuf-2.0 \
  179. util ${MODGETTEXT_WANTLIB}
  180. WANTLIB-main+= hunspell-1.6
  181. WANTLIB-main+= ${MODPY_WANTLIB}
  182. WANTLIB-main+= clucene-contribs-lib clucene-core clucene-shared
  183. WANTLIB-main+= cups exslt gcrypt gpg-error lcms2
  184. WANTLIB-main+= nspr4 nss3 plc4 plds4 smime3 softokn3 ssl3
  185. WANTLIB-main+= png raptor2
  186. WANTLIB-main+= lber ldap
  187. WANTLIB-main+= GLEW
  188. WANTLIB-main+= GL GLU harfbuzz harfbuzz-icu
  189. WANTLIB-main+= lzma
  190. WANTLIB-main+= cairo-gobject gmodule-2.0
  191. WANTLIB-main+= dconf gdk-3 gtk-3
  192. WANTLIB-main+= poppler
  193. RUN_DEPENDS-main= devel/desktop-file-utils \
  194. devel/libexecinfo \
  195. graphics/glew \
  196. misc/shared-mime-info \
  197. security/nss \
  198. textproc/clucene \
  199. x11/gtk+3 \
  200. x11/gtk+3,-guic
  201. MODULES+= x11/qt4
  202. RUN_DEPENDS-kde= editors/libreoffice
  203. LIB_DEPENDS-kde= x11/kde4/libs \
  204. ${MODQT_LIB_DEPENDS} \
  205. ${MODGCC4_CPPLIBDEP}
  206. WANTLIB-kde+= ICE SM Xext icuuc
  207. WANTLIB-kde+= GL GLEW GLU
  208. WANTLIB-kde+= X11 ${LIBECXX} glib-2.0 intl m pthread
  209. WANTLIB-kde+= QtCore QtGui QtNetwork kdecore kdeui kfile kio
  210. .include <bsd.port.arch.mk>
  211. .if ${BUILD_PACKAGES:M-java}
  212. MODULES+= java
  213. MODJAVA_VER= 1.7+
  214. MODJAVA_JRERUN= Yes
  215. .endif
  216. LIB_DEPENDS-java= ${MODGCC4_CPPLIBDEP}
  217. RUN_DEPENDS-java= ${MODJAVA_RUN_DEPENDS} \
  218. databases/db/v4,-java \
  219. editors/libreoffice \
  220. java/javaPathHelper
  221. WANTLIB-java= c ${LIBECXX} m pthread
  222. USE_GMAKE= Yes
  223. NO_TEST= Yes
  224. PATCHORIG= .orig.port
  225. CONFIGURE_STYLE= gnu
  226. AUTOCONF_VERSION= 2.68
  227. AUTOMAKE_VERSION= 1.12
  228. CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include" \
  229. LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib" \
  230. KDE4INC="${LOCALBASE}/include/kde4" KDE4LIB="${LOCALBASE}/lib/kde4/libs"\
  231. QT4DIR="${LOCALBASE}/lib/qt4" QT4LIB="${LOCALBASE}/qt4" \
  232. QT4INC="${LOCALBASE}/include/X11/qt4"
  233. CONFIGURE_ARGS+=\
  234. --disable-coinmp \
  235. --disable-collada \
  236. --disable-ccache \
  237. --disable-dbus \
  238. --disable-epm \
  239. --disable-fetch-external \
  240. --disable-gconf \
  241. --disable-gnome-vfs \
  242. --disable-lockdown \
  243. --disable-odk \
  244. --disable-randr-link \
  245. --disable-firebird-sdbc \
  246. --disable-mergelibs \
  247. --disable-packagekit \
  248. --disable-dependency-tracking \
  249. --disable-online-update \
  250. --disable-orcus \
  251. --enable-gio \
  252. --enable-kde4 \
  253. --enable-systray \
  254. --enable-release-build \
  255. --enable-cairo-canvas \
  256. --with-alloc=system \
  257. --with-compat-oowrappers \
  258. --with-external-tar=${DISTDIR}/libreoffice \
  259. --with-fonts \
  260. --with-myspell-dicts \
  261. --with-system-harfbuzz \
  262. --with-system-glew \
  263. --with-system-clucene \
  264. --with-system-libxml \
  265. --without-system-boost \
  266. --with-system-cairo \
  267. --with-system-curl \
  268. --with-system-expat \
  269. --with-system-hunspell \
  270. --with-system-icu \
  271. --with-system-jars \
  272. --with-system-jpeg \
  273. --with-system-lcms2 \
  274. --with-system-libpng \
  275. --with-system-mesa-headers \
  276. --with-system-neon \
  277. --with-system-nss \
  278. --with-system-openldap \
  279. --with-system-openssl \
  280. --with-system-poppler \
  281. --with-system-postgresql \
  282. --with-system-redland \
  283. --with-system-zlib \
  284. --with-vendor="The OpenBSD project" \
  285. --without-junit \
  286. --without-krb5 \
  287. --without-gssapi \
  288. --without-system-apache-commons \
  289. --without-system-beanshell \
  290. --with-system-cppunit \
  291. --without-system-hsqldb \
  292. --without-system-jfreereport \
  293. --without-system-libwpd
  294. .if ${BUILD_PACKAGES:M-java}
  295. BUILD_DEPENDS+= devel/apache-ant
  296. CONFIGURE_ARGS+=--enable-ext-wiki-publisher \
  297. --with-java \
  298. --with-jdk-home=${JAVA_HOME} \
  299. --with-ant-home=${LOCALBASE}/ant
  300. .else
  301. CONFIGURE_ARGS+=--without-java
  302. .endif
  303. # XXX libreoffice has its own way to build things in parallel
  304. PARALLEL_BUILD = No
  305. .if defined(MAKE_JOBS)
  306. NCPU= ${MAKE_JOBS}
  307. .elif ${FLAVOR:Mparallel}
  308. NCPU!= echo $$((`sysctl -n hw.ncpu` + 1))
  309. .else
  310. NCPU= 1
  311. .endif
  312. CONFIGURE_ARGS+=--with-parallelism=${NCPU}
  313. .if ${FLAVOR:Mdebug}
  314. CONFIGURE_ARGS+=--enable-debug
  315. .endif
  316. MAKE_ENV+= PYTHON="${MODPY_BIN}" verbose=f \
  317. AUTOCONF_VERSION=${AUTOCONF_VERSION} \
  318. AUTOMAKE_VERSION=${AUTOMAKE_VERSION}
  319. .if ${MACHINE_ARCH} == "i386"
  320. OA= x86
  321. .elif ${MACHINE_ARCH} == "amd64"
  322. OA= x86_64
  323. .endif
  324. SUBST_VARS+= BV OA MODPY_DEFAULT_VERSION_3
  325. pre-patch:
  326. @ln -fs /bin/md5 ${WRKDIR}/bin/md5sum
  327. @ln -fs /usr/local/bin/gfind ${WRKDIR}/bin/find
  328. @ln -fs /usr/local/bin/gpatch ${WRKDIR}/bin/patch
  329. @ln -fs /usr/local/bin/gcat ${WRKDIR}/bin/cat
  330. @ln -fs /usr/local/bin/gtouch ${WRKDIR}/bin/touch
  331. touch ${WRKSRC}/src.downloaded ${WRKSRC}/autogen.lastrun
  332. pre-configure:
  333. ${SUBST_CMD} ${WRKSRC}/configure
  334. post-install:
  335. ${INSTALL_SCRIPT} ${FILESDIR}/soffice.sh ${PREFIX}/bin/soffice
  336. ${SUBST_CMD} ${PREFIX}/bin/soffice
  337. rm ${PREFIX}/bin/soffice.beforesubst
  338. cd ${PREFIX}/bin && \
  339. for _a in sbase scalc sdraw simpress smath swriter \
  340. lobase localc lodraw loimpress lomath lowriter \
  341. oobase oocalc oodraw ooimpress oomath oowriter \
  342. libreoffice libreoffice${BV} soffice${BV} unopkg; do \
  343. ln -sf soffice $${_a}; done
  344. ${INSTALL_DATA_DIR} ${PREFIX}/share/applications \
  345. ${PREFIX}/share/icons \
  346. ${PREFIX}/share/mime/packages
  347. for _d in calc draw impress math \
  348. qstart startcenter writer; do \
  349. sed -i "s,Icon=libreoffice${BV}-,Icon=libreoffice-,g" \
  350. ${PREFIX}/lib/libreoffice/share/xdg/$${_d}.desktop && \
  351. ln -sf ${TRUEPREFIX}/lib/libreoffice/share/xdg/$${_d}.desktop \
  352. ${PREFIX}/share/applications/$${_d}.desktop; done
  353. cp -R ${WRKSRC}/sysui/desktop/icons/hicolor ${PREFIX}/share/icons
  354. for _f in `find ${PREFIX}/share/icons/*/*/apps -type f`; \
  355. do mv $${_f} `echo $${_f} | sed "s,apps/,apps/libreoffice-,g"`; done
  356. ${INSTALL_DATA} ${WRKSRC}/workdir/CustomTarget/sysui/share/libreoffice/openoffice.org.xml \
  357. ${PREFIX}/share/mime/packages
  358. # If the -java package does not get build use stub libraries for
  359. # libjvmaccesslo.so and libjvmfwklo.so so that they can get included
  360. # in the -main package because they are needed even if the -java
  361. # subpackage is not installed.
  362. .if !${BUILD_PACKAGES:M-java}
  363. echo "int main(void) { return 0; }" > ${WRKSRC}/stub.c
  364. ${CC} -shared -o ${WRKBUILD}/stub.o ${WRKSRC}/stub.c
  365. . for i in jvmaccess jvmfwk
  366. ${INSTALL_PROGRAM} ${WRKBUILD}/stub.o \
  367. ${PREFIX}/lib/libreoffice/ure/lib/lib${i}lo.so
  368. . endfor
  369. .endif
  370. .include <bsd.port.mk>