# # spec file for package libxshmfence # # Copyright (c) 2024 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/ # %define lname libxshmfence1 Name: libxshmfence Version: 1.3.3 Release: 1.2 Summary: A tiny library that exposes a event API on top of Linux futexes License: HPND Group: Development/Libraries/C and C++ URL: https://xorg.freedesktop.org/ #Git-Clone: git://anongit.freedesktop.org/xorg/lib/libxshmfence #Git-Web: http://cgit.freedesktop.org/xorg/lib/libxshmfence/ Source: https://xorg.freedesktop.org/archive/individual/lib/%{name}-%{version}.tar.xz Source1: baselibs.conf BuildRequires: autoconf >= 2.60 BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: pkgconfig(xorg-macros) >= 1.8 BuildRequires: pkgconfig(xproto) %description This is a tiny library that exposes a event API on top of Linux futexes. There was some discussion about using eventfd instead of this, but the cost of adding two FDs to the X server for every DRI application seems excessive, and by using PresentIdleNotify events, to work around the limitations of futexes. %package -n %{lname} Summary: A tiny library that exposes a event API on top of Linux futexes Group: System/Libraries %description -n %{lname} This is a tiny library that exposes a event API on top of Linux futexes. There was some discussion about using eventfd instead of this, but the cost of adding two FDs to the X server for every DRI application seems excessive, and by using PresentIdleNotify events, to work around the limitations of futexes. %package devel Summary: Development files for the X Shm-Fence library Group: Development/Libraries/C and C++ Requires: %{lname} = %{version} %description devel This is a tiny library that exposes a event API on top of Linux futexes. This package contains the development headers for the library found in %{name}. %prep %setup -q %build autoreconf -fi %configure --disable-static %make_build %install %make_install find %{buildroot} -type f -name "*.la" -delete -print %post -n %{lname} -p /sbin/ldconfig %postun -n %{lname} -p /sbin/ldconfig %files -n %{lname} %{_libdir}/libxshmfence.so.1* %files devel %license COPYING %doc README.md %{_includedir}/X11/* %{_libdir}/libxshmfence.so %{_libdir}/pkgconfig/xshmfence.pc %changelog * Sat Dec 14 2024 Stefan Dirsch - update to 1.3.3 * configure: Use LT_INIT from libtool 2 instead of deprecated AC_PROG_LIBTOOL * configure: replace deprecated AC_HELP_STRING with AS_HELP_STRING * configure: replace deprecated AC_TRY_COMPILE with AC_COMPILE_IFELSE * alloc: Allow disabling memfd usage at runtime with XSHMFENCE_NO_MEMFD=1 * src/xshmfence_futex.h: fix build on 32-bit architectures using 64-bit time_t * Fri Dec 23 2022 Dirk Müller - update to 1.3.2: * configure: Use AC_SYS_LARGEFILE to enable large file support - spec file modernisation, add license and README * Tue Oct 18 2022 Stefan Dirsch - Update to version 1.3.1 * Update README for gitlab migration * Update configure.ac bug URL for gitlab migration * Fix spelling/wording issues * gitlab CI: add a basic build test * alloc: prefer atomic close-on-exec without O_TMPFILE as well * alloc: prefer SHM_ANON on FreeBSD a la memfd_create * Mon Feb 26 2018 sndirsch@suse.com - Update to version 1.3 * autogen.sh: use quoted string variables * Fix missing include for HAVE_UMTX branch of futex * autogen: add default patch prefix * autogen.sh: use exec instead of waiting for configure to finish * configure.ac: call AC_USE_SYSTEM_EXTENSIONS - supersedes u_configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch * Wed Feb 7 2018 msrb@suse.com - Add u_configure.ac-call-AC_USE_SYSTEM_EXTENSIONS.patch * Fixes build with GLIBC 2.27. (bnc#1079830) * Mon Jan 5 2015 sndirsch@suse.com - specfile: added baselibs.conf as source (new checkin policy) * Sat Jan 3 2015 tobias.johannes.klausmann@mni.thm.de - Update to version 1.2: + build fixes + FreeBSD umtx support + memfd_create support for kernel >= 3.17 * Thu Apr 24 2014 tobias.johannes.klausmann@mni.thm.de - Add missing BuildRequires * Sat Dec 7 2013 tobias.johannes.klausmann@mni.thm.de - Add baselibs.conf Provide libxshmfence1-32bit * Wed Dec 4 2013 cfarrell@suse.com - license update: HPND COPYING file is HPND - does not contain sublicensing reference (as MIT does) * Wed Nov 27 2013 tobias.johannes.klausmann@mni.thm.de - Update to version 1.1: + Add mandatory COPYING file. + Add the required README file + make: add $(CWARNFLAGS) + make: list non installed headers under the _SOURCES variable + lint: remove usage of libxshmfence_la_SOURCES + Change fence memory type from 'int32_t' to 'struct shmfence' + Locate directory for shared memory files at configure time + Use O_TMPFILE if available + Split out futex implementation from general API + Provide pthread-based alternative implementation + Set symbol visibility attribute to hide internal symbols * Sun Nov 3 2013 tobias.johannes.klausmann@mni.thm.de - Created package libxshmfence, version 1.0.0