pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/45638: devel/nspr headers define FREEBSD, break LibreOffice



The following reply was made to PR pkg/45638; it has been noted by GNATS.

From: Francois Tigeot <ftigeot%wolfpond.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: ftigeot%wolfpond.org@localhost
Subject: Re: pkg/45638: devel/nspr headers define FREEBSD, break LibreOffice
Date: Mon, 21 Nov 2011 20:55:38 +0100

 --45Z9DzgjV8m4Oswq
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 On Mon, Nov 21, 2011 at 07:45:00PM +0000, gnats-admin%NetBSD.org@localhost 
wrote:
 > Thank you very much for your problem report.
 > It has the internal identification `pkg/45638'.
 > The individual assigned to look at your
 > report is: pkg-manager. 
 > 
 > >Category:       pkg
 > >Responsible:    pkg-manager
 > >Synopsis:       devel/nspr headers define FREEBSD, break LibreOffice
 > >Arrival-Date:   Mon Nov 21 19:45:00 +0000 2011
 
 The attached patches fix the problem with LibreOffice. I have verified
 www/seamonkey and www/firefox still work fine with them.
 
 -- 
 Francois Tigeot
 
 --45Z9DzgjV8m4Oswq
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename=patch-ac
 
 $NetBSD$
 
 --- 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
 
 --45Z9DzgjV8m4Oswq
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; 
filename="patch-nsprpub_pr_include_md__dragonfly.cfg"
 
 $NetBSD$
 
 --- 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___ */
 
 --45Z9DzgjV8m4Oswq
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="patch-nsprpub_pr_include_md__pth.h"
 
 $NetBSD$
 
 --- 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()
 
 --45Z9DzgjV8m4Oswq
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; 
filename="patch-nsprpub_pr_include_md_prosdep.h"
 
 $NetBSD$
 
 --- 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)
 
 --45Z9DzgjV8m4Oswq
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; 
filename="patch-nsprpub_pr_src_md_unix_uxrng.c"
 
 $NetBSD$
 
 --- 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>
 
 --45Z9DzgjV8m4Oswq
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; 
filename="patch-nsprpub_pr_src_pthreads_ptio.c"
 
 $NetBSD$
 
 --- 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"
 
 --45Z9DzgjV8m4Oswq
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; 
filename="patch-nsprpub_pr_src_pthreads_ptsynch.c"
 
 $NetBSD$
 
 --- 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 */
 
 --45Z9DzgjV8m4Oswq--
 


Home | Main Index | Thread Index | Old Index