Page MenuHomeFreeBSD

Add CUPS option to editors/openoffice*, mark broken on systems with clang
ClosedPublic

Authored by truckman on Mar 12 2015, 6:29 PM.
Tags
None
Referenced Files
F78444734: D2055.id.diff
Sun, Mar 3, 10:18 AM
F78443064: D2055.diff
Sun, Mar 3, 9:34 AM
Unknown Object (File)
Feb 1 2024, 8:13 AM
Unknown Object (File)
Dec 27 2023, 3:45 PM
Unknown Object (File)
Dec 19 2023, 11:43 PM
Unknown Object (File)
Dec 9 2023, 1:28 AM
Unknown Object (File)
Dec 3 2023, 12:30 AM
Unknown Object (File)
Nov 19 2023, 4:29 PM
Subscribers
None

Details

Summary

Mark BROKEN on systems that use clang as their primary compiler.
Some of the ports that this port depends on are C++, and when
they are compiled with clang, they link to libc++, which conflicts
with libstdc++ that this port links to. This manifests as
application crashes when an operation pops up a dialog box.

Add a CUPS option so that CUPS can be disabled (PR 198458).

Register print/cups-client as a LIB_DEPENDS when CUPS is enabled.

pkg-message claims that user settings are stored in
~/.openoffice,org4, whereas all other platforms seem to use
~/.openoffice.org/4 (or equivalent), and both openoffice-4 and
openoffice-devel actually use ~/.openoffice.org-devel/4. The
addition of -devel to the location happened with r325370.
The / appears to have been introduced in r297259. Change the
location match other platforms. Introduce a new variable
${AOOUDIR} so that the actual location and pkg-message stay in
sync.

Rename ${OOOTAG} to ${AOOTAG} and restore its value so that it
can once again be substituted into pkg-message. It has not
been set since r296269.

Test Plan

Build, install, and run both openoffice-4 and openoffice-devel,
verifying that the user settings directory is correct and
that pkg-message prints the correct location.

Build and install without CUPS.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

truckman retitled this revision from to Add CUPS option to editors/openoffice*, mark broken on systems with clang.
truckman updated this object.
truckman edited the test plan for this revision. (Show Details)
truckman added reviewers: mat, pfg.
pfg edited edge metadata.

