meso-web

Sources of the |Méso|Star> website
git clone git://git.meso-star.com/meso-web.git
Log | Files | Refs | README | LICENSE

commit 46708ceacb8e8057ea2750ff4ef2d92599bab9ad
parent 093a74f0e53ad28da9840272c5a0acf5e90b35b0
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed, 20 May 2026 12:48:40 +0200

Schiff: release of version 0.5

The installation procedure has been completely rewritten, as it now
relies on the star-build installer. It has also been moved to a new
"Installation" subsection so that users can access it directly without
having to scroll through the overview page.

The "Downloads" section has been removed, as no precompiled binary files
are now available. Installation from source is now the only option.
The release notes have been moved to the "Overview" section

The HTML conversion of the manual pages has also been updated since they
are now written in mdoc.

Links to Git projects now point to the meso-star server instead of
gitlab.com, whether the link leads to the repository's HTML interface or
to the Git repository itself.

Diffstat:
Mschiff/.gitignore | 6++++--
Mschiff/config.sh.in | 8++++----
Dschiff/downloads/Schiff-0.4.2-GNU-Linux64.tar.gz | 2--
Dschiff/downloads/Schiff-0.4.2-Sources.tar.gz | 2--
Aschiff/downloads/schiff_0.5_doc.tar.gz | 2++
Mschiff/hooks/00-extract-archive.sh | 7++-----
Dschiff/hooks/00-sign-archives.sh | 38--------------------------------------
Mschiff/hooks/01-generate-man.sh | 9++++++---
Mschiff/index.tsv | 4++--
Aschiff/install.md.in | 90+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aschiff/install.sh | 20++++++++++++++++++++
Dschiff/schiff-downloads.sh | 31-------------------------------
Mschiff/schiff.md.in | 116+++----------------------------------------------------------------------------
Mschiff/schiff.sh | 7++++++-
14 files changed, 140 insertions(+), 202 deletions(-)

