From a84a812ec9b164aa428f09d38983d118b19a40b6 Mon Sep 17 00:00:00 2001 From: albator Date: Mon, 5 Sep 2011 22:46:13 +0200 Subject: Initial build for KDEBINDINGS for RHEL6 --- redhat/kdebindings/trinity-kdebindings-3.5.13.spec | 285 +++++++++++++++++++++ 1 file changed, 285 insertions(+) create mode 100644 redhat/kdebindings/trinity-kdebindings-3.5.13.spec (limited to 'redhat/kdebindings/trinity-kdebindings-3.5.13.spec') diff --git a/redhat/kdebindings/trinity-kdebindings-3.5.13.spec b/redhat/kdebindings/trinity-kdebindings-3.5.13.spec new file mode 100644 index 000000000..447db3d1e --- /dev/null +++ b/redhat/kdebindings/trinity-kdebindings-3.5.13.spec @@ -0,0 +1,285 @@ +# Default version for this component +%if "%{?version}" == "" +%define version 3.5.13 +%endif +%define release 0 + +# 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.13 specific building variables +BuildRequires: autoconf automake libtool m4 +%define tde_docdir %{_docdir}/kde +%define tde_libdir %{_libdir}/trinity + + +Name: trinity-kdebindings +Summary: TDE bindings to non-C++ languages +Version: %{?version} +Release: %{?release}%{?dist}%{_variant} + +License: GPLv2 +URL: http://developer.kde.org/language-bindings/ +Vendor: Trinity Project +Packager: Francois Andriot +Group: User Interface/Desktops + +Source0: kdebindings-%{version}.tar.gz + +# RedHat Legacy patches (from Fedora) +Patch1: kdebindings-3.5.6-libgcj.patch + +BuildRequires: desktop-file-utils +BuildRequires: tqtinterface-devel +BuildRequires: trinity-kdelibs-devel +BuildRequires: zlib-devel +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: trinity-arts-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_sitelib: %define ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} +%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')} + +## java +#BuildRequires: java-1.4.2-gcj-compat-devel libgcj-devel gcc-java +BuildRequires: java-devel >= 1.4.2 +%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 + +# Ugly hack to modify TQT include directory inside autoconf files. +# If TQT detection fails, it fallbacks to TQT4 instead of TQT3 ! +sed -i admin/acinclude.m4.in \ + -e "s,/usr/include/tqt,%{_includedir}/tqt,g" + +%__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=%{_includedir}/kde \ + --disable-rpath \ + --enable-new-ldflags \ + --disable-debug --disable-warnings \ + --disable-dependency-tracking \ + --with-extra-libs=%{_libdir} \ + --with-pythondir=%{_usr} \ + --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 +%__rm -rf $RPM_BUILD_ROOT +export PATH="%{_bindir}:${PATH}" + +%make_install \ + 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) + +# Fix HTML doc location in TDE 3.5.13 +# (from 'share/doc/HTML' to 'share/doc/kde/HTML') +if [ ! -d $RPM_BUILD_ROOT$HTML_DIR ] && [ -d $RPM_BUILD_ROOT%{_docdir}/HTML ]; then + mkdir -p $RPM_BUILD_ROOT${HTML_DIR%/*} + mv -f $RPM_BUILD_ROOT%{_docdir}/HTML $RPM_BUILD_ROOT${HTML_DIR%/*} +fi + +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/*/* +%if 0%{?fedora} >= 15 +%{_usr}/lib64/ruby/*/*/*.so.* +%else +%{_usr}/lib64/ruby/*/*.so.* +%endif + +# 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,-) +%{_includedir}/kde/* +%{_libdir}/lib*.so +%if "%{?_with_java:1}" == "1" +%{_libdir}/jni/*.so +%{_libdir}/jni/*.la +%endif +%if 0%{?fedora} >= 15 +%{_usr}/lib64/ruby/*/*/*.so +%{_usr}/lib64/ruby/*/*/*.la +%else +%{_usr}/lib64/ruby/*/*.so +%{_usr}/lib64/ruby/*/*.la +%endif + +%changelog +* Sat Sep 03 2011 Francois Andriot