Page MenuHomeFreeBSD

Update GNUstep ports
ClosedPublic

Authored by theraven on Jun 30 2015, 4:13 PM.

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
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

theraven updated this revision to Diff 6593.Jun 30 2015, 4:13 PM
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)".
bapt edited edge metadata.Jun 30 2015, 4:41 PM

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 updated this revision to Diff 6607.EditedJun 30 2015, 8:48 PM
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
theraven added inline comments.Jul 1 2015, 7:59 AM
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 edited edge metadata.Jul 1 2015, 8:05 AM
bapt added a subscriber: tijl.
bapt added a comment.Jul 1 2015, 8:08 AM

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

tijl added inline comments.Jul 1 2015, 9:15 AM
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.

theraven added inline comments.Jul 1 2015, 10:06 AM
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 updated this revision to Diff 6619.Jul 1 2015, 10:07 AM
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

bapt added inline comments.Jul 1 2015, 10:10 AM
mail/pantomime/Makefile
13 ↗(On Diff #6619)

OBJCFLAGS are already passed to the env via objc.mk

Just OBJCFLAGS+= CPPFLAGS in your port

theraven added inline comments.Jul 1 2015, 10:16 AM
mail/pantomime/Makefile
13 ↗(On Diff #6619)

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

tijl added inline comments.Jul 1 2015, 10:18 AM
mail/pantomime/Makefile
13 ↗(On Diff #6619)

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

theraven updated this revision to Diff 6622.Jul 1 2015, 1:06 PM
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 accepted this revision.Jul 1 2015, 1:12 PM
bapt edited edge metadata.
This revision is now accepted and ready to land.Jul 1 2015, 1:12 PM
tijl added inline comments.Jul 1 2015, 1:18 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.