Yes, OpenOffice is broken on FreeBSD 10+ :(.

My guess is that building with clang will work fine on those platforms? Hope that is the next step.

This revision is now accepted and ready to land.Mar 13 2015, 8:52 PM

I actually just got a successful build with clang (3.5 from ports) on 10.1-STABLE amd64. I was even able to install and run the resulting package. It appears to be stable. In the process I broke gcc builds on 9.3. I'm working on fixing that now. Once I've got both of those working, I'll duplicate the amd64 changes for the i386 files.

I'm wishing I had my faster hardware assembled. My current fastest machine takes a bit over two hours to do a build.

I've got a lot of other things on my plate for the weekend, but I'm hoping to get something in committable shape in the next couple of days.

mat edited edge metadata.

You could add different patches for >= 10 and < 10, even if it could make it a bit of a mess...

truckman edited edge metadata.

Unbreak editors/openoffice* on systems where clang is the base compiler

If the primary compiler in base is clang, then compile OpenOffice with
clang as well to avoid conflicts between libstdc++ and libc++ that is
brought it by C++ dependencies that were compiled with clang. Patch
exception handling code to be compatible with libc++.

Gather and sort USE_*.

Simplify use of ${REINPLACE_CMD}.

--x-includes and --x-libraries are automatically passed to configure,
which ignores them for these ports.

This revision now requires review to proceed.Mar 15 2015, 9:30 PM

ports/UPDATING message:

AFFECTS: users of editors/openoffice-4 and editors/openoffice-devel
AUTHOR: truckman@FreeBSD.org

Contrary to what is stated in pkg-message, openoffice-4 and openoffice-devel have stored
user settings in ~/.openoffice.org-devel/4 since r325370 (2013-08-25). This update expects
user settings to reside in the more standard ~/.openoffice.org/4.

To preserve your user settings, rename or copy them from ~/.openoffice.org-devel/4 to ~/.openoffice.org/4. when installing this update.

mat edited edge metadata.
mat added inline comments.
editors/openoffice-4/Makefile
122–124 ↗(On Diff #4232)

You don't need both, if you really need port.pre, only include it, and if you don't, only include port.options.

This revision is now accepted and ready to land.Mar 15 2015, 11:50 PM
truckman edited edge metadata.

Nuke unnecessary .include <bsd.port.options.mk>

This revision now requires review to proceed.Mar 16 2015, 6:13 AM
mat edited edge metadata.
This revision is now accepted and ready to land.Mar 16 2015, 9:55 AM

Thank you! The patch looks reasonably well done.

I assume you want to contribute this changes upstream and that I can go ahead and commit them (under an Apache License).

I would like to encourage your to sign an Individual Contributor License Agreement:

http://www.apache.org/licenses/

You still own your patches but this way it would make it easier in case you are invited to become a committer :).

editors/openoffice-4/files/patch-bridges_source_cpp__uno_gcc3__freebsd__intel_except.cxx
7 ↗(On Diff #4236)

It is improbable we may want to keep using gcc in the future but JIC, you could add a case for GCC >= 5:

... || ((GNUC >= 5)

editors/openoffice-4/files/patch-bridges_source_cpp__uno_gcc3__freebsd__x86-64_except.cxx
8 ↗(On Diff #4236)

Same thing for GNUC >=5 as in the previous comment.

editors/openoffice-devel/files/patch-bridges_source_cpp__uno_gcc3__freebsd__intel_except.cxx
8 ↗(On Diff #4236)

Again, prepare for gcc5?

editors/openoffice-devel/files/patch-bridges_source_cpp__uno_gcc3__freebsd__x86-64_except.cxx
8 ↗(On Diff #4236)

Yet another case to watch for gcc5.

editors/openoffice-devel/files/patch-freebsd.mk
11 ↗(On Diff #4236)

(off-topic) I would love to upstream the complete patch with whatever is the default for FreeBSD >=10, so that the upstream AOO builds out of the box in latest FreeBSD versions.

editors/openoffice-devel/files/pkg-message.in
16 ↗(On Diff #4236)

It should say Apache OpenOffice (OO.org is deprecated) but don't bother to update it if you don't want to.

editors/openoffice-4/Makefile
122–124 ↗(On Diff #4232)

I think I need port.pre to get COMPILER_TYPE and COMPILER_VERSION.

editors/openoffice-4/files/patch-bridges_source_cpp__uno_gcc3__freebsd__intel_except.cxx
7 ↗(On Diff #4236)

It's not totally out of the question. The way that it could happen is if the default ports version of gcc got bumped to 5 before we EOL a branch that uses gcc as its base compiler.

editors/openoffice-4/files/patch-bridges_source_cpp__uno_gcc3__freebsd__intel_uno2cpp.cxx
7–11 ↗(On Diff #4236)

My preference would be to leave this file unpatched and fix the namespace issue elsewhere, but I got it working and was tired of fighting with getting things to build with clang.

It would be a my preference for a proper upstream fix.

editors/openoffice-4/files/patch-bridges_source_cpp__uno_gcc3__freebsd__x86-64_uno2cpp.cxx
7–11 ↗(On Diff #4236)

Same namespace comment applies here.

editors/openoffice-devel/files/pkg-message.in
16 ↗(On Diff #4236)

There are some other edits I'd also make to the wording in this file.

In D2055#21, @pfg wrote:

Thank you! The patch looks reasonably well done.

I assume you want to contribute this changes upstream and that I can go ahead and commit them (under an Apache License).

Yes, though you might want to wait a bit ... see below.

I would like to encourage your to sign an Individual Contributor License Agreement:

http://www.apache.org/licenses/

You still own your patches but this way it would make it easier in case you are invited to become a committer :).

Submitted earlier today.

My plan is to commit this as is to get a working version of OpenOffice on FreeBSD 10+ in the hands of our users.

My next step would be to update -devel to a more recent snapshot, incorporating the changes that both you and I have suggested and contribute those upstream. Hopefully 4.2.0 will be out before we have to seriously worry about gcc5.

editors/openoffice-4/Makefile
122–124 ↗(On Diff #4232)

Yes, the USES are brought in after whatever is included by port.options.

pfg edited edge metadata.

Thank you for your work on this: I am aware that building this repeatedly is painful.

truckman updated this revision to Diff 4257.

Closed by commit rP381494 (authored by @truckman).