Blob Blame History Raw
Name: 		q
Version: 	7.6
Release: 	1%{?dist}
Summary: 	Equational programming language

Group: 		Development/Languages
License: 	GPL
Source: 	http://switch.dl.sourceforge.net/sourceforge/q-lang/q-7.6.tar.gz
URL: 		http://q-lang.sourceforge.net
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:	ImageMagick-devel
BuildRequires:	bison
BuildRequires:	curl-devel
BuildRequires:	flex
BuildRequires:	freetype-devel
BuildRequires:	gdbm-devel
BuildRequires:	gmp-devel
BuildRequires:	httpd-devel
BuildRequires:	libxml2-devel
BuildRequires:	libxslt-devel
BuildRequires:	ncurses-devel
BuildRequires:	readline-devel
BuildRequires:	tcl-devel
BuildRequires:	tk-devel
BuildRequires:	unixODBC-devel
BuildRequires:	which
BuildRequires:	zlib-devel
Requires(post): /sbin/ldconfig /sbin/install-info
Requires(postun): /sbin/ldconfig /sbin/install-info
ExcludeArch:	x86_64


%description
Q is a powerful and extensible functional programming language based
on the term rewriting calculus. You specify an arbitrary system of
equations which the interpreter uses as rewrite rules to reduce
expressions to normal form. Q is useful for scientific programming and
other advanced applications, and also as a sophisticated kind of
desktop calculator. The distribution includes the Q programming tools,
a standard library, add-on modules for interfacing to Curl, GNU dbm,
ODBC, GNU Octave, ImageMagick, Tcl/Tk, XML/XSLT and an Emacs mode.


%package devel
Summary:        Headers and static library for developing programs using Q
Group:		Development/Libraries
Requires:       %{name} = %{version}-%{release}
Requires:	libtool


%description devel
Headers and static library for developing programs using Q.


%package -n mod_q
Summary:	An embedded Q interpreter for the Apache Web server
Group:		System Environment/Daemons
Requires:	httpd >= 2.0.40

%description -n mod_q
Mod_q is a module that embeds the Q language interpreter within
the server, allowing Apache handlers to be written in Q.


%prep
%setup -q
sed -i 's|/usr/sbin/apxs2|/usr/sbin/apxs -I../src -L../src|' mod_q/Makefile
sed -i 's|@libtool@|libtool|' src/Makefile.in

%define _use_internal_dependency_generator 0

# Filter unwanted Provides
cat > %{name}-prov <<EOF
#!/bin/sh
%{__find_provides} $* |\
  sed -e '/\.so[ \t]*$/d'
EOF

%define __find_provides %{_builddir}/%{name}-%{version}/%{name}-prov
chmod +x %{__find_provides}


%build
%configure --with-unicode --with-rl="-lreadline -ltermcap"
# %{?_smp_mflags} breaks the build
make
cd mod_q
make
gcc -shared .libs/mod_q.o -lqint -L../src/.libs -lpthread  -Wl,-soname -Wl,mod_q.so -o .libs/mod_q.so


%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install

rm -f $RPM_BUILD_ROOT%{_libdir}/*.{la,a}
rm -f $RPM_BUILD_ROOT%{_libdir}/q/*.{la,a}
rm -f $RPM_BUILD_ROOT%{_infodir}/dir

mkdir -p $RPM_BUILD_ROOT%{_docdir}/q-%{version}
mv $RPM_BUILD_ROOT%{_datadir}/q/etc $RPM_BUILD_ROOT%{_docdir}/q-%{version}
mv $RPM_BUILD_ROOT%{_datadir}/q/examples $RPM_BUILD_ROOT%{_docdir}/q-%{version}

rm -f $RPM_BUILD_ROOT%{_bindir}/gqbuilder
rm -fr $RPM_BUILD_ROOT%{_datadir}/q/gqbuilder

mkdir -p $RPM_BUILD_ROOT%{_libdir}/httpd/modules
install -m 0755 mod_q/.libs/mod_q.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules
chmod 0644 mod_q/myreq.q


%clean
rm -rf $RPM_BUILD_ROOT


%post
/sbin/ldconfig
/sbin/install-info %{_infodir}/qdoc.info %{_infodir}/dir 2>/dev/null || :


%postun
/sbin/ldconfig
if [ $1 -eq 0 ]; then
  /sbin/install-info --delete %{_infodir}/qdoc.info %{_infodir}/dir 2>/dev/null || :
fi


%files
%defattr(-,root,root,-)
%{_bindir}/q
%{_bindir}/qc
%{_infodir}/*
%{_libdir}/lib*.so.*
%{_libdir}/q
%{_mandir}/man*/*
%{_datadir}/q
%{_docdir}/q-%{version}
%docdir %{_docdir}/q-%{version}/


%files devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/lib*.so
%{_bindir}/qcc
%{_bindir}/qcwrap
%{_bindir}/qld


%files -n mod_q
%defattr(-,root,root,-)
%doc mod_q/README mod_q/myreq.q
%{_libdir}/httpd/modules/mod_q.so


%changelog
* Sun Jan  7 2007 Gerard Milmeister <gemi@bluewin.ch> - 7.6-1
- new version 7.6

* Tue Oct 31 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.5-1
- new version 7.5

* Wed Aug 30 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.4-1
- new version 7.4

* Mon Aug 28 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-3
- Rebuild for FE6

* Tue Jun 13 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-2
- disable provides for modules

* Mon Jun 12 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-1
- new version 7.1
- use system libtool

* Sun Jun 11 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-0.2.rc2
- removed %%{_infodir}/dir
- modified %%description
- built apache module
- removed gqbuilder until gnocl is available

* Sat Jun 10 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-0.1.rc2
- changed version scheme

* Thu Jun  8 2006 Gerard Milmeister <gemi@bluewin.ch> - 7.1-1
- new version 7.1rc2

* Sun Sep 18 2005 Gerard Milmeister <gemi@bluewin.ch> - 6.2-1
- New Version 6.2

* Sun Mar  6 2005 Gerard Milmeister <gemi@bluewin.ch> - 6.0-1
- First Fedora release