aboutsummaryrefslogtreecommitdiffstats
path: root/java/openjfx8-devel/Makefile
blob: bea2792c31e454a60319ea22b98562e9edd9deb2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Created by: Tobias Kortkamp <t@tobik.me>
# $FreeBSD$

PORTNAME=   openjfx8
PORTVERSION=    20170722
PORTREVISION=   3
CATEGORIES= java x11-toolkits devel
MASTER_SITES=   https://bitbucket.org/tobik/openjfx-rt/get/freebsd${PORTVERSION}${EXTRACT_SUFX}?dummy=/
PKGNAMESUFFIX=  -devel

MAINTAINER= tobik@FreeBSD.org
COMMENT=    JavaFX (OpenJFX) 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 \
        swt-devel>0:x11-toolkits/swt-devel
LIB_DEPENDS=    libfontconfig.so:x11-fonts/fontconfig \
        libfreetype.so:print/freetype2
RUN_DEPENDS=    swt-devel>0:x11-toolkits/swt-devel

USES=       gettext-runtime jpeg sqlite
USE_GL=     gl
USE_GNOME=  atk cairo gdkpixbuf2 glib20 gtk20 pango
USE_JAVA=   yes
USE_LDCONFIG=   yes
USE_XORG=   x11 xtst xxf86vm
JAVA_VERSION=   1.8

OPTIONS_DEFINE= MEDIA TEST WEBKIT
OPTIONS_DEFAULT=    MEDIA WEBKIT
OPTIONS_SUB=    yes

MEDIA_DESC= Build media module

MEDIA_LIB_DEPENDS=  libavcodec.so:multimedia/ffmpeg \
            libsndio.so:audio/sndio
MEDIA_USES= gmake
MEDIA_VARS= COMPILE_MEDIA=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++11-lib gmake gperf perl5 pkgconfig \
        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

PLIST_SUB=  ARCH=${ARCH} \
        JAVA_HOME=${JAVA_HOME}

WRKSRC= ${WRKDIR}/tobik-openjfx-rt-9ccdaef460fa

GRADLE_ENV= GRADLE_USER_HOME=${WRKDIR}/gradle-home
GRADLE_RUN= ${SETENV} ${GRADLE_ENV} gradle --no-daemon

# 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.

post-patch:
    @${REINPLACE_CMD} -E -e 's|%%PREFIX%%|${PREFIX}|g' \
        ${WRKSRC}/build.gradle ${WRKSRC}/buildSrc/build.gradle
# Remove the bundled libicu and libsqlite3.  We use the system's
# versions instead.
    @${RM} -r ${WRKSRC}/modules/web/src/main/native/Source/ThirdParty/icu \
        ${WRKSRC}/modules/web/src/main/native/Source/ThirdParty/sqlite

do-configure:
# Gradle creates ${HOME}/.gradle, pretend home is somewhere else
    @${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

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>