Bug 50580 - [patch] fix compilation of ecasound on 5.0 and upgrade to latest
Summary: [patch] fix compilation of ecasound on 5.0 and upgrade to latest
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: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-04-04 02:30 UTC by Antoine Beaupre
Modified: 2003-04-06 01:07 UTC (History)
0 users

See Also:


Attachments
file.diff (16.34 KB, patch)
2003-04-04 02:30 UTC, Antoine Beaupre
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Antoine Beaupre 2003-04-04 02:30:07 UTC
The current ecasound port fails to compile under 5.x. This is due to
some odd GCC magic *or* old readline. Either way, upgrading to 2.2.2
and adding in a little patch of my own fixes it all.

Fix: Here is the complete patch. Note that this adds a new file and removes
2 others in files/, so be careful.
How-To-Repeat: 
Try to compile ecasound under 5.x. Just try. :)
Comment 1 Antoine Beaupre 2003-04-04 04:15:46 UTC
Hmm.. I seems like I screwed-up the patch or something, so here's a
shar of the port, it should be easier this way:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	.
#	./files
#	./files/extra-patch-configure.in-optimizations
#	./files/patch-ecasound::eca-curses.cpp
#	./distinfo
#	./Makefile
#	./pkg-plist
#	./pkg-descr
#
echo c - .
mkdir -p . > /dev/null 2>&1
echo c - ./files
mkdir -p ./files > /dev/null 2>&1
echo x - ./files/extra-patch-configure.in-optimizations
sed 's/^X//' >./files/extra-patch-configure.in-optimizations << 'END-of-./files/extra-patch-configure.in-optimizations'
X--- configure.in.orig	Mon Mar 10 20:10:14 2003
X+++ configure.in	Thu Apr  3 19:22:56 2003
X@@ -67,7 +67,8 @@
X dnl modifies: CXXFLAGS, CFLAGS
X dnl ---
X EXTRAFLAGS="-D_REENTRANT"
X-EXTRAGCCFLAGS="$EXTRAFLAGS -ffast-math -fstrict-aliasing -funroll-loops"
X+EXTRAGCCFLAGS="$EXTRAFLAGS"
X+dnl EXTRAGCCFLAGS="$EXTRAFLAGS -ffast-math -fstrict-aliasing -funroll-loops"
X if test x${GXX} = xyes; then
X    CXXFLAGS="$CXXFLAGS $EXTRAFLAGS $EXTRAGCCFLAGS"
X fi
END-of-./files/extra-patch-configure.in-optimizations
echo x - ./files/patch-ecasound::eca-curses.cpp
sed 's/^X//' >./files/patch-ecasound::eca-curses.cpp << 'END-of-./files/patch-ecasound::eca-curses.cpp'
X--- ecasound/eca-curses.cpp.orig	Thu Apr  3 19:52:32 2003
X+++ ecasound/eca-curses.cpp	Thu Apr  3 19:54:32 2003
X@@ -114,11 +114,7 @@
X   rl_readline_name = "ecasound";
X 
X   /* we want to attempt completion first */
X-#if RL_READLINE_VERSION >= 0x0402
X   rl_attempted_completion_function = (rl_completion_func_t*)ecasound_completion;
X-#else
X-  rl_attempted_completion_function = (CPPFunction *)ecasound_completion;
X-#endif
X }
X 
X /* **************************************************************** */
X@@ -149,11 +145,7 @@
X   /* complete only the first command, otherwise complete files in 
X    * the current directory */
X   if (start == 0) {
X-#if RL_READLINE_VERSION >= 0x0402
X     matches = rl_completion_matches (text, (rl_compentry_func_t *)ecasound_command_generator);
X-#else
X-    matches = completion_matches (text, (CPFunction *)ecasound_command_generator);
X-#endif
X   }
X   return (matches);
X }
END-of-./files/patch-ecasound::eca-curses.cpp
echo x - ./distinfo
sed 's/^X//' >./distinfo << 'END-of-./distinfo'
XMD5 (ecasound-2.2.2.tar.gz) = f40a2ea2cabf8b0cbd3663d522f74918
END-of-./distinfo
echo x - ./Makefile
sed 's/^X//' >./Makefile << 'END-of-./Makefile'
X# New ports collection makefile for:	ecasound
X# Date created:		22 dec 2000
X# Whom:			The Anarcat <anarcat@anarcat.dyndns.org>
X#
X# $FreeBSD: ports/audio/ecasound/Makefile,v 1.11 2003/02/21 10:59:27 knu Exp $
X#
X
XPORTNAME=	ecasound
XPORTVERSION=	2.2.2
XCATEGORIES=	audio
XMASTER_SITES=	http://ecasound.seul.org/download/
X
XMAINTAINER=	anarcat@anarcat.ath.cx
XCOMMENT=	Multitrack audio processing software
X
XUSE_GMAKE=	yes
XUSE_AUTOMAKE_VER=14
XUSE_LIBTOOL=	yes
XINSTALLS_SHLIB=	yes
X
XCONFIGURE_ARGS+=	--enable-sys-readline
XMAKE_ENV+=	${CONFIGURE_ENV}
X
X.if defined(WITH_MPG123)
XRUN_DEPENDS+=	mpg123:${PORTSDIR}/audio/mpg123
X.endif
X
X.if defined(WITH_LAME)
XRUN_DEPENDS+=	lame:${PORTSDIR}/audio/lame
X.endif
X
X.if defined(WITH_MIKMOD)
XRUN_DEPENDS+=	mikmod:${PORTSDIR}/audio/mikmod
X.endif
X
X.if defined(WITH_AUDIOFILE)
X# very crappy hack to detect audiofile properly
XCONFIGURE_ENV+=	CPPFLAGS="-I${LOCALBASE}/include" \
X		LDFLAGS="-L${LOCALBASE}/lib" \
X		CFLAGS="-I${LOCALBASE}/include ${CFLAGS}" \
X		CXXFLAGS="-I${LOCALBASE}/include ${CXXFLAGS}"
XLIB_DEPENDS+=	audiofile.0:${PORTSDIR}/audio/libaudiofile
X.else
XCONFIGURE_ARGS+=	--disable-audiofile
X.endif
X
X#.if defined(WITH_PYECASOUND)
X#USE_PYTHON=	yes
X#PLIST_SUB+=	WITH_PYECASOUND=""
X#.else
XCONFIGURE_ARGS+=	--disable-pyecasound
XPLIST_SUB+=	WITH_PYECASOUND="@comment "
X#.endif
X
X.if !defined(WITH_OPTIMIZED_CFLAGS)
XEXTRA_PATCHES+=	${FILESDIR}/extra-patch-configure.in-optimizations
X.endif
X
XMAN1=		ecasound-iam.1 ecasound.1 ecatools.1 ecaconvert.1 \
X		ecafixdc.1 ecalength.1 ecamonitor.1 ecanormalize.1 \
X		ecaplay.1 ecasignalview.1
XMAN5=		ecasoundrc.5
X
Xpre-everything::
X.if !defined(WITH_OPTIMIZED_CFLAGS)
X	@${ECHO_MSG} "You can enable additional compilation optimizations"
X	@${ECHO_MSG} "by defining WITH_OPTIMIZED_CFLAGS"
X.endif
X.if !defined(WITH_AUDIOFILE)
X	@${ECHO_MSG} "You can enable AUDIOFILE support by defining WITH_AUDIOFILE."
X.endif
X
Xpost-patch:
X.if !defined(WITH_OPTIMIZED_CFLAGS)
X	@${PERL} -pi -e 's!-O2 -ffast-math!!' ${WRKSRC}/kvutils/Makefile.am
X.endif
X
X#	strip ${PREFIX}/bin/ecaconvert ${PREFIX}/bin/ecafixdc \
X#${PREFIX}/bin/ecanormalize ${PREFIX}/bin/ecaplay ${PREFIX}/bin/ecasignalview \
X#${PREFIX}/bin/ecasound ${PREFIX}/bin/ecasound-config ${PREFIX}/bin/ecasoundc-config
X
X.include <bsd.port.mk>
END-of-./Makefile
echo x - ./pkg-plist
sed 's/^X//' >./pkg-plist << 'END-of-./pkg-plist'
Xbin/ecaconvert
Xbin/ecafixdc
Xbin/ecalength
Xbin/ecamonitor
Xbin/ecanormalize
Xbin/ecaplay
Xbin/ecasignalview
Xbin/ecasound
Xbin/libecasound-config
Xbin/libecasoundc-config
Xinclude/kvutils/kvu_com_line.h
Xinclude/kvutils/kvu_dbc.h
Xinclude/kvutils/kvu_definition_by_contract.h
Xinclude/kvutils/kvu_fd_io.h
Xinclude/kvutils/kvu_inttypes.h
Xinclude/kvutils/kvu_locks.h
Xinclude/kvutils/kvu_message_item.h
Xinclude/kvutils/kvu_numtostr.h
Xinclude/kvutils/kvu_object_queue.h
Xinclude/kvutils/kvu_procedure_timer.h
Xinclude/kvutils/kvu_rtcaps.h
Xinclude/kvutils/kvu_temporary_file_directory.h
Xinclude/kvutils/kvu_threads.h
Xinclude/kvutils/kvu_utils.h
Xinclude/kvutils/kvu_value_queue.h
Xinclude/libecasound/audio-stamp.h
Xinclude/libecasound/audiofx.h
Xinclude/libecasound/audiofx_amplitude.h
Xinclude/libecasound/audiofx_analysis.h
Xinclude/libecasound/audiofx_compressor.h
Xinclude/libecasound/audiofx_envelope_modulation.h
Xinclude/libecasound/audiofx_filter.h
Xinclude/libecasound/audiofx_ladspa.h
Xinclude/libecasound/audiofx_misc.h
Xinclude/libecasound/audiofx_mixing.h
Xinclude/libecasound/audiofx_rcfilter.h
Xinclude/libecasound/audiofx_reverb.h
Xinclude/libecasound/audiofx_timebased.h
Xinclude/libecasound/audiogate.h
Xinclude/libecasound/audioio-buffered.h
Xinclude/libecasound/audioio-cdr.h
Xinclude/libecasound/audioio-cdr_impl.h
Xinclude/libecasound/audioio-db-buffer.h
Xinclude/libecasound/audioio-db-client.h
Xinclude/libecasound/audioio-db-server.h
Xinclude/libecasound/audioio-db-server_impl.h
Xinclude/libecasound/audioio-device.h
Xinclude/libecasound/audioio-ewf.h
Xinclude/libecasound/audioio-forked-stream.h
Xinclude/libecasound/audioio-loop.h
Xinclude/libecasound/audioio-manager.h
Xinclude/libecasound/audioio-mikmod.h
Xinclude/libecasound/audioio-mp3.h
Xinclude/libecasound/audioio-mp3_impl.h
Xinclude/libecasound/audioio-null.h
Xinclude/libecasound/audioio-ogg.h
Xinclude/libecasound/audioio-oss.h
Xinclude/libecasound/audioio-oss_impl.h
Xinclude/libecasound/audioio-plugin.h
Xinclude/libecasound/audioio-proxy.h
Xinclude/libecasound/audioio-raw.h
Xinclude/libecasound/audioio-resample.h
Xinclude/libecasound/audioio-reverse.h
Xinclude/libecasound/audioio-rtnull.h
Xinclude/libecasound/audioio-timidity.h
Xinclude/libecasound/audioio-typeselect.h
Xinclude/libecasound/audioio-wave.h
Xinclude/libecasound/audioio.h
Xinclude/libecasound/ctrl-source.h
Xinclude/libecasound/dynamic-object.h
Xinclude/libecasound/dynamic-parameters.h
Xinclude/libecasound/eca-audio-format.h
Xinclude/libecasound/eca-audio-position.h
Xinclude/libecasound/eca-audio-time.h
Xinclude/libecasound/eca-chain.h
Xinclude/libecasound/eca-chainop.h
Xinclude/libecasound/eca-chainsetup-bufparams.h
Xinclude/libecasound/eca-chainsetup-parser.h
Xinclude/libecasound/eca-chainsetup-position.h
Xinclude/libecasound/eca-chainsetup.h
Xinclude/libecasound/eca-chainsetup_impl.h
Xinclude/libecasound/eca-control-base.h
Xinclude/libecasound/eca-control-dump.h
Xinclude/libecasound/eca-control-objects.h
Xinclude/libecasound/eca-control.h
Xinclude/libecasound/eca-engine-driver.h
Xinclude/libecasound/eca-engine.h
Xinclude/libecasound/eca-engine_impl.h
Xinclude/libecasound/eca-error.h
Xinclude/libecasound/eca-fileio-mmap.h
Xinclude/libecasound/eca-fileio-stream.h
Xinclude/libecasound/eca-fileio.h
Xinclude/libecasound/eca-iamode-parser.h
Xinclude/libecasound/eca-iamode-parser_impl.h
Xinclude/libecasound/eca-logger-default.h
Xinclude/libecasound/eca-logger-interface.h
Xinclude/libecasound/eca-logger-wellformed.h
Xinclude/libecasound/eca-logger.h
Xinclude/libecasound/eca-object-factory.h
Xinclude/libecasound/eca-object-map.h
Xinclude/libecasound/eca-object.h
Xinclude/libecasound/eca-operator.h
Xinclude/libecasound/eca-preset-map.h
Xinclude/libecasound/eca-resources.h
Xinclude/libecasound/eca-sample-conversion.h
Xinclude/libecasound/eca-samplerate-aware.h
Xinclude/libecasound/eca-session.h
Xinclude/libecasound/eca-static-object-maps.h
Xinclude/libecasound/eca-version.h
Xinclude/libecasound/file-preset.h
Xinclude/libecasound/generic-controller.h
Xinclude/libecasound/generic-linear-envelope.h
Xinclude/libecasound/global-preset.h
Xinclude/libecasound/layer.h
Xinclude/libecasound/linear-envelope.h
Xinclude/libecasound/midi-cc.h
Xinclude/libecasound/midi-client.h
Xinclude/libecasound/midi-parser.h
Xinclude/libecasound/midi-server.h
Xinclude/libecasound/midiio-raw.h
Xinclude/libecasound/midiio.h
Xinclude/libecasound/osc-gen-file.h
Xinclude/libecasound/osc-gen.h
Xinclude/libecasound/osc-sine.h
Xinclude/libecasound/oscillator.h
Xinclude/libecasound/preset.h
Xinclude/libecasound/preset_impl.h
Xinclude/libecasound/resource-file.h
Xinclude/libecasound/sample-specs.h
Xinclude/libecasound/samplebuffer.h
Xinclude/libecasound/samplebuffer_functions.h
Xinclude/libecasound/samplebuffer_impl.h
Xinclude/libecasound/samplebuffer_iterators.h
Xinclude/libecasound/stamp-ctrl.h
Xinclude/libecasound/two-stage-linear-envelope.h
Xinclude/libecasoundc/eca-control-interface.h
Xinclude/libecasoundc/ecasoundc.h
Xlib/libecasound.a
Xlib/libecasound.la
Xlib/libecasoundc.a
Xlib/libecasoundc.la
Xlib/libkvutils.a
Xlib/libkvutils.la
Xshare/ecasound/ecasound.el
Xshare/ecasound/ecasoundrc
Xshare/ecasound/effect_presets
Xshare/ecasound/generic_oscillators
X@dirrm share/ecasound
X@dirrm include/libecasoundc
X@dirrm include/libecasound
X@dirrm include/kvutils
END-of-./pkg-plist
echo x - ./pkg-descr
sed 's/^X//' >./pkg-descr << 'END-of-./pkg-descr'
XEcasound is a software package designed for multitrack audio
Xprocessing. It can be used for simple tasks like audio playback, 
Xrecording and format conversions, as well as for multitrack effect 
Xprocessing, mixing, recording and signal recycling. Ecasound supports 
Xa wide range of audio inputs, outputs and effect algorithms. 
XEffects and audio objects can be combined in various ways, and their
Xparameters can be controlled by operator objects like oscillators 
Xand MIDI-CCs. As most functionality is located in shared libraries,
Xcreating alternative user-interfaces is easy. A versatile console mode
Xinterface is included in the package.
X
XWWW: http://www.eca.cx/ecasound/
X
X- The Anarcat <anarcat@anarcat.dyndns.org>
END-of-./pkg-descr
exit



-- 
The idea that Bill Gates has appeared like a knight in shining armour to
lead all customers out of a mire of technological chaos neatly ignores
the fact that it was he who, by peddling second-rate technology, led
them into it in the first place. - Douglas Adams (1952-2001)
Comment 2 Tilman Keskinoz freebsd_committer freebsd_triage 2003-04-06 01:06:44 UTC
State Changed
From-To: open->closed

Committed, thanks. 

Please note. this commit probably broke ecawave. 
can you update ecawave to the latest version?