summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Waibel <waebbl@gmail.com>2020-03-20 22:35:36 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2020-03-21 19:55:23 +0100
commita263403b279157c6b8e2e5b84904f66372bac05c (patch)
tree888dcdfc7c7ea8545b68421b45f11837346cf78f
parenttoolchain.eclass: drop USE=sanitize support for <gcc-5 (diff)
downloadgentoo-a263403b279157c6b8e2e5b84904f66372bac05c.tar.gz
gentoo-a263403b279157c6b8e2e5b84904f66372bac05c.tar.bz2
gentoo-a263403b279157c6b8e2e5b84904f66372bac05c.zip
media-sound/denemo: fix build for gcc-10
- add patches to work with gcc-10 -fno-common flag - install appdata/metainfo into new recommended location - remove support for gtk2 - make gtk3 non-optional - remove static USE flag Closes: https://bugs.gentoo.org/712926 Package-Manager: Portage-2.3.94, Repoman-2.3.21 Signed-off-by: Bernd Waibel <waebbl@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/15029 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
-rw-r--r--media-sound/denemo/denemo-2.3.0-r1.ebuild118
-rw-r--r--media-sound/denemo/files/denemo-2.3.0-0002-Fix-issues-with-gcc10-fno-common-flag.patch62
2 files changed, 180 insertions, 0 deletions
diff --git a/media-sound/denemo/denemo-2.3.0-r1.ebuild b/media-sound/denemo/denemo-2.3.0-r1.ebuild
new file mode 100644
index 00000000000..4924eed2857
--- /dev/null
+++ b/media-sound/denemo/denemo-2.3.0-r1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools xdg
+
+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 jack +fluidsynth gtk-doc nls +portaudio +portmidi
+ +rubberband test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-text/evince-3.22.1-r1:=
+ 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(+)]
+ x11-libs/gtk+:3
+ x11-libs/gtksourceview:3.0=
+ alsa? ( >=media-libs/alsa-lib-1.1.2 )
+ aubio? ( >=media-libs/aubio-0.4.1-r1:= )
+ fluidsynth? ( >=media-sound/fluidsynth-1.1.6-r1:= )
+ 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}"
+
+BDEPEND="
+ >=dev-util/gtk-doc-am-1.25-r1
+ >=dev-util/intltool-0.51.0-r1
+ >=sys-devel/flex-2.6.1
+ virtual/pkgconfig
+ virtual/yacc
+ gtk-doc? ( >=dev-util/gtk-doc-1.25-r1 )
+ nls? ( >=sys-devel/gettext-0.19.8.1 )
+"
+
+DOCS=( AUTHORS ChangeLog docs/{DESIGN{,.lilypond},GOALS,TODO} NEWS )
+
+PATCHES=(
+ "${FILESDIR}/${P}-0001-configure.ac-patch-to-find-guile-2.2.patch"
+ "${FILESDIR}/${P}-0002-Fix-issues-with-gcc10-fno-common-flag.patch"
+)
+
+src_prepare() {
+ sed -e '/^Categories=/s/GNOME\;/GNOME\;GTK\;/' -i pixmaps/denemo.desktop || die
+ sed -e 's|appdatadir = \$(datarootdir)/appdata|appdatadir = \$(datarootdir)/metainfo|' \
+ -i Makefile.am || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ myeconfargs=(
+ --disable-gtk-doc-pdf
+ --disable-gtk2
+ --disable-installed-tests
+ --disable-mem
+ --disable-rpath
+ --disable-static
+ --enable-evince
+ --enable-gtk3
+ --enable-x11
+ $(use_enable alsa)
+ $(use_enable aubio)
+ # --enable-doc does nothing for itself
+ # basic html documentation is always being installed in the
+ # /usr/share/denemo/manual directory
+ $(use_enable gtk-doc doc)
+ $(use_enable gtk-doc gtk-doc)
+ $(use_enable gtk-doc gtk-doc-html)
+ $(use_enable fluidsynth)
+ $(use_enable jack)
+ $(use_enable nls)
+ $(use_enable portaudio)
+ $(use_enable portmidi)
+ $(use_enable rubberband)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # make check fails if used with parallel builds
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ # link html documentation installed in /usr/share/denemo/manual
+ 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
+}
diff --git a/media-sound/denemo/files/denemo-2.3.0-0002-Fix-issues-with-gcc10-fno-common-flag.patch b/media-sound/denemo/files/denemo-2.3.0-0002-Fix-issues-with-gcc10-fno-common-flag.patch
new file mode 100644
index 00000000000..425662e042c
--- /dev/null
+++ b/media-sound/denemo/files/denemo-2.3.0-0002-Fix-issues-with-gcc10-fno-common-flag.patch
@@ -0,0 +1,62 @@
+From 54075086a5b7acceef6dff41e19148778e285475 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl@gmail.com>
+Date: Fri, 20 Mar 2020 21:03:02 +0100
+Subject: [PATCH] Fix issues with gcc10 -fno-common flag
+
+Signed-off-by: Bernd Waibel <waebbl@gmail.com>
+---
+ include/denemo/denemo_types.h | 7 ++++---
+ src/export/print.h | 6 +++---
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/include/denemo/denemo_types.h b/include/denemo/denemo_types.h
+index 1d67827..936892b 100644
+--- a/include/denemo/denemo_types.h
++++ b/include/denemo/denemo_types.h
+@@ -430,7 +430,7 @@ typedef enum{
+ } SCRIPT_TYPE;
+
+ //index of columns in the keymap command list store FIXME if you add columns you must add them in allocate_keymap !!!!
+-enum
++typedef enum
+ {
+ COL_TYPE = 0,
+ COL_NAME,
+@@ -1167,7 +1167,7 @@ struct cs_callback
+ * The (singleton) root object for the program
+ *
+ */
+-struct DenemoRoot
++typedef struct DenemoRoot
+ {
+ gboolean non_interactive; /* if TRUE denemo should not display project, receive or send sounds etc*/
+ gchar *scheme_file;/* filename for scheme code to run on startup */
+@@ -1258,6 +1258,7 @@ struct DenemoRoot
+ gboolean *silent; /** Don't log any message */
+ gboolean *verbose; /** Display every messages */
+ guint pending_layout_id;//Non zero when the current layout being created will be renamed to have this id
+-} Denemo; /**< The root object. */
++};
++extern struct DenemoRoot Denemo; /**< The root object. */
+
+ #endif
+diff --git a/src/export/print.h b/src/export/print.h
+index db0c8f1..64a3a8d 100644
+--- a/src/export/print.h
++++ b/src/export/print.h
+@@ -108,9 +108,9 @@ typedef struct WysiwygInfo
+ GtkWidget *dialog; //an info dialog to tell the user what to do next...
+ } WysiwygInfo;
+
+-gint LilyPond_stderr; //A file descriptor to pipe for LilyPond's stderr
+-GError *lily_err;
+-GPid previewerpid;
++extern gint LilyPond_stderr; //A file descriptor to pipe for LilyPond's stderr
++extern GError *lily_err;
++extern GPid previewerpid;
+
+ WysiwygInfo* get_wysiwyg_info();
+ void initialize_print_status (void);
+--
+2.25.1
+