%define oname VirtualGL %define libname %mklibname %{name} Name: virtualgl Summary: A toolkit for displaying OpenGL applications to thin clients Group: Networking/Other Version: 3.0.2 Release: %mkrel 4 URL: https://www.virtualgl.org/ License: wxWindows Source0: https://downloads.sourceforge.net/virtualgl/%{oname}-%{version}.tar.gz # fix for rhbz#1088475 - Don't install hidden files into /usr/bin Patch3: virtualgl-2.4.1-mga-libexec-paths.patch # fix issue on no-undefined (https://github.com/VirtualGL/virtualgl/issues/62) # merged from opensuse Patch4: virtualgl-link-libs.patch # Fix default prefix Patch5: virtualgl-3.0.2-fix-default-prefix.patch # Fix old /usr/X11R6 path Patch6: virtualgl-3.0.2-fix-X11R6-path.patch # Fix /etc/opt/VirtualGL path to /etc/VirtualGL Patch7: virtualgl-3.0.2-fix-etc-opt-virtualgl-path.patch # From upstream git (see https://github.com/VirtualGL/virtualgl) Patch100: 0001-EGLBE-Destroy-RBO-ctx-when-it-is-no-longer-needed.patch Patch101: 0002-Faker-Opt.-call-_exit-abort-instead-of-exit.patch Patch102: 0003-EGLBE-Incr.-RBO-ctx-ref.-when-creating-shared-ctx.patch Patch103: 0004-EGLBE-Store-current-GLX-ctx-in-thread-local-var.patch Patch104: 0007-Doc-Our-x86-Linux-packages-now-need-GLIBC-2.17.patch Patch105: 0010-vglserver_config-Disable-GDM-Wayland-on-SUSE-15.patch Patch106: 0011-Doc-Add-app-recipe-for-Firefox-v93-and-earlier.patch Patch107: 0012-fakerut-Optionally-disable-glXUseXFont-tests.patch Patch108: 0013-fakerut-Don-t-check-GLX-error-strings.patch Patch109: 0014-Faker-Ignore-bits-9-in-XKeyEvent-state-field.patch Patch110: 0015-Faker-Automatically-set-VGL_PROBEGLX-if-unset.patch Patch111: 0016-EGLBE-Fail-gracefully-if-no-2D-X-server-GLX-ext.patch Patch112: 0017-Doc-Update-Firefox-app-recipe.patch BuildRequires: cmake BuildRequires: fltk-devel BuildRequires: jpeg-devel BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(OpenCL) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcb-keysyms) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(xv) Requires: %{libname} = %{version}-%{release} Requires: glxspheres = %{version}-%{release} %description VirtualGL is a library which allows most Linux OpenGL applications to be remotely displayed to a thin client without the need to alter the applications in any way. VGL inserts itself into an application at run time and intercepts a handful of GLX calls, which it reroutes to the server's display (which presumably has a 3D accelerator attached.) This causes all 3D rendering to occur on the server's display. As each frame is rendered by the server, VirtualGL reads back the pixels from the server's framebuffer and sends them to the client for re-compositing into the appropriate X Window. VirtualGL can be used to give hardware-accelerated 3D capabilities to VNC or other remote display environments that lack GLX support. In a LAN environment, it can also be used with its built-in motion-JPEG video delivery system to remotely display full-screen 3D applications at 20+ frames/second. %files %doc %{_docdir}/%{name}/ %{_bindir}/cpustat %{_bindir}/glreadtest %{_bindir}/nettest %{_bindir}/tcbench %{_bindir}/vgl* %{_libexecdir}/vglrun.vars%{__isa_bits} #-------------------------------------------------------------------- %package -n %{libname} Summary: Libraries injected by VirtualGL into applications that are ran through it Group: System/Libraries %description -n %{libname} Libraries injected by VirtualGL into applications that are run through it. The lib package allow installing 32 and 64 bits libraries at the same time. %files -n %{libname} %{_libdir}/libdlfaker.so %{_libdir}/libgefaker.so %{_libdir}/libvglfaker.so %{_libdir}/libvglfaker-nodl.so %{_libdir}/libvglfaker-opencl.so #-------------------------------------------------------------------- %package devel Summary: A toolkit for displaying OpenGL applications to thin clients Group: Networking/Other Requires: %{libname} = %{version}-%{release} %description devel Development headers for VirtualGL. %files devel %{_includedir}/rrtransport.h %{_includedir}/rr.h #-------------------------------------------------------------------- %package -n glxspheres Summary: GLX Spheres test application for OpenGL rendering Group: Graphics/Utilities # File moved in 2.6.1-5 Conflicts: virtualgl < 2.6.1-5 %description -n glxspheres Test application for OpenGL rendering drawing spheres. %files -n glxspheres %{_bindir}/glxspheres %if 0%{?__isa_bits} == 64 %{_bindir}/glxspheres64 %endif #-------------------------------------------------------------------- %prep %autosetup -p1 -n %{oname}-%{version} %build # avoid Wl,--as-needed flag otherwise the resulting libvglfaker.so it's # not linked against libGL.so and libEGL.so. See # https://github.com/VirtualGL/virtualgl/issues/139 export LDFLAGS="$(echo %ldflags | sed -e 's@-Wl,--as-needed@@g')" %cmake \ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \ -DVGL_BUILDSTATIC=0 \ -DVGL_SYSTEMFLTK=1 \ -DVGL_USESSL=1 \ -DTJPEG_INCLUDE_DIR=%{_includedir} \ -DTJPEG_LIBRARY=%{_libdir}/libturbojpeg.so %cmake_build %install %cmake_install install -d %{buildroot}%{_libexecdir} mv %{buildroot}%{_bindir}/.vglrun.vars%{__isa_bits} %{buildroot}%{_libexecdir}/vglrun.vars%{__isa_bits} %if 0%{?__isa_bits} == 64 ln -s glxspheres64 %{buildroot}%{_bindir}/glxspheres %endif # The command glxinfo provided in this package is a modified version of standard # glxinfo (see docs/advancedopengl.txt, section Troubleshooting). To avoid conflicts # with the same version provided in package glxinfo, rename it to something other mv -f %{buildroot}%{_bindir}/glxinfo %{buildroot}%{_bindir}/vgl-glxinfo mv -f %{buildroot}%{_bindir}/eglinfo %{buildroot}%{_bindir}/vgl-eglinfo %changelog * Fri Mar 24 2023 ghibo 3.0.2-4.mga9 + Revision: 1950278 - merge patches from git upstream disabling tests to avoid out of GL_OUT_OF_MEMORY on AMDGPU driver. * Mon Dec 19 2022 ghibo 3.0.2-3.mga9 + Revision: 1925312 - Merge patch from upstream to fix GL_INVALID_OPERATION error on certain conditions * Fri Dec 16 2022 ghibo 3.0.2-2.mga9 + Revision: 1923674 - Update to release 3.0.2. - Add ssl support. - Remove Patch1 no longer needed. - Add Patch4 to allow building without disabling underlinking. - Add Patch5,6 to fix paths. - Merge patches from git upstream. - Specify LDFLAGS to avoid missing libGL/EGL from libvglfaker.so linking (fixes errors about glXGetProcAddressARB undefined symbol). * Thu Mar 31 2022 umeabot 2.6.5-2.mga9 + Revision: 1836845 - Mageia 9 Mass Rebuild * Mon Nov 23 2020 akien 2.6.5-1.mga8 + Revision: 1648833 - Version 2.6.5 * Fri Jul 24 2020 zezinho 2.6.4-1.mga8 + Revision: 1608758 - new version 2.6.4 + umeabot - Mageia 8 Mass Rebuild + wally - build with new cmake macros * Mon Mar 25 2019 akien 2.6.1-5.mga7 + Revision: 1380165 - Move glxspheres to its own subpackage - Add glxspheres symlink for 64-bit version * Sun Jan 06 2019 tmb 2.6.1-4.mga7 + Revision: 1350049 - virtualgl needs lib(64)virtualgl * Sun Jan 06 2019 akien 2.6.1-3.mga7 + Revision: 1350044 - Fix aarch64 build - Version 2.6.1 * Sun Sep 23 2018 umeabot 2.5.2-2.mga7 + Revision: 1301620 - Mageia 7 Mass Rebuild * Tue May 09 2017 akien 2.5.2-1.mga6 + Revision: 1099826 - Version 2.5.2 o P2 obsoleted by upstream changes o Rediffed P1 and P4 * Sat Oct 29 2016 akien 2.5.1-1.mga6 + Revision: 1064038 - Version 2.5.1 * Sat Apr 23 2016 akien 2.5-1.mga6 + Revision: 1005680 - Version 2.5 - Set _disable_ld_no_undefined, I give up on this broken piece of underlinked code * Fri Feb 12 2016 umeabot 2.4.1-10.mga6 + Revision: 959142 - Mageia 6 Mass Rebuild * Thu Aug 20 2015 fwang 2.4.1-9.mga6 + Revision: 866671 - try using find_package rather than plain include - rebuild for new fltk * Sun Jun 21 2015 akien 2.4.1-1.mga6 + Revision: 837264 - Version 2.4.1 - Build against system fltk and glx - Move and dehide hidden binaries from /usr/bin to /usr/libexec (rhbz#1088475) - Fix wrong VGL_BINDIR path in /usr/bin/vglconnect (rhbz#923961) * Wed Oct 15 2014 umeabot 2.3.3-5.mga5 + Revision: 745367 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot 2.3.3-4.mga5 + Revision: 690217 - Mageia 5 Mass Rebuild + akien - Use VGL_FAKELIBDIR instead of manual fix - Add Debian patch to remove glxinfo (the one in mesa is newer) * Thu Feb 06 2014 akien 2.3.3-2.mga5 + Revision: 584712 - Use %%__isa_bits to make the .vglrun.vars[32,64] binary arch-dependent - Removing /usr/bin/.vglrun.vars64 from i586 files list - New version 2.3.3: http://svn.code.sf.net/p/virtualgl/code/vgl/trunk/ChangeLog.txt * Sat Oct 19 2013 umeabot 2.3.2-4.mga4 + Revision: 524170 - Mageia 4 Mass Rebuild * Wed May 29 2013 fwang 2.3.2-3.mga4 + Revision: 430450 - more patch - fix linkage - add br - use opengl - rebuild for new jpeg-turbo * Mon Jan 14 2013 umeabot 2.3.2-2.mga3 + Revision: 385425 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Sat Nov 17 2012 shlomif 2.3.2-1.mga3 + Revision: 319195 - Missing BR - New version 2.3.2 * Sat Jun 16 2012 shlomif 2.3.1-1.mga3 + Revision: 261041 - imported package virtualgl * Fri Jun 15 2012 Simple 2.3.1-1 - 2.3.1 - drop patch, (fixed upstream) * Sat Apr 14 2012 Simple 2.3-2 - fix license tag - fix patch name * Mon Mar 19 2012 Simple 2.3-1 - first package