You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-packaging/redhat/kdebindings/trinity-kdebindings-3.5.12....

296 lines
8.2 KiB

# Default version for this component
%if "%{?version}" == ""
%define version 3.5.12
%endif
%define release 4
# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt".
%if "%{?_prefix}" != "/usr"
%define _variant .opt
%define _docdir %{_prefix}/share/doc
%endif
# TDE 3.5.12 specific building variables
BuildRequires: autoconf automake libtool m4
%define tde_docdir %{_docdir}
%define tde_libdir %{_libdir}/kde3
%define tde_includedir %{_includedir}/kde
Name: trinity-kdebindings
Summary: TDE bindings to non-C++ languages
Version: %{?version}
Release: %{?release}%{?dist}%{_variant}
License: GPLv2
Group: User Interface/Desktops
Vendor: Trinity Project
Packager: Francois Andriot <francois.andriot@free.fr>
URL: http://www.trinitydesktop.org/
Source0: kdebindings-%{version}.tar.gz
Prefix: %{_prefix}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# RedHat Legacy patches (from Fedora)
Patch1: kdebindings-3.5.6-libgcj.patch
# TDE official patches (unmodified)
# [kde-common] Add python2.7 to Python search paths
Patch2: http://www.trinitydesktop.org/patches/r1244127.diff
BuildRequires: desktop-file-utils
BuildRequires: tqtinterface-devel
BuildRequires: trinity-kdelibs-devel
BuildRequires: zlib-devel
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: trinity-arts-devel
BuildRequires: glib-devel gtk+-devel
%define perl_ver %{expand:%%(eval `perl -V:version`; echo $version)}
%define perl_vendorarch %{expand:%%(eval `perl -V:installvendorarch`; echo $installvendorarch)}
%define perl_vendorlib %{expand:%%(eval `perl -V:installvendorlib`; echo $installvendorlib)}
%define perl_man3dir %{expand:%%(eval `perl -V:installman3dir`; echo $installman3dir)}
Requires: trinity-kdelibs
Requires: trinity-kdebase
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%define python_ver %{expand:%%(%{__python} -c "import sys ; print sys.version[:3]")}
%define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
## dcoppython
BuildRequires: python-devel
Provides: %{name}-dcoppython = %{version}-%{release}
## ruby
BuildRequires: ruby-devel >= 1.8, ruby
Provides: %{name}-ruby = %{version}-%{release}
%{!?ruby_arch: %define ruby_arch %(ruby -rrbconfig -e 'puts Config::CONFIG["archdir"]')}
%{!?ruby_sitelib: %define ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')}
%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')}
## java
%if 0%{?rhel} && 0%{?rhel} < 6
BuildRequires: java-1.4.2-gcj-compat-devel libgcj-devel gcc-java
%else
BuildRequires: java-devel >= 1.4.2
%endif
%define java_home %{_usr}/lib/jvm/java
%define _with_java --with-java=%{java_home}
Provides: %{name}-java = %{version}-%{release}
%description
KDE/DCOP bindings to non-C++ languages
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: trinity-kdelibs-devel
%description devel
Development files for the KDE bindings.
## dcopperl
%package dcopperl
Summary: DCOP Bindings for Perl
Group: Development/Libraries
%description dcopperl
Perl bindings to the DCOP interprocess communication protocol used by KDE
%prep
%setup -q -n kdebindings
%patch1 -p1 -b .libgcj
%patch2 -p1
%__cp "/usr/share/aclocal/libtool.m4" "admin/libtool.m4.in"
%__cp "/usr/share/libtool/config/ltmain.sh" "admin/ltmain.sh"
%__make -f admin/Makefile.common
%build
unset QTDIR || : ; source /etc/profile.d/qt.sh
export PATH="%{_bindir}:${PATH}"
export LDFLAGS="-L%{_libdir} -I%{_includedir}"
unset JAVA_HOME ||:
%{?java_home:JAVA_HOME=%{java_home}; export JAVA_HOME}
# sip/PyQt/PyKDE built separately, not here
export DO_NOT_COMPILE="$DO_NOT_COMPILE python"
%configure \
--includedir=%{tde_includedir} \
--disable-rpath \
--enable-new-ldflags \
--disable-debug --disable-warnings \
--disable-dependency-tracking \
--with-extra-libs=%{_libdir} \
--with-pythondir=%{_usr} \
--enable-closure \
--disable-final \
%{?_with_java} %{!?_with_java:--without-java} \
%{?_enable_qscintilla} %{!?_enable_qscintilla:--disable-qscintilla} \
--with-extra-includes=%{_includedir}/tqt
pushd dcopperl
CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLDIRS=vendor
# Ugly hack to add TQT include directory in Makefile
sed -i Makefile \
-e "s,^\(INC = .*\),\1 -I%{_includedir}/tqt,"
%__make OPTIMIZE="$RPM_OPT_FLAGS" ||:
popd
# smoke/ not smp-safe
%__make -C smoke
# The rest is smp-safe
%__make %{?_smp_mflags} PYTHON=%{__python}
%install
export PATH="%{_bindir}:${PATH}"
%__rm -rf $RPM_BUILD_ROOT
%__make install DESTDIR=%{?buildroot} \
PYTHON=%{__python}
desktop-file-install \
--vendor="" \
--add-category="Qt" \
--add-category="KDE" \
--add-category="Utility" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications/kde \
$RPM_BUILD_ROOT%{_datadir}/applnk/Utilities/*.desktop ||:
## File lists
# perl
find $RPM_BUILD_ROOT -type f -a \( -name perllocal.pod -o -name .packlist \
-o \( -name '*.bs' -a -empty \) \) -exec rm -f {} ';'
find $RPM_BUILD_ROOT%{perl_vendorarch} -type f -print | \
sed "s@^$RPM_BUILD_ROOT@@g" >> %{name}-dcopperl.list
find $RPM_BUILD_ROOT%{perl_vendorlib} -type f -print | \
sed "s@^$RPM_BUILD_ROOT@@g" >> %{name}-dcopperl.list
if [ "$(cat %{name}-dcopperl.list)X" = "X" ] ; then
echo "ERROR: EMPTY FILE LIST"; exit 1
fi
# locale's
%find_lang %{name} || touch %{name}.lang
HTML_DIR=$(kde-config --expandvars --install html)
if [ -d $RPM_BUILD_ROOT$HTML_DIR ]; then
for lang_dir in $RPM_BUILD_ROOT$HTML_DIR/* ; do
if [ -d $lang_dir ]; then
lang=$(basename $lang_dir)
echo "%lang($lang) $HTML_DIR/$lang/*" >> %{name}.lang
# replace absolute symlinks with relative ones
pushd $lang_dir
for i in *; do
[ -d $i -a -L $i/common ] && ln -nsf ../common $i/common
done
popd
fi
done
fi
# rpmdocs
for dir in dcopperl dcoppython kalyptus %{?_with_java:kdejava qtjava} kjsembed korundum qtruby qtsharp smoke; do
for file in AUTHORS ChangeLog README TODO ; do
test -s "$dir/$file" && install -p -m644 -D "$dir/$file" "rpmdocs/$dir/$file"
done
done
%clean
%__rm -rf $RPM_BUILD_ROOT
%post
/sbin/ldconfig ||:
touch --no-create %{_datadir}/icons/hicolor ||:
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
update-desktop-database >& /dev/null ||:
%postun
/sbin/ldconfig ||:
touch --no-create %{_datadir}/icons/hicolor ||:
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
update-desktop-database >& /dev/null ||:
%files -f %{name}.lang
%defattr(-,root,root,-)
%doc AUTHORS COPYING README
%doc rpmdocs/*
%{_bindir}/*
%{tde_libdir}/*
%{_libdir}/lib*.la
%{_libdir}/lib*.so.*
%{_datadir}/appl*/*/*.desktop
%{_datadir}/apps/embedjs/
%{_datadir}/apps/kate/scripts/*
%{_datadir}/apps/kjsembed/
%{_datadir}/icons/hicolor/*/*/*
%{_datadir}/service*/*.desktop
%{_mandir}/man1/*
%{python_sitearch}/*
#%{_libdir}/python%{python_ver}/*.py*
%if "%{?_with_java:1}" == "1"
%{_libdir}/java
%{_libdir}/jni/*.so.*
%endif
#%{ruby_sitearch}/*
#%{ruby_sitelib}/K*
#%{ruby_sitelib}/Qt*
%{_usr}/lib/ruby/*/*
%{ruby_arch}/*.so.*
# Excludes 'kjscmd' (conflicts with 'kdelibs' from RHEL6)
%if "%{?_prefix}" == "/usr"
%exclude %{_bindir}/kjscmd
%exclude %{_mandir}/man1/kjscmd*
%endif
%files dcopperl -f %{name}-dcopperl.list
%defattr(-,root,root,-)
%doc dcopperl/AUTHORS dcopperl/Changes dcopperl/README dcopperl/TODO
%{perl_man3dir}/DCOP.3pm.gz
%files devel
%defattr(-,root,root,-)
%{tde_includedir}/*
%{_libdir}/lib*.so
%if "%{?_with_java:1}" == "1"
%{_libdir}/jni/*.so
%{_libdir}/jni/*.la
%endif
%{ruby_arch}/*.so
%{ruby_arch}/*.la
%changelog
* Sun Sep 18 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.12-4
- Add RHEL5 support
- Add 'ruby_arch' macro to avoid handling distro-specific ruby path
* Sun Sep 04 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.12-3
- Import to GIT
* Tue Aug 23 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.12-2
- Small fixes for F15
- Add 'patch2' to handle Python 2.7
* Mon Aug 22 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.12-1
- Correct macro to install under "/opt", if desired
* Tue Jun 21 2011 Francois Andriot <francois.andriot@free.fr> - 3.5.12-0
- Initial version for RHEL 6
- Specfile based on Fedora 8 'kdebindings 3.5.10-1'