mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 22:48:55 +02:00
When building for a secondaryArch, haikuporter prepends $PATH with the secondaryArch binDir, so just removing the first 2 characters for removing '.' from $PATH doesn't work. This makes that a bit more robust. (Having '.' at the end would still not work though.)
195 lines
4.8 KiB
Bash
195 lines
4.8 KiB
Bash
SUMMARY="A typesetting system for music notation"
|
|
DESCRIPTION="LilyPond is a music engraving program, devoted to producing the highest-quality \
|
|
sheet music possible. It brings the aesthetics of traditionally engraved music to computer \
|
|
printouts. LilyPond is free software and part of the GNU Project."
|
|
HOMEPAGE="https://lilypond.org/"
|
|
COPYRIGHT="1993-2023 The LilyPond development team"
|
|
LICENSE="GNU GPL v3"
|
|
REVISION="1"
|
|
SOURCE_URI="https://lilypond.org/download/source/v${portVersion%.*}/lilypond-$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="d5c59087564a5cd6f08a52ba80e7d6509b91c585e44385dcc0fa39265d181509"
|
|
PATCHES="lilypond-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
PROVIDES="
|
|
lilypond$secondaryArchSuffix = $portVersion
|
|
cmd:abc2ly
|
|
cmd:convert_ly
|
|
cmd:etf2ly
|
|
cmd:lilymidi
|
|
cmd:lilypond
|
|
cmd:lilypond_book
|
|
cmd:lilypond_invoke_editor
|
|
cmd:lilysong
|
|
cmd:midi2ly
|
|
cmd:musicxml2ly
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
cmd:fc_list$secondaryArchSuffix
|
|
cmd:python3
|
|
lib:libfreetype$secondaryArchSuffix
|
|
lib:libgc$secondaryArchSuffix
|
|
lib:libglib_2.0$secondaryArchSuffix
|
|
lib:libgmp$secondaryArchSuffix
|
|
lib:libgobject_2.0$secondaryArchSuffix
|
|
lib:libguile_2.2$secondaryArchSuffix
|
|
lib:libgs$secondaryArchSuffix >= 9 # TODO: replace with cmd:gs?
|
|
lib:libharfbuzz$secondaryArchSuffix
|
|
lib:libintl$secondaryArchSuffix
|
|
lib:libltdl$secondaryArchSuffix
|
|
lib:libpangoft2_1.0$secondaryArchSuffix
|
|
"
|
|
|
|
SUMMARY_doc="${SUMMARY} (English and generic documentation)"
|
|
|
|
PROVIDES_doc="
|
|
lilypond${secondaryArchSuffix}_doc = $portVersion
|
|
"
|
|
REQUIRES_doc="
|
|
lilypond$secondaryArchSuffix == $portVersion base
|
|
"
|
|
ARCHITECTURES_doc="any"
|
|
|
|
languages=(ca cs de es fr hu it ja nl pt zh)
|
|
languageNames=(Catalan Czech German Spanish French Hungarian Italian Japanese Dutch Portuguese Chinese)
|
|
for i in "${!languages[@]}"; do
|
|
lang=${languages[i]}
|
|
eval "PROVIDES_doc_${lang}=\"\
|
|
lilypond${secondaryArchSuffix}_doc_${lang} = $portVersion\
|
|
\"; \
|
|
REQUIRES_doc_${lang}=\"\
|
|
lilypond${secondaryArchSuffix}_doc == $portVersion base\
|
|
\"; \
|
|
SUMMARY_doc_${lang}=\"${SUMMARY} (${languageNames[$i]} documentation)\"\
|
|
ARCHITECTURES_doc_${lang}=\"any\""
|
|
done
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
tex_gyre
|
|
urw_base35_fonts
|
|
devel:libfreetype$secondaryArchSuffix
|
|
devel:libgc$secondaryArchSuffix
|
|
devel:libglib_2.0$secondaryArchSuffix
|
|
devel:libgmp$secondaryArchSuffix
|
|
devel:libgobject_2.0$secondaryArchSuffix
|
|
devel:libguile_2.2$secondaryArchSuffix
|
|
devel:libgs$secondaryArchSuffix >= 9
|
|
devel:libharfbuzz$secondaryArchSuffix
|
|
devel:libintl$secondaryArchSuffix
|
|
devel:libltdl$secondaryArchSuffix
|
|
devel:libpangoft2_1.0$secondaryArchSuffix
|
|
tex:epsf
|
|
tex:fontinst
|
|
tex:lh
|
|
tex:metapost
|
|
# The following TeX packages are needed for creating tex formats:
|
|
# (because of texlive packaging, all hyphenation patterns are needed,
|
|
# the list contains one package from each collection)
|
|
tex:dehyph_exptl
|
|
tex:hyphen_afrikaans
|
|
tex:hyphen_ancientgreek
|
|
tex:hyphen_basque
|
|
tex:hyphen_catalan
|
|
tex:hyphen_chinese
|
|
tex:hyphen_croatian
|
|
tex:hyphen_czech
|
|
tex:hyphen_english
|
|
tex:hyphen_italian
|
|
tex:hyphen_polish
|
|
tex:hyphen_portuguese
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
# cmd:awk
|
|
cmd:bison
|
|
cmd:convert$secondaryArchSuffix
|
|
cmd:dblatex
|
|
cmd:extractpdfmark
|
|
cmd:fc_list$secondaryArchSuffix
|
|
cmd:find
|
|
cmd:flex
|
|
cmd:fontforge
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:kpsewhich
|
|
cmd:make
|
|
cmd:mawk # required by texindex
|
|
cmd:mf
|
|
cmd:mpost
|
|
cmd:perl
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:rsync
|
|
cmd:t1asm
|
|
cmd:tar
|
|
cmd:texi2html
|
|
cmd:texindex
|
|
cmd:tidy
|
|
cmd:xelatex
|
|
cmd:zip
|
|
lib:libreadline$secondaryArchSuffix >= 7 # required by fontforge, remove this when fixed
|
|
"
|
|
|
|
TEST_REQUIRES="
|
|
dejavu
|
|
cmd:fc_cache$secondaryArchSuffix
|
|
cmd:git
|
|
cmd:xsltproc
|
|
tex:realscripts
|
|
"
|
|
|
|
defineDebugInfoPackage lilypond$secondaryArchSuffix \
|
|
$prefix/bin/lilypond
|
|
|
|
PATCH()
|
|
{
|
|
./autogen.sh --noconfigure
|
|
}
|
|
|
|
BUILD()
|
|
{
|
|
mkdir -p build
|
|
cd build
|
|
|
|
# the build system already installs documentation in a subdirectory of docdir
|
|
runConfigure --omit-dirs "binDir docDir" $sourceDir/configure \
|
|
--bindir=$prefix/bin \
|
|
--docdir=$documentationDir/packages \
|
|
--with-localedir=$dataDir/locale \
|
|
--enable-gs-api # needed because of broken ghostscript (gs)
|
|
make $jobArgs
|
|
make $jobArgs bytecode
|
|
|
|
# CPU_COUNT=$jobs is not used because it causes hangs
|
|
# strip the current directory (.) from PATH, it disallows find -execdir
|
|
PATH=${PATH/.:/} make $jobArgs doc
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
cd build
|
|
make install
|
|
make install-bytecode
|
|
PATH=${PATH/.:/} make install-doc
|
|
|
|
# language specific doc packages
|
|
for lang in "${languages[@]}"; do
|
|
packageEntries doc_${lang} \
|
|
$(find $docDir -name "*.${lang}.*")
|
|
done
|
|
|
|
# generic and english doc package
|
|
packageEntries doc \
|
|
$docDir $infoDir
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
# update the fontconfig cache to make sure it knows of all installed fonts (needed by xetex)
|
|
fc-cache -f
|
|
|
|
cd build
|
|
make $jobArgs test
|
|
}
|