blob: 4f98510dcceecc8c7e796fbcd1839ce5551b35e8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 )
[[ "${PV}" = "9999" ]] && inherit git-r3
inherit elisp-common autotools python-single-r1 xdg-utils
if [[ "${PV}" = "9999" ]]; then
EGIT_REPO_URI="git://git.sv.gnu.org/lilypond.git"
else
MAIN_VER=$(ver_cut 1-2)
SRC_URI="http://lilypond.org/download/sources/v${MAIN_VER}/${P}.tar.gz"
KEYWORDS="amd64 ~arm arm64 ~hppa x86"
fi
DESCRIPTION="GNU Music Typesetter"
HOMEPAGE="http://lilypond.org/"
LICENSE="GPL-3 FDL-1.3"
SLOT="0"
IUSE="debug emacs guile2 profile vim-syntax"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND=">=app-text/ghostscript-gpl-8.15
>=dev-scheme/guile-1.8.2:12=[deprecated,regex]
media-fonts/tex-gyre
media-libs/fontconfig
media-libs/freetype:2
>=x11-libs/pango-1.12.3
emacs? ( >=app-editors/emacs-23.1:* )
guile2? ( >=dev-scheme/guile-2:12 )
!guile2? (
>=dev-scheme/guile-1.8.2:12=[deprecated,regex]
<dev-scheme/guile-2.0:12
)
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
app-text/t1utils
dev-lang/perl
dev-libs/kpathsea
>=dev-texlive/texlive-metapost-2013
|| (
>=app-text/texlive-core-2013
>=dev-tex/metapost-1.803
)
virtual/pkgconfig
media-gfx/fontforge[png]
>=sys-apps/texinfo-4.11
>=sys-devel/bison-2.0
sys-devel/flex
sys-devel/gettext
sys-devel/make"
# Correct output data for tests isn't bundled with releases
RESTRICT="test"
PATCHES=(
"${FILESDIR}"/${PN}-2.19.80-remove-ly-protect.patch
"${FILESDIR}"/${PN}-2.19.80-fontforge-version.patch
)
DOCS=( DEDICATION HACKING README.txt ROADMAP )
pkg_setup() {
# make sure >=metapost-1.803 is selected if it's installed, bug 498704
if [[ ${MERGE_TYPE} != binary ]] && has_version ">=dev-tex/metapost-1.803" ; then
if [[ $(readlink "${EROOT}"/usr/bin/mpost) =~ mpost-texlive-* ]] ; then
einfo "Updating metapost symlink"
eselect mpost update || die
fi
fi
python-single-r1_pkg_setup
}
src_prepare() {
default
if ! use vim-syntax ; then
sed -i 's/vim//' GNUmakefile.in || die
fi
# respect CFLAGS
sed -i 's/OPTIMIZE -g/OPTIMIZE/' aclocal.m4 || die
# respect AR
sed -i "s:^AR=ar:AR=$(tc-getAR):" stepmake/stepmake/library-vars.make || die
# remove bundled texinfo file (fixes bug #448560)
rm tex/texinfo.tex || die
eautoreconf
xdg_environment_reset #586592
}
src_configure() {
# documentation generation currently not supported since it requires a newer
# version of texi2html than is currently in the tree
local myeconfargs=(
--with-texgyre-dir=/usr/share/fonts/tex-gyre
--disable-documentation
--disable-optimising
--disable-pipe
$(use_enable debug debugging)
$(use_enable guile2)
$(use_enable profile profiling)
)
econf "${myeconfargs[@]}"
}
src_compile() {
default
if use emacs ; then
elisp-compile elisp/lilypond-{font-lock,indent,mode,what-beat}.el \
|| die "elisp-compile failed"
fi
}
src_install () {
emake DESTDIR="${D}" vimdir=/usr/share/vim/vimfiles install
# remove elisp files since they are in the wrong directory
rm -r "${ED}"/usr/share/emacs || die
if use emacs ; then
elisp-install ${PN} elisp/*.{el,elc} elisp/out/*.el \
|| die "elisp-install failed"
elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el
fi
python_fix_shebang "${ED}"
einstalldocs
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}
|