%define rubyver 1.8 %{!?ruby_sitelib: %define ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')} %define qdbm_ver 1.8.75 # Workaround for ruby side bug (bug 226381 c11) %{!?ruby_arch: %define ruby_arch %(ruby -rrbconfig -e "puts Config::CONFIG['archdir']")} Name: hyperestraier Version: 1.4.13 Release: 7%{?dist} Summary: A full-text search system Group: System Environment/Libraries License: LGPLv2+ URL: http://hyperestraier.sourceforge.net/ Source0: http://hyperestraier.sourceforge.net/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: bzip2-devel zlib-devel %if 0%{?fedora} >= 6 BuildRequires: lzo-devel >= 2.02 %endif BuildRequires: gcc-java libgcj-devel BuildRequires: qdbm-devel >= %{qdbm_ver} BuildRequires: ruby-rdoc BuildRequires: ruby-devel BuildRequires: ruby(abi) = %{rubyver} BuildRequires: perl(ExtUtils::MakeMaker) %description Hyper Estraier is a full-text search system. You can search lots of documents for some documents including specified words. If you run a web site, it is useful as your own search engine for pages in your site. Also, it is useful as search utilities of mail boxes and file servers. %package devel Summary: Libraries and Header files for Hyper Estraier Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: qdbm-devel >= %{qdbm_ver} Requires: pkgconfig %description devel This is the development package that provides header files and libraries for Hyper Estraier. %package java Summary: Hyper Estraier library for Java Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} %description java This package contains a Java interface for Hyper Estraier %package perl Summary: Hyper Estraier library for Perl Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description perl This package contains a Perl interface for Hyper Estraier %package -n ruby-hyperestraier Summary: Hyper Estraier Library for Ruby Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} Requires: ruby(abi) = %{rubyver} Provides: ruby(hyperestraier) = %{version}-%{release} %description -n ruby-hyperestraier This package contains a Ruby interface for Hyper Estraier. %prep %setup -q %build ## 0. First: ## - remove rpath ## - fix pkgconfig file to hide header files ## - fix Makefile to keep timestamps %{__sed} -i.rpath -e '/^LDENV/d' `find . -name Makefile.in` %{__sed} -i.misc \ -e '/^Libs/s|@[A-Z][A-Z]*@||g' \ -e '/Cflags/s|^\(.*\)|\1 -I\${includedir}/%{name}|' \ %{name}.pc.in %{__sed} -i.path \ -e '/^cflags/s|^\(.*\)\"$|\1 -I%{_datadir}/qdbm -I%{_datadir}/%{name}\"|' \ estconfig.in %{__sed} -i.stamp \ -e 's|cp \(-R*f \)|cp -p \1| ' \ -e 's|^CP =.*$|CP = cp -p|' \ `find . -name Makefile.in -or -name \*[mM]akefile` ## 1. For main %{__sed} -i.flags \ -e '/^CFLAGS/s|^\(.*\)$|\1 %{optflags}|' Makefile.in %configure \ --enable-devel \ --enable-zlib \ --enable-bzip \ %if 0%{?fedora} >= 6 --enable-lzo %endif %{__make} %{?_smp_mflags} ## 2. For java pushd javanative/ %{__sed} -i.flags -e '/^MYCFLAGS/s|-O2.*|%{optflags}\"|' configure %configure # Failed with -j8 on Matt's mass build %{__make} -j1 JAR=%{_bindir}/fastjar JAVAC="%{_bindir}/gcj -C" popd ## 3. For perl: pushd perlnative %configure %{__make} %{?_smp_mflags} \ CC="gcc %optflags $(pkg-config --cflags qdbm)" \ OPTIMIZE="" \ LDDLFLAGS="-shared" popd ##4. For ruby pushd rubynative # Workaround for ruby side bug (bug 226381 c11) %{__cp} -p %{ruby_arch}/rbconfig.rb . %{__sed} -i.static -e 's|-static||g' rbconfig.rb export RUBYLIB=$(pwd) %{__sed} -i.path -e 's|-O3.*|\`pkg-config --cflags qdbm\`\"|' src/extconf.rb %configure %{__make} %{?_smp_mflags} popd %install %{__rm} -rf $RPM_BUILD_ROOT ## 1. For main %{__make} install DESTDIR=$RPM_BUILD_ROOT # clean up %{__rm} -f $RPM_BUILD_ROOT%{_libdir}/lib*.a %{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/doc/ %{__rm} -f $RPM_BUILD_ROOT%{_datadir}/%{name}/[A-Z]* # hide header files to name specific directory pushd $RPM_BUILD_ROOT%{_includedir} mkdir %{name} for f in *.h ; do for g in *.h ; do eval sed -i -e \'s\|include \<$g\>\|include \"$g\"\|\' $f done done %{__mv} *.h %{name}/ popd ## 2. For java pushd javanative/ %{__make} DESTDIR=$RPM_BUILD_ROOT install popd %{__mkdir_p} $RPM_BUILD_ROOT%{_javadir} %{__mv} -f $RPM_BUILD_ROOT%{_libdir}/*.jar \ $RPM_BUILD_ROOT%{_javadir} ## 3. For perl pushd perlnative %{__make} install DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor popd # clean up %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod find $RPM_BUILD_ROOT%{perl_vendorarch} \ -name \*.bs -or -name .packlist | \ xargs rm -f find $RPM_BUILD_ROOT%{perl_vendorarch} \ -name \*.so | \ xargs chmod 0755 ## 4. For ruby pushd rubynative/ %{__make} DESTDIR=$RPM_BUILD_ROOT install popd %clean %{__rm} -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post java -p /sbin/ldconfig %postun java -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc COPYING ChangeLog THANKS %doc example/ %doc doc/*guide-en.html doc/*.png doc/*.css %lang(ja) %doc doc/*guide-ja.html %{_libdir}/libestraier.so.* %{_bindir}/est* %exclude %{_bindir}/estconfig %exclude %{_bindir}/*.pl %exclude %{_bindir}/*.rb %{_libexecdir}/*.cgi %{_datadir}/%{name}/ %{_mandir}/man1/*.1* %files devel %defattr(-,root,root,-) %{_bindir}/estconfig %{_includedir}/%{name}/ %{_libdir}/libestraier.so %{_libdir}/pkgconfig/*.pc %{_mandir}/man3/est*.3* %files java %defattr(-,root,root,-) %doc doc/javanativeapi/* %doc javanative/overview.html %doc javanative/example/ %{_javadir}/*.jar %{_libdir}/libj*.so* %files perl %defattr(-,root,root,-) %doc doc/perlnativeapi/index.html %doc perlnative/example/ %{_bindir}/*.pl %{perl_vendorarch}/*.p* %{perl_vendorarch}/auto/*/ %{_mandir}/man3/*.3pm* %files -n ruby-hyperestraier %defattr(-,root,root,-) %doc doc/rubynativeapi/* %doc rubynative/example/ %{_bindir}/*.rb %{ruby_sitelib}/*.so %changelog * Tue Jun 01 2010 Marcela Maslanova <mmaslano@redhat.com> - 1.4.13-7 - Mass rebuild with perl-5.12.0 * Wed Dec 23 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.13-6 - F-13: rebuild for new perl * Sat Jul 25 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.13-5 - F-12: Mass rebuild * Tue Feb 24 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.13-4 - F-11: Mass rebuild * Fri Aug 29 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.13-3 - Use -j1 under javanative (-j8 failed) * Sat Mar 15 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.13-2 - Rebuild against new perl (F-9) * Sat Feb 9 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - Rebuild against gcc43 (F-9) * Sun Dec 30 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.13-1 - 1.4.13 * Thu Nov 29 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.12-1 - 1.4.12 * Sat Nov 17 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.11-1 - 1.4.11 * Wed Aug 22 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.10-2.dist.2 - Mass rebuild (buildID or binutils issue) * Fri Aug 3 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.10-2.dist.1 - License update * Thu Jun 16 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.10-2 - Fix java directory * Thu Mar 22 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.10-1 - 1.4.10 - Ruby subpackage description change according to Guildlines * Thu Mar 8 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.9-3 - Add perl-devel for BR * Fri Feb 23 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.9-2.dist.1 - Drop lzo support on FC-5 * Fri Feb 23 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.9-2 - Remove duplicate files and fix the dependency for main package. * Thu Feb 22 2007 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.9-1 - Initial packaging for Fedora.