commit: bd9414714d4e1db63f1d2d48a339bb0ebeca10b3 Author: Arsen Arsenović <arsen <AT> gentoo <DOT> org> AuthorDate: Fri Jan 20 21:25:31 2023 +0000 Commit: Arsen Arsenović <arsen <AT> gentoo <DOT> org> CommitDate: Fri Jan 20 22:15:47 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd941471
media-libs/portsmf: new package, add 239 Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org> media-libs/portsmf/Manifest | 1 + ...ortsmf-239-revert-extern-to-static-change.patch | 48 ++++++++++++++++++++++ ...portsmf-239-set-correct-cmake-project-ver.patch | 26 ++++++++++++ .../portsmf-239-set-correct-pkg-config-ver.patch | 43 +++++++++++++++++++ media-libs/portsmf/metadata.xml | 11 +++++ media-libs/portsmf/portsmf-239.ebuild | 39 ++++++++++++++++++ 6 files changed, 168 insertions(+) diff --git a/media-libs/portsmf/Manifest b/media-libs/portsmf/Manifest new file mode 100644 index 000000000000..8d3f29c1c6f2 --- /dev/null +++ b/media-libs/portsmf/Manifest @@ -0,0 +1 @@ +DIST portsmf-239.tar.gz 82769 BLAKE2B 7596c3c66c15a5daa51c4962f785375568c35093a293bba48ec2742c6409c72ba3ff2f10c2b0a38969a0c14510ef06b94c6ed52429d5c55f05635637b5acbb37 SHA512 5908ef79043b44f90da8286d639a0693334f160454d206f4a212fe958a7a2e19cbc18e4240e191c1678690f34976c5e0d34dcb030d7bab007ee528fbb5e19486 diff --git a/media-libs/portsmf/files/portsmf-239-revert-extern-to-static-change.patch b/media-libs/portsmf/files/portsmf-239-revert-extern-to-static-change.patch new file mode 100644 index 000000000000..41a243cabb6c --- /dev/null +++ b/media-libs/portsmf/files/portsmf-239-revert-extern-to-static-change.patch @@ -0,0 +1,48 @@ +From 149f4687db15d1759723d5d3e8334980239f9d56 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <[email protected]> +Date: Sun, 18 Dec 2022 16:09:27 +0100 +Subject: [PATCH 3/3] Revert "fix linking Alg_atoms symbol_table with dynamic + linking with MSVC" + +This reverts commit 951b636f7d0cba370d483a91f1897c71f3d98530. + +This change separated the symbol_table that portSMF provides from the one that +the consumers use. I suspect this was wrong, and the problem it fixes in +actuality was somewhere else. +--- +This effectively makes the packaged version v238. + +Forwarded: https://codeberg.org/tenacityteam/portsmf/pulls/11 + + include/allegro.h | 2 +- + src/allegro.cpp | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/include/allegro.h b/include/allegro.h +index 460b3fb..7bba98e 100755 +--- a/include/allegro.h ++++ b/include/allegro.h +@@ -109,7 +109,7 @@ private: + void expand(); // make more space + }; + +-static Alg_atoms symbol_table; ++extern Alg_atoms symbol_table; + + + // an attribute/value pair. Since Alg_attribute names imply type, +diff --git a/src/allegro.cpp b/src/allegro.cpp +index cdbef90..1305d48 100755 +--- a/src/allegro.cpp ++++ b/src/allegro.cpp +@@ -30,6 +30,7 @@ + // 4267 is size_t to long warning + #pragma warning(disable: 4311 4996 4267) + #endif ++Alg_atoms symbol_table; + Serial_read_buffer Alg_track::ser_read_buf; // declare the static variables + Serial_write_buffer Alg_track::ser_write_buf; + +-- +2.39.0 + diff --git a/media-libs/portsmf/files/portsmf-239-set-correct-cmake-project-ver.patch b/media-libs/portsmf/files/portsmf-239-set-correct-cmake-project-ver.patch new file mode 100644 index 000000000000..3f6a11702096 --- /dev/null +++ b/media-libs/portsmf/files/portsmf-239-set-correct-cmake-project-ver.patch @@ -0,0 +1,26 @@ +From e26f7ccfc40365f7d32f702d0b66b8f3f7aaa5a2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <[email protected]> +Date: Sun, 18 Dec 2022 16:06:15 +0100 +Subject: [PATCH 2/3] Fix up project VERSION declaration + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Forwarded: https://codeberg.org/tenacityteam/portsmf/pulls/11 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9d306f2..9df117f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + cmake_minimum_required(VERSION 3.1) + +-project(PortSMF VERSION 236 LANGUAGES CXX) ++project(PortSMF VERSION 239 LANGUAGES CXX) + set(SOVERSION 1) + set(LIBRARY_VERSION 1.0.${CMAKE_PROJECT_VERSION}) + +-- +2.39.0 + diff --git a/media-libs/portsmf/files/portsmf-239-set-correct-pkg-config-ver.patch b/media-libs/portsmf/files/portsmf-239-set-correct-pkg-config-ver.patch new file mode 100644 index 000000000000..2e6ea0976b6d --- /dev/null +++ b/media-libs/portsmf/files/portsmf-239-set-correct-pkg-config-ver.patch @@ -0,0 +1,43 @@ +From 4b2a7223f1549b7acd279f5a5b2fde4c4642dbf9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <[email protected]> +Date: Sun, 18 Dec 2022 16:05:36 +0100 +Subject: [PATCH 1/3] packaging: set correct Version: in pkg-config file + +--- + packaging/portSMF.pc.in | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +Forwarded: https://codeberg.org/tenacityteam/portsmf/pulls/11 + +diff --git a/packaging/portSMF.pc.in b/packaging/portSMF.pc.in +index 7cdca36..756698f 100644 +--- a/packaging/portSMF.pc.in ++++ b/packaging/portSMF.pc.in +@@ -1,12 +1,12 @@ +-prefix=@CMAKE_INSTALL_PREFIX@ +-includedir=${prefix}/include +-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ +- +-Name: portSMF +-Description: Portmedia Simple Midi File library +-Requires: +-Version: 0.1 +-URL: https://github.com/tenacityteam/portsmf +- +-Libs: -L${libdir} -lportSMF +-Cflags: -I${includedir} ++prefix=@CMAKE_INSTALL_PREFIX@ ++includedir=${prefix}/include ++libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++ ++Name: portSMF ++Description: Portmedia Simple Midi File library ++Requires: ++Version: @LIBRARY_VERSION@ ++URL: https://github.com/tenacityteam/portsmf ++ ++Libs: -L${libdir} -lportSMF ++Cflags: -I${includedir} +-- +2.39.0 + diff --git a/media-libs/portsmf/metadata.xml b/media-libs/portsmf/metadata.xml new file mode 100644 index 000000000000..a5a3bd8d637d --- /dev/null +++ b/media-libs/portsmf/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Arsen Arsenović</name> + </maintainer> + <upstream> + <remote-id type="github">tenacityteam/portsmf</remote-id> + </upstream> +</pkgmetadata> diff --git a/media-libs/portsmf/portsmf-239.ebuild b/media-libs/portsmf/portsmf-239.ebuild new file mode 100644 index 000000000000..8b8578b7e613 --- /dev/null +++ b/media-libs/portsmf/portsmf-239.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="The Tenacity fork of PortSMF, a Standard MIDI File library" +HOMEPAGE="https://github.com/tenacityteam/portsmf" +SRC_URI=" + https://github.com/tenacityteam/portsmf/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz +" +LICENSE="MIT" +SLOT="0/1" # SOVERSION in CMakeLists.txt / SONAME suffix +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}"-239-revert-extern-to-static-change.patch + "${FILESDIR}/${PN}"-239-set-correct-cmake-project-ver.patch + "${FILESDIR}/${PN}"-239-set-correct-pkg-config-ver.patch +) + +src_configure() { + local mycmakeargs=( + -DBUILD_TESTING=$(usex test on off) + ## This is "Build example applications" according to upstream + #-DBUILD_APPS=$(usex examples on off) + # The above requires a non-existent PortMidiConfig.cmake. + ) + cmake_src_configure +} + +src_test() { + # Remove this function when bumping. Upstream HEAD has CTest. + cd "${BUILD_DIR}"/test || die + ./test </dev/null || die +}
