gnuastro-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnuastro-commits] master 5f71ea6b 1/2: Book: separate calls for mandato


From: Mohammad Akhlaghi
Subject: [gnuastro-commits] master 5f71ea6b 1/2: Book: separate calls for mandatory and optional dependencies
Date: Sun, 21 Aug 2022 10:36:31 -0400 (EDT)

branch: master
commit 5f71ea6b2ad768a3fc1b2ae1ed12bc9fe2e4db55
Author: Mohammad Akhlaghi <mohammad@akhlaghi.org>
Commit: Mohammad Akhlaghi <mohammad@akhlaghi.org>

    Book: separate calls for mandatory and optional dependencies
    
    Until now, there was a single package manager command (in all operating
    systems) for all the optional, mandatory and non-Gnuastro (topcat and DS9)
    dependencies. Especially after the addition of DS9 and Topcat, by using
    those commands, MANY MANY extra dependencies of dependencies will be
    installed with that single command (since DS9 and Topcat are GUI). This
    could lead to the idea that Gnuastro also has many dependencies!
    
    With this commit, we now have a separate calls to the operating system's
    package manager for each class of dependencies. This will hopefully let the
    users get a better feeling of what they need to install based on their
    purpose, before installing Gnuastro.
---
 doc/gnuastro.texi | 148 ++++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 111 insertions(+), 37 deletions(-)

diff --git a/doc/gnuastro.texi b/doc/gnuastro.texi
index bc764d61..9a19d42b 100644
--- a/doc/gnuastro.texi
+++ b/doc/gnuastro.texi
@@ -8014,12 +8014,6 @@ By reading their manuals, installing them and staying up 
to date with changes/bu
 
 Based on your package manager, you can use any of the following commands to 
install the mandatory and optional dependencies.
 If your package manager isn't included in the list below, please send us the 
respective command, so we add it.
-
-As discussed above, we recommend installing the @emph{mandatory} dependencies 
manually from source (see @ref{Mandatory dependencies}).
-Therefore, in each command below, first the optional dependencies are given.
-The mandatory dependencies are included after an empty line.
-If you would also like to install the mandatory dependencies with your package 
manager, just ignore the empty line.
-
 For better archivability and compression ratios, Gnuastro's recommended 
tarball compression format is with the @url{http://lzip.nongnu.org/lzip.html, 
Lzip} program, see @ref{Release tarball}.
 Therefore, the package manager commands below also contain Lzip.
 
@@ -8038,14 +8032,31 @@ All of it is free software and based on the work of 
volunteers around the world.
 Many distributions are thus derived from it, for example Ubuntu and Linux Mint.
 This arguably makes Debian-based OSs the largest, and most used, class of 
GNU/Linux distributions.
 All of them use Debian's Advanced Packaging Tool (APT, for example 
@command{apt-get}) for managing packages.
+
+@table @asis
+@item Mandatory dependencies
+Without these, Gnuastro can't be built, they are necessary for input/output 
and low-level mathematics (see @ref{Mandatory dependencies})!
+@example
+$ sudo apt-get install libgsl-dev libcfitsio-dev \
+                       wcslib-dev
+@end example
+
+@item Optional dependendencies
+If present, these libraries can be used in Gnuastro's build for extra 
features, see @ref{Optional dependencies}.
 @example
-$ sudo apt-get install ghostscript libtool-bin libjpeg-dev  \
-                       libtiff-dev libgit2-dev curl lzip    \
-                       saods9 topcat                        \
-                                                            \
-                       libgsl-dev libcfitsio-dev wcslib-dev
+$ sudo apt-get install ghostscript libtool-bin \
+                       libjpeg-dev libtiff-dev
+                       libgit2-dev curl lzip
 @end example
 
