NetBSD Problem Report #51695

From www@NetBSD.org  Wed Dec  7 03:26:01 2016
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id BFEFF7A31B
	for <gnats-bugs@gnats.NetBSD.org>; Wed,  7 Dec 2016 03:26:01 +0000 (UTC)
Message-Id: <20161207032600.539FA7A35F@mollari.NetBSD.org>
Date: Wed,  7 Dec 2016 03:26:00 +0000 (UTC)
From: davshao@gmail.com
Reply-To: davshao@gmail.com
To: gnats-bugs@NetBSD.org
Subject: www/firefox FreeBSD and DragonFly build fixes and audio playback options
X-Send-Pr-Version: www-1.0

>Number:         51695
>Category:       pkg
>Synopsis:       www/firefox FreeBSD and DragonFly build fixes and audio playback options
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    ryoon
>State:          feedback
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 07 03:30:00 +0000 2016
>Closed-Date:    
>Last-Modified:  Sun Jun 04 12:09:45 +0000 2023
>Originator:     David Shao
>Release:        current pkgsrc
>Organization:
>Environment:
FreeBSD xxxxxx.xxx 11.0-RELEASE-p2 FreeBSD 11.0-RELEASE-p2 #0: Mon Oct 24 06:55:27 UTC 2016     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
I can hear voices no one else can hear.  But this is good because I am hearing them running Youtube in pkgsrc Firefox 50.0.2 on DragonFly 4.7 and FreeBSD 11 release.

There are three separate issues, two for the build, one for audio options.

1) Neither DragonFly nor FreeBSD in pkgsrc support the Google widevine CDM.

2) DragonFly doesn't like it when malloc.h is included.

3) I could get successful audio playback for DragonFly only with options oss and dbus.  This oss dbus combination also works with FreeBSD.

I haven't actually tested the changes to options.mk below; instead, I had selected these options in /usr/pkg/etc/mk.conf  (along with -pulseaudio).


>How-To-Repeat:

>Fix:
diff -Nur www/firefox/distinfo www/firefox.new/distinfo
--- www/firefox/distinfo	2016-12-05 03:54:45.000000000 -0800
+++ www/firefox.new/distinfo	2016-12-05 08:23:14.562418000 -0800
@@ -70,6 +70,8 @@
 SHA1 (patch-js_src_moz.build) = 42d9aba521881cb08065d37889ca29a0071eb632
 SHA1 (patch-js_xpconnect_src_XPCConvert.cpp) = 915777e9bb5366be41866cdb6ea0ad2b1c006dde
 SHA1 (patch-js_xpconnect_src_xpcprivate.h) = e09e37819961bae40a9f276ae1ee510d2956c23e
+SHA1 (patch-media_ffvpx_libavutil_mem.c) = 04b73d2bcdf22bea0a6b78d48a64ada9de7928fc
+SHA1 (patch-media_libav_libavutil_mem.c) = 06815b5e851b0c4216b1bf5699286d2b93ec59ed
 SHA1 (patch-media_libcubeb_src_cubeb.c) = 91eb24595c423b7e086670bb67e73cfd0bfb5559
 SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = cd510e274e2eca1fb045f996d42cbe546fccb726
 SHA1 (patch-media_libcubeb_src_cubeb__oss.c) = e15cc2d0c220738ccfd57f79eec242095c8ea536
diff -Nur www/firefox/mozilla-common.mk www/firefox.new/mozilla-common.mk
--- www/firefox/mozilla-common.mk	2016-12-06 00:14:22.000000000 -0800
+++ www/firefox.new/mozilla-common.mk	2016-12-06 07:07:46.973936000 -0800
@@ -10,9 +10,11 @@
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
 BUILD_DEPENDS+=		yasm>=1.1:../../devel/yasm

+.if ${OPSYS} != "DragonFly" && ${OPSYS} != "FreeBSD"
 # Enable Google widevine CDM. This requires external libwidevinecdm.so.
 CONFIGURE_ARGS+=	--enable-eme=widevine
 .endif
