commit 6afe1f71eb08dab161f3849998b899f2cf8c62a6 Author: EnumDev Date: Wed Oct 1 19:14:50 2025 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e58e5f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Exclude bpm archives +*.bpm \ No newline at end of file diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 0000000..2002b61 --- /dev/null +++ b/check-version.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Gitlab repository +REPO="spice/spice-gtk" + +# Replace slash with URL encoded representation +REPO=$(echo "$REPO" | sed 's|/|%2F|g') + +# Get tag name using Gitlab Rest API +TAG_NAME=$(curl -s -L https://gitlab.freedesktop.org/api/v4/projects/"$REPO"/repository/tags | jq -r '.[0].name') + +# Trim 'v' character in TAG_NAME variable +VERSION=$(echo "$TAG_NAME" | tr -d 'v') + +echo "$VERSION" diff --git a/pkg.info b/pkg.info new file mode 100644 index 0000000..04068b2 --- /dev/null +++ b/pkg.info @@ -0,0 +1,46 @@ +name: spice-gtk +description: GTK+ client library for SPICE +version: "0.42" +revision: 1 +url: https://www.spice-space.org/ +license: LGPL2.1-or-later +architecture: any +type: source +depends: + - acl + - cairo + - gdk-pixbuf + - glib + - gst-plugins-base + - gst-plugins-good + - gstreamer + - gtk3 + - json-glib + - libcacard + - libcap + - libepoxy + - libjpeg-turbo + - libsasl + - libsoup + - libusb + - libx11 + - lz4 + - openssl + - opus + - pixman + - polkit + - spice-protocol + - wayland + - zlib +make_depends: + - gobject-introspection + - meson + - python-pyparsing + - python-six + - vala + - wayland-protocols +downloads: + - url: https://spice-space.org/download/gtk/spice-gtk-${BPM_PKG_VERSION}.tar.xz + extract_to_bpm_source: true + extract_strip_components: 1 + checksum: 9380117f1811ad1faa1812cb6602479b6290d4a0d8cc442d44427f7f6c0e7a58 diff --git a/source-files/remove-gobject-introspection-dep.patch b/source-files/remove-gobject-introspection-dep.patch new file mode 100644 index 0000000..962b4d1 --- /dev/null +++ b/source-files/remove-gobject-introspection-dep.patch @@ -0,0 +1,25 @@ +From 3bd8aac326714ed3641a66793b69d9355818df1a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= +Date: Tue, 7 Mar 2023 14:00:25 +0000 +Subject: [PATCH] Remove dependency on gobject-introspection-1.0 + +The library and header files of gobject-introspection-1.0 are not used by spice-gtk itself. Only the 'g-ir-scanner' and 'g-ir-compiler' tools are used during the build. Adding it as dependency to library and pkgconfig file is not needed. +--- + meson.build | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 341f5fb5..44017e55 100644 +--- a/meson.build ++++ b/meson.build +@@ -345,7 +345,6 @@ summary_info += {'coroutine': spice_gtk_coroutine} + spice_gtk_has_introspection = false + d = dependency('gobject-introspection-1.0', version : '>= 0.94', required : get_option('introspection')) + if d.found() +- spice_glib_deps += d + spice_gtk_has_introspection = true + endif + summary_info += {'introspection': spice_gtk_has_introspection} +-- +GitLab + diff --git a/source.sh b/source.sh new file mode 100644 index 0000000..66d49c2 --- /dev/null +++ b/source.sh @@ -0,0 +1,32 @@ +# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +# The prepare function is executed in the root of the temp directory +# This function is used for putting downloaded files to the correct location or applying patches +prepare() { + cd "$BPM_SOURCE" + patch -Np1 -i "$BPM_WORKDIR"/remove-gobject-introspection-dep.patch +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + meson setup build --prefix=/usr + meson compile -C build +} + +# The check function is executed in the source directory +# This function is used to run tests to verify the package has been compiled correctly +check() { + meson test -C build --print-errorlogs +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + meson install -C build --destdir="$BPM_OUTPUT" + + # Install package license + install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/spice-gtk/COPYING +}