spice and spice-protocol: new recipes (#7294)

This commit is contained in:
Han Pengfei
2022-10-17 22:48:39 +08:00
committed by GitHub
parent 9f3d88c880
commit a972ca8add
3 changed files with 288 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
SUMMARY="SPICE protocol definitions"
DESCRIPTION="Headers defining the SPICE-protocol"
HOMEPAGE="https://www.spice-space.org/"
COPYRIGHT="2009 Red Hat, Inc"
LICENSE="BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://www.spice-space.org/download/releases/spice-protocol-$portVersion.tar.xz"
CHECKSUM_SHA256="04ffba610d9fd441cfc47dfaa135d70096e60b1046d2119d8db2f8ea0d17d912"
SOURCE_DIR="spice-protocol-$portVersion"
ARCHITECTURES="any"
PROVIDES="
spice_protocol = $portVersion
devel:spice_protocol = $portVersion
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
cmd:meson
cmd:ninja
"
BUILD()
{
rm -rf build
meson build --buildtype=release \
--prefix=$prefix --datadir=$dataDir \
--includedir=$includeDir --sysconfdir=$settingsDir
}
INSTALL()
{
ninja -C build install
fixPkgconfig
}

View File

@@ -0,0 +1,138 @@
From 2a354edfed18050de1ce406717a42fbf470a7d28 Mon Sep 17 00:00:00 2001
From: Han Pengfei <pengphei@qq.com>
Date: Sun, 16 Oct 2022 01:21:46 +0000
Subject: fix meson build
diff --git a/meson.build b/meson.build
index ef8b41a..be8fb23 100644
--- a/meson.build
+++ b/meson.build
@@ -106,9 +106,11 @@ foreach dep : ['libjpeg', 'zlib']
endforeach
if host_machine.system() != 'windows'
- foreach dep : ['rt', 'm']
- spice_server_deps += compiler.find_library(dep)
- endforeach
+ if host_machine.system() != 'haiku'
+ foreach dep : ['rt', 'm']
+ spice_server_deps += compiler.find_library(dep)
+ endforeach
+ endif
else
foreach dep : ['ws2_32', 'shlwapi']
spice_server_deps += compiler.find_library(dep)
--
2.37.3
From 0347fdb35895a0cdb3355280e6758842e8cd6740 Mon Sep 17 00:00:00 2001
From: Han Pengfei <pengphei@qq.com>
Date: Sun, 16 Oct 2022 02:21:30 +0000
Subject: disable doxygen
diff --git a/meson.build b/meson.build
index be8fb23..e0ef1c1 100644
--- a/meson.build
+++ b/meson.build
@@ -234,4 +234,4 @@ endif
configure_file(output : 'config.h',
configuration : spice_server_config_data)
-run_target('doxy', command : './doxygen.sh')
+#run_target('doxy', command : './doxygen.sh')
--
2.37.3
From 9267973c12021acaa71b490619ca1e043e6d0024 Mon Sep 17 00:00:00 2001
From: Han Pengfei <pengphei@qq.com>
Date: Sun, 16 Oct 2022 02:32:46 +0000
Subject: Fix SUN_LEN missing
diff --git a/server/reds.cpp b/server/reds.cpp
index 5e9a129..7055ccc 100644
--- a/server/reds.cpp
+++ b/server/reds.cpp
@@ -82,6 +82,11 @@
#include "net-utils.h"
#include "red-stream-device.h"
+#ifndef SUN_LEN
+#define SUN_LEN(su) \
+ (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path))
+#endif
+
#define REDS_MAX_STAT_NODES 100
static void reds_client_monitors_config(RedsState *reds, VDAgentMonitorsConfig *monitors_config);
--
2.37.3
From c7d147ca5c3ca91305dbf01e804626c5baecb21e Mon Sep 17 00:00:00 2001
From: Han Pengfei <pengphei@qq.com>
Date: Sun, 16 Oct 2022 02:36:23 +0000
Subject: fix missing pthread_setname_np
diff --git a/server/red-worker.cpp b/server/red-worker.cpp
index 912b7d5..bfc11d5 100644
--- a/server/red-worker.cpp
+++ b/server/red-worker.cpp
@@ -1049,7 +1049,7 @@ bool red_worker_run(RedWorker *worker)
#ifndef _WIN32
pthread_sigmask(SIG_SETMASK, &curr_sig_mask, nullptr);
#endif
-#if !defined(__APPLE__)
+#if !defined(__APPLE__) && !defined(__HAIKU__)
pthread_setname_np(worker->thread, "SPICE Worker");
#endif
--
2.37.3
From 61c389486333758969e63cd70b7077b0e4afc838 Mon Sep 17 00:00:00 2001
From: Han Pengfei <pengphei@qq.com>
Date: Mon, 17 Oct 2022 00:31:35 +0000
Subject: meson: disable python-checks
Signed-off-by: Han Pengfei <pengphei@qq.com>
diff --git a/meson.build b/meson.build
index e0ef1c1..671ae84 100644
--- a/meson.build
+++ b/meson.build
@@ -61,6 +61,7 @@ spice_common = subproject('spice-common',
default_options : [
'generate-code=server',
'spice-protocol-version=@0@'.format(spice_protocol_version),
+ 'python-checks=false',
])
spice_server_config_data.merge_from(spice_common.get_variable('spice_common_config_data'))
spice_server_deps += spice_common.get_variable('spice_common_server_dep')
--
2.37.3
From 1191d7bac318b1f626b455cfb1b0eaf5dd24f92a Mon Sep 17 00:00:00 2001
From: Han Pengfei <pengphei@qq.com>
Date: Mon, 17 Oct 2022 12:52:14 +0000
Subject: Fix meson-dist missing
Signed-off-by: Han Pengfei <pengphei@qq.com>
diff --git a/build-aux/meson-dist b/build-aux/meson-dist
new file mode 100755
index 0000000..1a24852
--- /dev/null
+++ b/build-aux/meson-dist
@@ -0,0 +1 @@
+#!/bin/sh
--
2.37.3

