Skip to content
This repository has been archived by the owner on Jan 9, 2019. It is now read-only.

marcomaggi/vicare-sofa

Repository files navigation

			      Vicare/SOFA
			      ===========


Topics
------

  1. Introduction
  2. License
  3. Install
  4. Usage
  A. Credits
  B. Bugs
  C. Resources


1. Introduction
---------------

This package is a distribution of Scheme libraries for Vicare Scheme, an
R6RS compliant  Scheme implementation;  it provides  bindings for  the C
language library SOFA, Standars of Fundamental Astronomy.

  The International Astronomical Union's SOFA Collection consists of two
libraries of  routines, one  coded in  Fortran 77 the  other in  ANSI C.
There is  a suite of  vector/matrix routines and various  utilities that
underpin  the  astronomy  algorithms,  which include  routines  for  the
following:

* Calendars

* Time Scales

* Earth rotation and sidereal time

* Ephemerides (medium precision)

* Geocentric/geodetic transformations

* Precession, nutation, polar motion

* Star space motion

* Star catalogue conversion

  *NOTE* The last  time the author bothered to update  this paragraph he
had tested the SOFA C library version: "SOFA-Issue: 2013-12-02" packaged
in ATSOFA 0.2d0.

  This package makes use of the GNU Autotools.


2. License
----------

Copyright (c) 2013-2015, 2017 Marco Maggi <marco.maggi-ipsu@poste.it>

This program is free software: you  can redistribute it and/or modify it
under the  terms of the GNU  General Public License as  published by the
Free Software Foundation,  either version 3 of the License,  or (at your
option) any later version.

This program  is distributed  in the  hope that it  will be  useful, but
WITHOUT   ANY   WARRANTY;  without   even   the   implied  warranty   of
MERCHANTABILITY  or  FITNESS FOR  A  PARTICULAR  PURPOSE.  See  the  GNU
General Public License for more details.

You should have received a copy  of the GNU General Public License along
with this program.  If not, see <http://www.gnu.org/licenses/>.


3. Install
----------

3.1 Installing SOFA
-------------------

First we must install SOFA; this package  is meant to use the C language
library  implemented   by  the  International  Astronomical   Union  and
distributed  using the  GNU Autotools  in  the ATSOFA  package (see  the
appendix "Resources").  It is just a matter of doing:

    $ cd atsofa-0.2.0
    $ mkdir build
    $ cd build
    $ ../configure
    $ make all
    $ make check
    $ make install


3.2 Installing Vicare/SOFA
--------------------------

Before installing  Vicare/SOFA make sure  to have a  correctly installed
Sofa library and Vicare Scheme.

  To install Vicare/SOFA  from a proper release tarball,  we must unpack
the archive then do:

   $ cd vicare-sofa-0.4.0
   $ mkdir build
   $ cd build
   $ ../configure
   $ make
   $ make check
   $ make install

notice  that  the  "configure"  script  is  prepared  to  enable  shared
libraries  and  disable static  libraries:  this  must not  be  changed,
because  the package  is  meant to  install  a C  shared  library to  be
dynamically loaded.

  The Makefile is designed to allow parallel builds, so we can do:

   $ make -j4 all && make -j4 check

which,  on  a  4-core  CPU,   should  speed  up  building  and  checking
significantly.

  To test what a rule will do use the "-n" option; example:

    $ make install -n

  The "Makefile" supports the  "DESTDIR" environment variable to install
the files under a temporary location; example:

    $ make install DESTDIR=/tmp/vicare-sofa

  If, instead,  we have checked out  a revision from the  repository, we
will have  to first build the  infrastructure running a script  from the
top source directory:

   $ cd vicare-sofa
   $ sh autogen.sh

notice  that  "autogen.sh"  will   run  the  programs  "autoreconf"  and
"libtoolize"; the  latter is  selected through the  environment variable
"LIBTOOLIZE",  whose  value  can  be  customised;  for  example  to  run
"glibtoolize" rather than "libtoolize" we do:

   $ LIBTOOLIZE=glibtoolize sh autogen.sh

  After this the  procedure is the same  as the one for  building from a
proper release tarball, but we have to enable maintainer mode:

    $ ../configure --enable-maintainer-mode [options]
    $ make
    $ make check
    $ make install

  Libraries are installed under the directory:

			$(libdir)/vicare-scheme

on 32-bit platforms we should arrange such library to be:

		      $(prefix)/lib/vicare-scheme

on 64-bit platforms we should arrange such library to be:

		     $(prefix)/lib64/vicare-scheme

  The variable VFLAGS is available  to the user when running "configure"
and "make" to add command line options to the execution of "vicare" when
compiling libraries and running tests; for example:

   $ make VFLAGS="-g -O2 --option print-loaded-libraries"


4. Usage
--------

Read the documentation.


A. Credits
----------

Vicare/SOFA  was written  by  Marco  Maggi.  Vicare  Scheme  is an  R6RS
compliant  fork  of  Ikarus  Scheme;  originally  created  by  Abdulaziz
Ghuloum, it is now maintained by Marco Maggi.

  Software Routines from  the IAU SOFA Collection  were used.  Copyright
(C) International Astronomical Union  Standards of Fundamental Astronomy
(http://www.iausofa.org).


B. Bugs
-------

Bug reports are  appreciated.  Register issues at  the Vicare/SOFA issue
tracker:

	   <http://github.com/marcomaggi/vicare-sofa/issues>


C. Resources
------------

The documentation of Vicare/Sofa is available online:

	  <http://marcomaggi.github.io/docs/vicare-sofa.html>

the latest version of this package can be downloaded from:

	<https://bitbucket.org/marcomaggi/vicare-sofa/downloads>

development takes place at:

	      <http://github.com/marcomaggi/vicare-sofa/>

and as backup at:

	    <https://bitbucket.org/marcomaggi/vicare-sofa/>

the home page of the Vicare project is at:

	       <http://marcomaggi.github.io/vicare.html>

  The SOFA libraries  along with documentation and other  goodies can be
found at:

		 <http://www.iausofa.org/>

but it is suggested to use the repackaged distribution at:

		 <http://github.com/marcomaggi/atsofa/>

which makes use of the GNU Autotools.


### end of file
# Local Variables:
# mode: text
# coding: utf-8-unix
# fill-column: 72
# paragraph-start: "*"
# End:

About

IAUSOFA for Vicare Scheme

Resources

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
COPYING
Unknown
COPYING.sofa

Stars

Watchers

Forks

Packages

No packages published