aboutsummaryrefslogtreecommitdiffstats
path: root/www/firefox/Makefile
blob: 5e0290e1afa3af73683597060d708ceb5accd530 (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
# Created by: Alan Eldridge <alane@FreeBSD.org>
# $FreeBSD$

PORTNAME=   firefox
DISTVERSION=    50.0
DISTVERSIONSUFFIX=.source
PORTREVISION=   4
PORTEPOCH=  1
CATEGORIES= www ipv6
MASTER_SITES=   MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
        MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source

MAINTAINER= gecko@FreeBSD.org
COMMENT=    Web browser based on the browser portion of Mozilla

BUILD_DEPENDS=  nspr>=4.12:devel/nspr \
        nss>=3.26.2:security/nss \
        libevent2>=2.0.21_2:devel/libevent2 \
        soundtouch>=1.9.0:audio/soundtouch \
        harfbuzz>=1.2.6:print/harfbuzz \
        graphite2>=1.3.8:graphics/graphite2 \
        png>=1.6.23:graphics/png \
        libvorbis>=1.3.5,3:audio/libvorbis \
        libvpx>=1.5.0:multimedia/libvpx \
        sqlite3>=3.13:databases/sqlite3 \
        ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
        v4l_compat>0:multimedia/v4l_compat \
        autoconf-2.13:devel/autoconf213 \
        yasm:devel/yasm \
        zip:archivers/zip

LIB_DEPENDS=    libv4l2.so:multimedia/libv4l

USE_GECKO=  gecko
CONFLICTS_INSTALL=  firefox-esr-45.* firefox-esr-3[18].* firefox-esr-24.*
MOZ_PKGCONFIG_FILES=    # empty
USE_MOZILLA=    # empty
MOZILLA_NAME=   Firefox

USE_GL=     gl
USES=       tar:xz

BROKEN_aarch64=     Fails to link: error adding symbols: File in wrong format

FIREFOX_ICON=       ${MOZILLA}.png
FIREFOX_ICON_SRC=   ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png
MOZ_OPTIONS=    --enable-application=browser \
        --enable-official-branding

OPTIONS_DEFINE=     RUST
OPTIONS_DEFAULT=    BUNDLED_CAIRO GTK3 ${OPTIONS_DEFAULT_${OPSYS}_${OSREL:R}_${ARCH}}

# XXX lang/rust currently builds only on these platforms
OPTIONS_DEFAULT_DragonFly_4_x86_64= RUST
OPTIONS_DEFAULT_FreeBSD_10_amd64=   RUST
OPTIONS_DEFAULT_FreeBSD_10_i386=    RUST
OPTIONS_DEFAULT_FreeBSD_11_amd64=   RUST
OPTIONS_DEFAULT_FreeBSD_11_i386=    RUST
OPTIONS_DEFAULT_FreeBSD_12_amd64=   RUST
OPTIONS_DEFAULT_FreeBSD_12_i386=    RUST

OPTIONS_SINGLE+=    TOOLKIT
OPTIONS_SINGLE_TOOLKIT= GTK2 GTK3

TEST_BROKEN=        No rule to make target '../../../dist/bin/libnspr4.so', needed by \
            '../../../_tests/xpcshell/modules/libmar/tests/unit/libnspr4.so'

.include "${.CURDIR}/../../www/firefox/Makefile.options"

WRKSRC:=    ${WRKDIR}/${PORTNAME}-${DISTVERSION}

post-extract:
    @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \
        -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \
        <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop

post-patch:
    @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
        ${WRKSRC}/browser/app/nsBrowserApp.cpp

pre-configure:
    (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13)
    (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13)

post-install:
    ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps
    ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${STAGEDIR}${PREFIX}/share/applications/
    ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON}

.include <bsd.port.mk>