# 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 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 - 3.5.12-4 - Add RHEL5 support - Add 'ruby_arch' macro to avoid handling distro-specific ruby path * Sun Sep 04 2011 Francois Andriot - 3.5.12-3 - Import to GIT * Tue Aug 23 2011 Francois Andriot - 3.5.12-2 - Small fixes for F15 - Add 'patch2' to handle Python 2.7 * Mon Aug 22 2011 Francois Andriot - 3.5.12-1 - Correct macro to install under "/opt", if desired * Tue Jun 21 2011 Francois Andriot - 3.5.12-0 - Initial version for RHEL 6 - Specfile based on Fedora 8 'kdebindings 3.5.10-1'