media-sound/denemo: re-add package

* remove optional usage of guile-1, package now only supports guile-2
* fix problem with portaudio if use flag is not set
see https://bugs.gentoo.org/515888#c23
and https://savannah.gnu.org/bugs/?52741 with
https://savannah.gnu.org/bugs/?53804
* add REQUIRED_USE dependency for evince on gtk+:3

Suggested-by: Nikita Zlobin <nick87720z@gmail.com>
Closes: https://bugs.gentoo.org/667164
Package-Manager: Portage-2.3.49, Repoman-2.3.10
Signed-off-by: Bernd Waibel <waebbl@gmail.com>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/9908
This commit is contained in:
Bernd Waibel
2018-09-19 00:37:58 +02:00
committed by Michał Górny
parent 928a014610
commit aeb045d44b
5 changed files with 270 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST denemo-2.2.0.tar.gz 17032009 BLAKE2B 66732fcdaa5d5119ca2a45e5a8c6829e05092a4f0e18e3c8a991bddaaf863ea05889654af47150650d2c67397afa957de0fc3ce0ada86a22be00ae91d4add993 SHA512 74bef7b888abd86db42cee7ecb404e1b9211f9965207366c99980137194acd2afa6ec8b1c18da8a12fe4c6951d8a1bb873b313f5749ea629bb7eaeedf12368ef

View File

@@ -0,0 +1,127 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools xdg-utils
DESCRIPTION="A music notation editor"
HOMEPAGE="http://www.denemo.org/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3+ OFL-1.1"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# configure options currently not used:
# --enable-mem(no) memory debugging: needs Electric fence (efence), which
# is not available in portage. See https://github.com/boundarydevices/efence
# --enable-gtk-doc-pdf(no) doesn't work
IUSE="alsa +aubio debug +evince doc jack +fluidsynth +gtk3 nls +portaudio
+portmidi +rubberband static test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/libxml2:2
>=dev-scheme/guile-2:12=
gnome-base/librsvg:2
media-libs/fontconfig:1.0
>=media-libs/libsmf-1.3
>=media-libs/libsndfile-1.0.28-r1
>=media-sound/lilypond-2.19.54[guile2]
alsa? ( >=media-libs/alsa-lib-1.1.2 )
aubio? ( >=media-libs/aubio-0.4.1-r1 )
evince? ( >=app-text/evince-3.22.1-r1:= )
fluidsynth? ( >=media-sound/fluidsynth-1.1.6-r1 )
gtk3? (
x11-libs/gtk+:3
x11-libs/gtksourceview:3.0=
)
!gtk3? (
x11-libs/gtk+:2
x11-libs/gtksourceview:2.0
)
jack? ( virtual/jack )
portaudio? (
>=media-libs/portaudio-19_pre20140130
sci-libs/fftw:3.0=
)
portmidi? ( >=media-libs/portmidi-217-r1 )
rubberband? ( >=media-libs/rubberband-1.8.1-r1 )
"
DEPEND="${RDEPEND}
>=dev-util/intltool-0.51.0-r1
>=sys-devel/flex-2.6.1
virtual/pkgconfig
virtual/yacc
doc? ( >=dev-util/gtk-doc-1.25-r1 )
nls? ( >=sys-devel/gettext-0.19.8.1 )"
REQUIRED_USE="
evince? ( gtk3 )
"
DOCS=( AUTHORS ChangeLog docs/{DESIGN{,.lilypond},GOALS,TODO} NEWS )
PATCHES=(
"${FILESDIR}/${P}-no-portaudio-fix.patch"
"${FILESDIR}/${P}-find-guile-2.2.patch"
)
src_prepare() {
sed -i -e '/^Categories=/s/GNOME\;/GNOME\;GTK\;/' pixmaps/denemo.desktop || die
default
eautoreconf
}
src_configure() {
myeconfargs=(
--disable-gtk-doc-pdf
--disable-installed-tests
--disable-mem
--disable-rpath
--enable-x11
$(use_enable alsa)
$(use_enable aubio)
# --enable-doc does nothing for itself
$(use_enable doc)
$(use_enable doc gtk-doc)
$(use_enable doc gtk-doc-html)
$(use_enable evince)
$(use_enable fluidsynth)
$(use_enable jack)
$(use_enable nls)
$(use_enable portaudio)
$(use_enable portmidi)
$(use_enable rubberband)
$(use_enable static)
$(usex gtk3 --enable-gtk3 --enable-gtk2)
)
econf "${myeconfargs[@]}"
}
src_test() {
# make check fails if used with parallel builds
emake -j1 check
}
src_install() {
DESTDIR="${D}" emake install
einstalldocs
# link html documentation installed in /usr/share/denemo
dodir /usr/share/doc/${PF}/html
local f
for f in denemo-manual.html denemo.css images; do
dosym ../../../denemo/manual/"${f}" /usr/share/doc/${PF}/html/"${f}"
done
}
pkg_postinst() {
xdg_desktop_database_update
}
pkg_postrm() {
xdg_desktop_database_update
}

View File

