Page MenuHomeFreeBSD

Update GNUstep ports
ClosedPublic

Authored by theraven on Jun 30 2015, 4:13 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Dec 22, 5:44 AM
Unknown Object (File)
Thu, Dec 19, 7:12 AM
Unknown Object (File)
Mon, Dec 9, 8:57 AM
Unknown Object (File)
Sun, Dec 1, 4:13 AM
Unknown Object (File)
Fri, Nov 29, 7:47 AM
Unknown Object (File)
Mon, Nov 25, 9:28 PM
Unknown Object (File)
Mon, Nov 25, 6:49 PM
Unknown Object (File)
Mon, Nov 25, 6:48 PM
Subscribers

Details

Summary

Update the currently-out-of-date GNUstep ports.

Test Plan

Tested on a 10.0amd64 jail with poudriere testport. Needs testing on 9.x - is there a command to test multiple ports at once?

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

theraven retitled this revision from to Update GNUstep ports.
theraven updated this object.
theraven edited the test plan for this revision. (Show Details)
theraven added a reviewer: bapt.
theraven set the repository for this revision to rP FreeBSD ports repository.
theraven changed the edit policy from "All Users" to "committers (Project)".

put your list of ports in a file
poudriere bulk -t -f thefile -j thejail

I can do an exp-run too, I don't know if you tested all ports depending on gnustep?

I can do an exp-run too, I don't know if you tested all ports depending on gnustep?

I didn't, but since I'm testing on a 32-core machine I can probably do the equivalent overnight and save some project resource.

theraven edited edge metadata.
theraven removed rP FreeBSD ports repository as the repository for this revision.

Updated the diff fixing a couple of issues after trying

  1. poudriere bulk -t -j 100amd64-testport -p theraven -f gnustep_ports

Where gnustep_ports contains every port that includes the word gnustep in its Makefile (therefore including anything with USES=gnustep). This now builds correctly. Build log:

https://reviews.freebsd.org/P67

bapt requested changes to this revision.Jun 30 2015, 10:47 PM
bapt edited edge metadata.
bapt added inline comments.
mail/pantomime/Makefile
13 ↗(On Diff #6607)

This was already an issue before -liconv should be ${ICONV_LIB} so USES=iconv deals by itself with iconv on 10+ when it is in libc

18 ↗(On Diff #6607)

Should be USES_OPENSSL=yes (does it only work with portversion of libssl?)

x11/terminal.app/Makefile
21 ↗(On Diff #6607)

Same comment as above concerning -liconv

This revision now requires changes to proceed.Jun 30 2015, 10:47 PM
mail/pantomime/Makefile
13 ↗(On Diff #6607)

This breaks it. The problem is that a (transitive) build dependency depends on libiconv. This then means that the libiconv header - which does things like #define iconv_open libiconv_open is installed and picked up during compilation. The linker then complains that libiconv_open is not installed.

18 ↗(On Diff #6607)

It should work with either.

bapt added a subscriber: tijl.

Added @tijl for the iconv part

@tijl: I think we have an issue with USES=iconv here, as ICONV_LIB is not defined on FreeBSD 10.1 beside the fact that libiconv is pulled in as a dependency which prevent here from using ICONV_LIB instead of hardcoded "-liconv"

@theraven: note that -liconv like this will fail on poudriere on FreeBSD 10.2 and "recent" head because iconv.mk will not grab a dependency on libiconv

mail/pantomime/Makefile
13 ↗(On Diff #6607)

USES=iconv adds -DLIBICONV_PLUG to CPPFLAGS/CFLAGS/CXXFLAGS to omit those defines so check that the port respects these flags. You should be able to replace -liconv with ${ICONV_LIB} then.

mail/pantomime/Makefile
13 ↗(On Diff #6607)

Ah, that's the issue - OBJCFLAGS most needs to be set too. For this port and Terminal.app, I can do that, though it would be nice to do in a more generic way.

theraven edited edge metadata.
theraven set the repository for this revision to rP FreeBSD ports repository.

Fix iconv usage by passing CPPFLAGS to make as OBJCFLAGS

mail/pantomime/Makefile
13 ↗(On Diff #6619)

OBJCFLAGS are already passed to the env via objc.mk

Just OBJCFLAGS+= CPPFLAGS in your port

mail/pantomime/Makefile
13 ↗(On Diff #6619)

This doesn't appear to work (and neither does OBJCFLAGS += ${CPPFLAGS})

mail/pantomime/Makefile
13 ↗(On Diff #6619)

Maybe USES=iconv should just add -DLIBICONV_PLUG to OBJCFLAGS too.

theraven edited edge metadata.

Address iconv issues.

USES= iconv now sets the correct flag in OBJCFLAGS
USES= gnustep now propagates OBJCFLAGS into the stupidly named variable that GNUstep Make uses.

bapt edited edge metadata.
This revision is now accepted and ready to land.Jul 1 2015, 1:12 PM
Mk/Uses/gnustep.mk
36 ↗(On Diff #6622)

Maybe move FLAGS to the second case below because there's no ${FLAGS} variable. And move LDFLAGS from below here.

mail/pantomime/Makefile
16 ↗(On Diff #6622)

s/USES_OPENSSL/USE_OPENSSL/

This revision was automatically updated to reflect the committed changes.