summaryrefslogtreecommitdiff
path: root/gui-apps/waypipe
diff options
context:
space:
mode:
Diffstat (limited to 'gui-apps/waypipe')
-rw-r--r--gui-apps/waypipe/Manifest6
-rw-r--r--gui-apps/waypipe/files/waypipe-0.7.2-no-simd.patch38
-rw-r--r--gui-apps/waypipe/files/waypipe-0.7.2-werror.patch12
-rw-r--r--gui-apps/waypipe/metadata.xml24
-rw-r--r--gui-apps/waypipe/waypipe-0.7.2.ebuild72
-rw-r--r--gui-apps/waypipe/waypipe-9999.ebuild72
6 files changed, 224 insertions, 0 deletions
diff --git a/gui-apps/waypipe/Manifest b/gui-apps/waypipe/Manifest
new file mode 100644
index 000000000000..534844580333
--- /dev/null
+++ b/gui-apps/waypipe/Manifest
@@ -0,0 +1,6 @@
+AUX waypipe-0.7.2-no-simd.patch 2593 BLAKE2B e3af5ec9cafe957c68e2694e79a957bd90718c7f3c0926c1da125498f8c2e101ac41881cc800f80e931c2d2ec1f5b0fa34de82b50d085780e8c9d853aa15dc30 SHA512 26078c8d48a9e87f3ce37791e41cbfdf79ab96639264dfc63666e5c45e6728ddb2cfe76b6b90322b4a80a3e755b7b053213dead884fb270c59ab97f717c6e872
+AUX waypipe-0.7.2-werror.patch 235 BLAKE2B e96c58d034ee9358f76ae7b8b182df645046af137a98d8d799694b33b19001806b1d977febf1cf9d9d02575b5a6231a1e69079c2547156202821532ee3b3f49b SHA512 9c7989cfa320fb3f8140b7a7e7259d1cbf7e00baf3db0d4b31c7c4059185dca3418b53ec5678402ab42c58e2a3cf5aecf63a4f453a25a84c76bc5968cda28d68
+DIST waypipe-0.7.2.tar.gz 202601 BLAKE2B bc8a03c8b47ee65a158ca45047f1989761c36b7b6fb5196784637f4e937fa2e5076497079f8368daf20592351e60a12fda5f4500b7220320b4c4a73ca9e5b1e0 SHA512 b126ea9d30864ecba67447793f39dbbe8bc73ab33c79879ac243023c64930e9aae887f13c0fdcc4cdf307b0ca6766b1012915dc88c596b7c250e3b35f6ba9190
+EBUILD waypipe-0.7.2.ebuild 1754 BLAKE2B e7637ff87a9216842c3f7c34063f5a8bc707043f07c939d5ae0172b7ca779b451a9fad74a77950ed7b55f1e26cefacb0587b22cddee2cfc6dd52293f04e92b99 SHA512 53192e6f20cbfdcb93fa8c9db8eba3af84da5b971a6610df9e47d0cc2b05386851cb405f9cfc3f88af2f5457edbb9295363bedd09f9c3eba30dba41cb92b9a6b
+EBUILD waypipe-9999.ebuild 1770 BLAKE2B b9a4889283a17a7fb7bafd3ccf12a233662892384866206462816db06a52e0eec301a8228b65e7b6909e240a9d1c3da2bd8dfd785d310a290db5343948f0f88c SHA512 2458e59f795766562af6058bd90975029e613e2e38704ec2037d82d2aca9d2cc7f653e3db336bd80503c95a46f1e03cc59948b0467e0a0016574afa09f166c41
+MISC metadata.xml 926 BLAKE2B 708740a25670ffd20bc5f58c26d32e508b1bcfb3e853692417fb1eebda13201bc9cdcd19944081461c153290fd51ab5aed652425bbe5d3c02ec46518045a6d7e SHA512 99d90b8dd59cb9f9b0d2ba90c7ae2512c0c99fa9c6a436483836b00d3e0466b2bbcc88601ccf141e6e496f0dc139545d43787f8d30e10ce194f5dfd9444ac4b4
diff --git a/gui-apps/waypipe/files/waypipe-0.7.2-no-simd.patch b/gui-apps/waypipe/files/waypipe-0.7.2-no-simd.patch
new file mode 100644
index 000000000000..df464810e1b3
--- /dev/null
+++ b/gui-apps/waypipe/files/waypipe-0.7.2-no-simd.patch
@@ -0,0 +1,38 @@
+make simd instructions optional
+
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -5,3 +5,7 @@ option('with_lz4', type : 'feature', value : 'auto', description : 'Support LZ4
+ option('with_zstd', type : 'feature', value : 'auto', description : 'Support ZStandard as a compression mechanism')
+ option('with_vaapi', type : 'feature', value : 'auto', description : 'Link with libva and use VAAPI to perform hardware video output color space conversions on GPU')
+ option('with_systemtap', type: 'boolean', value: true, description: 'Enable tracing using sdt and provide static tracepoints for profiling')
++option('with_avx512f', type: 'boolean', value: true, description: 'Enable avx512f SIMD instructions')
++option('with_avx2', type: 'boolean', value: true, description: 'Enable avx2 SIMD instructions')
++option('with_sse3', type: 'boolean', value: true, description: 'Enable sse3 SIMD instructions')
++option('with_neon_opts', type: 'boolean', value: true, description: 'Enable optimizations for ARM64 neon cpus')
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -25,19 +25,19 @@ endif
+ # Conditionally compile SIMD-optimized code.
+ # (The meson simd module is a bit too limited for this)
+ kernel_libs = []
+-if cc.has_argument('-mavx512f') and cc.has_argument('-mlzcnt') and cc.has_argument('-mbmi')
++if cc.has_argument('-mavx512f') and cc.has_argument('-mlzcnt') and cc.has_argument('-mbmi') and get_option('with_avx512f')
+ kernel_libs += static_library('kernel_avx512f', 'kernel_avx512f.c', c_args:['-mavx512f', '-mlzcnt', '-mbmi'])
+ config_data.set('HAVE_AVX512F', 1, description: 'Compiler supports AVX-512F')
+ endif
+-if cc.has_argument('-mavx2') and cc.has_argument('-mlzcnt') and cc.has_argument('-mbmi')
++if cc.has_argument('-mavx2') and cc.has_argument('-mlzcnt') and cc.has_argument('-mbmi') and get_option('with_avx2')
+ kernel_libs += static_library('kernel_avx2', 'kernel_avx2.c', c_args:['-mavx2', '-mlzcnt', '-mbmi'])
+ config_data.set('HAVE_AVX2', 1, description: 'Compiler supports AVX2')
+ endif
+-if cc.has_argument('-msse3')
++if cc.has_argument('-msse3') and get_option('with_sse3')
+ kernel_libs += static_library('kernel_sse3', 'kernel_sse3.c', c_args:['-msse3'])
+ config_data.set('HAVE_SSE3', 1, description: 'Compiler supports SSE 3')
+ endif
+-if host_machine.cpu_family() == 'aarch64' or cc.has_argument('-mfpu=neon')
++if ( host_machine.cpu_family() == 'aarch64' or cc.has_argument('-mfpu=neon') ) and get_option('with_neon_opts')
+ neon_args = host_machine.cpu_family() == 'aarch64' ? [] : ['-mfpu=neon']
+
+ # Clang additionally enforces that NEON code only be compiled
diff --git a/gui-apps/waypipe/files/waypipe-0.7.2-werror.patch b/gui-apps/waypipe/files/waypipe-0.7.2-werror.patch
new file mode 100644
index 000000000000..289a0c29acb5
--- /dev/null
+++ b/gui-apps/waypipe/files/waypipe-0.7.2-werror.patch
@@ -0,0 +1,12 @@
+diff --git a/meson.build b/meson.build
+index d023f1f..372f0e3 100644
+--- a/meson.build
++++ b/meson.build
+@@ -6,7 +6,6 @@ project(
+ default_options: [
+ 'c_std=c11',
+ 'warning_level=3',
+- 'werror=true',
+ ],
+ version: '0.7.2',
+ )
diff --git a/gui-apps/waypipe/metadata.xml b/gui-apps/waypipe/metadata.xml
new file mode 100644
index 000000000000..c0b193b3bddb
--- /dev/null
+++ b/gui-apps/waypipe/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gentoo@aisha.cc</email>
+ <name>Aisha Tammy</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ waypipe is a proxy for wayland clients to allow streaming.
+ sessions over tcp. It forwards Wayland messages and
+ serializes changes to shared memory buffers over a single socket.
+ This makes application forwarding similar to ssh -X feasible.
+ </longdescription>
+ <use>
+ <flag name="dmabuf">Use dmabuf for data exchange and hardware decoding</flag>
+ <flag name="ffmpeg">Link with ffmpeg for software decoding</flag>
+ <flag name="man">Build and install man pages</flag>
+ <flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
+ </use>
+</pkgmetadata>
diff --git a/gui-apps/waypipe/waypipe-0.7.2.ebuild b/gui-apps/waypipe/waypipe-0.7.2.ebuild
new file mode 100644
index 000000000000..ad21057c1731
--- /dev/null
+++ b/gui-apps/waypipe/waypipe-0.7.2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit meson python-any-r1
+
+DESCRIPTION="network transparency with Wayland"
+HOMEPAGE="https://gitlab.freedesktop.org/mstoeckl/waypipe"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mstoeckl/waypipe"
+else
+ SRC_URI="https://gitlab.freedesktop.org/mstoeckl/waypipe/-/archive/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-v${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=( "avx2" "avx512f" "sse3" )
+IUSE="dmabuf ffmpeg lz4 man neon systemtap test vaapi zstd ${CPU_FLAGS_X86[@]/#/cpu_flags_x86_}"
+REQUIRED_USE="vaapi? ( ffmpeg )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dmabuf? (
+ media-libs/mesa[gbm,vaapi?,wayland]
+ x11-libs/libdrm
+ )
+ lz4? ( app-arch/lz4 )
+ systemtap? ( dev-util/systemtap )
+ vaapi? ( x11-libs/libva[drm,wayland] )
+ ffmpeg? (
+ media-video/ffmpeg[x264,vaapi?]
+ )
+ zstd? ( app-arch/zstd )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ man? ( app-text/scdoc )
+ test? ( dev-libs/weston[wayland-compositor,screen-sharing] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/waypipe-0.7.2-werror.patch
+ "${FILESDIR}"/waypipe-0.7.2-no-simd.patch
+)
+
+src_configure() {
+ local mymesonargs=(
+ $(meson_use systemtap with_systemtap)
+ $(meson_use neon with_neon_opts)
+ $(meson_feature dmabuf with_dmabuf)
+ $(meson_feature ffmpeg with_video)
+ $(meson_feature lz4 with_lz4)
+ $(meson_feature man man-pages)
+ $(meson_feature vaapi with_vaapi)
+ $(meson_feature zstd with_zstd)
+ )
+ local fl
+ for fl in "${CPU_FLAGS_X86[@]}"; do
+ mymesonargs+=( $(meson_use cpu_flags_x86_$fl with_$fl ) )
+ done
+ meson_src_configure
+}
diff --git a/gui-apps/waypipe/waypipe-9999.ebuild b/gui-apps/waypipe/waypipe-9999.ebuild
new file mode 100644
index 000000000000..60bffcfedb71
--- /dev/null
+++ b/gui-apps/waypipe/waypipe-9999.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit meson python-any-r1
+
+DESCRIPTION="transparent network proxy for Wayland compositors"
+HOMEPAGE="https://gitlab.freedesktop.org/mstoeckl/waypipe"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/mstoeckl/waypipe"
+else
+ SRC_URI="https://gitlab.freedesktop.org/mstoeckl/waypipe/-/archive/v${PV}/${PN}-v${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-v${PV}
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=( "avx2" "avx512f" "sse3" )
+IUSE="dmabuf ffmpeg lz4 man neon systemtap test vaapi zstd ${CPU_FLAGS_X86[@]/#/cpu_flags_x86_}"
+REQUIRED_USE="vaapi? ( ffmpeg )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dmabuf? (
+ media-libs/mesa[gbm,vaapi?,wayland]
+ x11-libs/libdrm
+ )
+ lz4? ( app-arch/lz4 )
+ systemtap? ( dev-util/systemtap )
+ vaapi? ( x11-libs/libva[drm,wayland] )
+ ffmpeg? (
+ media-video/ffmpeg[x264,vaapi?]
+ )
+ zstd? ( app-arch/zstd )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+ man? ( app-text/scdoc )
+ test? ( dev-libs/weston[wayland-compositor,screen-sharing] )
+"
+
+PATCHES=(
+ "${FILESDIR}"/waypipe-0.7.2-werror.patch
+ "${FILESDIR}"/waypipe-0.7.2-no-simd.patch
+)
+
+src_configure() {
+ local mymesonargs=(
+ $(meson_use systemtap with_systemtap)
+ $(meson_use neon with_neon_opts)
+ $(meson_feature dmabuf with_dmabuf)
+ $(meson_feature ffmpeg with_video)
+ $(meson_feature lz4 with_lz4)
+ $(meson_feature man man-pages)
+ $(meson_feature vaapi with_vaapi)
+ $(meson_feature zstd with_zstd)
+ )
+ local fl
+ for fl in "${CPU_FLAGS_X86[@]}"; do
+ mymesonargs+=( $(meson_use cpu_flags_x86_$fl with_$fl ) )
+ done
+ meson_src_configure
+}