+@item Programs to view FITS images or tables
+These are not used in Gnuastro's build.
+They can just help in viewing the inputs/outputs independent of Gnuastro!
+@example
+$ sudo apt-get install saods9 topcat
+@end example
+@end table
+
 @noindent
 Gnuastro is @url{https://tracker.debian.org/pkg/gnuastro,packaged} in Debian 
(and thus some of its derivate operating systems).
 Just make sure it is the most recent version.
@@ -8064,14 +8075,31 @@ RHEL requires paid subscriptions for use of its 
binaries and support.
 But since it is free software, many other teams use its code to spin-off their 
own distributions based on RHEL.
 Red Hat-based GNU/Linux distributions initially used the ``Yellowdog Updated, 
Modifier'' (YUM) package manager, which has been replaced by ``Dandified yum'' 
(DNF).
 If the latter isn't available on your system, you can use @command{yum} 
instead of @command{dnf} in the command below.
+
+@table @asis
+@item Mandatory dependencies
+Without these, Gnuastro can't be built, they are necessary for input/output 
and low-level mathematics (see @ref{Mandatory dependencies})!
 @example
-$ sudo dnf install ghostscript libtool libjpeg-devel     \
-                   libtiff-devel libgit2-devel lzip curl \
-                   ds9 topcat                            \
-                                                         \
-                   gsl-devel cfitsio-devel wcslib-devel
+$ sudo dnf install gsl-devel cfitsio-devel \
+                   wcslib-devel
 @end example
 
+@item Optional dependendencies
+If present, these libraries can be used in Gnuastro's build for extra 
features, see @ref{Optional dependencies}.
+@example
+$ sudo dnf install ghostscript libtool \
+                   libjpeg-devel libtiff-devel \
+                   libgit2-devel lzip curl
+@end example
+
+@item Programs to view FITS images or tables
+These are not used in Gnuastro's build.
+They can just help in viewing the inputs/outputs independent of Gnuastro!
+@example
+$ sudo dnf install saods9 topcat
+@end example
+@end table
+
 @item @command{brew} (macOS)
 @cindex macOS
 @cindex Homebrew
@@ -8081,34 +8109,62 @@ $ sudo dnf install ghostscript libtool libjpeg-devel    
 \
 macOS does not come with a package manager pre-installed, but several widely 
used, third-party package managers exist, such as Homebrew or MacPorts.
 Both are free software.
 Currently we have only tested Gnuastro's installation with Homebrew as 
described below.
-
 If not already installed, first obtain Homebrew by following the instructions 
at @url{https://brew.sh}.
+
+@table @asis
+@item Mandatory dependencies
+Without these, Gnuastro can't be built, they are necessary for input/output 
and low-level mathematics (see @ref{Mandatory dependencies})!
+
 Homebrew manages packages in different `taps'.
-To install WCSLIB (discussed in @ref{Mandatory dependencies}) via Homebrew you 
will need to @command{tap} into @command{brewsci/science} first (the tap may 
change in the future, but can be found by calling @command{brew search wcslib}).
+To install WCSLIB via Homebrew you will need to @command{tap} into 
@command{brewsci/science} first (the tap may change in the future, but can be 
found by calling @command{brew search wcslib}).
 @example
-$ brew install ghostscript libtool libjpeg libtiff  \
-               libgit2 curl lzip saoimageds9 topcat \
-                                                    \
-               gsl cfitsio
 $ brew tap brewsci/science
-$ brew install wcslib
+$ brew install wcslib gsl cfitsio
+@end example
+
+@item Optional dependendencies
+If present, these libraries can be used in Gnuastro's build for extra 
features, see @ref{Optional dependencies}.
+@example
+$ brew install ghostscript libtool libjpeg \
+               libtiff libgit2 curl lzip
 @end example
 
+@item Programs to view FITS images or tables
+These are not used in Gnuastro's build.
+They can just help in viewing the inputs/outputs independent of Gnuastro!
+@example
+$ brew install saoimageds9 topcat
+@end example
+@end table
+
 @item @command{pacman} (Arch Linux)
 @cindex Arch GNU/Linux
 @cindex @command{pacman}
 @url{https://en.wikipedia.org/wiki/Arch_Linux,Arch Linux} is a smaller 
GNU/Linux distribution, which follows the KISS principle (``keep it simple, 
stupid'') as a general guideline.
 It ``focuses on elegance, code correctness, minimalism and simplicity, and 
expects the user to be willing to make some effort to understand the system's 
operation''.
 Arch GNU/Linux uses ``Package manager'' (Pacman) to manage its 
packages/components.
+
+@table @asis
+@item Mandatory dependencies
+Without these, Gnuastro can't be built, they are necessary for input/output 
and low-level mathematics (see @ref{Mandatory dependencies})!
 @example
-$ sudo pacman -S ghostscript libtool libjpeg libtiff \
-                 libgit2 curl lzip                   \
-                                                     \
-                 gsl cfitsio wcslib
+$ sudo pacman -S gsl cfitsio wcslib
 @end example
 
+@item Optional dependendencies
+If present, these libraries can be used in Gnuastro's build for extra 
features, see @ref{Optional dependencies}.
+@example
+$ sudo pacman -S ghostscript libtool libjpeg \
+                 libtiff libgit2 curl lzip
+@end example
+
+@item Programs to view FITS images or tables
+These are not used in Gnuastro's build.
+They can just help in viewing the inputs/outputs independent of Gnuastro!
+
 SAO DS9 and TOPCAT aren't available in the standard Arch GNU/Linux 
repositories.
 However, installing and using both is very easy from their own web pages, as 
described in @ref{SAO DS9} and @ref{TOPCAT}.
+@end table
 
 @item @command{zypper} (openSUSE and SUSE Linux Enterprise Server)
 @cindex openSUSE
@@ -8116,23 +8172,41 @@ However, installing and using both is very easy from 
their own web pages, as des
 @cindex @command{zypper}, OpenSUSE package manager
 SUSE Linux Enterprise 
Server@footnote{@url{https://www.suse.com/products/server}} (SLES) is the 
commercial offering which shares code and tools.
 Many additional packages are offered in the Build 
Service@footnote{@url{https://build.opensuse.org}}.
-openSUSE and SLES use @command{zypper} (cli) and YaST (GUI) for managing 
repositories and
-packages.
+openSUSE and SLES use @command{zypper} (cli) and YaST (GUI) for managing 
repositories and packages.
 
-@example
-$ sudo zypper install ghostscript_any libtool pkgconfig   \
-              libcurl-devel libgit2-devel libjpeg62-devel \
-              libtiff-devel curl ds9 topcat               \
-                                                          \
-              gsl-devel cfitsio-devel wcslib-devel
-@end example
-@noindent
+@table @asis
+@item Configuration
 When building Gnuastro, run the configure script with the following 
@code{CPPFLAGS} environment variable:
 
 @example
 $ ./configure CPPFLAGS="-I/usr/include/cfitsio"
 @end example
 
+@item Mandatory dependencies
+Without these, Gnuastro can't be built, they are necessary for input/output 
and low-level mathematics (see @ref{Mandatory dependencies})!
+@example
+$ sudo zypper install gsl-devel cfitsio-devel \
+                      wcslib-devel
+@end example
+
+@item Optional dependendencies
+If present, these libraries can be used in Gnuastro's build for extra 
features, see @ref{Optional dependencies}.
+@example
+$ sudo zypper install ghostscript_any libtool \
+                      pkgconfig libcurl-devel \
+                      libgit2-devel \
+                      libjpeg62-devel \
+                      libtiff-devel curl
+@end example
+
+@item Programs to view FITS images or tables
+These are not used in Gnuastro's build.
+They can just help in viewing the inputs/outputs independent of Gnuastro!
+@example
+$ sudo zypper install ds9 topcat
+@end example
+@end table
+
 @c Gnuastro is @url{https://software.opensuse.org/package/gnuastro,packaged}
 @c in @command{zypper}. Just make sure it is the most recent version.
 @end table



reply via email to

[Prev in Thread] Current Thread [Next in Thread]