freebsd-ports/java/openjfx8-devel/Makefile
Jan Beich c400a2c8b6 multimedia/ffmpeg: update to 4.0
- FFSERVER support was removed upstream
- libressl now uses libtls backend instead of patching openssl one
- Clang i386 no longer uses 16-byte aligned stack

Changes:	https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n4.0:/Changelog
ABI:		https://abi-laboratory.pro/tracker/timeline/ffmpeg/
PR:		227726
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D15175
2018-05-02 15:07:27 +00:00

132 lines
4.7 KiB
Makefile

# Created by: Tobias Kortkamp <t@tobik.me>
# $FreeBSD$
PORTNAME= openjfx8
DISTVERSION= 8u172-b11
PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= java x11-toolkits devel
MASTER_SITES= https://github.com/t6/openjfx/releases/download/release/ \
http://hg.openjdk.java.net/openjfx/8u/rt/archive/${DISTVERSION}${EXTRACT_SUFX}?dummy=/
PKGNAMESUFFIX= -devel
MAINTAINER= tobik@FreeBSD.org
COMMENT= JavaFX SDK overlay for OpenJDK 8
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64 i386
BUILD_DEPENDS= apache-ant>0:devel/apache-ant \
antlr3>0:devel/antlr3 \
gradle>=4.0:devel/gradle \
${JAVALIBDIR}/junit.jar:java/junit
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
USES= gettext-runtime jpeg pkgconfig sqlite
USE_GL= gl
USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk20 pango
USE_JAVA= yes
JAVA_VERSION= 1.8
USE_LDCONFIG= yes
USE_XORG= x11 xtst xxf86vm
OPTIONS_DEFINE= MEDIA SWT TEST WEBKIT
OPTIONS_DEFAULT= MEDIA WEBKIT
OPTIONS_SUB= yes
MEDIA_DESC= Media module
SWT_DESC= SWT support
MEDIA_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
libsndio.so:audio/sndio
MEDIA_USES= gmake
MEDIA_VARS= COMPILE_MEDIA=true
SWT_BUILD_DEPENDS= swt-devel>0:x11-toolkits/swt-devel
SWT_RUN_DEPENDS= swt-devel>0:x11-toolkits/swt-devel
SWT_VARS= COMPILE_SWT=true
TEST_USES= display:test
TEST_VARS= AWT_TEST=true FULL_TEST=true
# Gradle calls CMake during the build
WEBKIT_BUILD_DEPENDS= cmake:devel/cmake
WEBKIT_IMPLIES= MEDIA
WEBKIT_LIB_DEPENDS= libicui18n.so:devel/icu
WEBKIT_USES= bison compiler:c++14-lang gmake gperf perl5 python:2.7,build
WEBKIT_USE= GNOME=libxslt,libxml2 \
PERL5=build \
RUBY=yes \
XORG=xcomposite,xdamage,xfixes,xrender,xt
WEBKIT_VARS= RUBY_NO_RUN_DEPENDS=yes COMPILE_WEBKIT=true
# Move Gradle's home below ${WRKDIR} instead of using ${HOME}/.gradle
GRADLE_ENV= GRADLE_USER_HOME=${WRKDIR}/gradle-home \
CC=${CC} CXX=${CXX}
GRADLE_RUN= ${SETENV} ${GRADLE_ENV} gradle --no-daemon
PLIST_SUB= ARCH=${ARCH} \
JAVA_HOME=${JAVA_HOME}
WRKSRC= ${WRKDIR}/rt-${DISTVERSION}
# NOTE: This port won't build if ${JAVA_HOME}/jre/lib/ext/jfxrt.jar
# already exists on your system. This is not a problem in Poudriere
# or Synth but something to be aware of if you're trying to build this
# port in a non-pristine environment.
# The BSD Makefiles for GStreamer-lite and Jfxmedia are based on the
# Linux versions. Prepare the tree, so that we only see the changes
# from Linux's Makefile in our own patches.
pre-patch:
@${CP} -r ${WRKSRC}/modules/media/src/main/native/jfxmedia/projects/linux \
${WRKSRC}/modules/media/src/main/native/jfxmedia/projects/bsd
@${CP} -r ${WRKSRC}/modules/media/src/main/native/gstreamer/projects/linux \
${WRKSRC}/modules/media/src/main/native/gstreamer/projects/bsd
post-patch:
@${CP} ${FILESDIR}/bsd.gradle ${WRKSRC}/buildSrc
# Add a *BSD native audio sink to GStreamer-lite instead of using the
# bundled ALSA sink. Currently we add an sndio sink, but this is an extension
# point for eventually adding an OSS backend (or others) as an option as well.
# If you add a new one make sure it registers itself as "bsdaudiosink" as defined
# in modules/media/src/main/native/jfxmedia/platform/gstreamer/GstPipelineFactory.cpp
@${MKDIR} ${WRKSRC}/modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/ext/bsdaudio
@${CP} ${FILESDIR}/gstsndio.c ${FILESDIR}/sndiosink.c ${FILESDIR}/sndiosink.h \
${WRKSRC}/modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/ext/bsdaudio
@cd ${WRKSRC}/modules/media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-base/ext/bsdaudio && \
${LN} -s gstsndio.c gstbsdaudio.c && \
${LN} -s sndiosink.c bsdaudiosink.c
# Pull Java dependencies from LOCALBASE
@${REINPLACE_CMD} 's@/usr/local@${LOCALBASE}@g' \
${WRKSRC}/build.gradle ${WRKSRC}/buildSrc/build.gradle
# Remove bundled libraries. We use the system's versions instead.
@cd ${WRKSRC}/modules/web/src/main/native/Source/ThirdParty && \
${RM} -r icu libxml libxslt sqlite
post-patch-SWT-off:
@${RM} -r ${WRKSRC}/modules/graphics/src/main/java/com/sun/glass/ui/swt
do-configure:
@${MKDIR} ${WRKDIR}/gradle-home
@${ECHO_CMD} "NUM_COMPILE_THREADS = ${MAKE_JOBS_NUMBER}" > ${WRKSRC}/gradle.properties
.for prop in COMPILE_MEDIA COMPILE_WEBKIT AWT_TEST FULL_TEST
@${ECHO_CMD} "${prop} = ${${prop}:Ufalse}" >> ${WRKSRC}/gradle.properties
.endfor
@${ECHO_CMD} "BSD.compileSWT = ${COMPILE_SWT:Ufalse};" >> ${WRKSRC}/buildSrc/bsd.gradle
do-build:
@cd ${WRKSRC} && ${GRADLE_RUN} zips
do-install:
@${MKDIR} ${STAGEDIR}${JAVA_HOME}
@${TAR} -C ${STAGEDIR}${JAVA_HOME} \
-xf ${WRKSRC}/build/bundles/javafx-sdk-overlay.zip
@${FIND} ${STAGEDIR}${JAVA_HOME}/jre -name '*.so' -exec ${STRIP_CMD} \{\} \;
do-test-TEST-on:
@cd ${WRKSRC} && ${GRADLE_RUN} check test
.include <bsd.port.mk>