[packages/clisp] - build more modules (and subpackage those with external dependencies)

qboosh qboosh at pld-linux.org
Fri Jan 27 18:58:43 CET 2023


commit 1b7e4e83ac944713a70ab81be6c4ccc05c5264f1
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Jan 27 18:59:21 2023 +0100

    - build more modules (and subpackage those with external dependencies)

 clisp.spec | 276 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 269 insertions(+), 7 deletions(-)
---
diff --git a/clisp.spec b/clisp.spec
index 6ae058e..266cc46 100644
--- a/clisp.spec
+++ b/clisp.spec
@@ -1,5 +1,6 @@
 #
 # Conditional build:
+%bcond_with	oci	# Oracle module (BR: proprietary libs)
 %bcond_with	tests	# run test suite `make check' (uses network, won't pass on vserver)
 #
 Summary:	Common Lisp (ANSI CL) implementation
@@ -16,11 +17,25 @@ Source0:	https://gitlab.com/gnu-clisp/clisp/-/archive/clisp-%{version}/clisp-cli
 Patch0:		%{name}-shell.patch
 Patch1:		x32.patch
 URL:		http://clisp.cons.org/
+BuildRequires:	db-devel
+BuildRequires:	dbus-devel
+BuildRequires:	fcgi-devel
 BuildRequires:	ffcall-devel
 BuildRequires:	gettext-tools
+BuildRequires:	gdbm-devel
+BuildRequires:	gtk+2-devel >= 2.0
+BuildRequires:	libglade2-devel >= 2.0
 BuildRequires:	libsigsegv-devel >= 2.4
+BuildRequires:	libsvm-devel >= 3.0
 BuildRequires:	libunistring-devel
 BuildRequires:	ncurses-devel
+%{?with_oci:BuildRequires:	oracle-instantclient-devel}
+BuildRequires:	pari-devel
+# share/parigp/pari.desc
+BuildRequires:	parigp
+BuildRequires:	pcre-devel
+BuildRequires:	pkgconfig
+BuildRequires:	postgresql-devel
 BuildRequires:	readline-devel
 BuildRequires:	xorg-lib-libICE-devel
 BuildRequires:	xorg-lib-libSM-devel
@@ -29,6 +44,7 @@ BuildRequires:	xorg-lib-libXau-devel
 BuildRequires:	xorg-lib-libXext-devel
 BuildRequires:	xorg-lib-libXpm-devel
 BuildRequires:	xorg-proto-xextproto-devel
+BuildRequires:	zlib-devel
 Requires:	ffcall-devel
 Requires:	libsigsegv-devel >= 2.4
 Requires:	libunistring-devel
@@ -84,6 +100,150 @@ Munique, ambas na Alemanha. O CLISP é quase totalmente compatível com
 o Common Lisp descrito pelo padrão ANSI CL. Além disso, CLISP é
 software livre, distribuído sob os termos da GNU GPL.
 
