public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: profiles/, media-sound/denemo/, media-sound/denemo/files/
@ 2024-09-18 13:12 Arsen Arsenović
  0 siblings, 0 replies; only message in thread
From: Arsen Arsenović @ 2024-09-18 13:12 UTC (permalink / raw
  To: gentoo-commits

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 <npopov@redhat.com>
+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 <eschwartz@gentoo.org> (2024-08-15)
 # Abandoned upstream since 2011, unmaintained in gentoo since 2017. Tons of


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-09-18 13:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-18 13:12 [gentoo-commits] repo/gentoo:master commit in: profiles/, media-sound/denemo/, media-sound/denemo/files/ Arsen Arsenović

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox