Sun Sep 10 17:11:47 2017 UTC ()
Add -fPIC to CFLAGS.

Fixes SSP build, which otherwise breaks in configure:

cc1: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C
ld: /var/tmp//ccfWqlYy.o: warning: relocation against `__stack_chk_fail' in readonly section `.text.startup'
ld: /var/tmp//ccfWqlYy.o: relocation R_X86_64_PC32 against symbol `__stack_chk_fail' can not be used when making a shared object; recompile with -fPIC
ld: final link failed: Bad value
configure: failed program was:
#line 10722 "configure"
#include "confdefs.h"

int main() {

; return 0; }
configure: error: --enable-pie requires PIE support from the linker.


(wiz)
diff -r1.18 -r1.19 pkgsrc/security/tor-browser/Makefile

cvs diff -r1.18 -r1.19 pkgsrc/security/tor-browser/Makefile (switch to unified diff)

--- pkgsrc/security/tor-browser/Makefile 2017/09/08 02:38:43 1.18
+++ pkgsrc/security/tor-browser/Makefile 2017/09/10 17:11:47 1.19
@@ -1,106 +1,107 @@ @@ -1,106 +1,107 @@
1# $NetBSD: Makefile,v 1.18 2017/09/08 02:38:43 ryoon Exp $ 1# $NetBSD: Makefile,v 1.19 2017/09/10 17:11:47 wiz Exp $
2 2
3TORBVER= 6.0.8 3TORBVER= 6.0.8
4 4
5DISTNAME= v6.0.8-esr45.6.0 5DISTNAME= v6.0.8-esr45.6.0
6PKGNAME= tor-browser-${TORBVER} 6PKGNAME= tor-browser-${TORBVER}
7PKGREVISION= 4 7PKGREVISION= 4
8CATEGORIES= www 8CATEGORIES= www
9# Use OpenBSD distfile 9# Use OpenBSD distfile
10MASTER_SITES= ${MASTER_SITE_OPENBSD:=distfiles/tor-browser/} 10MASTER_SITES= ${MASTER_SITE_OPENBSD:=distfiles/tor-browser/}
11 11
12MAINTAINER= ryoon@NetBSD.org 12MAINTAINER= ryoon@NetBSD.org
13HOMEPAGE= https://www.torproject.org/projects/torbrowser.html.en 13HOMEPAGE= https://www.torproject.org/projects/torbrowser.html.en
14COMMENT= Tor Browser based on Firefox 14COMMENT= Tor Browser based on Firefox
15LICENSE= mpl-1.1 15LICENSE= mpl-1.1
16 16
17# A name of OpenBSD Ports distfile does not have 'tor-browser' inside. 17# A name of OpenBSD Ports distfile does not have 'tor-browser' inside.
18DIST_SUBDIR= tor-browser 18DIST_SUBDIR= tor-browser
19 19
20EXTRACT_USING= bsdtar 20EXTRACT_USING= bsdtar
21WRKSRC= ${WRKDIR}/${DISTNAME:S/v/torb-/} 21WRKSRC= ${WRKDIR}/${DISTNAME:S/v/torb-/}
22 22
23DEPENDS+= tor-[0-9]*:../../net/tor 23DEPENDS+= tor-[0-9]*:../../net/tor
24 24
25# Remove hardcoded build directory. 25# Remove hardcoded build directory.
26SUBST_CLASSES+= fix-build-dir 26SUBST_CLASSES+= fix-build-dir
27SUBST_STAGE.fix-build-dir+= pre-configure 27SUBST_STAGE.fix-build-dir+= pre-configure
28SUBST_FILES.fix-build-dir+= .mozconfig 28SUBST_FILES.fix-build-dir+= .mozconfig
29SUBST_SED.fix-build-dir+= -e 's,mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@,,' 29SUBST_SED.fix-build-dir+= -e 's,mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@,,'
30 30
31MOZILLA_DIR= # empty 31MOZILLA_DIR= # empty
32 32
33CONFIGURE_ARGS+= --enable-application=browser 33CONFIGURE_ARGS+= --enable-application=browser
34CONFIGURE_ARGS+= --disable-tor-browser-update 34CONFIGURE_ARGS+= --disable-tor-browser-update
35CONFIGURE_ARGS+= --disable-webrtc 35CONFIGURE_ARGS+= --disable-webrtc
36CONFIGURE_ARGS+= --disable-gio 36CONFIGURE_ARGS+= --disable-gio
37CONFIGURE_ARGS+= --disable-dbus 37CONFIGURE_ARGS+= --disable-dbus
38CONFIGURE_ARGS+= --disable-gnomeui 38CONFIGURE_ARGS+= --disable-gnomeui
39CONFIGURE_ARGS+= --disable-libnotify 39CONFIGURE_ARGS+= --disable-libnotify
40CONFIGURE_ARGS+= --enable-pie 40CONFIGURE_ARGS+= --enable-pie
41CONFIGURE_ARGS+= --enable-tor-data-in-home-dir 41CONFIGURE_ARGS+= --enable-tor-data-in-home-dir
42CFLAGS+= -DTOR_BROWSER_DATA_IN_HOME_DIR=1 42CFLAGS+= -DTOR_BROWSER_DATA_IN_HOME_DIR=1
43CFLAGS+= -DTOR_BROWSER_DATA_OUTSIDE_APP_DIR=1 43CFLAGS+= -DTOR_BROWSER_DATA_OUTSIDE_APP_DIR=1
 44CFLAGS+= -fPIC