+%package module-berkeley-db
+Summary:	Berkeley DB module for CLISP
+Summary(pl.UTF-8):	Moduł Berkeley DB dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-berkeley-db
+Berkeley DB database module for CLISP.
+
+%description module-berkeley-db -l pl.UTF-8
+Moduł baz danych Berkeley DB dla CLISP-a.
+
+%package module-clx
+Summary:	CLX module for CLISP
+Summary(pl.UTF-8):	Moduł CLX dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-clx
+CLX (Common Lisp X interface) graphics module for CLISP.
+
+%description module-clx -l pl.UTF-8
+Moduł grafiki CTX (interfejs Common List do X) dla CLISP-a.
+
+%package module-dbus
+Summary:	DBus module for CLISP
+Summary(pl.UTF-8):	Moduł DBus dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-dbus
+DBus communication module for CLISP.
+
+%description module-dbus -l pl.UTF-8
+Moduł komunikacji DBus dla CLISP-a.
+
+%package module-fastcgi
+Summary:	FastCGI module for CLISP
+Summary(pl.UTF-8):	Moduł FastCGI dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-fastcgi
+FastCGI communication module for CLISP.
+
+%description module-fastcgi -l pl.UTF-8
+Moduł komunikacji FastCGI dla CLISP-a.
+
+%package module-gdbm
+Summary:	GDBM module for CLISP
+Summary(pl.UTF-8):	Moduł GDBM dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-gdbm
+GDBM database module for CLISP.
+
+%description module-gdbm -l pl.UTF-8
+Moduł baz danych GDBM dla CLISP-a.
+
+%package module-gtk2
+Summary:	GTK2 module for CLISP
+Summary(pl.UTF-8):	Moduł GTK2 dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-gtk2
+GTK2 graphics module for CLISP.
+
+%description module-gtk2 -l pl.UTF-8
+Moduł grafiki GTK2 dla CLISP-a.
+
+%package module-libsvm
+Summary:	LibSVM module for CLISP
+Summary(pl.UTF-8):	Moduł LibSVM dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-libsvm
+LibSVM (Support Vector Machine) math module for CLISP.
+
+%description module-libsvm -l pl.UTF-8
+Moduł matematyczny LibSVM (Support Vector Machine) dla CLISP-a.
+
+%package module-oracle
+Summary:	Oracle module for CLISP
+Summary(pl.UTF-8):	Moduł Oracle dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-oracle
+Oracle database module for CLISP.
+
+%description module-oracle -l pl.UTF-8
+Moduł baz danych Oracle dla CLISP-a.
+
+%package module-pari
+Summary:	PARI module for CLISP
+Summary(pl.UTF-8):	Moduł PARI dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-pari
+PARI math module for CLISP.
+
+%description module-pari -l pl.UTF-8
+Moduł matematyczny PARI dla CLISP-a.
+
+%package module-pcre
+Summary:	PCRE module for CLISP
+Summary(pl.UTF-8):	Moduł PCRE dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-pcre
+PCRE matching module for CLISP.
+
+%description module-pcre -l pl.UTF-8
+Moduł dopasowań PCRE dla CLISP-a.
+
+%package module-postgresql
+Summary:	PostgreSQL module for CLISP
+Summary(pl.UTF-8):	Moduł PostgreSQL dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-postgresql
+PostgreSQL database module for CLISP.
+
+%description module-postgresql -l pl.UTF-8
+Moduł baz danych PostgreSQL dla CLISP-a.
+
+%package module-zlib
+Summary:	Zlib module for CLISP
+Summary(pl.UTF-8):	Moduł Zlib dla CLISP-a
+Group:		Development/Languages
+Requires:	%{name} = %{version}-%{release}
+
+%description module-zlib
+Zlib compression module for CLISP.
+
+%description module-zlib -l pl.UTF-8
+Moduł kompresji Zlib dla CLISP-a.
+
 %package -n emacs-clisp-mode
 Summary:	CLISP mode for Emacs
 Summary(pl.UTF-8):	Tryb edycji CLISP dla Emacsa
@@ -136,26 +296,43 @@ CFLAGS="%{rpmcflags} -falign-functions=4" \
 CFLAGS="%{rpmcflags}" \
 %endif
 %endif
+CPPFLAGS="%{rpmcppflags} -I/usr/include/fastcgi" \
 ./configure \
 %ifarch x32
 	--host=%{_target_platform} \
 %endif
-	--prefix=%{_prefix}
+	--prefix=%{_prefix} \
+	--with-pari-datadir=%{_datadir}/parigp \
 
 cd src
 ./makemake \
 	--prefix=%{_prefix} \
-	--with-readline \
-	--with-gettext \
-	--with-dynamic-ffi \
 	--fsstnd=redhat \
+	--with-dynamic-ffi \
+	--with-gettext \
+	--with-readline \
+	--with-module=asdf \
+	--with-module=berkeley-db \
 	--with-module=bindings/glibc \
 	--with-module=clx/new-clx \
+	--with-module=dbus \
+	--with-module=editor \
+	--with-module=fastcgi \
+	--with-module=gdbm \
+	--with-module=gtk2 \
+	--with-module=libsvm \
+	%{?with_oci:--with-module=oracle} \
+	--with-module=pari \
+	--with-module=pcre \
+	--with-module=postgresql \
+	--with-module=rawsock \
+	--with-module=zlib \
 	>Makefile
 %{__make} -j1 config.lisp \
 	TOPDIR=clisp
 %{__make} -j1 \
 	libdir=%{_libdir} \
