eb39356
Name: 		q
6ac7e8e
Version: 	7.6
872a06b
Release: 	1%{?dist}
eb39356
Summary: 	Equational programming language
eb39356
eb39356
Group: 		Development/Languages
eb39356
License: 	GPL
6ac7e8e
Source: 	http://switch.dl.sourceforge.net/sourceforge/q-lang/q-7.6.tar.gz
eb39356
URL: 		http://q-lang.sourceforge.net
eb39356
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
eb39356
BuildRequires:	ImageMagick-devel
eb39356
BuildRequires:	bison
eb39356
BuildRequires:	curl-devel
eb39356
BuildRequires:	flex
eb39356
BuildRequires:	freetype-devel
eb39356
BuildRequires:	gdbm-devel
eb39356
BuildRequires:	gmp-devel
eb39356
BuildRequires:	httpd-devel
eb39356
BuildRequires:	libxml2-devel
eb39356
BuildRequires:	libxslt-devel
eb39356
BuildRequires:	ncurses-devel
eb39356
BuildRequires:	readline-devel
eb39356
BuildRequires:	tcl-devel
eb39356
BuildRequires:	tk-devel
eb39356
BuildRequires:	unixODBC-devel
eb39356
BuildRequires:	which
eb39356
BuildRequires:	zlib-devel
eb39356
Requires(post): /sbin/ldconfig /sbin/install-info
eb39356
Requires(postun): /sbin/ldconfig /sbin/install-info
eb39356
ExcludeArch:	x86_64
eb39356
eb39356
eb39356
%description
eb39356
Q is a powerful and extensible functional programming language based
eb39356
on the term rewriting calculus. You specify an arbitrary system of
eb39356
equations which the interpreter uses as rewrite rules to reduce
eb39356
expressions to normal form. Q is useful for scientific programming and
eb39356
other advanced applications, and also as a sophisticated kind of
eb39356
desktop calculator. The distribution includes the Q programming tools,
eb39356
a standard library, add-on modules for interfacing to Curl, GNU dbm,
eb39356
ODBC, GNU Octave, ImageMagick, Tcl/Tk, XML/XSLT and an Emacs mode.
eb39356
eb39356
eb39356
%package devel
eb39356
Summary:        Headers and static library for developing programs using Q
eb39356
Group:		Development/Libraries
eb39356
Requires:       %{name} = %{version}-%{release}
eb39356
Requires:	libtool
eb39356
eb39356
eb39356
%description devel
eb39356
Headers and static library for developing programs using Q.
eb39356
eb39356
eb39356
%package -n mod_q
eb39356
Summary:	An embedded Q interpreter for the Apache Web server
eb39356
Group:		System Environment/Daemons
eb39356
Requires:	httpd >= 2.0.40
eb39356
eb39356
%description -n mod_q
eb39356
Mod_q is a module that embeds the Q language interpreter within
eb39356
the server, allowing Apache handlers to be written in Q.
eb39356
eb39356
eb39356
%prep
eb39356
%setup -q
eb39356
sed -i 's|/usr/sbin/apxs2|/usr/sbin/apxs -I../src -L../src|' mod_q/Makefile
eb39356
sed -i 's|@libtool@|libtool|' src/Makefile.in
eb39356
61f5518
%define _use_internal_dependency_generator 0
61f5518
61f5518
# Filter unwanted Provides
61f5518
cat > %{name}-prov <
61f5518
#!/bin/sh
61f5518
%{__find_provides} $* |\
61f5518
  sed -e '/\.so[ \t]*$/d'
