openbsd-ports/print/lilypond/Makefile
2013-03-11 11:35:43 +00:00

120 lines
3.5 KiB
Makefile

# $OpenBSD: Makefile,v 1.39 2013/03/11 11:37:54 espie Exp $
SHARED_ONLY= Yes
COMMENT-main= text based music notation system
COMMENT-docs= lilypond documentation
VERSION= 2.14.2
DISTNAME= lilypond-${VERSION}
DISTNAME-docs= ${DISTNAME}-1.documentation
PKGNAME-main= lilypond-${VERSION}
PKGNAME-docs= lilypond-docs-${VERSION}
REVISION-main = 1
CATEGORIES= print
DISTFILES= ${DISTNAME}.tar.gz ${DISTNAME-docs}.tar.bz2:0
EXTRACT_ONLY= ${DISTNAME}.tar.gz
MULTI_PACKAGES= -main -docs
HOMEPAGE= http://lilypond.org/web/
MAINTAINER= Matthias Kilian <kili@openbsd.org>
# GPLv3+
PERMIT_PACKAGE_CDROM= Yes
MASTER_BASE= http://download.linuxaudio.org/lilypond/
MASTER_SITES= ${MASTER_BASE}sources/v${VERSION:C,\.[0-9]*$,,}/
MASTER_SITES0= ${MASTER_BASE}binaries/documentation/
# We don't use the standard autoconf mechanisms from the ports
# system, because it doesn't work for lilypond. Instead, we use
# autogen.sh and add AUTOCONV_VERSION to the environment.
AUTOCONF_VERSION= 2.63
CONFIGURE_STYLE= gnu
CONFIGURE_SCRIPT= autogen.sh
CONFIGURE_ENV= AUTOCONF_VERSION=${AUTOCONF_VERSION} \
BASH=/bin/sh \
GREP=/usr/bin/grep \
LDFLAGS=-L${LOCALBASE}/lib
CONFIGURE_ARGS+= --disable-debugging \
--disable-documentation \
--disable-optimising \
--disable-pipe \
--with-ncsb-dir=${LOCALBASE}/share/ghostscript/fonts
USE_GMAKE= Yes
USE_GROFF = Yes
MAKE_FILE= GNUmakefile
# Stupid fontforge writes autosave data to ~/.PfaEdit, even in
# scripting mode, so give it a HOME to stop systrace warnings.
PORTHOME= ${WRKDIR}
PKG_ARCH-docs= *
WANTLIB-docs =
LIB_DEPENDS-docs=
RUN_DEPENDS-docs=
WANTLIB-main= X11 c expat fontconfig freetype gmp gthread-2.0 ltdl m \
pthread stdc++ z guile>=20 glib-2.0>=1000 \
gmodule-2.0>=1000 gobject-2.0>=1000 \
pango-1.0>=1200 pangoft2-1.0>=1200 ${WANTLIB}
MODULES= devel/gettext lang/python
LIB_DEPENDS-main= ${LIB_DEPENDS} \
lang/guile \
devel/glib2 \
devel/pango
RUN_DEPENDS= print/ghostscript/gnu
BUILD_DEPENDS= fonts/mftrace \
devel/bison \
archivers/bzip2 \
devel/autoconf/${AUTOCONF_VERSION} \
${RUN_DEPENDS}
SUBST_VARS+= VERSION
# Extract the documentation distfiles.
# Remove files generated by bison to avoid some recompilations
# during fake stage.
post-extract:
@bzip2 -cd ${FULLDISTDIR}/${DISTNAME-docs}.tar.bz2 | \
pax -rs '!^\.!${WRKDIR}/docs!'
@rm -rf ${WRKSRC}/lily/out
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/lilypond/${VERSION}
umask 022 && cp -R ${WRKDIR}/docs/share/doc/lilypond/html/offline-root/* \
${PREFIX}/share/doc/lilypond/${VERSION}
for f in ${WRKDIR}/docs/share/man/man1/*; do \
${INSTALL_MAN} $$f ${PREFIX}/man/man1; \
done
# Regression tests temporarily disabled, because we don't
# build the documentation for now.
NO_TEST= Yes
TEST_DEPENDS= graphics/ImageMagick \
print/lilypond-test-baseline:patch
pre-test:
.for d in input/regression input/regression/musicxml
-@mv ${WRKDIR}/print/lilypond-test-baseline/${DISTNAME}/$d/out-test-baseline ${WRKBUILD}/$d
.endfor
post-test:
@echo Please check ${WRKBUILD}/out/test-results/index.html for \
any graphical anomalities.
# Build a new lilypond-test-baseline-*.tar.bz2
test-baseline: build
@cd ${WRKBUILD} && exec ${_SYSTRACE_CMD} ${SETENV} ${MAKE_ENV} \
${MAKE_PROGRAM} ${MAKE_FLAGS} -f ${MAKE_FILE} test-baseline
cd ${WRKDIR} && pax -wjf ${DISTNAME:C/-.*//}-test-baseline-${VERSION}.tar.bz2 \
${DISTNAME}/input/regression/out-test-baseline \
${DISTNAME}/input/regression/musicxml/out-test-baseline
.include <bsd.port.mk>