View File

@@ -0,0 +1,107 @@
SUMMARY="The SPICE client and server library"
DESCRIPTION="The SPICE package provides the SPICE server library and client.
These components are used to provide access to a remote machine's display and devices"
HOMEPAGE="https://www.spice-space.org/"
COPYRIGHT="2009 Red Hat, Inc"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://www.spice-space.org/download/releases/spice-server/spice-$portVersion.tar.bz2"
CHECKSUM_SHA256="ada9af67ab321916bd7eb59e3d619a4a7796c08a28c732edfc7f02fc80b1a37a"
SOURCE_DIR="spice-$portVersion"
PATCHES="spice-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="1.14.2"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
spice$secondaryArchSuffix = $portVersion
lib:libspice_server$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
#lib:libgstreamer_1.0$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblz4$secondaryArchSuffix
lib:libopus$secondaryArchSuffix
lib:liborc_0.4$secondaryArchSuffix
lib:libpixman_1$secondaryArchSuffix
lib:libsasl2$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libX11$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
spice${secondaryArchSuffix}_devel = $portVersion
devel:libspice_server$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
spice$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libglib_2.0$secondaryArchSuffix
#devel:libgstreamer_1.0$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:liblz4$secondaryArchSuffix
devel:libopus$secondaryArchSuffix
devel:liborc_0.4$secondaryArchSuffix
devel:libpixman_1$secondaryArchSuffix
devel:libsasl2$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libX11$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:spice_protocol
pyparsing_python3
six_python3
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:meson
cmd:ninja
cmd:openssl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
"
BUILD()
{
rm -rf build
chmod +x build-aux/meson/check-spice-common
export LDFLAGS="-lnetwork -lbsd"
meson build --buildtype=release \
--prefix=$prefix --libdir=$libDir --datadir=$dataDir --bindir=$binDir \
--includedir=$includeDir --sysconfdir=$settingsDir --sbindir=$binDir \
--libexecdir=$libDir --localedir=$dataDir/locale \
-Dgstreamer=no \
-Dsasl=true \
-Dtests=false \
-Dlz4=true \
-Dopus=enabled \
-Dmanual=false
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libspice-server
fixPkgconfig
packageEntries devel \
$developDir
}