commit:     dc3e2348609b3c156dd9e06aba46be5f7b69fefb
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Tue Aug 27 18:10:44 2024 +0000
Commit:     Arsen Arsenović <arsen <AT> gentoo <DOT> org>
CommitDate: Wed Sep 18 13:06:42 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc3e2348

media-sound/denemo: switch to new guile mechanism

Bug: https://bugs.gentoo.org/927336
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org>

 media-sound/denemo/denemo-2.6.0-r100.ebuild        | 136 +++++++++++++++++++++
 .../denemo/files/denemo-2.6.0-fix-c99.patch        |  38 ++++++
 .../files/denemo-2.6.0-incompatible-pointers.patch |  36 ++++++
 profiles/package.mask                              |   1 +
 4 files changed, 211 insertions(+)

diff --git a/media-sound/denemo/denemo-2.6.0-r100.ebuild 
b/media-sound/denemo/denemo-2.6.0-r100.ebuild
new file mode 100644
index 000000000000..5b89d259294e
--- /dev/null
+++ b/media-sound/denemo/denemo-2.6.0-r100.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 )
+inherit autotools font guile-single 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
+# fluidsynth currently broken. See 
https://savannah.gnu.org/bugs/index.php?62202
+IUSE="alsa +aubio debug jack gtk-doc nls +portaudio +portmidi
+       +rubberband test"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="${GUILE_REQUIRED_USE}"
+
+RDEPEND="
+       ${GUILE_DEPS}
+       >=app-text/evince-3.22.1-r1:=
+       dev-libs/glib:2
+       dev-libs/libxml2:2
+       gnome-base/librsvg:2
+       media-libs/fontconfig:1.0
+       >=media-libs/libsmf-1.3
+       >=media-libs/libsndfile-1.0.28-r1
+       >=media-sound/fluidsynth-1.1.6-r1:=
+       >=media-sound/lilypond-2.24.4-r100
+       x11-libs/cairo
+       x11-libs/gdk-pixbuf:2
+       x11-libs/gtk+:3
+       x11-libs/gtksourceview:3.0=
+       x11-libs/pango
+       alsa? ( >=media-libs/alsa-lib-1.1.2 )
+       aubio? ( >=media-libs/aubio-0.4.1-r1:= )
+       jack? ( virtual/jack )
+       portaudio? (
+               >=media-libs/portaudio-19_pre20140130
+               sci-libs/fftw:3.0=
+       )
+       portmidi? ( media-libs/portmidi )
+       rubberband? ( >=media-libs/rubberband-1.8.1-r1 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       >=dev-build/gtk-doc-am-1.25-r1
+       >=dev-util/intltool-0.51.0-r1
+       app-alternatives/lex
+       virtual/pkgconfig
+       app-alternatives/yacc
+       gtk-doc? ( >=dev-util/gtk-doc-1.25-r1 )
+       nls? ( >=sys-devel/gettext-0.19.8.1 )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.6.0-respect-user-CFLAGS.patch
+       "${FILESDIR}"/${PN}-2.6.0-fix-c99.patch
+       "${FILESDIR}"/${PN}-2.6.0-incompatible-pointers.patch
+)
+DOCS=( AUTHORS ChangeLog docs/{DESIGN{,.lilypond},GOALS,TODO} NEWS )
+
+src_prepare() {
+       sed -e '/^Categories=/s/GNOME\;/GNOME\;GTK\;/' -i 
pixmaps/org.denemo.Denemo.desktop || die
+       sed -e 's|appdatadir = \$(datarootdir)/appdata|appdatadir = 
\$(datarootdir)/metainfo|' \
+               -i Makefile.am || die
+       guile-single_src_prepare
+       eautoreconf
+}
+
+src_configure() {
+       myeconfargs=(
+               --disable-gtk-doc-pdf
+               --disable-gtk2
+               --disable-installed-tests
+               --disable-mem
+               --disable-rpath
+               --disable-static
+               --enable-evince
+               --enable-fluidsynth
+               --enable-gtk3
+               --enable-x11
+               $(use_enable alsa)
+               $(use_enable aubio)
+               $(use_enable debug)
+               # --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 jack)
+               $(use_enable nls)
+               $(use_enable portaudio)
+               $(use_enable portmidi)
+               $(use_enable rubberband)
+               $(use_enable test always-build-tests)
+       )
+       econf "${myeconfargs[@]}"
+}
+
+src_test() {
+       # make check fails if used with parallel builds
+       emake -j1 check
+}
+
+src_install() {
+       guile-single_src_install
+
+       # 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 -r /usr/share/denemo/manual/"${f}" 
/usr/share/doc/${PF}/html/"${f}"
+       done
+}
+
+pkg_postinst() {
+       font_pkg_postinst
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       font_pkg_postrm
+       xdg_desktop_database_update
+}