44 45
45# Avoid build failure from security/manager/ssl/src/nsNSSCallbacks.cpp:601 46# Avoid build failure from security/manager/ssl/src/nsNSSCallbacks.cpp:601
46CFLAGS+= -fpermissive 47CFLAGS+= -fpermissive
47 48
48# workaround for link of libxul.so etc. 49# workaround for link of libxul.so etc.
49LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/tor-browser ${COMPILER_RPATH_FLAG}${PREFIX}/lib 50LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/tor-browser ${COMPILER_RPATH_FLAG}${PREFIX}/lib
50LDFLAGS.SunOS+= -lm 51LDFLAGS.SunOS+= -lm
51 52
52ALL_ENV+= MOZILLA_PKG_NAME=tor-browser 53ALL_ENV+= MOZILLA_PKG_NAME=tor-browser
53 54
54NOT_PAX_MPROTECT_SAFE+= lib/tor-browser/firefox 55NOT_PAX_MPROTECT_SAFE+= lib/tor-browser/firefox
55NOT_PAX_MPROTECT_SAFE+= lib/tor-browser/firefox-bin 56NOT_PAX_MPROTECT_SAFE+= lib/tor-browser/firefox-bin
56 57
57# Avoid ld "invalid section index" errors. 58# Avoid ld "invalid section index" errors.
58BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections 59BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections
59BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections 60BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections
60 61
61LDFLAGS.DragonFly= -lplc4 -lnspr4 62LDFLAGS.DragonFly= -lplc4 -lnspr4
62LDFLAGS.FreeBSD= -lplc4 -lnspr4 63LDFLAGS.FreeBSD= -lplc4 -lnspr4
63LDFLAGS.Linux= -lnspr4 64LDFLAGS.Linux= -lnspr4
64 65
65.include "../../www/firefox45/mozilla-common.mk" 66.include "../../www/firefox45/mozilla-common.mk"
66.include "options.mk" 67.include "options.mk"
67 68
68CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/header.py 69CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/header.py
69CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/typelib.py 70CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/typelib.py
70CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/xpidl.py 71CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/xpidl.py
71CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/xpt.py 72CHECK_INTERPRETER_SKIP+=lib/firefox-sdk/sdk/bin/xpt.py
72 73
73MOZILLA= tor-browser 74MOZILLA= tor-browser
74MOZILLA_ICON= ${WRKSRC}/${OBJDIR}/dist/firefox/browser/chrome/icons/default/default48.png 75MOZILLA_ICON= ${WRKSRC}/${OBJDIR}/dist/firefox/browser/chrome/icons/default/default48.png
75MOZILLA_NAME= TorBrowser 76MOZILLA_NAME= TorBrowser
76 77
77SUBST_CLASSES+= sys-dic 78SUBST_CLASSES+= sys-dic
78SUBST_STAGE.sys-dic= pre-configure 79SUBST_STAGE.sys-dic= pre-configure
79SUBST_MESSAGE.sys-dic= Reference to system hunspell dictionaries. 80SUBST_MESSAGE.sys-dic= Reference to system hunspell dictionaries.
80SUBST_FILES.sys-dic= extensions/spellcheck/hunspell/src/mozHunspell.cpp 81SUBST_FILES.sys-dic= extensions/spellcheck/hunspell/src/mozHunspell.cpp
81SUBST_VARS.sys-dic= PREFIX 82SUBST_VARS.sys-dic= PREFIX
82 83
83post-extract: 84post-extract:
84 mv ${WRKSRC}/gfx/ycbcr/yuv_row_arm.s ${WRKSRC}/gfx/ycbcr/yuv_row_arm.S 85 mv ${WRKSRC}/gfx/ycbcr/yuv_row_arm.s ${WRKSRC}/gfx/ycbcr/yuv_row_arm.S
85 86
86pre-configure: 87pre-configure:
87 cd ${WRKSRC} && mkdir ${OBJDIR} 88 cd ${WRKSRC} && mkdir ${OBJDIR}
88 cd ${WRKSRC} && autoconf 89 cd ${WRKSRC} && autoconf
89 cd ${WRKSRC}/js/src && autoconf 90 cd ${WRKSRC}/js/src && autoconf
90 91
91post-build: 92post-build:
92 ${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \ 93 ${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \
93 -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \ 94 -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \
94 -e 's|@FIREFOX_ICON@|${MOZILLA}.png|g' \ 95 -e 's|@FIREFOX_ICON@|${MOZILLA}.png|g' \
95 < ${FILESDIR}/desktop.in \ 96 < ${FILESDIR}/desktop.in \
96 > ${WRKDIR}/desktop 97 > ${WRKDIR}/desktop
97 98
98INSTALLATION_DIRS+= share/applications share/pixmaps 99INSTALLATION_DIRS+= share/applications share/pixmaps
99post-install: 100post-install:
100 ${INSTALL_DATA} ${WRKDIR}/desktop \ 101 ${INSTALL_DATA} ${WRKDIR}/desktop \
101 ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop 102 ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
102 ${INSTALL_DATA} ${MOZILLA_ICON} \ 103 ${INSTALL_DATA} ${MOZILLA_ICON} \
103 ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png 104 ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
104 105
105.include "../../sysutils/desktop-file-utils/desktopdb.mk" 106.include "../../sysutils/desktop-file-utils/desktopdb.mk"
106.include "../../mk/bsd.pkg.mk" 107.include "../../mk/bsd.pkg.mk"