diff options
author | Alfred Wingate <parona@protonmail.com> | 2024-08-27 21:10:44 +0300 |
---|---|---|
committer | Arsen Arsenović <arsen@gentoo.org> | 2024-09-18 15:06:42 +0200 |
commit | dc3e2348609b3c156dd9e06aba46be5f7b69fefb (patch) | |
tree | 415235aefb5c58ed89c4755bd335393ea6bb2749 /media-sound/denemo | |
parent | dev-scheme/guile-gi: update live to use new guile mechanism (diff) | |
download | gentoo-dc3e2348609b3c156dd9e06aba46be5f7b69fefb.tar.gz gentoo-dc3e2348609b3c156dd9e06aba46be5f7b69fefb.tar.bz2 gentoo-dc3e2348609b3c156dd9e06aba46be5f7b69fefb.zip |
media-sound/denemo: switch to new guile mechanism
Bug: https://bugs.gentoo.org/927336
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
Diffstat (limited to 'media-sound/denemo')
-rw-r--r-- | media-sound/denemo/denemo-2.6.0-r100.ebuild | 136 | ||||
-rw-r--r-- | media-sound/denemo/files/denemo-2.6.0-fix-c99.patch | 38 | ||||
-rw-r--r-- | media-sound/denemo/files/denemo-2.6.0-incompatible-pointers.patch | 36 |
3 files changed, 210 insertions, 0 deletions
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); + |