Blob Blame History Raw

# Fedora pkg review: http://bugzilla.redhat.com/429749

Summary: Library to make writing a vnc server easy
Name:    libvncserver
Version: 0.9.1
Release: 3%{?dist}
# NOTE: --with-tightvnc-filetransfer => GPLv2
License: GPLv2+
Group:   System Environment/Libraries
URL:     http://libvncserver.sourceforge.net/
Source0: http://downloads.sf.net/libvncserver/LibVNCServer-%{version}.tar.gz
Patch0:  libvnc-minilzo.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

# FIXME/TODO
#Patch1: libvncserver-0.9.1-pkgconfig.patch
# until patch1 works, this will do
Patch2: libvncserver-0.9.1-multilib.patch

# upstream name
Obsoletes: LibVNCServer < %{version}-%{release}
Provides:  LibVNCServer = %{version}-%{release}

#BuildRequires: automake libtool
BuildRequires: findutils
BuildRequires: libjpeg-devel
#BuildRequires: libICE-devel libXdamage-devel libXfixes-devel libXinerama-devel libXrandr-devel
BuildRequires: zlib-devel
BuildRequires: lzo-minilzo lzo-devel

%description
LibVNCServer makes writing a VNC server (or more correctly, a program
exporting a framebuffer via the Remote Frame Buffer protocol) easy.

It hides the programmer from the tedious task of managing clients and
compression schemata.

%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
# libvncserver-config deps
Requires: coreutils
# upstream name
Obsoletes: LibVNCServer-devel < %{version}-%{release}
Provides:  LibVNCServer-devel = %{version}-%{release}
%description devel
%{summary}.


%prep
%setup -q -n LibVNCServer-%{version}
#nuke bundled minilzo
%patch0 -p1
find . -name minilzo\* -exec rm -f {} \;

#patch1 -p1 -b .pkgconfig
#aclocal
#automake

%patch2 -p1 -b .multilib

# fix encoding
mv AUTHORS AUTHORS.OLD && \
iconv -f ISO_8859-1 -t UTF8 AUTHORS.OLD > AUTHORS && \
touch --reference AUTHORS.OLD AUTHORS

# fix source perms
find -name "*.c" -o -name "*.h" | xargs chmod 644



%build
%configure \
  --disable-static \
  --without-tightvnc-filetransfer
# hack to omit unused-direct-shlib-dependencies
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool

make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -I %{_includedir}/lzo" LDFLAGS="$LDFLAGS -lminilzo"


%install
rm -rf %{buildroot}

make install DESTDIR=%{buildroot}

# unpackaged files
rm -f %{buildroot}%{_bindir}/LinuxVNC
rm -f %{buildroot}%{_libdir}/lib*.a
rm -f %{buildroot}%{_libdir}/lib*.la


%clean
rm -rf %{buildroot}


%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING NEWS README TODO
%{_libdir}/lib*.so.*

%files devel
%defattr(-,root,root,-)
%{_bindir}/*-config
%{_includedir}/rfb/
%{_libdir}/lib*.so


%changelog
* Thu Apr 10 2008 Manuel Wolfshant <wolfy@fedoraproject.org> 0.9.1-3
- do not use bundled copy of minilzo

* Sun Jan 27 2008 Rex Dieter <rdieter@fedoraproject.org> 0.9.1-2
- hack libtool to omit unused shlib dependencies
- fix AUTHORS encoding
- fix src perms

* Mon Jan 21 2008 Rex Dieter <rdieter@fedoraproject.org> 0.9.1-1
- 0.9.1