1
0
forked from pool/cuarzo-srm

dep for louvre tryout

OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/cuarzo-srm?expand=0&rev=1
This commit is contained in:
Jan Engelhardt 2023-11-18 10:34:32 +00:00 committed by Git OBS Bridge
commit cc8bb4cc08
7 changed files with 228 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,66 @@
From 6e684612c648275c532b374e917c60388513c35c Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Sat, 18 Nov 2023 10:51:11 +0100
Subject: [PATCH] build: heed results from pkg-config
The .pc files can have extra required flags or locations (e.g. if
libraries are installed outside the standard search paths).
---
doxygen/md/Tutorial.md | 4 ++--
src/meson.build | 17 +++++++++--------
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/doxygen/md/Tutorial.md b/doxygen/md/Tutorial.md
index b25fe71..88c49bb 100644
--- a/doxygen/md/Tutorial.md
+++ b/doxygen/md/Tutorial.md
@@ -21,8 +21,8 @@ project('srm-example',
version : '0.1.0')
c = meson.get_compiler('c')
-
-glesv2_dep = c.find_library('GLESv2')
+pkg = import('pkgconfig')
+glesv2_dep = dependency('glesv2')
srm_dep = c.find_library('SRM')
include_directories_filtered = []
diff --git a/src/meson.build b/src/meson.build
index c734fbe..e3cc862 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -56,13 +56,14 @@ endforeach
# ------------ DEPENDENCIES ------------
-egl_dep = c.find_library('EGL')
-glesv2_dep = c.find_library('GLESv2')
-udev_dep = c.find_library('udev')
+pkg = import('pkgconfig')
+egl_dep = dependency('egl')
+glesv2_dep = dependency('glesv2')
+udev_dep = dependency('libudev')
pthread_dep = c.find_library('pthread')
-drm_dep = c.find_library('drm')
-gbm_dep = c.find_library('gbm')
-display_info_dep = c.find_library('display-info')
+drm_dep = dependency('libdrm')
+gbm_dep = dependency('gbm')
+display_info_dep = dependency('libdisplay-info')
# ------------ SOURCE CODE FILES ------------
@@ -95,8 +96,8 @@ endif
if get_option('build_examples')
m_dep = c.find_library('m')
- libinput_dep = c.find_library('input')
- libseat_dep = c.find_library('seat')
+ libinput_dep = dependency('libinput')
+ libseat_dep = dependency('libseat')
subdir('examples/srm-basic')
subdir('examples/srm-display-info')
--
2.42.1

View File

@ -0,0 +1,38 @@
From 093d56c4894e447609dc93d100a0b61a48f178e3 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Sat, 18 Nov 2023 11:03:08 +0100
Subject: [PATCH] build: import "gl" dependency
[ 3s] ../lib/SRMBuffer.c:1:10: fatal error: GL/gl.h: No such file or directory
Looking for the GLESv2 component is not enough to ensure gl.h exists.
The Mesa packages considers them to be separate entities (because different
.pc files), and distributions readily split Mesa into individually-installable
libGL and libGLESv2 components, too.
---
src/meson.build | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/meson.build b/src/meson.build
index e3cc862..e710f12 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -57,6 +57,7 @@ endforeach
# ------------ DEPENDENCIES ------------
pkg = import('pkgconfig')
+gl_dep = dependency('gl')
egl_dep = dependency('egl')
glesv2_dep = dependency('glesv2')
udev_dep = dependency('libudev')
@@ -77,6 +78,7 @@ SRM = library(
dependencies : [
display_info_dep,
egl_dep,
+ gl_dep,
glesv2_dep,
udev_dep,
pthread_dep,
--
2.42.1

4
cuarzo-srm.changes Normal file
View File

@ -0,0 +1,4 @@
-------------------------------------------------------------------
Sat Nov 18 10:34:16 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Initial version 0.3.2.1

93
cuarzo-srm.spec Normal file
View File

@ -0,0 +1,93 @@
#
# spec file for package cuarzo-srm
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: cuarzo-srm
Version: 0.3.2.1
%define sillyver 0.3.2-1
%define lname libSRM
Release: 0
Summary: Rendering manager for the Louvre library
License: GPL-3.0-only
Group: Development/Libraries/C and C++
URL: https://github.com/CuarzoSoftware/SRM/
Source: https://github.com/CuarzoSoftware/SRM/archive/refs/tags/v%sillyver.tar.gz
Patch1: 0001-build-heed-results-from-pkg-config.patch
Patch2: 0001-build-import-gl-dependency.patch
BuildRequires: c_compiler
BuildRequires: meson
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(libdisplay-info)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libinput)
BuildRequires: pkgconfig(libseat)
BuildRequires: pkgconfig(libudev)
%description
A C library to aid in the development of Linux DRM/KMS applications.
SRM allows for using multiple GPUs simultaneously. It offers
functions for creating OpenGL textures which are automatically shared
among GPUs.
%package -n %lname
Summary: Rendering Manager for the Louvre library
Group: System/Libraries
%description -n %lname
A C library to aid in the development of Linux DRM/KMS applications.
SRM allows for using multiple GPUs simultaneously. It offers
functions for creating OpenGL textures which are automatically shared
among GPUs.
%package devel
Summary: Headers for the Simple Rendering Manager library
Group: Development/Libraries/C and C++
Requires: %lname = %version
%description devel
%prep
%autosetup -p1 -n SRM-%sillyver
%build
pushd src/
%meson
%meson_build
popd
%install
ln -fs /bin/true scripts/ld.sh
pushd src/
%meson_install
popd
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files
%_bindir/srm-*
%files -n %lname
%_libdir/libSRM.so
%files devel
%_includedir/SRM/
%changelog

3
v0.3.2-1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:89e9d754a794b6abdf75b751d6f2b91b1954bdfdb9399c46ca674bb421964018
size 139632