Bug 196780 - [patch] unbreak graphics/libspiro build on FreeBSD 8
Summary: [patch] unbreak graphics/libspiro build on FreeBSD 8
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Don Lewis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-15 19:18 UTC by Don Lewis
Modified: 2015-01-18 17:38 UTC (History)
1 user (show)

See Also:
cyberbotx: maintainer-feedback+


Attachments
patch to unbreak graphics/libspiro build on FreeBSD 8 (932 bytes, patch)
2015-01-15 19:18 UTC, Don Lewis
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Don Lewis freebsd_committer freebsd_triage 2015-01-15 19:18:03 UTC
Created attachment 151700 [details]
patch to unbreak graphics/libspiro build on FreeBSD 8

Building graphics/libspiro on FreeBSD 8 fails with the following error:

[snip]
gmake[2]: Entering directory '/wrkdirs/usr/ports/graphics/libspiro/work/fontforge-libspiro-15fdb23'
  CC       spiro.lo
  CC       spiroentrypoints.lo
  CC       bezctx.lo
  CCLD     libspiro.la
libtool:   error: CURRENT '' must be a nonnegative integer
libtool:   error: ':2:0' is not valid version information
Makefile:495: recipe for target 'libspiro.la' failed
gmake[2]: *** [libspiro.la] Error 1

Looking around for 2:0 ...
# grep '2:0' *
Makefile:LIBSPIRO_VERSION = $0:2:0
config.log:LIBSPIRO_VERSION='$0:2:0'
config.status:S["LIBSPIRO_VERSION"]="$0:2:0"

which is obviously bogus.

The origin is a typo in configure.ac:
#-------------------------------------------
# Pass variables to MAKEFILE.AM
AC_SUBST(HOST,$host)
AC_SUBST(LIBSPIRO_VERSION,$spiro_info)

This is incorrect because spiro_info is an m4 variable, so the $ gets
prepended to its value when generating Makefile.  The Makefile than uses
LIBSPIRO_VERSION here:
libspiro_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBSPIRO_VERSION).
The shell then sees $0:2:0 and chokes.

FreeBSD 9 and newer are able to build the port because their version of /bin/sh has been patched in a way that allows them to accept this as input.
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2015-01-15 19:18:03 UTC
Maintainer CC'd
Comment 2 Naram Qashat 2015-01-16 22:23:57 UTC
libspiro's developer has fixed this on their GitHub in the time since the release being used for the port. In the meantime, this patch is acceptable until there is a new release made.
Comment 3 commit-hook freebsd_committer freebsd_triage 2015-01-18 17:37:07 UTC
A commit references this bug:

Author: truckman
Date: Sun Jan 18 17:36:13 UTC 2015
New revision: 377338
URL: https://svnweb.freebsd.org/changeset/ports/377338

Log:
  Add a patch to nuke an extraneous $ in configure.ac that
  gives the FreeBSD 8 version of /bin/sh heartburn.

  PR:		196780
  Differential Revision:	https://reviews.freebsd.org/D1546
  Approved by:	mat (mentor)
  Approved by:	cyberbotx@cyberbotx.com (maintainer)

Changes:
  head/graphics/libspiro/files/
  head/graphics/libspiro/files/patch-configure.ac