summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Scruggs <j.scruggs@gmail.com>2018-01-10 18:48:12 +0000
committerAmy Liffey <amynka@gentoo.org>2018-01-10 23:43:25 +0100
commit554ac2c79d1ba54ed79eb87cbb511e5c48f86230 (patch)
tree114f3ab7d430d50db98f2ab02b74e896a7cfc8bb
parentmedia-libs/gegl-0.2.0-r5: fix ffmpeg/libav support (diff)
downloadgentoo-554ac2c79d1ba54ed79eb87cbb511e5c48f86230.tar.gz
gentoo-554ac2c79d1ba54ed79eb87cbb511e5c48f86230.tar.bz2
gentoo-554ac2c79d1ba54ed79eb87cbb511e5c48f86230.zip
media-sound/lilypond: Add patch to remove ly protects
The function was causing errors errors with Guile v2.2. The patch is based on the discussion from the developers here: http://lists.gnu.org/archive/html/guile-user/2017-03/msg00042.html Remove linguas logic. Closes: #6822 Closes: https://bugs.gentoo.org/642962 Closes: https://bugs.gentoo.org/640554
-rw-r--r--media-sound/lilypond/files/lilypond-2.19.80-remove-ly-protect.patch39
-rw-r--r--media-sound/lilypond/lilypond-2.19.80-r1.ebuild144
2 files changed, 183 insertions, 0 deletions
diff --git a/media-sound/lilypond/files/lilypond-2.19.80-remove-ly-protect.patch b/media-sound/lilypond/files/lilypond-2.19.80-remove-ly-protect.patch
new file mode 100644
index 000000000000..d21b0a413a12
--- /dev/null
+++ b/media-sound/lilypond/files/lilypond-2.19.80-remove-ly-protect.patch
@@ -0,0 +1,39 @@
+diff -purN a/lily/general-scheme.cc b/lily/general-scheme.cc
+--- a/lily/general-scheme.cc 2017-10-15 17:42:11.000000000 +0100
++++ b/lily/general-scheme.cc 2018-01-10 16:20:08.129066507 +0000
+@@ -267,6 +267,8 @@ LY_DEFINE (ly_dimension_p, "ly:dimension
+ /*
+ Debugging mem leaks:
+ */
++
++/*
+ LY_DEFINE (ly_protects, "ly:protects",
+ 0, 0, 0, (),
+ "Return hash of protected objects.")
+@@ -278,6 +280,7 @@ LY_DEFINE (ly_protects, "ly:protects",
+ return programming_error ("ly:protects is not supported in Guile 2.1");
+ #endif
+ }
++*/
+
+ LY_DEFINE (ly_gettext, "ly:gettext",
+ 1, 0, 0, (SCM original),
+diff -purN a/scm/lily.scm b/scm/lily.scm
+--- a/scm/lily.scm 2017-10-15 17:42:11.000000000 +0100
++++ b/scm/lily.scm 2018-01-10 16:22:54.914457450 +0000
+@@ -836,10 +836,11 @@ messages into errors.")
+
+ (define-public (dump-gc-protects)
+ (set! gc-protect-stat-count (1+ gc-protect-stat-count))
+- (let* ((protects (sort (hash-table->alist (ly:protects))
+- (lambda (a b)
+- (< (object-address (car a))
+- (object-address (car b))))))
++ (let* (;(protects (sort (hash-table->alist (ly:protects))
++ ; (lambda (a b)
++ ; (< (object-address (car a))
++ ; (object-address (car b))))))
++ (protects '())
+ (out-file-name (string-append
+ "gcstat-" (number->string gc-protect-stat-count)
+ ".scm"))
diff --git a/media-sound/lilypond/lilypond-2.19.80-r1.ebuild b/media-sound/lilypond/lilypond-2.19.80-r1.ebuild
new file mode 100644
index 000000000000..7bada7ba83ea
--- /dev/null
+++ b/media-sound/lilypond/lilypond-2.19.80-r1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+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
+ SRC_URI="http://download.linuxaudio.org/lilypond/sources/v${PV:0:4}/${P}.tar.gz"
+ KEYWORDS="~alpha ~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? ( virtual/emacs )
+ 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}"/${P}-remove-ly-protect.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
+}