File loki_setup.spec of Package loki_setup
#
# spec file for package loki_setup
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: loki_setup
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: gtk2-devel
BuildRequires: libbz2-devel
BuildRequires: libglade2-devel
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
BuildRequires: python
BuildRequires: python-xml
BuildRequires: update-desktop-files
BuildRequires: xdelta-devel
BuildRequires: xorg-x11-devel
BuildRequires: zlib-devel
%define do_brandelf 1
Url: http://icculus.org/loki_setup/
Version: 1.6.5_20070404
Release: 0
Summary: Installer Program Mainly for Games
License: GPL-2.0+
Group: Development/Tools/Other
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: loki_setup-current.tar.bz2
Source1: loki_setupdb-current.tar.bz2
Source2: loki_update-current.tar.bz2
Source3: stripmakeself
Source4: loki-setup.sh.in
Source5: loki-uninstall.sh.in
Source6: loki-uninstall.desktop
Source7: loki-update.desktop
Source8: loki_patch-current.tar.bz2
#
# setup
Patch0: loki_setup-libzstatic.diff
Patch1: loki_setup_noksycoca.diff
Patch2: loki_setup-nomount.diff
Patch3: loki_setup-onebyte.diff
Patch4: loki_setup-gpmstatic.diff
Patch5: loki_setup-gtkstatic.diff
Patch6: loki_setup-linksummary.diff
Patch7: loki_setup-overwrite.diff
Patch8: loki_setup-CCnotLD.diff
Patch9: loki_setup-signed-char.diff
Patch10: loki_setup-configure_test.diff
Patch11: loki_setup-locale.diff
Patch12: loki_setup-exitcode.diff
Patch13: loki_setup-xgettext-glade.diff
Patch14: loki_setup-date.diff
# setupdb
Patch20: loki_setupdb-signed-char.diff
Patch21: loki_setupdb-Makefile.diff
# update
Patch41: loki_update-adig.diff
Patch42: loki_update-snarf.diff
Patch43: loki_update-Makefile.diff
Patch44: loki_update-libglade2.patch
Patch45: loki_update-automake.patch
# patch
Patch60: loki_patch-fixes.diff
Patch61: loki_patch-amd64foo.diff
Patch62: loki_patch-xdelta.diff
%description
loki_setup is an installer program mainly for games. It supports an
ncurses-based GUI for console and server installs. Users running the X
Window System have a GTK+ interface.
Authors:
--------
Sam Lantinga
Stephane Peter
Ryan C. Gordon
%package -n loki_uninstall
Version: 1.0.3_20051201
Release: 0
Summary: Uninstall program for games
Group: Amusements/Games/Other
%description -n loki_uninstall
An uninstall program for games that were installed using Loki Setup
Authors:
--------
Sam Lantinga
Stephane Peter
Ryan C. Gordon
%package -n loki_update
Version: 1.0.13_20040208
Release: 0
Summary: Updater program for games
Group: Amusements/Games/Other
%description -n loki_update
An updater program for games that were installed using Loki Setup
Authors:
--------
Sam Lantinga
%prep
%setup -q -n %{name} -a 1 -a 2 -a 8
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p0
#
# ru is broken bnc#681500
sed -i -e '/^LOCALES/s/\<ru\>//' Makefile.in
#
cd loki_setupdb
%patch20 -p1
%patch21 -p1
cd ..
#
sed s,@DATADIR@,%{_datadir}, < %{SOURCE4} > loki-setup
sed s,@DATADIR@,%{_datadir}, < %{SOURCE5} > loki-uninstall
#
pushd loki_update
tar -C libs -xzf libs/ares-1.1.0.tar.gz
#
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
#
popd
pushd loki_patch
%patch60 -p1
%patch61 -p1
%patch62 -p1
popd
find -type d -name CVS -print0 |xargs -0 rm -rv
# XXX: *waahh*!!!!
# GTK2 issues:
sed -i 's/\.gtk /.gtk2 /;s/\([^2]\).glade/\1.gtk2.glade/' loki-setup loki-uninstall
libglade-convert --no-upgrade loki_update/loki_update.glade | sed 's:"pixbuf">:&pixmaps/:' >loki_update/loki_update.gtk2.glade
sed -i 's/".glade"/".gtk2.glade"/' loki_update/gtk_ui.c
sed -i 's/ loki_update.glade/& loki_update.gtk2.glade/' loki_update/Makefile
%build
# This package failed when testing with -Wl,-as-needed being default.
# So we disable it here, if you want to retest, just delete this comment and the line below.
export SUSE_ASNEEDED=0
export LFS_CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
####### loki_setupdb #######
cd loki_setupdb
./autogen.sh
CFLAGS="%{optflags} $LFS_CFLAGS -fno-strict-aliasing" \
CXXFLAGS="%{optflags} $LFS_CFLAGS -fno-strict-aliasing" \
./configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--with-vendor=loki \
--with-libxml2
make
make md5sum brandelf
cd ..
#
####### loki_setup/loki_uninstall #######
rm -f config.sub # doesn't know about x86_64 o_O
# config.sub is from automake but automake isn't actually used. So
# call it and ignore the error, it will install config.sub
# nevertheless.
automake -a -f || true
autoreconf -f -i
build_dynamic=
LIBSUFFIX=%{_lib}
export LIBSUFFIX=${LIBSUFFIX#lib}
while true; do
X_CFLAGS="%{optflags} $LFS_CFLAGS -fno-strict-aliasing" \
CXXFLAGS="%{optflags} $LFS_CFLAGS -fno-strict-aliasing" \
./configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--with-vendor=loki \
--with-setupdb=`pwd`/loki_setupdb \
--enable-zip \
--enable-bzip2=dlopen \
--enable-uz2 \
--disable-libz-static \
--disable-libncurses-static \
--disable-libglade-static \
--disable-libxml-static \
--enable-gtk2 \
--with-libxml2 \
$build_dynamic
#
echo make \
DATADIR=%{_datadir}/loki_uninstall \
all loki_uninstall > build
. ./build
if [ -z "$build_dynamic" ]; then
build_dynamic="--disable-libxml-static --disable-libglade-static"
dir=`uname -m`
links=
case $dir in
i*86) dir="x86"; links="amd64 x86_64" ;;
x86_64) links="amd64" ;;
esac
mkdir -p image/setup.data/bin/Linux/$dir
for i in $links; do
ln -s $dir image/setup.data/bin/Linux/$i
done
dir=image/setup.data/bin/Linux/$dir
for i in setup.gtk2 setup uninstall; do
%if %{do_brandelf}
loki_setupdb/brandelf -t Linux $i
%endif
mv $i $dir
done
# no make clean needed, only relink
else
break
fi
done
find image/setup.data/locale -name '*.mo' | xargs rm -fv
make gettext
#
####### loki_update #######
pushd loki_update
pushd libs/ares-1.1.0
rm -f config.sub
automake -a -f || true
autoreconf -f -i
CFLAGS="%{optflags} $LFS_CFLAGS" \
CXXFLAGS="%{optflags} $LFS_CFLAGS" \
./configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir}
make
cd ../../snarf-7.0
rm configure
rm -f config.sub
autoreconf -f -i
CFLAGS="%{optflags} $LFS_CFLAGS" \
CXXFLAGS="%{optflags} $LFS_CFLAGS" \
./configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir}
make
popd
make \
OPTFLAGS="%{optflags} -fno-builtin-log -fPIC $LFS_CFLAGS" \
DATADIR=%{_datadir}/loki_update \
LOCALEDIR=%{_datadir}/locale \
UI_LIBDIR=%{_libdir}/loki_update \
MD5SUM=%{_libdir}/loki_update/md5sum
make gettext
popd
#
pushd loki_patch
rm -f config.sub
automake -a -f || true
autoreconf -f -i
CFLAGS="%{optflags} $LFS_CFLAGS" \
CXXFLAGS="%{optflags} $LFS_CFLAGS" \
./configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir}
make
popd
%install
####### loki_update #######
install -d -m 755 %{buildroot}%{_libdir}/loki_update
install -m 755 loki_setupdb/md5sum %{buildroot}%{_libdir}/loki_update
cd loki_update
install -d -m 755 %{buildroot}%{_bindir}
install -d -m 755 %{buildroot}%{_libdir}/loki_update
install -d -m 755 %{buildroot}%{_datadir}/loki_update/detect
install -d -m 755 %{buildroot}%{_datadir}/loki_update/pixmaps
install -m 755 loki_update %{buildroot}%{_bindir}/loki-update
ln -s loki-update %{buildroot}%{_bindir}/loki_update
# no static gtk ui. wastes only space
install -m 755 tty_ui.so %{buildroot}%{_libdir}/loki_update
install -m 755 gtk_sh_ui.so %{buildroot}%{_libdir}/loki_update
install -m 755 detect/[[:lower:]]* %{buildroot}%{_datadir}/loki_update/detect
chmod 644 %{buildroot}%{_datadir}/loki_update/detect/products.txt
install -m 644 loki_update.glade %{buildroot}%{_datadir}/loki_update
install -m 644 loki_update.gtk2.glade %{buildroot}%{_datadir}/loki_update
install -m 644 pixmaps/*.xpm %{buildroot}%{_datadir}/loki_update/pixmaps
cp -a locale %{buildroot}%{_datadir}
cd ..
#
####### loki_patch #######
pushd loki_patch
install -d -m 755 %{buildroot}%{_datadir}/loki_patch
cp -a image %{buildroot}%{_datadir}/loki_patch
install -m 755 loki_patch %{buildroot}%{_bindir}
install -m 755 make_patch %{buildroot}%{_bindir}
for i in CHANGES NOTES README TODO; do
cp $i $i.loki_patch
done
popd
#
####### loki_setup #######
for i in CHANGES COPYING README; do
cp loki_setupdb/$i $i.loki_setupdb
done
#
install -m 755 loki_setupdb/brandelf %{buildroot}%{_bindir}/brandelf
install -m 755 setup %{buildroot}%{_bindir}/loki-setup.curses
install -m 755 setup.gtk2 %{buildroot}%{_bindir}/loki-setup.gtk2
install -m 755 loki_uninstall %{buildroot}%{_bindir}/loki-uninstall.gtk2
install -m 755 uninstall %{buildroot}%{_bindir}/loki-uninstall.curses
install -d -m 755 %{buildroot}%{_datadir}/loki_uninstall
install -m 644 uninstall.glade %{buildroot}%{_datadir}/loki_uninstall
install -m 644 uninstall.gtk2.glade %{buildroot}%{_datadir}/loki_uninstall
install -m 755 loki-setup %{buildroot}%{_bindir}/loki-setup
ln -s loki-setup %{buildroot}%{_bindir}/loki_setup
install -m 755 loki-uninstall %{buildroot}%{_bindir}/loki-uninstall
ln -s loki-uninstall %{buildroot}%{_bindir}/loki_uninstall
install -m 755 %{SOURCE3} %{buildroot}%{_bindir}/stripmakeself
#
install -d -m 755 %{buildroot}%{_datadir}/loki-setup
#
cp -a image %{buildroot}%{_datadir}/loki-setup
cp -a makeself %{buildroot}%{_datadir}/loki-setup
cd image/setup.data/locale
for i in [a-z]*; do
dir=%{buildroot}%{_datadir}/locale/$i/LC_MESSAGES
install -d -m 755 $dir
test -e $i/LC_MESSAGES/loki-uninstall.mo &&
install -m 644 $i/LC_MESSAGES/loki-uninstall.mo $dir/loki-uninstall.mo
test -e $i/LC_MESSAGES/setup.mo &&
install -m 644 $i/LC_MESSAGES/setup.mo $dir/setup.mo
done
cd -
install -d -m 755 %{buildroot}/usr/share/applications
install -m 644 %{SOURCE6} %{buildroot}/usr/share/applications
install -m 644 %{SOURCE7} %{buildroot}/usr/share/applications
%suse_update_desktop_file loki-update
%suse_update_desktop_file loki-uninstall
%if %suse_version > 1020
%fdupes -s %{buildroot}
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%doc COPYING README README.locale README.plugins README.xml README.xsu
%doc *.loki_setupdb
%{_bindir}/brandelf
%{_bindir}/loki-setup
%{_bindir}/loki_setup
%{_bindir}/loki-setup.curses
%{_bindir}/loki-setup.gtk2
%{_bindir}/stripmakeself
%{_datadir}/locale/*/*/setup.mo
%{_datadir}/loki-setup
%files -n loki_uninstall
%defattr(-,root,root)
%doc COPYING README.loki_uninstall
%dir %{_datadir}/loki_uninstall
%{_bindir}/loki-uninstall*
%{_bindir}/loki_uninstall*
%{_datadir}/loki_uninstall/*
%{_datadir}/locale/*/*/loki-uninstall.mo
/usr/share/applications/loki-uninstall.desktop
%files -n loki_update
%defattr(-,root,root)
%doc loki_update/{COPYING,INSTALL,README,README.locale,TODO,CHANGES}
%doc loki_patch/*.loki_patch
%dir %{_libdir}/loki_update
%dir %{_datadir}/loki_update
%{_bindir}/loki-update
%{_bindir}/loki_update
%{_libdir}/loki_update/*
%{_datadir}/loki_update/*
%{_datadir}/locale/*/*/loki_update.mo
/usr/share/applications/loki-update.desktop
%{_bindir}/loki_patch
%{_bindir}/make_patch
%{_datadir}/loki_patch
%changelog