1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
|
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- meta -->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A general astronomical image processing software">
<meta name="author" content="Filip Hroch">
<link href="news_feed.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed" />
<link rel="stylesheet" href="munipack.css">
<link rel="shortcut icon" href="favicon.ico">
<title>Munipack ‒ AppImage</title>
</head>
<body>
<header>
<a href="munipack.html"><img src="big_logo.png" alt="Munipack's logo" class="head"></a>
<div class="headtitles">
<p class="head">
<a class="headtitle" href="munipack.html">Munipack</a>
</p>
<p class="head">
<a class="headsubtitle" href="munipack.html">The astronomical image processing software</a>
</p>
</div>
<div class="buttons">
<a href="guide.html" class="button">
<div class="bicon">
📘
</div>
<div class="hide">
Guide
</div>
</a>
<a href="docs.html" class="button">
<div class="bicon">
📁
</div>
<div class="hide">
Documents
</div>
</a>
</div>
</header>
<section>
<h1>AppImage</h1>
<p class="abstract">This page describes building of AppImage binary package.
</p>
<p>
The building process is easy: download the required software
and run <samp>appimage.sh</samp> script.
</p>
<h2>The script</h2>
<p>The shell script</p>
<ul>
<li><samp>dist/appimage.sh</samp></li>
</ul>
<p>
in Munipack source tree is AppImage packager.
</p>
<h2>Prerequisites</h2>
<p>The software listed below is mandatory for building: </p>
<ul>
<li>Fortran 95 and C++ compilers </li>
<li>GTK3 development libraries</li>
<li>Both make and cmake</li>
<li><a href="https://en.wikipedia.org/wiki/Filesystem_in_Userspace">fuse</a>
(<a href="https://github.com/AppImage/AppImageKit/wiki/FUSE">why?</a>)</li>
</ul>
<p>
All the requirements are available in any good Linux distribution.
</p>
<h2>AppImage tools</h2>
<p>
The main utility
<a href="https://github.com/AppImage/AppImageKit">appimagetool</a>
is left unused. The packaging itself is provided by
</p>
<ul>
<li>
<a href="https://github.com/linuxdeploy/linuxdeploy">linuxdeploy</a>
(<a href="https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage">download</a>)
having
</li>
<li>
<a href="https://github.com/linuxdeploy/awesome-linuxdeploy">module for GTK</a>
(<a href="https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh">download</a>).
</li>
</ul>
<p>
In the terminology of AppImage, Munipack is build by
<a href="https://docs.appimage.org/packaging-guide/manual.html">Manual way</a>
into the standard directory tree by
<a href="https://docs.appimage.org/reference/appdir.html">AppDir specification</a>.
</p>
<h2>Source packages</h2>
<p>
These packages are required to build AppImage for Munipack:
</p>
<ul>
<li><a href="https://integral.physics.muni.cz/ftp/munipack/">Munipack</a></li>
<li><a href="https://integral.physics.muni.cz/oakleaf">Oakleaf</a></li>
<li><a href="http://heasarc.gsfc.nasa.gov/fitsio/">cFITSIO<a/></li>
<li><a href="https://plplot.sourceforge.net/">PLPLot</a></li>
<li><a href="https://en.wikipedia.org/wiki/MINPACK">Minpack</a>,
available in
<a href="https://packages.debian.org/source/bullseye/minpack">Debian's
source package<a/> as .tar.gz</li>
<li><a href="https://www.wxwidgets.org/downloads/">wxWidgets</a></li>
</ul>
<h2>Directory structure</h2>
<p>
The building script <samp>dist/appimage.sh</samp> requires the set
of source packages collected into a directory.
The tree structure as it will be referenced below:
</p>
<pre>
appimage/
bin/
src/
</pre>
<p>
<samp>appimage/src/</samp> is the place where
<samp>linuxdeploy-x86_64.AppImage</samp> and
<samp>linuxdeploy-plugin-gtk.sh</samp> are available.
</p>
<p>
<samp>appimage/src/</samp> is the place where
the source packages are collected.
</p>
<h2>Building</h2>
<p>
The previous steps guaranties to be all requisites are ready. Now, it's
the moment of truth:
</p>
<pre>
$ APPDIR=/path/to/appimage/
$ MUNIPACK=/path/to/munipack-X.Y.Z/
$ PATH=$PATH:$APPDIR/bin sh $MUNIPACK/dist/appimage.sh $APPDIR/src/
</pre>
<p>
If the building process is successful, a new package does appear
in the current working directory. Be patient, it take a while.
</p>
<h2>Usage</h2>
<p>
A simple launch (by hand in terminal or by click of an icon in a file manager)
invokes <samp>xmunipack</samp> by default.
</p>
<p>
Munipack's command line interface <samp>munipack</samp>
is activated by making the link:
</p>
<pre>
$ ln -s Munipack-x86_64.AppImage munipack
</pre>
<p>It is base on the trick representing <samp>argv[0]</samp>
as the current executable file name.</p>
<h2>See Also</h2>
<p>
<a href="install.html">Installation</a>.
</p>
</section>
<footer>
© 1997 – 2025
<a href="https://integral.physics.muni.cz/" title="author's homepage"
class="foot">Filip Hroch</a>
</footer>
</body>
</html>
|