+.endif

 HAS_CONFIGURE=		yes
 CONFIGURE_ARGS+=	--prefix=${PREFIX}
diff -Nur www/firefox/options.mk www/firefox.new/options.mk
--- www/firefox/options.mk	2016-12-03 03:30:28.000000000 -0800
+++ www/firefox.new/options.mk	2016-12-06 18:50:38.247246000 -0800
@@ -10,6 +10,10 @@
 PKG_SUGGESTED_OPTIONS+=	alsa mozilla-jemalloc dbus
 .elif ${OPSYS} == "NetBSD"
 PKG_SUGGESTED_OPTIONS+=	alsa dbus
+.elif ${OPSYS} == "FreeBSD"
+PKG_SUGGESTED_OPTIONS+=	oss dbus
+.elif ${OPSYS} == "DragonFly"
+PKG_SUGGESTED_OPTIONS+=	oss dbus
 .else
 PKG_SUGGESTED_OPTIONS+= dbus pulseaudio
 .endif
diff -Nur www/firefox/patches/patch-media_ffvpx_libavutil_mem.c www/firefox.new/patches/patch-media_ffvpx_libavutil_mem.c
--- www/firefox/patches/patch-media_ffvpx_libavutil_mem.c	1969-12-31 16:00:00.000000000 -0800
+++ www/firefox.new/patches/patch-media_ffvpx_libavutil_mem.c	2016-04-28 04:20:54.000000000 -0700
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- media/ffvpx/libavutil/mem.c.orig	2016-04-22 00:37:23.000000000 +0000
++++ media/ffvpx/libavutil/mem.c
+@@ -32,9 +32,11 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifndef __DragonFly__
+ #if HAVE_MALLOC_H
+ #include <malloc.h>
+ #endif
++#endif /* __DragonFly__*/
+ 
+ #include "avassert.h"
+ #include "avutil.h"
diff -Nur www/firefox/patches/patch-media_libav_libavutil_mem.c www/firefox.new/patches/patch-media_libav_libavutil_mem.c
--- www/firefox/patches/patch-media_libav_libavutil_mem.c	1969-12-31 16:00:00.000000000 -0800
+++ www/firefox.new/patches/patch-media_libav_libavutil_mem.c	2015-12-07 04:00:41.000000000 -0800
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- media/libav/libavutil/mem.c.orig	2015-10-29 22:17:49.000000000 +0000
++++ media/libav/libavutil/mem.c
+@@ -30,9 +30,11 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
++#if !defined(__DragonFly__)
+ #if HAVE_MALLOC_H
+ #include <malloc.h>
+ #endif
++#endif
+ 
+ #include "avutil.h"
+ #include "common.h"

>Release-Note:

>Audit-Trail:
From: Kamil Rytarowski <n54@gmx.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/51695: www/firefox FreeBSD and DragonFly build fixes and
 audio playback options