diff --git a/schiff/.gitignore b/schiff/.gitignore @@ -1,6 +1,8 @@ -schiff.md +install.html +install.md schiff-docs.html -schiff-downloads.html schiff.html +schiff.md schiff-downloads.md Schiff-0.4.2-GNU-Linux64 +schiff_0.5_doc diff --git a/schiff/config.sh.in b/schiff/config.sh.in @@ -1,6 +1,6 @@ #!/bin/sh -version="0.4.2" -arch="downloads/Schiff-${version}-GNU-Linux64.tar.gz" -directory="Schiff-${version}-GNU-Linux64" -readme="${directory}/share/doc/schiff/README.md" +version="0.5" +dir="schiff_${version}_doc" +arch="downloads/${dir}.tar.gz" +readme="${dir}/share/doc/schiff/README.md" diff --git a/schiff/downloads/Schiff-0.4.2-GNU-Linux64.tar.gz b/schiff/downloads/Schiff-0.4.2-GNU-Linux64.tar.gz @@ -1 +0,0 @@ -#$# git-wad 9af4f4e0f6885272463aeea0e75c6f29897f168d7d4564b71e5759a482b18a7f 23856239 -\ No newline at end of file diff --git a/schiff/downloads/Schiff-0.4.2-Sources.tar.gz b/schiff/downloads/Schiff-0.4.2-Sources.tar.gz @@ -1 +0,0 @@ -#$# git-wad d6a5e33282456a935daf629a986057241397bb76c73ea95799ea5542353466ed 435773 -\ No newline at end of file diff --git a/schiff/downloads/schiff_0.5_doc.tar.gz b/schiff/downloads/schiff_0.5_doc.tar.gz @@ -0,0 +1 @@ +#$# git-wad fbc1abf7bf9fb75fbfecfdf4d6420f2b6ce367308950ec66961400b6090ad47a 10393 +\ No newline at end of file diff --git a/schiff/hooks/00-extract-archive.sh b/schiff/hooks/00-extract-archive.sh @@ -19,8 +19,5 @@ set -e . "./config.sh.in" -if ! [ -d "${directory}/share/man" ] \ -|| ! [ -f "${readme}" ]; then - >&2 printf 'Extracting %s\n' "${arch}" - tar -xz -f "${arch}" "${directory}/share/man" "${readme}" -fi +>&2 printf 'Extracting %s\n' "${arch}" +tar -xz -f "${arch}" diff --git a/schiff/hooks/00-sign-archives.sh b/schiff/hooks/00-sign-archives.sh @@ -1,38 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2017-2026 |Méso|Star> (contact@meso-star.com) -# -# 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/>. - -set -e - -find downloads \ - -name "*.tar" \ - -o -name "*.tar.gz" \ - -o -name "*.tgz" \ - -o -name "*.zip" \ -| while read -r i; do - - sign="${i}.sig" - - if ! [ -f "${sign}" ]; then - >&2 printf 'Signing %s\n' "${i}" - gpg --yes -a -o "${sign}" --detach-sign "${i}" - fi - - # Write the generated files to standard output to inform the build - # system which files it needs to handle during installation. - printf '%s/%s\n' "${PWD##*/}" "${i}.sig" - -done diff --git a/schiff/hooks/01-generate-man.sh b/schiff/hooks/01-generate-man.sh @@ -24,7 +24,7 @@ set -e ######################################################################## man_pages() { - find "${directory}/share/man" -name "schiff*.[15]" + find "${dir}/share/man" -name "schiff*.[15]" } # Man to convert is submitted on stdin @@ -33,10 +33,13 @@ man2html() # output_filename { cd .. sty-genhead "${OLDPWD##*/}/$1" - sh ./scripts/convert_man.sh + mandoc -O man=../man%S/%N.%S.html,fragment -I os=UNIX -T html cat ./templates/footer.html cd "${OLDPWD}" - } > "$1" + } \ + | sed \ + -e 's/<a class="Xr"[^>]\{0,\}>csplit(1)<\/a>/<a class "Xr">csplit(1)<\/a>/g' \ + -e 's#<span class="No"> </span>##g'> "$1" } ######################################################################## diff --git a/schiff/index.tsv b/schiff/index.tsv @@ -1,4 +1,4 @@ Overview schiff.html +Installation install.html Manual pages schiff-docs.html -Downloads schiff-downloads.html -Git https://gitlab.com/meso-star/schiff +Git https://www.meso-star.com/git/schiff diff --git a/schiff/install.md.in b/schiff/install.md.in @@ -0,0 +1,90 @@ +# Quick Start + +No pre-compiled version of `schiff` is provided; +it must be compiled directly from its source tree. +A simple way is to rely on +[star-build](https://www.meso-star.com/git/star-build/), which automates +the build and installation of `schiff` and its dependencies from source +code. + +## Prerequisites + +To build `htrdr` with `star-build`, first make sure your system has the +following prerequisites: + +- POSIX shell +- POSIX make +- curl +- git +- mandoc +- pkg-config +- sha512sum +- GNU Compiler Collection in version 8.3 or higher +- GNU Scientific Library and headers in version 2.4 or higher +- LibYAML and headers in version 0.1 or higher + +## Build + +Assuming that the aforementioned prerequisites are available, the build +procedure is summed up to: + + git clone git://git.meso-star.com/star-build.git + cd star-build + make \ + PREFIX=~/schiff_@VERSION@ \ + BUILD=src/rad-apps/schiff_@VERSION@.sh + +With `PREFIX` defining the path where `schiff` will be installed and +`BUILD` defining the installation script to be run. + +## Run + +Evaluate the installed `profile` file in the current shell to register +`schiff` against it. +You can then run `schiff` and consult its manual pages: + + . ~/schiff_@VERSION@/etc/profile + schiff -h + man schiff + man schiff-geometry + man schiff-output + +## Post-Process + +The following Bash script illustrates how to post-process the Schiff +results. +It is an example, provided as is. +According to your needs, you can study, modify, extend or redistribute +it freely : + + - [Download](downloads/schiff_pretty_results.sh) the pretty result + script + +This script reads an output file generated by the `schiff` command line +and split its raw ASCII results in several human readable text files in +order to simplify their analysis. + + schiff -i geom.yaml -l 2.3 -w0.5:0.6 -o output properties + url="https://www.meso-star.com/schiff/downloads" + curl -f -O "${url}/schiff_pretty_results.sh" + bash ./schiff_pretty_results.sh output + Write xsections.txt + Write descs.txt + Write func_0.5.txt + Write func_0.6.txt + Write cumul_0.5.txt + Write cumul_0.6.txt + Write invcumul_0.5.txt + Write invcumul_0.6.txt + +The first generated file, named `xsections.txt`, lists for each +wavelength submitted with the `-w` option, its associated +absorption, extinction and scattering cross sections. The second file, +`descs.txt`, gives overall informations for each simulated +wavelengths, like the limit scattering angles from which its phase function was +analytically computed. +Then for each wavelength, the script generates 3 files named +`func_<WLEN>.txt`, `cumul_<WLEN>.txt`, and `invcumul_<WLEN>.txt` that +store for the wavelength `<WLEN>`, the value of its associated phase +function as well as its cumulative and its inverse cumulative, +respectively. diff --git a/schiff/install.sh b/schiff/install.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +# Copyright (C) 2017-2026 |Méso|Star> (contact@meso-star.com) +# +# 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/>. + +. "./config.sh.in" + +sed "s/@VERSION@/${version}/g" install.md.in diff --git a/schiff/schiff-downloads.sh b/schiff/schiff-downloads.sh @@ -1,31 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2017-2026 |Méso|Star> (contact@meso-star.com) -# -# 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/>. - -. "./config.sh.in" - -set -e - -# Title -echo '# Downloads' - -# List of archives to download -cd .. -sh ./scripts/print_downloads.sh "${OLDPWD##*/}" Schiff Linux -cd "${OLDPWD}" - -# Release notes -sed -n '/^## Release notes/,/^## License/p' "${readme}" | sed '$d' diff --git a/schiff/schiff.md.in b/schiff/schiff.md.in @@ -62,116 +62,8 @@ entered manually or generated by an external program. In the same way, the output data can either be directly interpreted or post-processed by any script with respect to the targeted toolchain. -## Quick start +## History -Download the desired [archive](schiff-downloads.html) of Schiff and -verify its integrity against its PGP signature. -Then extract it. -Finally -source the provided `schiff.profile` file to register the Schiff -installation for the current shell priorly to the invocation of the -`schiff` program. - - source ~/Schiff-@VERSION@-GNU-Linux64/etc/schiff.profile - schiff -h - -The Schiff *reference documentation* is provided trough man pages. -Use the `man` command-line to consult it. - - man schiff - man schiff-geometry - man schiff-output - -## Build from sources - -Schiff can be built directly from its source tree. -The simplest way to do this is to rely on the `schiff` branch of the -[Star-Engine](https://gitlab.com/meso-star/star-engine/tree/schiff) -project: it provides CMake scripts that automate the download, the compilation -and the installation of Schiff and its dependencies. -This build procedure assumes the following prerequisites: - -- git source control -- GNU Compiler Collection in version 4.9.2 or higher -- CMake in version 3.1 or higher - -### Build - -Assuming that the aforementioned prerequisites are available, the build -procedure is summed up to: - - git clone -b Schiff-@VERSION@ \ - https://gitlab.com/meso-star/star-engine.git Schiff-@VERSION@ - mkdir Schiff-@VERSION@/build - cd Schiff-@VERSION@/build - cmake ../cmake - make - -### Run - -By default Schiff is installed in the `local` subdirectory of -`Schiff-@VERSION@`. Source the provided `schiff.profile` file to -register Schiff against the current shell. - - source ~/Schiff-@VERSION@/local/etc/schiff.profile - schiff -h - -### Package - -Once built, the Schiff installation can be packaged in an archive that -can then be deployed on compatible systems, i.e. systems whose C -library is compatible with the one available on the system used to build -Schiff. - - cd Schiff-@VERSION@/build - make pkg - ls package/Schiff-@VERSION@* # list packages - -## Post-Process - -The following Bash script illustrates how to post-process the Schiff -results. -It is an example, provided as is, without additional support. -According to your needs, you can study, modify, extend or redistribute -it freely : - - - - [Download](downloads/schiff_pretty_results.sh) the pretty result - script - -This script reads an output file generated by the `schiff` command line -and split its raw ASCII results in several human readable text files in -order to simplify their analysis. - - schiff -i geom.yaml -l 2.3 -w0.5:0.6 -o output properties - bash ./schiff_pretty_results.sh output - Write xsections.txt - Write descs.txt - Write func_0.5.txt - Write func_0.6.txt - Write cumul_0.5.txt - Write cumul_0.6.txt - Write invcumul_0.5.txt - Write invcumul_0.6.txt - -The first generated file, named `xsections.txt`, lists for each -wavelength submitted with the `-w` option, its associated -absorption, extinction and scattering cross sections. The second file, -`descs.txt`, gives overall informations for each simulated -wavelengths, like the limit scattering angles from which its phase function was -analytically computed. -Then for each wavelength, the script generates 3 files named -`func_<WLEN>.txt`, `cumul_<WLEN>.txt`, and `invcumul_<WLEN>.txt` that -store for the wavelength `<WLEN>`, the value of its associated phase -function as well as its cumulative and its inverse cumulative, -respectively. - -## License - -Copyright © 2020, 2021 [|Méso|Star>](mailto:contact@meso-star.com) -Copyright © 2015, 2016 Centre National de la Recherche Scientifique (CNRS) - -Schiff is free software released under the GPLv3+ license: GNU GPL -version 3 or later. -You are welcome to redistribute it under certain conditions; refer to -the [license](https://www.gnu.org/licenses/gpl.html) for details. +`schiff`was funded from 2015 to 2016 by the ALGUE project, which was +supported by the [IDEX program](https://anr.fr/ProjetIA-11-IDEX-0002). +|Méso|Star> was sub-contractor of the project. diff --git a/schiff/schiff.sh b/schiff/schiff.sh @@ -17,4 +17,9 @@ . "./config.sh.in" -sed "s/@VERSION@/${version}/g" schiff.md.in +{ + sed -n '0,/^## History/p' schiff.md.in | sed '$d' + sed -n '/^## Release notes/,/^## Copyright/p' "${readme}" | sed '$d' + sed -n '/^## History/,$p' schiff.md.in + sed -n '/^## Copyright/,$p' "${readme}" +} | sed "s/@VERSION@/${version}/g"