Bug 82135 - [maintainer-update] audio/ocp 0.1.7 -> 0.1.9
Summary: [maintainer-update] audio/ocp 0.1.7 -> 0.1.9
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Sam Lawrance
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-11 07:00 UTC by Emanuel Haupt
Modified: 2005-06-12 14:30 UTC (History)
0 users

See Also:


Attachments
ocp.patch (6.09 KB, patch)
2005-06-11 07:00 UTC, Emanuel Haupt
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Emanuel Haupt 2005-06-11 07:00:39 UTC
The follwing patch updates audio/ocp from version 0.1.7 to 0.1.9.
The new version supports libadplug (audio/libadplug) file formats which can
be turned on with the WITH_ADPLUG knob. Currently WITH_ADPLUG breaks X11 support,
that is why WITH_ADPLUG is disabled per default.

Suggestion for ${PORTSDIR}/UPDATING

%Y%m%d:
  AFFECTS: audio/ocp
  AUTHOR: ehaupt@critical.ch

  ocp 0.1.9 has now support for libadplug. If you are using ocp under 4.x,
  audio/libadplug and devel/libbinio needs to be built with GCC 3.4+
  If you have already installed devel/libbinio prior to version 1.3_1 or
  audio/libadplug prior to version 1.5.1_1 please do the following steps:

    - cvsup your ports tree
    # portupgrade libadplug libbinio
Comment 1 Sam Lawrance freebsd_committer 2005-06-11 08:04:38 UTC
Responsible Changed
From-To: freebsd-ports-bugs->lawrance

Take
Comment 2 Sam Lawrance freebsd_committer 2005-06-12 07:17:25 UTC
State Changed
From-To: open->feedback

Asked submitter for feedback
Comment 3 haupt 2005-06-12 10:55:04 UTC
[ gcc fail lines ]

> Heimdal installs /usr/local/include/fnmatch.h.  OCP attempts to use this
> header, when it should be using /usr/include/fnmatch.h.
> 
> Could you look into this?

since we -I${LOCALBASE}/include ${LOCALBASE}/include has priority over
/usr/include. for now this patch hacks arround this problem.

i'm in constant contact with the author. i will advise him to catch
this problem earlier with autoconf.

cheers,
emanuel


--- Makefile.patch starts here ---
--- Makefile.orig	Sun Jun 12 11:46:23 2005
+++ Makefile	Sun Jun 12 11:42:40 2005
@@ -42,6 +42,9 @@
 
 TIMIDITY_CFG=	${LOCALBASE}/share/timidity/timidity.cfg
 
+# conflicts with fnmatch.h from security/heimdal
+FNMATCHCONFL=	${LOCALBASE}/include/fnmatch.h
+
 .include <bsd.port.pre.mk>
 
 .if exists(${TIMIDITY_CFG}) || !defined(WITHOUT_MIDI)
@@ -95,6 +98,11 @@
 	@${REINPLACE_CMD} -e 's|stdint\.h|inttypes\.h|' ${WRKSRC}/types.h
 	@${REINPLACE_CMD} -e 's|/etc/.*\.cfg|${TIMIDITY_CFG}|' \
 		${WRKSRC}/playgmi/gmitimidity.c
+.if exists(${FNMATCHCONFL})
+	@${REINPLACE_CMD} -e 's|<\(fnmatch.h\)>|"/usr/include/\1"|' \
+		${WRKSRC}/filesel/adb.c \
+		${WRKSRC}/filesel/pfilesel.c
+.endif
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/ocp ${PREFIX}/bin
--- Makefile.patch ends here ---
Comment 4 Sam Lawrance freebsd_committer 2005-06-12 11:08:31 UTC
State Changed
From-To: feedback->open

Feedback received
Comment 5 Sam Lawrance freebsd_committer 2005-06-12 14:30:11 UTC
State Changed
From-To: open->closed

Committed, thanks!
Comment 6 Sam Lawrance 2005-06-12 17:18:17 UTC
Hi,

I came across an amusing obscure problem. OCP (the version in ports and
in this PR) fails to build when security/heimdal is installed:

cc -O -pipe  -I/usr/local/include -I/usr/X11R6/include -Wall -I.././lrmi-0.8 -I.././ -DVERSION=\"0.1.7\" -DPREFIX=\"/usr/local\" -DLIBDIR=\"/usr/local/lib/ocp\" -DDIR_SUFFIX=\"\" adb.c -o adb.o -c
adb.c: In function `arcReadDir':
adb.c:481: error: `FNM_CASEFOLD' undeclared (first use in this function)
adb.c:481: error: (Each undeclared identifier is reported only once
adb.c:481: error: for each function it appears in.)
gmake[1]: *** [adb.o] Error 1
gmake[1]: Leaving directory `/usr/ports/audio/ocp/work/ocp-0.1.7/filesel'
gmake: *** [dirs] Error 2
*** Error code 2

Stop in /usr/ports/audio/ocp.

Heimdal installs /usr/local/include/fnmatch.h.  OCP attempts to use this
header, when it should be using /usr/include/fnmatch.h.

Could you look into this?

Cheers
Sam