Date: Wed, 7 Dec 2016 05:33:49 +0100

 This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
 --HQoRRxfTkavSmE131TBBX4VRbdS3C2iNc
 Content-Type: multipart/mixed; boundary="Dqh5T53Ha0V3WldpDFNsWPDAGrXi36xWl"
 From: Kamil Rytarowski <n54@gmx.com>
 To: gnats-bugs@NetBSD.org
 Message-ID: <9164cc32-fd76-b841-9087-228ebfed905d@gmx.com>
 Subject: Re: pkg/51695: www/firefox FreeBSD and DragonFly build fixes and
  audio playback options
 References: <pr-pkg-51695@gnats.netbsd.org>
  <20161207032600.539FA7A35F@mollari.NetBSD.org>
  <20161207033000.682A97A367@mollari.NetBSD.org>
 In-Reply-To: <20161207033000.682A97A367@mollari.NetBSD.org>

 --Dqh5T53Ha0V3WldpDFNsWPDAGrXi36xWl
 Content-Type: text/plain; charset=windows-1252
 Content-Transfer-Encoding: quoted-printable

 Can you build/enable the webrtc option on FreeBSD/DragonflyBSD? If so, I
 would suggest to turn it on by default.


 --Dqh5T53Ha0V3WldpDFNsWPDAGrXi36xWl--

 --HQoRRxfTkavSmE131TBBX4VRbdS3C2iNc
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"

 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2

 iQIcBAEBCAAGBQJYR5E0AAoJEEuzCOmwLnZsXyUP/3/K/bn2f8tmbEzasfGdR3X7
 luqEIVQMn/h6EfzeO5gUk7DtSamMaThmkNRJtW7LtLff7czXqqVqaQOTKjaVTto0
 O8rPKTcsjP+QBqllO2cM5l4liw/KO2rJ/w88dY0TCtC37+OzLbFRHdDRodCILf/E
 q9bde536I4U1IDp+87Fn4+hTtuANramBu29Mt1a4g/jHjRrLwk2rdIRnpp97K0tL
 xrLRVQcZuC08xjwnvSnfZrt69uWBWo1UizgF1fc0Ep4KpCg0Z6QcoG35XQu2RAJt
 xK0FbC01QEjVUGHHuUizlDzMc8Ec36ooj89owZEjCY5c7Dqmoa40uQVBG8FgLuaf
 YNMwc0Zt8SbB8wyQJrMxCsU0OmlOBNZhEW9DiYLf99AELSFNBb+g7E/XdGMjbLqW
 s13RRu5w+Pap2Topv5XqvoPwGC8RsubHSIw9qe4lMNUEO3bcfnX2LAL0wULQFP6P
 HllK8w39w80sH13kuqiYSdm+OWID+B/hamRwevcxZBaggo5xaK+iiMmT5tGzWeV6
 Yot9p3wwzlTmuJoapx8w89wR90ChqndbzMflCWQfKk4g5ClVECGNOVKbAmQMvXRN
 PrfTYHSdQt2W4GJrCTe49YsoDfIfH1RVSwrAIXUexgSQlH7EuVnh1+i1TZzntA4+
 s+cGmDYEOBMLO0CAZDJA
 =hX2J
 -----END PGP SIGNATURE-----

 --HQoRRxfTkavSmE131TBBX4VRbdS3C2iNc--

Responsible-Changed-From-To: pkg-manager->ryoon
Responsible-Changed-By: maya@NetBSD.org
Responsible-Changed-When: Wed, 07 Dec 2016 20:37:30 +0000
Responsible-Changed-Why:
Over to maintainer. what do you think?


From: "Maya Rashish" <maya@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/51695 CVS commit: pkgsrc/www/firefox
Date: Sat, 4 Feb 2017 11:14:27 +0000

 Module Name:	pkgsrc
 Committed By:	maya
 Date:		Sat Feb  4 11:14:27 UTC 2017

 Modified Files:
 	pkgsrc/www/firefox: options.mk

 Log Message:
 firefox: use oss on freebsd and dragonflybsd.
 no pkgrevision bump because it does not build.

 only part of PR pkg/51695 from David Shao.


 To generate a diff of this commit:
 cvs rdiff -u -r1.34 -r1.35 pkgsrc/www/firefox/options.mk

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Maya Rashish" <maya@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/51695 CVS commit: pkgsrc/www/firefox
Date: Sat, 4 Feb 2017 12:58:13 +0000

 Module Name:	pkgsrc
 Committed By:	maya
 Date:		Sat Feb  4 12:58:12 UTC 2017

 Modified Files:
 	pkgsrc/www/firefox: Makefile

 Log Message:
 firefox: don't include malloc.h on dragonflybsd.

 a slightly more maintenance friendly version of the patch in PR pkg/51695 from
 David Shao.


 To generate a diff of this commit:
 cvs rdiff -u -r1.280 -r1.281 pkgsrc/www/firefox/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: coypu@SDF.ORG
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/51695: www/firefox FreeBSD and DragonFly build fixes and
 audio playback options