@@ -0,0 +1,60 @@
diff --git a/configure.ac b/configure.ac
index 4bb3afa..9c146ad 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,7 +30,10 @@ AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_YACC
AM_PROG_LEX
+GUILE_PKG
GUILE_FLAGS
+CFLAGS="$CFLAGS $GUILE_CFLAGS"
+LIBS="$LIBS $GUILE_LIBS"
AC_PROG_LIBTOOL
@@ -40,44 +43,6 @@ AS_COMPILER_FLAG([-fdiagnostics-color=auto],
AM_CONDITIONAL(ENABLE_GLIB_TEST, [test "x$enable_glibtest" = "xyes"])
-AC_ARG_ENABLE(
- guile_1_8,
- AS_HELP_STRING([--enable-guile_1_8], [use GUILE_1_8 @<:@default=no@:>@]),
- [
- if test "x$enableval" != "xno"; then
- useguile_1_8=yes
- PKG_CHECK_MODULES(GUILE_1_8, guile-1.8 >= 1.8)
- LIBS="$LIBS $GUILE_1_8_LIBS"
- CFLAGS="$CFLAGS $GUILE_1_8_CFLAGS"
- fi
- ], [ useguile_1_8=no ])
-
-AC_ARG_ENABLE(
- guile_2_0,
- AS_HELP_STRING([--enable-guile_2_0], [use GUILE_2_0 @<:@default=no@:>@]),
- [
- if test "x$enableval" != "xno"; then
- useguile_2_0=yes
- PKG_CHECK_MODULES([GUILE_2], [guile-2.0])
- LIBS="$LIBS $GUILE_2_LIBS"
- CFLAGS="$CFLAGS $GUILE_2_CFLAGS"
- fi
- ], [ useguile_2_0=no ])
-
-if [test "x$useguile_1_8" = "xno"] && [test "x$useguile_2_0" = "xno"]; then
- PKG_CHECK_MODULES([GUILE_2], [guile-2.0], useguile_2_0=yes, useguile_2_0=no)
- LIBS="$LIBS $GUILE_2_LIBS"
- CFLAGS="$CFLAGS $GUILE_2_CFLAGS"
- if test "x$useguile_2_0" = "xno"; then
- PKG_CHECK_MODULES(GUILE_1_8, guile-1.8 >= 1.8)
- LIBS="$LIBS $GUILE_1_8_LIBS"
- CFLAGS="$CFLAGS $GUILE_1_8_CFLAGS"
- useguile_1_8=yes
- else
- useguile_2_0=yes
- fi
-fi
-
PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.30])
CFLAGS="$CFLAGS $GLIB_CFLAGS"
LIBS="$LIBS $GLIB_LIBS"

View File

@@ -0,0 +1,29 @@
From 2e3c3b974e3e27873841c0ad9a05537a682e85f5 Mon Sep 17 00:00:00 2001
From: Richard Shann <richard@rshann.plus.com>
Date: Sat, 30 Dec 2017 15:32:35 +0000
Subject: [PATCH 1/2] Fix bug #52741: Can't build with --disable-portaudio
---
src/audio/midi.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/audio/midi.c b/src/audio/midi.c
index 55683cfe3..71c5df2cd 100644
--- a/src/audio/midi.c
+++ b/src/audio/midi.c
@@ -29,6 +29,13 @@
#define SHAVING (0.01) //seconds to shave off a note start time to ensure stopping before noteon is sent, and starting with noteon first note may depend of speed of machine??? FIXME
+#ifndef _HAVE_PORTAUDIO_
+gdouble get_playback_speed (void)
+{
+ return 1.0;
+}
+void set_playback_speed (double speed) {}
+#endif
static volatile gboolean playing = FALSE;
--
2.11.0

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>waebbl@gmail.com</email>
<name>Bernd Waibel</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription>
Denemo is a music notation editor which uses
<pkg>media-sound/lilypond</pkg> to typeset music notation with LaTeX.
</longdescription>
<use>
<flag name="alsa">
Enable alsa support through <pkg>media-libs/alsa-lib</pkg>
</flag>
<flag name="aubio">
Enable <pkg>media-libs/aubio</pkg> support
</flag>
<flag name="doc">
Use <pkg>dev-util/gtk-doc</pkg> to build documentation in html format
</flag>
<flag name="evince">
Use <pkg>app-text/evince</pkg> document viewer
</flag>
<flag name="fluidsynth">
Enable Fluidsynth MIDI software synthesis using
<pkg>media-sound/fluidsynth</pkg>
</flag>
<flag name="gtk3">
Enable support for the GTK+. If enabled uses slot 3 of
<pkg>x11-libs/gtk+</pkg>, if disabled it uses slot 2
</flag>
<flag name="jack">
Enable jack support through <pkg>virtual/jack</pkg>
</flag>
<flag name="portaudio">
Enable support for <pkg>media-libs/portaudio</pkg>
</flag>
<flag name="portmidi">
Enable support for the <pkg>media-libs/portmidi</pkg> backend
</flag>
<flag name="rubberband">
Enable support for <pkg>media-libs/rubberband</pkg>
</flag>
</use>
<upstream>
<bugs-to>https://savannah.gnu.org/bugs/?group=denemo&amp;func=additem</bugs-to>
</upstream>
</pkgmetadata>