summaryrefslogtreecommitdiff
path: root/devel/nspr
diff options
context:
space:
mode:
authorryoon <ryoon>2012-04-18 20:57:33 +0000
committerryoon <ryoon>2012-04-18 20:57:33 +0000
commit1dce779dbbb1d3a059ea8d739288e386b077f894 (patch)
tree95a51e3a6be7f748b19f814e7049ccd140efe12f /devel/nspr
parent26e0e9453d2c4ac817c68ca187cf21bdf20c6b07 (diff)
downloadpkgsrc-1dce779dbbb1d3a059ea8d739288e386b077f894.tar.gz
Add distinfo and patches.
Diffstat (limited to 'devel/nspr')
-rw-r--r--devel/nspr/distinfo17
-rw-r--r--devel/nspr/patches/patch-ab22
-rw-r--r--devel/nspr/patches/patch-ac82
-rw-r--r--devel/nspr/patches/patch-ae58
-rw-r--r--devel/nspr/patches/patch-ag31
-rw-r--r--devel/nspr/patches/patch-az19
-rw-r--r--devel/nspr/patches/patch-ba24
-rw-r--r--devel/nspr/patches/patch-nsprpub_pr_include_md__dragonfly.cfg199
-rw-r--r--devel/nspr/patches/patch-nsprpub_pr_include_md__pth.h30
-rw-r--r--devel/nspr/patches/patch-nsprpub_pr_include_md_prosdep.h13
-rw-r--r--devel/nspr/patches/patch-nsprpub_pr_src_md_unix_uxrng.c13
-rw-r--r--devel/nspr/patches/patch-nsprpub_pr_src_pthreads_ptio.c23
-rw-r--r--devel/nspr/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c13
13 files changed, 544 insertions, 0 deletions
diff --git a/devel/nspr/distinfo b/devel/nspr/distinfo
new file mode 100644
index 00000000000..b92f6dfb4d4
--- /dev/null
+++ b/devel/nspr/distinfo
@@ -0,0 +1,17 @@
+$NetBSD: distinfo,v 1.18 2012/04/18 20:57:33 ryoon Exp $
+
+SHA1 (nspr-4.9.tar.gz) = 57a6bb09ccb90d14303c3d9a6ec2592d8a5c0752
+RMD160 (nspr-4.9.tar.gz) = 35298a4752aa657196b9d2f41ad46f1bef7e22a2
+Size (nspr-4.9.tar.gz) = 1218528 bytes
+SHA1 (patch-ab) = 5d4b7512f8bbdc9e2e05709cec5b36dc12c25997
+SHA1 (patch-ac) = 6aa120769b63efa5869029655f50af901edb9129
+SHA1 (patch-ae) = 470d64f32fe1e619a101486a4bec45d2a06b6cab
+SHA1 (patch-ag) = a924296e6a569eba4229d661fbe5290eeeb999e0
+SHA1 (patch-az) = 5a09ccfa14fab962c4e2916f00669a1fa4a8ade4
+SHA1 (patch-ba) = 9d4058f2a3a290429b26cb8335dd5b188bccc96d
+SHA1 (patch-nsprpub_pr_include_md__dragonfly.cfg) = 9888fa5070d2201a8912be33a32ae32f1d26f8ce
+SHA1 (patch-nsprpub_pr_include_md__pth.h) = 4bfa7e66ac4017169aca87b2643218d1b1bcddcf
+SHA1 (patch-nsprpub_pr_include_md_prosdep.h) = ffbe93d98a2d0c6e9587bdf2b9ccfc81a342c34e
+SHA1 (patch-nsprpub_pr_src_md_unix_uxrng.c) = df081b19c517b034b0aa37c66fcd5ab8e5bcf67c
+SHA1 (patch-nsprpub_pr_src_pthreads_ptio.c) = f4f6e9b5e24de217665ad3a41ad4f1a24deeb519
+SHA1 (patch-nsprpub_pr_src_pthreads_ptsynch.c) = 9099113a3f783ef410d8fcce5cfc730b98a93bc7
diff --git a/devel/nspr/patches/patch-ab b/devel/nspr/patches/patch-ab
new file mode 100644
index 00000000000..898c0472455
--- /dev/null
+++ b/devel/nspr/patches/patch-ab
@@ -0,0 +1,22 @@
+$NetBSD: patch-ab,v 1.6 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/include/md/_netbsd.h.orig 2010-05-03 18:21:00.000000000 +0000
++++ nsprpub/pr/include/md/_netbsd.h
+@@ -79,7 +79,7 @@
+ #define HAVE_DLL
+ #define USE_DLFCN
+ #define _PR_HAVE_SOCKADDR_LEN
+-#define _PR_NO_LARGE_FILES
++#define _PR_HAVE_LARGE_OFF_T
+ #define _PR_STAT_HAS_ST_ATIMESPEC
+ #define _PR_POLL_AVAILABLE
+ #define _PR_USE_POLL
+@@ -107,6 +107,8 @@
+ #define JB_SP_INDEX 2
+ #elif defined(__mips__)
+ #define JB_SP_INDEX 4
++#elif defined(__amd64__)
++#define JB_SP_INDEX 6
+ #elif defined(__alpha__)
+ #define JB_SP_INDEX 34
+ #elif defined(__arm32__)
diff --git a/devel/nspr/patches/patch-ac b/devel/nspr/patches/patch-ac
new file mode 100644
index 00000000000..6d8de6ecdbd
--- /dev/null
+++ b/devel/nspr/patches/patch-ac
@@ -0,0 +1,82 @@
+$NetBSD: patch-ac,v 1.6 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/configure.in.orig 2011-09-02 20:15:44.000000000 +0000
++++ nsprpub/configure.in
+@@ -71,7 +71,7 @@ OBJDIR_NAME=.
+ OBJDIR_SUFFIX=OBJ
+ NSINSTALL='$(MOD_DEPTH)/config/$(OBJDIR_NAME)/nsinstall'
+ NOSUCHFILE=/no-such-file
+-LIBNSPR='-L$(dist_libdir) -lnspr$(MOD_MAJOR_VERSION)'
++LIBNSPR='-Wl,-R${prefix}/lib/${MOZILLA_PKG_NAME} -L$(dist_libdir) -lnspr$(MOD_MAJOR_VERSION)'
+ LIBPLC='-L$(dist_libdir) -lplc$(MOD_MAJOR_VERSION)'
+ CYGWIN_WRAPPER=
+ MACOS_SDK_DIR=
+@@ -1311,6 +1311,33 @@ tools are selected during the Xcode/Deve
+ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
+ MDCPUCFG_H=_freebsd.cfg
+ PR_MD_CSRCS=freebsd.c
++ if test "$LIBRUNPATH"; then
++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-R$LIBRUNPATH"
++ fi
++ ;;
++
++*-dragonfly*)
++ if test -z "$USE_NSPR_THREADS"; then
++ USE_PTHREADS=1
++ fi
++ AC_DEFINE(XP_UNIX)
++ AC_DEFINE(HAVE_BSD_FLOCK)
++ AC_DEFINE(HAVE_SOCKLEN_T)
++ CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall"
++ MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
++ if test "$MOZ_OBJFORMAT" = "elf"; then
++ DLL_SUFFIX=so
++ else
++ DLL_SUFFIX=so.1.0
++ fi
++ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
++ DSO_CFLAGS=-fPIC
++ DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)'
++ MDCPUCFG_H=_dragonfly.cfg
++ PR_MD_CSRCS=freebsd.c
++ if test "$LIBRUNPATH"; then
++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-R$LIBRUNPATH"
++ fi
+ ;;
+
+ *-hpux*)
+@@ -1925,6 +1952,7 @@ mips-nec-sysv*)
+ AC_DEFINE(XP_UNIX)
+ AC_DEFINE(NETBSD)
+ AC_DEFINE(HAVE_BSD_FLOCK)
++ AC_DEFINE(HAVE_SOCKLEN_T)
+ if test -z "$USE_NSPR_THREADS"; then
+ USE_PTHREADS=1
+ fi
+@@ -2730,7 +2758,7 @@ if test -n "$USE_PTHREADS"; then
+ if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then
+ ac_cv_have_dash_pthread=yes
+ case "$target_os" in
+- freebsd*)
++ freebsd* | dragonfly*)
+ # Freebsd doesn't use -pthread for compiles, it uses them for linking
+ ;;
+ *)
+@@ -2768,7 +2796,7 @@ if test -n "$USE_PTHREADS"; then
+ _PTHREAD_LDFLAGS=
+ fi
+ ;;
+- *-freebsd*)
++ *-freebsd* | *-dragonfly*)
+ AC_DEFINE(_REENTRANT)
+ AC_DEFINE(_THREAD_SAFE)
+ dnl -pthread links in -lc_r, so don't specify it explicitly.
+@@ -2849,7 +2877,7 @@ case "$target" in
+ AC_DEFINE(_PR_NEED_PTHREAD_INIT)
+ fi
+ ;;
+-*-freebsd*)
++*-freebsd* | *-dragonfly*)
+ if test -n "$USE_NSPR_THREADS"; then
+ AC_DEFINE(_PR_LOCAL_THREADS_ONLY)
+ fi
diff --git a/devel/nspr/patches/patch-ae b/devel/nspr/patches/patch-ae
new file mode 100644
index 00000000000..fb621767738
--- /dev/null
+++ b/devel/nspr/patches/patch-ae
@@ -0,0 +1,58 @@
+$NetBSD: patch-ae,v 1.5 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/src/misc/prnetdb.c.orig 2011-09-22 20:20:37.000000000 +0000
++++ nsprpub/pr/src/misc/prnetdb.c
+@@ -105,7 +105,7 @@ PRLock *_pr_dnsLock = NULL;
+ || defined(AIX4_3_PLUS) || (defined(AIX) && defined(_THREAD_SAFE)) \
+ || (defined(HPUX10_10) && defined(_REENTRANT)) \
+ || (defined(HPUX10_20) && defined(_REENTRANT)) \
+- || defined(OPENBSD)
++ || defined(OPENBSD) || defined(NETBSD)
+ #define _PR_HAVE_GETPROTO_R
+ #define _PR_HAVE_GETPROTO_R_INT
+ #endif
+@@ -115,6 +115,11 @@ PRLock *_pr_dnsLock = NULL;
+ #define _PR_HAVE_5_ARG_GETPROTO_R
+ #endif
+
++#if __DragonFly_version >= 200202
++#define _PR_HAVE_GETPROTO_R
++#define _PR_HAVE_5_ARG_GETPROTO_R
++#endif
++
+ /* BeOS has glibc but not the glibc-style getprotobyxxx_r functions. */
+ #if (defined(__GLIBC__) && __GLIBC__ >= 2 && !defined(XP_BEOS))
+ #define _PR_HAVE_GETPROTO_R
+@@ -332,7 +337,7 @@ _pr_QueryNetIfs(void)
+ }
+
+ #elif (defined(DARWIN) && defined(HAVE_GETIFADDRS)) || defined(FREEBSD) \
+- || defined(NETBSD) || defined(OPENBSD)
++ || defined(NETBSD) || defined(OPENBSD) || defined(DRAGONFLY)
+
+ /*
+ * Use the BSD getifaddrs function.
+@@ -2076,6 +2081,11 @@ PR_IMPLEMENT(PRAddrInfo *) PR_GetAddrInf
+ */
+ hints.ai_socktype = SOCK_STREAM;
+
++/* NetBSD >= 2.99.9 has a thread-safe resolver */
++#if defined(__NetBSD_Version__) && __NetBSD_Version__ < 299000900
++ LOCK_DNS();
++#endif
++
+ rv = GETADDRINFO(hostname, NULL, &hints, &res);
+ #ifdef AI_ADDRCONFIG
+ if (rv == EAI_BADFLAGS && (hints.ai_flags & AI_ADDRCONFIG)) {
+@@ -2083,6 +2093,11 @@ PR_IMPLEMENT(PRAddrInfo *) PR_GetAddrInf
+ rv = GETADDRINFO(hostname, NULL, &hints, &res);
+ }
+ #endif
++
++#if defined(__NetBSD_Version__) && __NetBSD_Version__ < 299000900
++ UNLOCK_DNS();
++#endif
++
+ if (rv == 0)
+ return (PRAddrInfo *) res;
+
diff --git a/devel/nspr/patches/patch-ag b/devel/nspr/patches/patch-ag
new file mode 100644
index 00000000000..a455487677e
--- /dev/null
+++ b/devel/nspr/patches/patch-ag
@@ -0,0 +1,31 @@
+$NetBSD: patch-ag,v 1.3 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/include/md/_freebsd.h.orig 2010-03-16 01:02:50.000000000 +0000
++++ nsprpub/pr/include/md/_freebsd.h
+@@ -79,7 +79,7 @@
+ #define _PR_HAVE_LARGE_OFF_T
+
+ #if defined(_PR_PTHREADS)
+-#if __FreeBSD_version >= 400008
++#if defined(__DragonFly__) || __FreeBSD_version >= 400008
+ /*
+ * libc_r before this version of FreeBSD doesn't have poll().
+ * Although libc has poll(), it is not thread-safe so we can't
+@@ -88,7 +88,7 @@
+ #define _PR_POLL_AVAILABLE
+ #endif
+ #else
+-#if __FreeBSD_version >= 300000
++#if defined(__DragonFly__) || __FreeBSD_version >= 300000
+ #define _PR_POLL_AVAILABLE
+ #define _PR_USE_POLL
+ #endif
+@@ -97,7 +97,7 @@
+ #define _PR_HAVE_SYSV_SEMAPHORES
+ #define PR_HAVE_SYSV_NAMED_SHARED_MEMORY
+
+-#if __FreeBSD_version >= 400014
++#if defined(__DragonFly__) || __FreeBSD_version >= 400014
+ #define _PR_INET6
+ #define _PR_HAVE_INET_NTOP
+ #define _PR_HAVE_GETHOSTBYNAME2
diff --git a/devel/nspr/patches/patch-az b/devel/nspr/patches/patch-az
new file mode 100644
index 00000000000..77d9ffbf0c3
--- /dev/null
+++ b/devel/nspr/patches/patch-az
@@ -0,0 +1,19 @@
+$NetBSD: patch-az,v 1.1 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/src/pthreads/ptthread.c.orig 2009-11-02 22:43:08.000000000 +0100
++++ nsprpub/pr/src/pthreads/ptthread.c
+@@ -1089,12 +1089,12 @@ PR_IMPLEMENT(void) PR_ProcessExit(PRIntn
+ _exit(status);
+ }
+
+-PR_IMPLEMENT(PRUint32) PR_GetThreadID(PRThread *thred)
++PR_IMPLEMENT(pthread_t) PR_GetThreadID(PRThread *thred)
+ {
+ #if defined(_PR_DCETHREADS)
+ return (PRUint32)&thred->id; /* this is really a sham! */
+ #else
+- return (PRUint32)thred->id; /* and I don't know what they will do with it */
++ return thred->id; /* and I don't know what they will do with it */
+ #endif
+ }
+
diff --git a/devel/nspr/patches/patch-ba b/devel/nspr/patches/patch-ba
new file mode 100644
index 00000000000..3009e277eb3
--- /dev/null
+++ b/devel/nspr/patches/patch-ba
@@ -0,0 +1,24 @@
+$NetBSD: patch-ba,v 1.1 2012/04/18 20:57:33 ryoon Exp $
+
+pthread_t may be 64-bit, avoid casting it.
+
+--- nsprpub/pr/include/private/pprthred.h.orig 2009-11-02 22:43:08.000000000 +0100
++++ nsprpub/pr/include/private/pprthred.h
+@@ -51,6 +51,8 @@
+ #include <os2.h>
+ #endif
+
++#include <pthread.h>
++
+ PR_BEGIN_EXTERN_C
+
+ /*---------------------------------------------------------------------------
+@@ -91,7 +93,7 @@ NSPR_API(void) PR_DetachThread(void);
+ ** Get the id of the named thread. Each thread is assigned a unique id
+ ** when it is created or attached.
+ */
+-NSPR_API(PRUint32) PR_GetThreadID(PRThread *thread);
++NSPR_API(pthread_t) PR_GetThreadID(PRThread *thread);
+
+ /*
+ ** Set the procedure that is called when a thread is dumped. The procedure
diff --git a/devel/nspr/patches/patch-nsprpub_pr_include_md__dragonfly.cfg b/devel/nspr/patches/patch-nsprpub_pr_include_md__dragonfly.cfg
new file mode 100644
index 00000000000..24cc76fb5ed
--- /dev/null
+++ b/devel/nspr/patches/patch-nsprpub_pr_include_md__dragonfly.cfg
@@ -0,0 +1,199 @@
+$NetBSD: patch-nsprpub_pr_include_md__dragonfly.cfg,v 1.1 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/include/md/_dragonfly.cfg.orig 2011-11-21 15:51:33.130151000 +0000
++++ nsprpub/pr/include/md/_dragonfly.cfg
+@@ -0,0 +1,194 @@
++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* ***** BEGIN LICENSE BLOCK *****
++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
++ *
++ * The contents of this file are subject to the Mozilla Public License Version
++ * 1.1 (the "License"); you may not use this file except in compliance with
++ * the License. You may obtain a copy of the License at
++ * http://www.mozilla.org/MPL/
++ *
++ * Software distributed under the License is distributed on an "AS IS" basis,
++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
++ * for the specific language governing rights and limitations under the
++ * License.
++ *
++ * The Original Code is the Netscape Portable Runtime (NSPR).
++ *
++ * The Initial Developer of the Original Code is
++ * Netscape Communications Corporation.
++ * Portions created by the Initial Developer are Copyright (C) 1998-2000
++ * the Initial Developer. All Rights Reserved.
++ *
++ * Contributor(s):
++ *
++ * Alternatively, the contents of this file may be used under the terms of
++ * either the GNU General Public License Version 2 or later (the "GPL"), or
++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++ * in which case the provisions of the GPL or the LGPL are applicable instead
++ * of those above. If you wish to allow use of your version of this file only
++ * under the terms of either the GPL or the LGPL, and not to allow others to
++ * use your version of this file under the terms of the MPL, indicate your
++ * decision by deleting the provisions above and replace them with the notice
++ * and other provisions required by the GPL or the LGPL. If you do not delete
++ * the provisions above, a recipient may use your version of this file under
++ * the terms of any one of the MPL, the GPL or the LGPL.
++ *
++ * ***** END LICENSE BLOCK ***** */
++
++#ifndef nspr_cpucfg___
++#define nspr_cpucfg___
++
++#ifndef XP_UNIX
++#define XP_UNIX
++#endif
++
++#define PR_AF_INET6 28 /* same as AF_INET6 */
++
++#ifndef HAVE_LONG_LONG
++#define HAVE_LONG_LONG
++#endif
++
++#if defined(__i386__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#undef HAVE_ALIGNED_DOUBLES
++#undef HAVE_ALIGNED_LONGLONGS
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 4
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 4
++#define PR_BYTES_PER_DWORD 8
++#define PR_BYTES_PER_WORD_LOG2 2
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 32
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 32
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 5
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 5
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 4
++#define PR_ALIGN_OF_INT64 4
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 4
++#define PR_ALIGN_OF_POINTER 4
++
++#elif defined(__amd64__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#define HAVE_ALIGNED_DOUBLES
++#define HAVE_ALIGNED_LONGLONGS
++#define IS_64
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 8
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 8
++#define PR_BYTES_PER_DWORD 8
++#define PR_BYTES_PER_WORD_LOG2 3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 64
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 64
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 6
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 6
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 8
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 8
++#define PR_ALIGN_OF_WORD 8
++
++#else
++
++#error "Unknown CPU architecture"
++
++#endif
++
++#ifndef NO_NSPR_10_SUPPORT
++
++#define BYTES_PER_BYTE PR_BYTES_PER_BYTE
++#define BYTES_PER_SHORT PR_BYTES_PER_SHORT
++#define BYTES_PER_INT PR_BYTES_PER_INT
++#define BYTES_PER_INT64 PR_BYTES_PER_INT64
++#define BYTES_PER_LONG PR_BYTES_PER_LONG
++#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT
++#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE
++#define BYTES_PER_WORD PR_BYTES_PER_WORD
++#define BYTES_PER_DWORD PR_BYTES_PER_DWORD
++
++#define BITS_PER_BYTE PR_BITS_PER_BYTE
++#define BITS_PER_SHORT PR_BITS_PER_SHORT
++#define BITS_PER_INT PR_BITS_PER_INT
++#define BITS_PER_INT64 PR_BITS_PER_INT64
++#define BITS_PER_LONG PR_BITS_PER_LONG
++#define BITS_PER_FLOAT PR_BITS_PER_FLOAT
++#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE
++#define BITS_PER_WORD PR_BITS_PER_WORD
++
++#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
++#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
++#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2
++#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
++#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
++#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
++#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2
++#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
++
++#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT
++#define ALIGN_OF_INT PR_ALIGN_OF_INT
++#define ALIGN_OF_LONG PR_ALIGN_OF_LONG
++#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64
++#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT
++#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE
++#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER
++#define ALIGN_OF_WORD PR_ALIGN_OF_WORD
++
++#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
++#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2
++#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2
++
++#endif /* NO_NSPR_10_SUPPORT */
++
++#endif /* nspr_cpucfg___ */
diff --git a/devel/nspr/patches/patch-nsprpub_pr_include_md__pth.h b/devel/nspr/patches/patch-nsprpub_pr_include_md__pth.h
new file mode 100644
index 00000000000..0cef28f654a
--- /dev/null
+++ b/devel/nspr/patches/patch-nsprpub_pr_include_md__pth.h
@@ -0,0 +1,30 @@
+$NetBSD: patch-nsprpub_pr_include_md__pth.h,v 1.1 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/include/md/_pth.h.orig 2011-09-02 20:15:44.000000000 +0000
++++ nsprpub/pr/include/md/_pth.h
+@@ -146,7 +146,7 @@
+ #define _PT_PTHREAD_COPY_THR_HANDLE(st, dt) (dt) = (st)
+ #elif defined(IRIX) || defined(OSF1) || defined(AIX) || defined(SOLARIS) \
+ || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \
+- || defined(HPUX) || defined(FREEBSD) \
++ || defined(HPUX) || defined(FREEBSD) || defined(__DragonFly__) \
+ || defined(NETBSD) || defined(OPENBSD) || defined(BSDI) \
+ || defined(NTO) || defined(DARWIN) \
+ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN)
+@@ -237,7 +237,7 @@
+ #endif /* defined(_PR_DCETHREADS) */
+
+ #elif defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \
+- || defined(FREEBSD) || defined(SYMBIAN)
++ || defined(FREEBSD) || defined(SYMBIAN) || defined(__DragonFly__)
+ #define PT_PRIO_MIN sched_get_priority_min(SCHED_OTHER)
+ #define PT_PRIO_MAX sched_get_priority_max(SCHED_OTHER)
+ #elif defined(NTO)
+@@ -296,6 +296,7 @@ extern int (*_PT_aix_yield_fcn)();
+ #elif defined(HPUX) || defined(SOLARIS) \
+ || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \
+ || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \
++ || defined(__DragonFly__) \
+ || defined(BSDI) || defined(NTO) || defined(DARWIN) \
+ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN)
+ #define _PT_PTHREAD_YIELD() sched_yield()
diff --git a/devel/nspr/patches/patch-nsprpub_pr_include_md_prosdep.h b/devel/nspr/patches/patch-nsprpub_pr_include_md_prosdep.h
new file mode 100644
index 00000000000..a75e6d0c1a5
--- /dev/null
+++ b/devel/nspr/patches/patch-nsprpub_pr_include_md_prosdep.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-nsprpub_pr_include_md_prosdep.h,v 1.1 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/include/md/prosdep.h.orig 2011-09-02 20:15:44.000000000 +0000
++++ nsprpub/pr/include/md/prosdep.h
+@@ -66,7 +66,7 @@ PR_BEGIN_EXTERN_C
+ #if defined(AIX)
+ #include "md/_aix.h"
+
+-#elif defined(FREEBSD)
++#elif defined(FREEBSD) || defined(__DragonFly__)
+ #include "md/_freebsd.h"
+
+ #elif defined(NETBSD)
diff --git a/devel/nspr/patches/patch-nsprpub_pr_src_md_unix_uxrng.c b/devel/nspr/patches/patch-nsprpub_pr_src_md_unix_uxrng.c
new file mode 100644
index 00000000000..a7051524eb0
--- /dev/null
+++ b/devel/nspr/patches/patch-nsprpub_pr_src_md_unix_uxrng.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-nsprpub_pr_src_md_unix_uxrng.c,v 1.1 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/src/md/unix/uxrng.c.orig 2011-09-02 20:15:44.000000000 +0000
++++ nsprpub/pr/src/md/unix/uxrng.c
+@@ -126,7 +126,7 @@ GetHighResClock(void *buf, size_t maxbyt
+
+ #elif (defined(LINUX) || defined(FREEBSD) || defined(__FreeBSD_kernel__) \
+ || defined(NETBSD) || defined(__NetBSD_kernel__) || defined(OPENBSD) \
+- || defined(SYMBIAN))
++ || defined(SYMBIAN)) || defined(__DragonFly__)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
diff --git a/devel/nspr/patches/patch-nsprpub_pr_src_pthreads_ptio.c b/devel/nspr/patches/patch-nsprpub_pr_src_pthreads_ptio.c
new file mode 100644
index 00000000000..bcfc5031ce6
--- /dev/null
+++ b/devel/nspr/patches/patch-nsprpub_pr_src_pthreads_ptio.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-nsprpub_pr_src_pthreads_ptio.c,v 1.1 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/src/pthreads/ptio.c.orig 2011-09-02 20:15:44.000000000 +0000
++++ nsprpub/pr/src/pthreads/ptio.c
+@@ -212,7 +212,8 @@ static PRBool _pr_ipv6_v6only_on_by_defa
+ || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) \
+ || defined(FREEBSD) || defined(NETBSD) || defined(OPENBSD) \
+ || defined(BSDI) || defined(NTO) || defined(DARWIN) \
+- || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN)
++ || defined(UNIXWARE) || defined(RISCOS) || defined(SYMBIAN) \
++ || defined(__DragonFly__)
+ #define _PRSelectFdSetArg_t fd_set *
+ #else
+ #error "Cannot determine architecture"
+@@ -3285,7 +3286,7 @@ static PRIOMethods _pr_socketpollfd_meth
+ || defined(AIX) || defined(FREEBSD) || defined(NETBSD) \
+ || defined(OPENBSD) || defined(BSDI) || defined(NTO) \
+ || defined(DARWIN) || defined(UNIXWARE) || defined(RISCOS) \
+- || defined(SYMBIAN)
++ || defined(SYMBIAN) || defined(__DragonFly__)
+ #define _PR_FCNTL_FLAGS O_NONBLOCK
+ #else
+ #error "Can't determine architecture"
diff --git a/devel/nspr/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c b/devel/nspr/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c
new file mode 100644
index 00000000000..d00e4e4fe72
--- /dev/null
+++ b/devel/nspr/patches/patch-nsprpub_pr_src_pthreads_ptsynch.c
@@ -0,0 +1,13 @@
+$NetBSD: patch-nsprpub_pr_src_pthreads_ptsynch.c,v 1.1 2012/04/18 20:57:33 ryoon Exp $
+
+--- nsprpub/pr/src/pthreads/ptsynch.c.orig 2011-09-02 20:15:44.000000000 +0000
++++ nsprpub/pr/src/pthreads/ptsynch.c
+@@ -842,7 +842,7 @@ PR_IMPLEMENT(PRStatus) PR_DeleteSemaphor
+ */
+ #if (defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)) \
+ || defined(FREEBSD) || defined(OPENBSD) || defined(BSDI) \
+- || defined(DARWIN) || defined(SYMBIAN)
++ || defined(DARWIN) || defined(SYMBIAN) || defined(__DragonFly__)
+ /* union semun is defined by including <sys/sem.h> */
+ #else
+ /* according to X/OPEN we have to define it ourselves */