vmgl-0.1-2kkr2010.0.spec
%define distname VMGL
##%define xserver_name xorg-server
##%define xserver_version 1.4.2
%define name vmgl
%define version 0.1
%define release %mkrel 2
%define vmgllibdir %{_libdir}/%{name}
%define use_osmesa 0
%{?_with_mesa: %global use_osmesa 1}
Summary: OpenGL Hardware 3D Acceleration for Virtual Machines
Summary(ja): 仮想マシン向けのOpenGLハードウェア3Dアクセラレーション
Name: %{name}
Version: %{version}
Release: %{release}
License: BSD
URL: http://sysweb.cs.toronto.edu/projects/7
Source0: http://www.cs.toronto.edu/~andreslc/software/%{name}-%{version}.tar.bz2
# Size : 2,607,053
# MD5 : 4ade4c48cf807c61fdfd9d3471eb7825
# SHA-1 : 606f5ea29b8404caca148c1088adf3911645f001
#Source1: http://xorg.freedesktop.org/releases/individual/xserver/%{xserver_name}-%{xserver_version}.tar.bz2
# Size : 6,216,638
# MD5 : fa2915ae377f61c340a18ebef484b64b
# SHA-1 : 385348721ecb6da4bc51a2b7ee5784de6be0a8b6
Patch0: tightvnc-1.2.9-amd64support.patch
# Size : 1,195
# MD5 : 1ccb40325699536de16742265bd4540e
# SHA-1 : 9956876b16abe707aadf396ba2f4b77d917743f0
Patch1: %{name}-%{version}-fix-str-fmt.patch
# Size : 5,493
# MD5 : bd95b29da33cdbd0730beaadeeadf3d0
# SHA-1 : 1dd8bcf57949ac014f3f75fc0c949512a9b5b810
Group: System/X11
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires: mesagl-devel pixman-devel libxext-devel libxmu-devel jpeg-devel xaw-devel libxp-devel libxt-devel libsm-devel libice-devel libxfont-devel libxkbfile-devel zlib1-devel x11-proto-devel x11-xtrans-devel gccmakedep imake python
%package guest
Summary: %{distname} files for guest OS
Summary(ja): ゲストOS用の%{distname}のファイル
Group: System/X11
Provides: x11-server-xvnc
#Suggests: x11-server-xorg = %{xserver_version}
%package host
Summary: %{distname} files for host OS
Summary(ja): ホストOS用の%{distname}のファイル
Group: System/X11
%description
OpenGL apps running inside a Virtual Machine (VM) can use %{distname} to take advantage of graphics hardware acceleration. %{distname} can be used on VMware guests, Xen HVM domains (depending on hardware virtualization extensions) and Xen paravirtual domains, using XVnc or the virtual framebuffer. Although we haven't tested it, %{distname} should work for qemu, KVM, and VirtualBox. %{distname} is available for X11-based guest OS's: Linux, FreeBSD and OpenSolaris. %{distname} is GPU-independent: we support ATI, Nvidia and Intel GPUs.
%description -l ja
仮想マシン(VM)内で動作するOpenGLアプリケーションは%{distname}を使用することでグラフィックスハードウェアアプリケーションを利用できます。%{distname}はVMware、Xen HVMドメイン(ハードウェアの仮想化支援拡張による)、Xenの準仮想化ドメインでXVncもしくは仮想フレームバッファを使うことで使用できます。%{distname}は、テストはしていませんがqemu、KVM、VirtualBoxでも動くはずです。%{distname}はX11ベースのゲストOSで利用できます: Linux、FreeBSD、OpenSolaris。%{distname}はGPUに関係なく使えます: ATI、Nvidia、IntelのGPUをサポート。
%description guest
OpenGL apps running inside a Virtual Machine (VM) can use %{distname} to take advantage of graphics hardware acceleration. %{distname} can be used on VMware guests, Xen HVM domains (depending on hardware virtualization extensions) and Xen paravirtual domains, using XVnc or the virtual framebuffer. Although we haven't tested it, %{distname} should work for qemu, KVM, and VirtualBox. %{distname} is available for X11-based guest OS's: Linux, FreeBSD and OpenSolaris. %{distname} is GPU-independent: we support ATI, Nvidia and Intel GPUs.
This package contains %{distname} files for guest OS.
%description guest -l ja
仮想マシン(VM)内で動作するOpenGLアプリケーションは%{distname}を使用することでグラフィックスハードウェアアプリケーションを利用できます。%{distname}はVMware、Xen HVMドメイン(ハードウェアの仮想化支援拡張による)とXenの準仮想化ドメインでXVncもしくは仮想フレームバッファを使うことで使用できます。%{distname}は、テストはしていませんがqemu、KVM、VirtualBoxでも動くはずです。%{distname}はX11ベースのゲストOSで利用できます: Linux、FreeBSD、OpenSolaris。%{distname}はGPUに関係なく使えます: ATI、Nvidia、IntelのGPUをサポート。
このパッケージはゲストOS用の%{distname}のファイルを含んでいます。
%description host
OpenGL apps running inside a Virtual Machine (VM) can use %{distname} to take advantage of graphics hardware acceleration. %{distname} can be used on VMware guests, Xen HVM domains (depending on hardware virtualization extensions) and Xen paravirtual domains, using XVnc or the virtual framebuffer. Although we haven't tested it, %{distname} should work for qemu, KVM, and VirtualBox. %{distname} is available for X11-based guest OS's: Linux, FreeBSD and OpenSolaris. %{distname} is GPU-independent: we support ATI, Nvidia and Intel GPUs.
This package contains %{distname} files for host OS.
%description host -l ja
仮想マシン(VM)内で動作するOpenGLアプリケーションは%{distname}を使用することでグラフィックスハードウェアアプリケーションを利用できます。%{distname}はVMware、Xen HVMドメイン(ハードウェアの仮想化支援拡張による)とXenの準仮想化ドメインでXVncもしくは仮想フレームバッファを使うことで使用できます。%{distname}は、テストはしていませんがqemu、KVM、VirtualBoxでも動くはずです。%{distname}はX11ベースのゲストOSで利用できます: Linux、FreeBSD、OpenSolaris。%{distname}はGPUに関係なく使えます: ATI、Nvidia、IntelのGPUをサポート。
このパッケージはホストOS用の%{distname}のファイルを含んでいます。
%prep
#%setup -q -a 1 -n %{name}.hg
%setup -q -n %{name}.hg
#%{__sed} 's:/xserver:/%{xserver_name}-%{xserver_version}:' extra/patches/Xorg.patch | %{__patch} -f -p1 || true
%patch0 -p1 -b .amd64support
%patch1 -p1 -b .fixstrfmt
# keep debug info
%{__sed} -i 's:-s \(-m 0755\):\1:' Makefile
# delete enclosed binaries
%{__rm} dist/ cr/dist/ -fr
# X11 proto dependency fix(rejected hunks)
#pushd %{xserver_name}-%{xserver_version}/
#%{__sed} -i 's:\(.*randrproto.*\)":\1 vmglproto":' configure.ac
#%{__automake} || true
#popd
# enable off screen rendering using Mesa
%if %{use_osmesa}
echo "enable off screen rendering using Mesa..."
%{__sed} -i 's:\(USE_OSMESA=\)0:\11:' cr/options.mk
%endif
%build
%make CC="%{__cc} %{optflags}" CXX="%{__cxx} %{optflags}"
#pushd %{xserver_name}-%{xserver_version}/
#%%configure
#%make -C hw/xfree86/dixmods/ libvmglext.la LDFLAGS=" "
#popd
%install
# clean
%{__rm} %{buildroot} -fr
# ld.so.conf.d
%{__install} -d %{buildroot}/%{_sysconfdir}/ld.so.conf.d
echo "%{vmgllibdir}" > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/vmgl.conf
# bin
%{__install} -D -m 755 dist/bin/vncviewer %{buildroot}/%{_bindir}/vncviewer-vmgl
%{__install} -m 755 dist/bin/{Xvnc,glstub,stub-daemon} %{buildroot}/%{_bindir}/
# lib
%{__install} -d %{buildroot}/%{vmgllibdir}
%{__install} -m 755 dist/lib/*.so %{buildroot}/%{vmgllibdir}/
pushd %{buildroot}/%{vmgllibdir}/
%{__ln_s} libvmgl.so libGL.so.1.2
%{__ln_s} libGL.so.1{.2,}
%{__ln_s} libGL.so{.1,}
popd
# extension
#%{__install} -D -m 755 {%{xserver_name}-%{xserver_version}/hw/xfree86/dixmods/.libs/,%{buildroot}/%{_libdir}/xorg/modules/extensions/}libvmglext.so
# doc
%{__cat} tightvnc/LICENCE.TXT | %{__lzma} > LICENCE.tightvnc.lzma
%{__lzma} LICENCE.txt README
%{__lzma} cr/doc/{COPYRIGHT*,LICENSE,TO-DO}
%{__mv} cr/{doc,cr}
%post guest
if [ ${1} -eq 1 ]; then
/sbin/ldconfig
fi
%post host
if [ ${1} -eq 1 ]; then
/sbin/ldconfig
fi
%postun guest
if [ ${1} -eq 0 ]; then
/sbin/ldconfig
fi
%postun host
if [ ${1} -eq 0 ]; then
/sbin/ldconfig
fi
%clean
%{__rm} %{buildroot} -fr
%files guest
%defattr(-, root, root)
%{_bindir}/Xvnc
%{vmgllibdir}/lib[^Gr]*.so
%{vmgllibdir}/libGL.so*
#%{_libdir}/xorg/modules/extensions/libvmglext.so
%{_sysconfdir}/ld.so.conf.d/vmgl.conf
%dir %{vmgllibdir}
%doc LICENCE.txt* README* LICENCE.tightvnc* cr/cr/
%files host
%defattr(-, root, root)
%{_bindir}/[^X]*
%{vmgllibdir}/lib[cser]*.so
%{_sysconfdir}/ld.so.conf.d/vmgl.conf
%dir %{vmgllibdir}
%doc LICENCE.txt* README* LICENCE.tightvnc* cr/cr/
%changelog
* Fri Nov 27 2009 kakurasan <kakurasan AT gmail DOT com> 0.1-2kkr2010.0
- drop unneeded Requires
- disable X11 module support
- replace "/etc" with "%%{_sysconfdir}"
* Wed Dec 03 2008 kakurasan <kakurasan AT gmail DOT com> 0.1-1kkr2009.0
- Initial build