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
+}

Reply via email to