[gap-io] Initial import.

Jerry James jjames at fedoraproject.org
Mon Oct 22 17:27:39 UTC 2012


commit 81b75ddcd3e65c21bcf6bde92f6cbad5b4ec4515
Author: Jerry James <jamesjer at betterlinux.com>
Date:   Mon Oct 22 11:27:26 2012 -0600

    Initial import.

 .gitignore  |    1 +
 gap-io.spec |   96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 sources     |    1 +
 3 files changed, 98 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..30ce37c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/io-4.2.tar.gz
diff --git a/gap-io.spec b/gap-io.spec
new file mode 100644
index 0000000..db4a90a
--- /dev/null
+++ b/gap-io.spec
@@ -0,0 +1,96 @@
+Name:           gap-io
+Version:        4.2
+Release:        2%{?dist}
+Summary:        Unix I/O functionality for GAP
+
+License:        GPLv3+
+URL:            http://www-groups.mcs.st-and.ac.uk/~neunhoef/Computer/Software/Gap/io.html
+Source0:        http://www-groups.mcs.st-and.ac.uk/~neunhoef/Computer/Software/Gap/io/io-%{version}.tar.gz
+
+BuildRequires:  gap-devel
+BuildRequires:  pkgconfig
+
+Requires:       gap-core
+
+Provides:       gap-pkg-io = %{version}-%{release}
+
+%description
+This GAP package provides a link to the standard UNIX I/O functionality
+that is available through the C library.  This part basically consists
+of functions on the GAP level that allow functions in the C library to
+be called.
+
+Built on top of this is a layer for buffered input/output which is
+implemented completely in the GAP language.  It is intended to be used
+by programs for which it is not necessary to have full direct access to
+the operating system.
+
+On this level, quite a few convenience functions are implemented for
+interprocess communication like starting up pipelines of processes to
+filter data through them and to start up processes and then communicate
+with them.  There is also support for creating network connections over
+TCP/IP and UDP.
+
+Building on this, the package contains an implementation of the client
+side of the HTTP protocol making it possible among other things to
+access web pages from within GAP.
+
+Another part of the package is a framework for object serialization.
+That is, GAP objects can be converted into a platform-independent byte
+sequence which can be stored to a file or sent over the network.  The
+code takes complete care of arbitrarily self-referential data structures
+like lists containing themselves as an entry.  The resulting byte
+strings can be read back into GAP and the original objects are rebuilt
+with exactly the same self-references.  This works for most of the
+standard builtin types of GAP like numbers, permutations, polynomials,
+lists, and records and can be extended to nearly arbitrary GAP objects.
+
+%prep
+%setup -q -n io
+
+# File file encodings
+for fil in PackageInfo.g PackageInfoFor4.5.g; do
+  iconv -f iso8859-1 -t utf-8 -o $fil.utf8 $fil
+  touch -r $fil $fil.utf8
+  mv -f $fil.utf8 $fil
+done
+
+%build
+%configure --with-gaproot=%{_gap_dir}
+make %{?_smp_mflags} io.la
+
+# Remove an unnecessary script and some leftover build artifacts
+rm -f doc/clean doc/io.{aux,bbl,blg,idx,ilg,ind,log,pnr,toc}
+
+%install
+# make install is broken
+
+# Get the name of the arch-specific subdirectory
+source %{_gap_dir}/sysinfo.gap
+
+# Install, but not the libtool archive
+mkdir -p %{buildroot}%{_gap_dir}/pkg/io/bin/$GAParch
+./libtool --mode=install %{_bindir}/install -c io.la \
+  %{buildroot}%{_gap_dir}/pkg/io/bin/$GAParch
+rm -f %{buildroot}%{_gap_dir}/pkg/io/bin/$GAParch/io.la
+cp -a *.g doc example gap tst %{buildroot}%{_gap_dir}/pkg/io
+
+%post -p %{_bindir}/update-gap-workspace
+
+%postun -p %{_bindir}/update-gap-workspace
+
+%check
+# Cannot run the HTTP test, as there is no network access on koji builders
+gap -l "/usr/lib/gap;%{buildroot}%{_gap_dir}" tst/platform.g tst/pickle.g \
+  tst/buffered.g < /dev/null
+
+%files
+%doc CHANGES GPL HISTORY LICENSE README TODO
+%{_gap_dir}/pkg/io/
+
+%changelog
+* Wed Oct 10 2012 Jerry James <loganjerry at gmail.com> - 4.2-2
+- Add a check script
+
+* Mon Sep 17 2012 Jerry James <loganjerry at gmail.com> - 4.2-1
+- Initial RPM
diff --git a/sources b/sources
index e69de29..3bd6f69 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+7d9f4b269973eb6529fb22908d96a2b8  io-4.2.tar.gz


More information about the scm-commits mailing list