aboutsummaryrefslogtreecommitdiff
path: root/audio/timidity++
diff options
context:
space:
mode:
Diffstat (limited to 'audio/timidity++')
-rw-r--r--audio/timidity++/Makefile86
-rw-r--r--audio/timidity++/Makefile.interface132
2 files changed, 160 insertions, 58 deletions
diff --git a/audio/timidity++/Makefile b/audio/timidity++/Makefile
index d3a3cc823c54..5dafc3d62368 100644
--- a/audio/timidity++/Makefile
+++ b/audio/timidity++/Makefile
@@ -7,56 +7,50 @@
PORTNAME= timidity++
PORTVERSION= 2.13.2
-PORTREVISION= 2
-CATEGORIES= audio
+PORTREVISION?= 2
+CATEGORIES+= audio
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR=timidity
DISTNAME= TiMidity++-${PORTVERSION}
-MAINTAINER= nork@FreeBSD.org
-COMMENT= Software MIDI player
+MAINTAINER?= nork@FreeBSD.org
+COMMENT?= Software MIDI player
-LIB_DEPENDS+= vorbis:${PORTSDIR}/audio/libvorbis \
+.if !defined(PKGNAMESUFFIX)
+LIB_DEPENDS= vorbis:${PORTSDIR}/audio/libvorbis \
arc:${PORTSDIR}/archivers/libarc
RUN_DEPENDS= ${LOCALBASE}/share/timidity/timidity.cfg:${PORTSDIR}/audio/eawpats
CONFLICTS= timidity-0.*
+.endif
-# If you don't have X11, type "make -DWITHOUT_X11" or uncomment this.
-#WITHOUT_X11= yes
USE_BZIP2= yes
-USE_GETOPT_LONG=yes
-WANT_GNOME= yes
GNU_CONFIGURE= yes
+USE_GMAKE= yes
+
+PLIST_SUB+= TIMID_LIBDIR=${TIMID_LIBDIR} EUCJP_LOCALE=${EUCJP_LOCALE}
+
+EUCJP_LOCALE= ja_JP.eucJP
+TIMID_LIBDIR= lib/timidity
+
+.if !defined(PKGNAMESUFFIX)
+WANT_GNOME= yes
EXTRACT_AFTER_ARGS=| ${TAR} -xpf - --exclude '*/libarc/*' \
--exclude '*/utils/mblock.h' --exclude '*/utils/memb.h'
-CONFIGURE_ARGS?=--enable-interface=ncurses,vt100,server
-CONFIGURE_ARGS+=--program-transform-name= --enable-network
+CONFIGURE_ARGS= --enable-interface=ncurses,vt100,server \
+ --program-transform-name= --enable-network
CPPFLAGS+= -I${LOCALBASE}/include/libarc
-CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS=-export-dynamic
-
-PLIST_SUB= EUCJP_LOCALE=${EUCJP_LOCALE} TIMID_LIBDIR=${TIMID_LIBDIR} \
- ELISPDIR=share/emacs/site-lisp
+CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" LDFLAGS=-export-dynamic
-DOCFILES?= README.alsaseq README.dl README.m2m README.mts README.sf
-DOCLANG?= C ja_JP.eucJP
-
-TIMID_LIBDIR= lib/timidity
+DOCFILES= README.alsaseq README.dl README.m2m README.mts README.sf
+DOCLANG= C ja_JP.eucJP
.include <bsd.port.pre.mk>
-.if ${OSVERSION} < 500000
-USE_GMAKE= yes
-.endif
-
-.if ${.CURDIR} == ${MASTERDIR}
MANLANG= "" ja
MAN1= timidity.1
MAN5= timidity.cfg.5
-.else
-RUN_DEPENDS+= ${LOCALBASE}/bin/timidity:${PORTSDIR}/audio/timidity++
-.endif
.if defined(WITHOUT_X11)
CONFIGURE_ARGS+=--without-x --disable-spectrogram --disable-wrd --disable-dynamic
@@ -66,21 +60,9 @@ USE_XLIB= yes
LIB_DEPENDS+= png:${PORTSDIR}/graphics/png
.endif
-.if ${OSVERSION} >= 450002
-EUCJP_LOCALE= ja_JP.eucJP
-.else
-EUCJP_LOCALE= ja_JP.EUC
-.endif
-
-#.if ${OSVERSION} > 600006
-#BROKEN= "Depends on libxpg4 which was removed from FreeBSD 6.0"
-#.endif
-
.if ${HAVE_GNOME:Mesound}!=""
USE_GNOME= esound
CONFIGURE_ARGS+=--enable-audio=oss,esd,vorbis
-# 4.x make(1) doesn't like/work when using :=, so just disable esound suffix
-#PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-esound
.else
CONFIGURE_ARGS+=--enable-audio=oss,vorbis
.endif
@@ -88,37 +70,25 @@ CONFIGURE_ARGS+=--enable-audio=oss,vorbis
pre-install:
@${MKDIR} ${PREFIX}/share/timidity ${PREFIX}/${TIMID_LIBDIR}
-.if ${.CURDIR} == ${MASTERDIR}
post-install::
${INSTALL_MAN} ${WRKSRC}/doc/ja_JP.eucJP/timidity.1 \
${PREFIX}/man/ja/man1
${INSTALL_MAN} ${WRKSRC}/doc/ja_JP.eucJP/timidity.cfg.5 \
${PREFIX}/man/ja/man5
-.else
-do-build:
- @cd ${WRKSRC}/interface; ${MAKE} ${ALL_TARGET}
+.else # defined(PKGNAMESUFFIX)
+.include "${MASTERDIR}/Makefile.interface"
+.endif # !defined(PKGNAMESUFFIX)
-do-install:
- @cd ${WRKSRC}/interface; ${MAKE} ${INSTALL_TARGET}
-.endif
-
-.if !defined(NOPORTDOCS)
post-install::
-. for lang in ${DOCLANG}
+.if !defined(NOPORTDOCS) && defined(DOCFILES)
+.for lang in ${DOCLANG}
${MKDIR} ${PREFIX}/share/doc/${lang:C,^C$,,:C,ja_.*,ja/,}timidity++
cd ${WRKSRC}/doc/${lang} && ${INSTALL_DATA} ${DOCFILES} \
${PREFIX}/share/doc/${lang:C,^C$,,:C,ja_.*,ja/,}timidity++/
-. endfor
+.endfor
.endif
-
-.if defined(LINK)
-post-install::
- ${LN} -sf ${PREFIX}/bin/timidity ${PREFIX}/bin/${LINK}
-.endif
-
.if exists(${PKGMESSAGE})
-post-install::
- @${SED} -e 's,/usr/local,${PREFIX},g' ${PKGMESSAGE}
+ @${CAT} ${PKGMESSAGE}
.endif
.include <bsd.port.post.mk>
diff --git a/audio/timidity++/Makefile.interface b/audio/timidity++/Makefile.interface
new file mode 100644
index 000000000000..32b7458f28ff
--- /dev/null
+++ b/audio/timidity++/Makefile.interface
@@ -0,0 +1,132 @@
+#$FreeBSD$
+
+# Shared by timidity++ interface ports
+
+RUN_DEPENDS+= ${LOCALBASE}/bin/timidity:${PORTSDIR}/audio/timidity++
+
+SLAVEDIRS= audio/timidity++-gtk audio/timidity++-motif \
+ audio/timidity++-slang audio/timidity++-tcltk \
+ audio/timidity++-xaw audio/timidity++-xskin \
+ japanese/timidity++-slang japanese/timidity++-tcltk
+
+INTERFACE= ${PKGNAMESUFFIX:S/^-//}
+
+DESCR= ${.CURDIR}/pkg-descr
+
+.if exists(${.CURDIR}/pkg-plist)
+PLIST= ${.CURDIR}/pkg-plist
+.else
+PLIST= ${NONEXISTENT}
+.endif
+.if exists(${.CURDIR}/pkg-message)
+PKGMESSAGE= ${.CURDIR}/pkg-message
+.else
+PKGMESSAGE= ${NONEXISTENT}
+.endif
+
+CONFIGURE_ENV+= SHLD="${CC} -shared ${LDFLAGS}"
+LDFLAGS= -export-dynamic
+
+CONFIGURE_ARGS+=--enable-dynamic=${INTERFACE}
+
+BUILD_WRKSRC= ${WRKSRC}/interface
+INSTALL_WRKSRC= ${WRKSRC}/interface
+
+# interface section
+
+.if ${INTERFACE} == "emacs"
+ELISPDIR= share/emacs/site-lisp
+.endif
+
+.if ${INTERFACE} == "gtk"
+LINK= gtkmidi
+
+USE_GNOME= gtk12
+USE_XLIB= yes
+.endif
+
+.if ${INTERFACE} == "motif"
+LINK= xmmidi
+
+USE_MOTIF= yes
+USE_XLIB= yes
+
+CONFIGURE_ENV+= MOTIFLIB="${MOTIFLIB}"
+.endif
+
+.if ${INTERFACE} == "slang"
+CONFIGURE_ARGS+=--with-includes=${LOCALBASE}/include \
+ --with-libraries=${LOCALBASE}/lib \
+ --enable-ncurses
+
+LDFLAGS+= -L${LOCALBASE}/lib
+
+.if defined(JAPANESE)
+LIB_DEPENDS+= slang.2:${PORTSDIR}/japanese/libslang
+.else
+LIB_DEPENDS+= slang:${PORTSDIR}/devel/libslang
+.endif
+.endif
+
+.if ${INTERFACE} == "tcltk"
+LINK= tkmidi
+
+USE_XLIB= yes
+
+DOCFILES= README.tk
+DOCLANG= C ja_JP.eucJP
+
+.if defined(JAPANESE)
+LIB_DEPENDS+= tk80jp.1:${PORTSDIR}/japanese/tk80
+
+CONFIGURE_ARGS+= --with-tcl-includes=${LOCALBASE}/include/tcl8.0jp \
+ --with-tk-includes=${LOCALBASE}/include/tk8.0jp \
+ --with-tcl-libs=${LOCALBASE}/lib --with-tk-libs=${LOCALBASE}/lib
+CONFIGURE_ENV+= WISH=wish8.0jp
+.else
+LIB_DEPENDS+= tk84:${PORTSDIR}/x11-toolkits/tk84
+
+CONFIGURE_ARGS+= --with-tcl-includes=${LOCALBASE}/include/tcl8.4 \
+ --with-tk-includes=${LOCALBASE}/include/tk8.4 \
+ --with-tcl-libs=${LOCALBASE}/lib --with-tk-libs=${LOCALBASE}/lib
+CONFIGURE_ENV+= WISH=wish8.4
+.endif
+.endif
+
+.if ${INTERFACE} == "xaw"
+LINK= xawmidi
+
+LIB_DEPENDS+= Xaw3d:${PORTSDIR}/x11-toolkits/Xaw3d
+
+USE_XLIB= yes
+
+DOCFILES= README.xaw
+DOCLANG= C ja_JP.eucJP
+.endif
+
+.if ${INTERFACE} == "xskin"
+LINK= xskinmidi
+
+USE_XLIB= yes
+
+DOCFILES= README.xskin
+DOCLANG= C ja_JP.eucJP
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-install::
+.if ${INTERFACE} == "emacs"
+ @${MKDIR} ${PREFIX}/${ELISPDIR}
+ ${INSTALL_DATA} ${WRKSRC}/interface/timidity.el ${PREFIX}/${ELISPDIR}
+.endif
+.if ${INTERFACE} == "xaw"
+ @${MKDIR} ${X11BASE}/lib/X11/${EUCJP_LOCALE}/app-defaults
+ ${INSTALL_DATA} ${WRKSRC}/TiMidity.ad \
+ ${X11BASE}/lib/X11/app-defaults/TiMidity
+ ${INSTALL_DATA} ${WRKSRC}/TiMidity-uj.ad \
+ ${X11BASE}/lib/X11/${EUCJP_LOCALE}/app-defaults/TiMidity
+.endif
+.if defined(LINK)
+ ${LN} -sf ${PREFIX}/bin/timidity ${PREFIX}/bin/${LINK}
+.endif