Bug 216245 - editors/openoffice-devel: add option for mysql driver + minor fixes
Summary: editors/openoffice-devel: add option for mysql driver + minor fixes
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: FreeBSD Office Team
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2017-01-18 21:29 UTC by Pedro F. Giffuni
Modified: 2017-01-31 03:45 UTC (History)
1 user (show)

See Also:


Attachments
port cleanups and options update. (2.62 KB, patch)
2017-01-18 21:29 UTC, Pedro F. Giffuni
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Pedro F. Giffuni freebsd_committer 2017-01-18 21:29:05 UTC
Created attachment 179052 [details]
port cleanups and options update.

This is only an update to the ports side, upstream has some other fixes that may be welcome, like better support for reproducible builds.

-Add an option for the mysql driver, off by default so we don't increase the build time and dependencies.
- Cleanups to the pdf import which should pull poppler along with poppler-glib, only when the option is set.
Comment 1 commit-hook freebsd_committer 2017-01-31 03:25:51 UTC
A commit references this bug:

Author: truckman
Date: Tue Jan 31 03:25:01 UTC 2017
New revision: 432895
URL: https://svnweb.freebsd.org/changeset/ports/432895

Log:
  Upgrade to upstream svn revision r1780246.  This incorporates the
  pointer comparision fixes required to compile with clang 4.0, so
  delete patch-clang40.  Also,
  patch-lingucomponent_source_spellcheck_spell_sspellimp.cxx has been
  incorporated upstream.

  On amd64, clang++ 4.0 uses the MOVAPS SSE instruction to initialize
  sufficiently large objects returned by the "new" operator.  This
  requires that the object have 16-byte alignment.  The FreeBSD
  malloc() implementation does the correct thing here, but OpenOffice
  has a couple of internal memory allocator implementations that only
  align to 8-byte boundaries at most.  In addition OpenOffice overrides
  the new operator to interpose a couple of layers of wrappers.  If
  the --enable-debug option is passed to configure, the wrapper adds
  8 to the size passed to the allocator and adds an 8 byte offset to
  the pointer returned by the allocator to make room for a signature
  that it adds to the beginning of the memory block (the signature
  is validated and the inverse transformation is done when the memory
  is freed).  This breaks the proper alignment done by the mamory
  allocator.  Fix these problems by adding an EXTRA_PATCH that teaches
  the internal OpenOffice memory allocators to do 16-byte alignment
  and to use a 16-byte offset in the "new" wrapper, and apply this
  patch on amd64 if clang 4.0 is the system compiler.

  Pass the --with-alloc=system flag to configure so that the libc
  version of malloc() is used instead of one of the internal memory
  allocator implementations.

  Fix a few mis-sorts in BUILD_DEPENDS and don't list www/p5-libwww
  twice.

  Fix a sporadic failure in the clear_001 QA test that occasionally
  breaks the build.  The nominal mutex hold time is 5 seconds, but
  because it is only checked one per second, the actual time is more
  likely to be around 6 seconds.  When the before time value is
  subtracted from the after time value, the result might be 7 whole
  seconds and a large negative number of nanoseconds.  Since the
  pass/fail check only looks at the difference in the seconds fields,
  it will fail the "< 7" assertion.  Relax the assertion to "<= 7"
  as a quick fix.

  Add PowerPC64 support.  [1]

  Add a section to pkg-message mentioning that spell check dictionaries
  for the desired languages should be installed.  [2]

  Various fixes from PR 216245:   [3]
   * Add option for mysql driver, default off.

   * Poppler is only needed for the optional PDF Import extension
     (and we only need poppler and not poppler-glib).

   * The --without-stlport configure flag is not needed.

   * Pass the -with-build-version flag to configure (but use ${PKGNAME}
     for completeness instead of just  ${PORTNAME}-${PORTVERSION})

   * Tweak a comment in the Makefile.

  PR:		215130, 212103, 216245
  Submitted by:	Curtis Hamilton <hamiltcl@verizon.net> [1]
  Submitted by:	Arrigo Marchiori <ardovm AT yahoo.it> [2]
  Submitted by:	pfg [3]

Changes:
  head/editors/openoffice-devel/Makefile
  head/editors/openoffice-devel/distinfo
  head/editors/openoffice-devel/files/Makefile.others
  head/editors/openoffice-devel/files/extra-patch-align16
  head/editors/openoffice-devel/files/patch-clang40
  head/editors/openoffice-devel/files/patch-lingucomponent_source_spellcheck_spell_sspellimp.cxx
  head/editors/openoffice-devel/files/patch-sal_qa_osl_mutex_osl__Mutex.cxx
  head/editors/openoffice-devel/files/pkg-message.in
Comment 2 commit-hook freebsd_committer 2017-01-31 03:43:08 UTC
A commit references this bug:

Author: truckman
Date: Tue Jan 31 03:42:08 UTC 2017
New revision: 432898
URL: https://svnweb.freebsd.org/changeset/ports/432898

Log:
  On amd64, clang++ 4.0 uses the MOVAPS SSE instruction to initialize
  sufficiently large objects returned by the "new" operator.  This
  requires that the object have 16-byte alignment.  The FreeBSD
  malloc() implementation does the correct thing here, but OpenOffice
  has a couple of internal memory allocator implementations that only
  align to 8-byte boundaries at most.  In addition OpenOffice overrides
  the new operator to interpose a couple of layers of wrappers.  If
  the --enable-debug option is passed to configure, the wrapper adds
  8 to the size passed to the allocator and adds an 8 byte offset to
  the pointer returned by the allocator to make room for a signature
  that it adds to the beginning of the memory block (the signature
  is validated and the inverse transformation is done when the memory
  is freed).  This breaks the proper alignment done by the mamory
  allocator.  Fix these problems by adding an EXTRA_PATCH that teaches
  the internal OpenOffice memory allocators to do 16-byte alignment
  and to use a 16-byte offset in the "new" wrapper, and apply this
  patch on amd64 if clang 4.0 is the system compiler.
  Pass the --with-alloc=system flag to configure so that the libc
  version of malloc() is used instead of one of the internal memory
  allocator implementations.

  Fix a few mis-sorts in BUILD_DEPENDS and don't list www/p5-libwww
  twice.

  Fix a compile error in the bridges code when --enable-debug is
  specified.

  Fix a sporadic failure in the clear_001 QA test that occasionally
  breaks the build.  The nominal mutex hold time is 5 seconds, but
  because it is only checked one per second, the actual time is more
  likely to be around 6 seconds.  When the before time value is
  subtracted from the after time value, the result might be 7 whole
  seconds and a large negative number of nanoseconds.  Since the
  pass/fail check only looks at the difference in the seconds fields,
  it will fail the "< 7" assertion.  Relax the assertion to "<= 7"
  as a quick fix.

  The editors/openoffice-4 port does not need poppler.  It is only
  needed for the PDF import extension, which is not built in OpenOffice
  4.1.x.

  Cherrypick some cleanups from PR 216245 [1]:
   * The --without-stlport configure flag is not needed.

   * Pass the -with-build-version flag to configure (but use ${PKGNAME}
     for completeness instead of just  ${PORTNAME}-${PORTVERSION})

   * Tweak a comment in the Makefile.

  PR:		216245
  Submitted by:	pfg [1]

Changes:
  head/editors/openoffice-4/Makefile
  head/editors/openoffice-4/files/extra-patch-align16
  head/editors/openoffice-4/files/patch-bridges_source_cpp__uno_gcc3__freebsd__x86-64_uno2cpp.cxx
  head/editors/openoffice-4/files/patch-sal_qa_osl_mutex_osl__Mutex.cxx