61f5518
EOF
61f5518
61f5518
%define __find_provides %{_builddir}/%{name}-%{version}/%{name}-prov
61f5518
chmod +x %{__find_provides}
61f5518
eb39356
eb39356
%build
eb39356
%configure --with-unicode --with-rl="-lreadline -ltermcap"
eb39356
# %{?_smp_mflags} breaks the build
eb39356
make
eb39356
cd mod_q
eb39356
make
eb39356
gcc -shared .libs/mod_q.o -lqint -L../src/.libs -lpthread  -Wl,-soname -Wl,mod_q.so -o .libs/mod_q.so
eb39356
eb39356
eb39356
%install
eb39356
rm -rf $RPM_BUILD_ROOT
eb39356
make DESTDIR=$RPM_BUILD_ROOT install
eb39356
eb39356
rm -f $RPM_BUILD_ROOT%{_libdir}/*.{la,a}
eb39356
rm -f $RPM_BUILD_ROOT%{_libdir}/q/*.{la,a}
eb39356
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
eb39356
eb39356
mkdir -p $RPM_BUILD_ROOT%{_docdir}/q-%{version}
eb39356
mv $RPM_BUILD_ROOT%{_datadir}/q/etc $RPM_BUILD_ROOT%{_docdir}/q-%{version}
eb39356
mv $RPM_BUILD_ROOT%{_datadir}/q/examples $RPM_BUILD_ROOT%{_docdir}/q-%{version}
eb39356
eb39356
rm -f $RPM_BUILD_ROOT%{_bindir}/gqbuilder
eb39356
rm -fr $RPM_BUILD_ROOT%{_datadir}/q/gqbuilder
eb39356
eb39356
mkdir -p $RPM_BUILD_ROOT%{_libdir}/httpd/modules
eb39356
install -m 0755 mod_q/.libs/mod_q.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules
eb39356
chmod 0644 mod_q/myreq.q
eb39356
eb39356
eb39356
%clean
eb39356
rm -rf $RPM_BUILD_ROOT
eb39356
eb39356
eb39356
%post
eb39356
/sbin/ldconfig
eb39356
/sbin/install-info %{_infodir}/qdoc.info %{_infodir}/dir 2>/dev/null || :
eb39356
eb39356
eb39356
%postun
eb39356
/sbin/ldconfig
eb39356
if [ $1 -eq 0 ]; then
eb39356
  /sbin/install-info --delete %{_infodir}/qdoc.info %{_infodir}/dir 2>/dev/null || :
eb39356
fi
eb39356
eb39356
eb39356
%files
eb39356
%defattr(-,root,root,-)
eb39356
%{_bindir}/q
eb39356
%{_bindir}/qc
eb39356
%{_infodir}/*
eb39356
%{_libdir}/lib*.so.*
eb39356
%{_libdir}/q
eb39356
%{_mandir}/man*/*
eb39356
%{_datadir}/q
eb39356
%{_docdir}/q-%{version}
eb39356
%docdir %{_docdir}/q-%{version}/
eb39356
eb39356
eb39356
%files devel
eb39356
%defattr(-,root,root,-)
eb39356
%{_includedir}/*
eb39356
%{_libdir}/lib*.so
eb39356
%{_bindir}/qcc
eb39356
%{_bindir}/qcwrap
eb39356
%{_bindir}/qld
eb39356
eb39356
eb39356
%files -n mod_q
eb39356
%defattr(-,root,root,-)
eb39356
%doc mod_q/README mod_q/myreq.q
eb39356
%{_libdir}/httpd/modules/mod_q.so
eb39356
eb39356
eb39356
%changelog
6ac7e8e
* Sun Jan  7 2007 Gerard Milmeister <gemi@bluewin.ch> - 7.6-1
6ac7e8e
- new version 7.6
6ac7e8e
ad387b7
* Tue Oct 31 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.5-1
ad387b7
- new version 7.5
ad387b7
872a06b
* Wed Aug 30 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.4-1
872a06b
- new version 7.4
872a06b
4de8baa
* Mon Aug 28 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-3
4de8baa
- Rebuild for FE6
4de8baa
61f5518
* Tue Jun 13 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-2
61f5518
- disable provides for modules
61f5518
eb39356
* Mon Jun 12 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-1
eb39356
- new version 7.1
eb39356
- use system libtool
eb39356
eb39356
* Sun Jun 11 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-0.2.rc2
eb39356
- removed %%{_infodir}/dir
eb39356
- modified %%description
eb39356
- built apache module
eb39356
- removed gqbuilder until gnocl is available
eb39356
eb39356
* Sat Jun 10 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-0.1.rc2
eb39356
- changed version scheme
eb39356
eb39356
* Thu Jun  8 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-1
eb39356
- new version 7.1rc2
eb39356
eb39356
* Sun Sep 18 2005 Gerard Milmeister <gemi@bluewin.ch> - 6.2-1
eb39356
- New Version 6.2
eb39356
eb39356
* Sun Mar  6 2005 Gerard Milmeister <gemi@bluewin.ch> - 6.0-1
eb39356
- First Fedora release
eb39356