commit:     3d57e27328003037ca49aa48f6ca477c77a87dfe
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 19 03:46:25 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 19 03:46:25 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d57e273

media-libs/lsp-plugins: backport double buffering fix

Closes: https://bugs.gentoo.org/877557
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../lsp-plugins-1.2.3-fix-double-buffering.patch   | 34 ++++++++
 media-libs/lsp-plugins/lsp-plugins-1.2.3-r1.ebuild | 92 ++++++++++++++++++++++
 2 files changed, 126 insertions(+)

diff --git 
a/media-libs/lsp-plugins/files/lsp-plugins-1.2.3-fix-double-buffering.patch 
b/media-libs/lsp-plugins/files/lsp-plugins-1.2.3-fix-double-buffering.patch
new file mode 100644
index 000000000000..8bd6cc4170e2
--- /dev/null
+++ b/media-libs/lsp-plugins/files/lsp-plugins-1.2.3-fix-double-buffering.patch
@@ -0,0 +1,34 @@
+https://github.com/lsp-plugins/lsp-tk-lib/commit/9afbda5b0db2909304248bdc69bb5c03a4278f74
+https://github.com/sadko4u/lsp-plugins/issues/272
+https://bugs.gentoo.org/877557
+
+From: sadko4u <sadk...@gmail.com>
+Date: Fri, 9 Sep 2022 23:36:53 +0300
+Subject: [PATCH] Returned back double buffering for the window
+
+--- a/modules/lsp-tk-lib/src/main/widgets/containers/Window.cpp
++++ b/modules/lsp-tk-lib/src/main/widgets/containers/Window.cpp
+@@ -300,15 +300,20 @@ namespace lsp
+ 
+             size_t flags = nFlags;
+ 
+-            s->begin();
++            ws::ISurface *bs = get_surface(s);
++            bs->begin();
+             {
+                 ws::rectangle_t xr;
+                 xr.nLeft    = 0;
+                 xr.nTop     = 0;
+                 xr.nWidth   = sSize.nWidth;
+                 xr.nHeight  = sSize.nHeight;
+-                render(s, &xr, flags);
++                render(bs, &xr, flags);
+             }
++            bs->end();
++
++            s->begin();
++                s->draw(bs, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f);
+             s->end();
+             commit_redraw();
+ 
+

diff --git a/media-libs/lsp-plugins/lsp-plugins-1.2.3-r1.ebuild 
b/media-libs/lsp-plugins/lsp-plugins-1.2.3-r1.ebuild
new file mode 100644
index 000000000000..a2b21db8ebdc
--- /dev/null
+++ b/media-libs/lsp-plugins/lsp-plugins-1.2.3-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2019-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic xdg
+
+DESCRIPTION="Linux Studio Plugins"
+HOMEPAGE="https://lsp-plug.in";
+
+if [[ ${PV} == *9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/sadko4u/lsp-plugins";
+       EGIT_BRANCH="devel"
+else
+       
SRC_URI="https://github.com/sadko4u/${PN}/releases/download/${PV}/${PN}-src-${PV}.tar.gz
 -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+       S="${WORKDIR}/${PN}"
+fi
+
+LICENSE="LGPL-3"
+SLOT="0"
+IUSE="doc jack ladspa +lv2 test vst X"
+REQUIRED_USE="|| ( jack ladspa lv2 )
+       test? ( jack )"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( dev-lang/php:* )"
+DEPEND="
+       media-libs/libglvnd[X]
+       media-libs/libsndfile
+       jack? (
+               media-libs/freetype
+               virtual/jack
+               x11-libs/cairo[X]
+               x11-libs/libX11
+               x11-libs/libXrandr
+       )
+       ladspa? ( media-libs/ladspa-sdk )
+       lv2? (
+               media-libs/freetype
+               media-libs/lv2
+               x11-libs/cairo[X]
+               x11-libs/libX11
+               x11-libs/libXrandr
+       )
+       vst? (
+               media-libs/freetype
+               x11-libs/cairo[X]
+               x11-libs/libX11
+               x11-libs/libXrandr
+       )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-fix-double-buffering.patch
+)
+
+src_configure() {
+       use doc && MODULES+="doc"
+       use jack && MODULES+=" jack"
+       use ladspa && MODULES+=" ladspa"
+       use lv2 && MODULES+=" lv2"
+       use vst && MODULES+=" vst2"
+       use X && MODULES+=" xdg"
+       emake \
+               FEATURES="${MODULES}" \
+               PREFIX="/usr" \
+               LIBDIR="/usr/$(get_libdir)" \
+               CFLAGS_EXT="${CFLAGS}" \
+               CXXFLAGS_EXT="${CXXFLAGS}" \
+               LDFLAGS_EXT="$(raw-ldflags)" \
+               VERBOSE=1 \
+               config
+}
+
+src_compile() {
+       emake \
+               FEATURES="${MODULES}" \
+               PREFIX="/usr" \
+               LIBDIR="/usr/$(get_libdir)" \
+               CFLAGS_EXT="${CFLAGS}" \
+               CXXFLAGS_EXT="${CXXFLAGS}" \
+               LDFLAGS_EXT="$(raw-ldflags)" \
+               VERBOSE=1
+}
+
+src_install() {
+       emake PREFIX="/usr" DESTDIR="${ED}" LIB_PATH="/usr/$(get_libdir)" 
VERBOSE=1 install
+}

Reply via email to