+	%{?with_oci:ORA_INCLUDES="-I/usr/include/oracle/client"} \
 	TOPDIR=clisp
 
 %{?with_tests:%{__make} -j1 check}
@@ -192,16 +369,101 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/clisp/base/makevars
 %{_libdir}/clisp/bindings
 %{_libdir}/clisp/build-aux
-%{_libdir}/clisp/clx
 %{_libdir}/clisp/data
 %dir %{_libdir}/clisp/dynmod
-%{_libdir}/clisp/dynmod/*.lisp
-%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-*.so
+%{_libdir}/clisp/dynmod/linux.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-linux.so
 %{_libdir}/clisp/linkkit
 %{_aclocaldir}/clisp.m4
 %{_mandir}/man1/clisp.1*
 %{_mandir}/man1/clisp-link.1*
 
+# addtional modules with no external dependencies
+
+%{_libdir}/clisp/asdf
+%{_libdir}/clisp/dynmod/asdf.lisp
+
+%{_libdir}/clisp/editor
+%{_libdir}/clisp/dynmod/editor.lisp
+
+%{_libdir}/clisp/rawsock
+%{_libdir}/clisp/dynmod/rawsock.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-rawsock.so
+
+%files module-berkeley-db
+%defattr(644,root,root,755)
+%{_libdir}/clisp/berkeley-db
+%{_libdir}/clisp/dynmod/bdb.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-bdb.so
+
+%files module-clx
+%defattr(644,root,root,755)
+%{_libdir}/clisp/clx
+%{_libdir}/clisp/dynmod/clx.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-clx.so
+
+%files module-dbus
+%defattr(644,root,root,755)
+%{_libdir}/clisp/dbus
+%{_libdir}/clisp/dynmod/dbus.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-dbus.so
+
+%files module-fastcgi
+%defattr(644,root,root,755)
+%{_libdir}/clisp/fastcgi
+%{_libdir}/clisp/dynmod/fastcgi.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-fastcgi.so
+
+%files module-gdbm
+%defattr(644,root,root,755)
+%{_libdir}/clisp/gdbm
+%{_libdir}/clisp/dynmod/gdbm.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-gdbm.so
+
+%files module-gtk2
+%defattr(644,root,root,755)
+%{_libdir}/clisp/gtk2
+%{_libdir}/clisp/dynmod/gtk.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-gtk.so
+
+%files module-libsvm
+%defattr(644,root,root,755)
+%{_libdir}/clisp/libsvm
+%{_libdir}/clisp/dynmod/libsvm.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-libsvm.so
+
+%if %{with oci}
+%files module-oracle
+%defattr(644,root,root,755)
+%{_libdir}/clisp/oracle
+%{_libdir}/clisp/dynmod/oracle.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-oracle.so
+%endif
+
+%files module-pari
+%defattr(644,root,root,755)
+%{_libdir}/clisp/pari
+%{_libdir}/clisp/dynmod/pari.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-pari.so
+
+%files module-pcre
+%defattr(644,root,root,755)
+%{_libdir}/clisp/pcre
+%{_libdir}/clisp/dynmod/pcre.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-pcre.so
+
+%files module-postgresql
+%defattr(644,root,root,755)
+%{_libdir}/clisp/postgresql
+%{_libdir}/clisp/dynmod/postgresql.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-postgresql.so
+
+%files module-zlib
+%defattr(644,root,root,755)
+%{_libdir}/clisp/zlib
+%{_libdir}/clisp/dynmod/zlib.lisp
+%attr(755,root,root) %{_libdir}/clisp/dynmod/lib-zlib.so
+
 %files -n emacs-clisp-mode
 %defattr(644,root,root,755)
 %{_lispdir}/clhs.el
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/clisp.git/commitdiff/1b7e4e83ac944713a70ab81be6c4ccc05c5264f1



More information about the pld-cvs-commit mailing list