Date: Sat, 4 Feb 2017 13:00:38 +0000

 Is the widevine-eme part necessary? Does it not build because of it?

From: David Shao <davshao@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/51695: www/firefox FreeBSD and DragonFly build fixes and
 audio playback options
Date: Sat, 4 Feb 2017 12:06:51 -0800

 Last night I combed through DragonFly dports and compared its
 www/firefox patches.  The problem is I am not sure whether
 recent kernel changes to DragonFly are causing lockups running
 Firefox, even running DragonFly dports version.

 I had actually been running the following
 patch for a few weeks that fixed the malloc.h build problems on
 DragonFly:

 diff -Nur -x CVS
 www/firefox.orig/patches/patch-build_moz.configure_memory.configure
 www/firefox/patches/patch-build_moz.configure_memory.configure
 --- www/firefox.orig/patches/patch-build_moz.configure_memory.configure
    1969-12-31 16:00:00.000000000 -0800
 +++ www/firefox/patches/patch-build_moz.configure_memory.configure
 2017-01-10 09:07:56.000000000 -0800
 @@ -0,0 +1,13 @@
 +$NetBSD$
 +
 +--- build/moz.configure/memory.configure.orig    2016-10-31
 20:15:27.000000000 +0000
 ++++ build/moz.configure/memory.configure
 +@@ -66,7 +66,7 @@ def jemalloc_os_define(jemalloc, jemallo
 +             return 'MOZ_MEMORY_LINUX'
 +         if target.kernel == 'Darwin':
 +             return 'MOZ_MEMORY_DARWIN'
 +-        if target.kernel in ('kFreeBSD', 'FreeBSD', 'NetBSD'):
 ++        if target.kernel in ('kFreeBSD', 'FreeBSD', 'NetBSD', 'DragonFly'):
 +             return 'MOZ_MEMORY_BSD'
 +         die('--enable-jemalloc is not supported on %s', target.kernel)
 +

 Other relevant DragonFly-only patches, which I don't think are
 necessarily needed
 for building, are:

 diff -Nur -x CVS www/firefox.orig/patches/patch-as www/firefox/patches/patch-as
 --- www/firefox.orig/patches/patch-as    2017-01-25 15:03:59.677614000 -0800
 +++ www/firefox/patches/patch-as    2017-02-02 21:52:48.022541000 -0800
 @@ -15,3 +15,21 @@
   dnl Special win32 checks
   dnl ========================================================

 +@@ -1053,7 +1056,7 @@ dnl Checks for header files.
 + dnl ========================================================
 + AC_HEADER_DIRENT
 + case "$target_os" in
 +-freebsd*)
 ++freebsd*|dragonfly*)
 + # for stuff like -lXshm
 +     CPPFLAGS="${CPPFLAGS} ${X_CFLAGS}"
 +     ;;
 +@@ -1184,7 +1187,7 @@ then
 +     fi
 +
 +     case "$target" in
 +-        *-*-freebsd*)
 ++        *-*-freebsd*|*-*-dragonfly*)
 +             AC_DEFINE(_REENTRANT)
 +             AC_DEFINE(_THREAD_SAFE)
 +             dnl -pthread links in -lpthread, so don't specify it explicitly.

 diff -Nur -x CVS
 www/firefox.orig/patches/patch-js_src_jsnativestack.cpp
 www/firefox/patches/patch-js_src_jsnativestack.cpp
 --- www/firefox.orig/patches/patch-js_src_jsnativestack.cpp
 1969-12-31 16:00:00.000000000 -0800
 +++ www/firefox/patches/patch-js_src_jsnativestack.cpp    2017-02-02
 21:50:16.549421000 -0800
 @@ -0,0 +1,16 @@
 +$NetBSD$
 +
 +From DragonFly dports
 +
 +--- js/src/jsnativestack.cpp.orig    2016-05-12 17:13:19.000000000 +0000
 ++++ js/src/jsnativestack.cpp
 +@@ -102,7 +102,8 @@ js::GetNativeStackBaseImpl()
 +     pthread_attr_init(&sattr);
 + #  if defined(__OpenBSD__)
 +     stack_t ss;
 +-#  elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD)
 ++#  elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD)  \
 ++     || defined(__DragonFly__)
 +     /* e.g. on FreeBSD 4.8 or newer, neundorf@kde.org */
 +     pthread_attr_get_np(thread, &sattr);
 + #  else

 There are also a couple of DragonFly specific patches for functions
 moved to sys/lwp.h, but I think that might have even been reverted.

 And I believe neither FreeBSD nor DragonFly support Google
 widevine, but I might be wrong:

 diff -Nur -x CVS www/firefox.orig/mozilla-common.mk
 www/firefox/mozilla-common.mk
 --- www/firefox.orig/mozilla-common.mk    2017-01-27 16:08:20.804346000 -0800
 +++ www/firefox/mozilla-common.mk    2017-01-26 18:13:39.140741000 -0800
 @@ -10,9 +10,11 @@
  .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
  BUILD_DEPENDS+=        yasm>=1.1:../../devel/yasm

 +.if ${OPSYS} != "DragonFly" && ${OPSYS} != "FreeBSD"
  # Enable Google widevine CDM. This requires external libwidevinecdm.so.
  CONFIGURE_ARGS+=    --enable-eme=widevine
  .endif
 +.endif

  HAS_CONFIGURE=        yes
  CONFIGURE_ARGS+=    --prefix=${PREFIX}

