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

Group: 		Development/Languages
License: 	GPLv2+
Source: 	http://ovh.dl.sourceforge.net/sourceforge/q-lang/q-7.10.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.

# # mod_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
# # mod_q
# %setup -q -D -T -a 1
# sed -i 's|apxs2|apxs|' mod_q-1.1/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 -lncurses"
# %{?_smp_mflags} breaks the build
make
# # mod_Q
# cd mod_q-1.1
# 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}/qld

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


%changelog
* Sun Dec 30 2007 Gerard Milmeister <gemi@bluewin.ch> - 7.10-1
- new release 7.10

* Wed Oct 24 2007 Gerard Milmeister <gemi@bluewin.ch> - 7.8-1
- new version 7.8

* Thu Feb 15 2007 Gerard Milmeister <gemi@bluewin.ch> - 7.6-2
- use ncurses instead of termcap

* 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-2
- patch for curl options

* 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