diff --git a/media-sound/denemo/files/denemo-2.6.0-fix-c99.patch 
b/media-sound/denemo/files/denemo-2.6.0-fix-c99.patch
new file mode 100644
index 000000000000..8d1c30c895f2
--- /dev/null
+++ b/media-sound/denemo/files/denemo-2.6.0-fix-c99.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/927336
+https://savannah.gnu.org/bugs/?63720
+
+From 509906e7cc4669b525cbcb05022e7e10c6663627 Mon Sep 17 00:00:00 2001
+From: Nikita Popov <[email protected]>
+Date: Fri, 27 Jan 2023 12:13:10 +0100
+Subject: [PATCH] Fix C99 support in sffile.c
+
+This fixes one -Wimplicit-function-declaration and one
+-Wimplicit-int warning, which will become errors in future
+compiler versions.
+
+Related to:
+
+  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
+  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
+--- a/libs/libsffile/sffile.c
++++ b/libs/libsffile/sffile.c
+@@ -20,6 +20,7 @@
+  *================================================================*/
+ //Interface to Denemo License:  FSF GPL version 3 or later
+ 
++#include <ctype.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+@@ -51,7 +52,7 @@ static void ConvertIllegalChar(char *name){
+ int  ParseSoundfont(char *soundfont, int index, char **name, int *preset, int 
*bank) {
+   FILE *fp;
+   static SFInfo sf;
+-  static initialized = FALSE;
++  static int initialized = FALSE;
+   int i;
+   int number = 0;
+   if(soundfont) {
+-- 
+2.39.1
+

diff --git a/media-sound/denemo/files/denemo-2.6.0-incompatible-pointers.patch 
b/media-sound/denemo/files/denemo-2.6.0-incompatible-pointers.patch
new file mode 100644
index 000000000000..28274e810eb9
--- /dev/null
+++ b/media-sound/denemo/files/denemo-2.6.0-incompatible-pointers.patch
@@ -0,0 +1,36 @@
+diff --git a/src/source/proof.c b/src/source/proof.c
+index f9a02bf0e..3b8f5fc82 100644
+--- a/src/source/proof.c
++++ b/src/source/proof.c
+@@ -280,7 +280,7 @@ press (EvView * view,  GdkEventButton  *event, 
EvDocumentModel *model)
+         infodialog (help_text);
+     nearest_annotation_text = NULL;
+     extern EvMappingList * ev_document_annotations_get_annotations();
+-    EvMappingList *mapping_list = ev_document_annotations_get_annotations 
(doc, ev_document_get_page(doc, i));
++    EvMappingList *mapping_list = ev_document_annotations_get_annotations 
(EV_DOCUMENT_ANNOTATIONS (doc), ev_document_get_page(doc, i));
+     if(mapping_list)
+     {
+     gdouble nearest = G_MAXDOUBLE;
+@@ -313,7 +313,7 @@ find_annotated_pages (EvDocumentModel *model)
+     for (i=0; i< ev_document_get_n_pages(doc);i++)
+         {
+             extern EvMappingList * ev_document_annotations_get_annotations();
+-            EvMappingList *mapping_list = 
ev_document_annotations_get_annotations (doc, ev_document_get_page(doc, i));
++            EvMappingList *mapping_list = 
ev_document_annotations_get_annotations (EV_DOCUMENT_ANNOTATIONS (doc), 
ev_document_get_page(doc, i));
+             if(mapping_list)
+             {
+              annotated_pages = g_list_append (annotated_pages, 
GINT_TO_POINTER(i));
+diff --git a/tests/integration.c b/tests/integration.c
+index f3aad7a1f..5910425e6 100644
+--- a/tests/integration.c
++++ b/tests/integration.c
+@@ -248,7 +248,7 @@ parse_dir_and_run_complex_test(gchar* path, const gchar* 
extension)
+   while(files){
+     filename = g_build_filename(path, files->data, NULL);
+     gchar* test_case_path = g_strdup_printf("%s-%d", test_case_path_fragment, 
test_case_path_counter);
+-    g_test_add (test_case_path, gchar*, filename, setup, 
test_open_save_complex_file, teardown);
++    g_test_add (test_case_path, void, filename, setup, 
test_open_save_complex_file, teardown);
+     g_free(test_case_path);
+     test_case_path_counter ++;
+     files = g_list_next(files);
+

diff --git a/profiles/package.mask b/profiles/package.mask
index 088d7d1deec8..94a1f72fa66b 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -397,6 +397,7 @@ dev-scheme/guile:3.0
 >=www-client/elinks-0.16.1.1-r100
 >=x11-misc/xbindkeys-1.8.7-r100
 >=dev-scheme/guile-gi-0.3.2-r100
+>=media-sound/denemo-2.6.0-r100
 
 # Eli Schwartz <[email protected]> (2024-08-15)
 # Abandoned upstream since 2011, unmaintained in gentoo since 2017. Tons of

Reply via email to