From: "Maya Rashish" <maya@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/51695 CVS commit: pkgsrc/www/firefox
Date: Thu, 16 Feb 2017 02:25:17 +0000

 Module Name:	pkgsrc
 Committed By:	maya
 Date:		Thu Feb 16 02:25:17 UTC 2017

 Modified Files:
 	pkgsrc/www/firefox: distinfo
 	pkgsrc/www/firefox/patches: patch-as
 Added Files:
 	pkgsrc/www/firefox/patches: patch-build_moz.configure_memory.configure

 Log Message:
 firefox: add some configure bits for DragonflyBSD lost in the passage of
 time. PR pkg/51695


 To generate a diff of this commit:
 cvs rdiff -u -r1.272 -r1.273 pkgsrc/www/firefox/distinfo
 cvs rdiff -u -r1.21 -r1.22 pkgsrc/www/firefox/patches/patch-as
 cvs rdiff -u -r0 -r1.1 \
     pkgsrc/www/firefox/patches/patch-build_moz.configure_memory.configure

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: coypu@SDF.ORG
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/51695: www/firefox FreeBSD and DragonFly build fixes and
 audio playback options
Date: Thu, 16 Feb 2017 20:56:14 +0000

 Just a heads up, by Firefox 54 Rust will be required to
 build firefox (and the pkgsrc package is about to receive
 a makeover due to some upstream changes, so not worth
 looking at).

 I've sent the configure patch upstream, I have a bad
 experience with getting stuff accepted but maybe this
 will be the one.
 https://bugzilla.mozilla.org/show_bug.cgi?id=1340015

From: David Shao <davshao@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/51695: www/firefox FreeBSD and DragonFly build fixes and
 audio playback options
