Bug 196780

Summary: [patch] unbreak graphics/libspiro build on FreeBSD 8
Product: Ports & Packages Reporter: Don Lewis <truckman>
Component: Individual Port(s)Assignee: Don Lewis <truckman>
Status: Closed FIXED    
Severity: Affects Some People CC: cyberbotx
Priority: --- Flags: cyberbotx: maintainer-feedback+
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
patch to unbreak graphics/libspiro build on FreeBSD 8 none

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