Date: Fri, 10 Mar 2017 23:08:13 -0800

 Thank you for the extraordinary effort that has been put into porting all
 of the FreeBSD ports bug fixes into Firefox 52, and a couple of DragonFly
 fixes as well.

 1) One huge problem:  FreeBSD 12 current doesn't seem to like

  CONFIGURE_ENV+=        CPP=${CPP}

 from mozilla-common.mk.  Even configure bombs out fast with:

 cd /usr/pkgsrc/www/firefox/work/firefox-52.0 && autoconf
 cd /usr/pkgsrc/www/firefox/work/firefox-52.0/js/src && autoconf
 cd /usr/pkgsrc/www/firefox/work/firefox-52.0 && mkdir ../build
 cd /usr/pkgsrc/www/firefox/work/firefox-52.0/../build && touch
 old-configure.vars
 env: -E: No such file or directory
 *** Error code 127


 The entries from /usr/pkg/etc/mk.conf look like this:

 .ifdef BSD_PKG_MK    # begin pkgsrc settings

 ABI=            64
 PKGSRC_COMPILER=    clang
 CC=            clang
 CXX=            clang++
 CPP=            ${CC} -E
 CLANGBASE=        /usr

 PKG_DBDIR=        /var/pkgsrc/db/pkg
 LOCALBASE=        /usr/pkg
 VARBASE=        /var
 PKG_TOOLS_BIN=        /usr/pkg/sbin
 PKGINFODIR=        info
 PKGMANDIR=        man

 PREFER_PKGSRC=        yes


 .endif            # end pkgsrc settings

 And .if .endif conditional for FreeBSD commenting out that one
 line is enough for Firefox 52 build to succeed on FreeBSD 12,
 and I am composing this reply using it.

 I have not had time to test FreeBSD 11 stable or release, but
 I suspect similar problems.  Any reports from people running
 other BSDs using clang as their base compiler?

 2) A much smaller quibble but one of the patches actually
 addresses the DragonFly malloc.h problem.  Thus I don't
 seem to need to use from Makefile:

 -SUBST_CLASSES+=            dfly_malloc_h
 -SUBST_STAGE.dfly_malloc_h=    pre-configure
 -SUBST_MESSAGE.dfly_malloc_h=    Dont include malloc.h on dragonflybsd
 -SUBST_SED.dfly_malloc_h=    -e 's,HAVE_MALLOC_H,HAVE_MALLOC_H \&\&
 !defined(__DragonFly__),g'
 -SUBST_FILES.dfly_malloc_h=    media/libav/libavutil/mem.c
 -SUBST_FILES.dfly_malloc_h+=    media/ffvpx/libavutil/mem.c

 I think it might have been this one:

 $NetBSD: patch-build_moz.configure_memory.configure,v 1.1 2017/02/16
 02:25:17 maya Exp $

 Recognise DragonflyBSD

 --- build/moz.configure/memory.configure.orig    2017-01-16
 16:16:51.000000000 +0000
 +++ build/moz.configure/memory.configure
 @@ -66,7 +66,7 @@ def jemalloc_os_define(jemalloc, jemallo
              return 'MOZ_MEMORY_LINUX'
          if target.kernel == 'Darwin':
              return 'MOZ_MEMORY_DARWIN'
 -        if target.kernel in ('kFreeBSD', 'FreeBSD', 'NetBSD'):
 +        if target.kernel in ('kFreeBSD', 'FreeBSD', 'NetBSD', 'DragonFly'):
              return 'MOZ_MEMORY_BSD'
          die('--enable-jemalloc is not supported on %s', target.kernel)

 3) This patch is from DragonFly dports but I don't think they've updated to
 Firefox 52 yet.

 diff -Nur -x CVS
 www/firefox.orig/patches/patch-js_src_jsnativestack.cpp
 www/firefox/patches/patch-js_src_jsnativestack.cpp
 --- www/firefox.orig/patches/patch-js_src_jsnativestack.cpp
 1969-12-31 16:00:00.000000000 -0800
 +++ www/firefox/patches/patch-js_src_jsnativestack.cpp    2017-02-02
 21:50:16.000000000 -0800
 @@ -0,0 +1,16 @@
 +$NetBSD$
 +
 +From DragonFly dports
 +
 +--- js/src/jsnativestack.cpp.orig    2016-05-12 17:13:19.000000000 +0000
 ++++ js/src/jsnativestack.cpp
 +@@ -102,7 +102,8 @@ js::GetNativeStackBaseImpl()
 +     pthread_attr_init(&sattr);
 + #  if defined(__OpenBSD__)
 +     stack_t ss;
 +-#  elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD)
 ++#  elif defined(PTHREAD_NP_H) || defined(_PTHREAD_NP_H_) || defined(NETBSD)  \
 ++     || defined(__DragonFly__)
 +     /* e.g. on FreeBSD 4.8 or newer, neundorf@kde.org */
 +     pthread_attr_get_np(thread, &sattr);
 + #  else

 4) I have simply lost track about whether these patches for the ridiculous
 moving of a couple of functions to sys/lwp.h are needed anymore.

 diff -Nur -x CVS
 www/firefox.orig/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
 www/firefox/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
 --- www/firefox.orig/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
    2016-06-16 05:08:21.000000000 -0700
 +++ www/firefox/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc
    2017-02-02 21:48:15.000000000 -0800
 @@ -2,10 +2,11 @@

  * Support NetBSD
  * Support Solaris
 +* DragonFly may or may not move lwp definitions, from DragonFly dports

 ---- ipc/chromium/src/base/platform_thread_posix.cc.orig    2016-05-12
 17:13:13.000000000 +0000
 +--- ipc/chromium/src/base/platform_thread_posix.cc.orig    2016-09-05
 20:12:53.000000000 +0000
  +++ ipc/chromium/src/base/platform_thread_posix.cc
 -@@ -10,7 +10,9 @@
 +@@ -12,10 +12,17 @@
   #if defined(OS_MACOSX)
   #include <mach/mach.h>
   #elif defined(OS_NETBSD)
 @@ -15,7 +16,15 @@
   #elif defined(OS_LINUX)
   #include <sys/syscall.h>
   #include <sys/prctl.h>
 -@@ -105,7 +107,8 @@ void PlatformThread::SetName(const char*
 ++#elif defined(OS_DRAGONFLY)
 ++#include <sys/param.h>
 ++#if __DragonFly_version >= 400709
 ++#include <sys/lwp.h>
 ++#endif
 + #endif
 +
 + #if !defined(OS_MACOSX)
 +@@ -107,7 +114,8 @@ void PlatformThread::SetName(const char*


 diff -Nur -x CVS
 www/firefox.orig/patches/patch-media_webrtc_trunk_webrtc_base_thread__checker__impl.cc
 www/firefox/patches/patch-media_webrtc_trunk_webrtc_base_thread__checker__impl.cc
 --- www/firefox.orig/patches/patch-media_webrtc_trunk_webrtc_base_thread__checker__impl.cc
    1969-12-31 16:00:00.000000000 -0800
 +++ www/firefox/patches/patch-media_webrtc_trunk_webrtc_base_thread__checker__impl.cc
    2017-02-02 21:54:10.000000000 -0800
 @@ -0,0 +1,18 @@
 +$NetBSD$
 +
 +DragonFly may or may not move lwp definitions, from DragonFly dports
 +
 +--- media/webrtc/trunk/webrtc/base/thread_checker_impl.cc.orig
 2016-05-12 17:13:19.000000000 +0000
 ++++ media/webrtc/trunk/webrtc/base/thread_checker_impl.cc
 +@@ -22,6 +22,11 @@
 + #include <lwp.h>
 + #elif defined(__FreeBSD__)
 + #include <pthread_np.h>
 ++#elif defined(__DragonFly__)
 ++#include <sys/param.h>
 ++#if __DragonFly_version >= 400709
 ++#include <sys/lwp.h>
 ++#endif
 + #endif
 +
 + namespace rtc {

State-Changed-From-To: open->feedback
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Sun, 04 Jun 2023 12:09:45 +0000
State-Changed-Why:
Is this still relevant?  Lots of firefox updates since 2016.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2023 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.