Browse Source

update INSTALL.md format

polyline2d
parent
commit
90c8ad49db
Signed by: alex
GPG Key ID: 022EAE42313D70F3
  1. 2
      HACKING.md
  2. 123
      INSTALL.md
  3. 188
      INSTALL.rst
  4. 2
      README.md
  5. 2
      doc/dev/Doxyfile.cfg.in
  6. 2
      doc/user/getting-started/installation.rst
  7. 2
      meson.build
  8. 6
      tests/meson.build

2
HACKING.md

@ -10,7 +10,7 @@ Hacking Zrythm @@ -10,7 +10,7 @@ Hacking Zrythm
├── CONTRIBUTOR_CERTIFICATE_OF_ORIGIN # Certificate for contributing
├── COPYING # Main license
├── COPYING.* # Other licenses
├── INSTALL.md # Installation instructions
├── INSTALL.rst # Installation instructions
├── PACKAGING.md # Information for packagers
├── README.md # Main README file
├── THANKS # Thanks notice

123
INSTALL.md

@ -1,123 +0,0 @@ @@ -1,123 +0,0 @@
Installation Instructions
=========================
# Building
The project uses [meson](https://mesonbuild.com), so
the steps to configure and build are
meson build
meson compile -C build
To pass options, use the following syntax
meson build -Doption_name=value
To see all available options, type the following
after the build directory is initialized, or look
inside [meson_options.txt](meson_options.txt).
Built-in meson options can be found
[here](https://mesonbuild.com/Builtin-options.html).
meson configure build
To change an option after configuration, use
meson configure build -Doption_name=value
To clean the build directory while keeping the
current configuration, use
meson compile --clean -C build
To change environment variables (such as `CC` and
`CXX`) while keeping the current configuration, use
MY_ENV_VARIABLE=myvalue meson build --wipe
To start from scratch, remove the `build` directory
rm -rf build
*Hint: If your distro's meson package is too old,
you can either install meson from
[pip](https://pypi.org/project/pip/) or run
`meson.py` directly from
[meson's source code](https://github.com/mesonbuild/meson).*
## Optimization
The default build type is `debugoptmized`, which
is equivalent to `-Ddebug=true -Doptimization=2`
(`-O2 -g`). This works well in most cases. For
extremely optimized builds, we suggest building with
meson build -Ddebug=true -Doptimization=3 -Dextra_optimizations=true -Dnative_build=true
We suggest always keeping `-Ddebug=true` to assist
with meaningful stack traces and bug reports.
## Dependencies
### Required
- breeze-icons (LGPLv3+): <https://github.com/KDE/breeze-icons>
- carla (GPLv2+): <https://kx.studio/Applications:Carla>
- fftw (GPLv2+): <http://www.fftw.org/>
- gtk4 (LGPLv2.1+): <https://gtk.org/>
- gtksourceview (LGPLv2.1+): <https://wiki.gnome.org/Projects/GtkSourceView>
- guile (GPLv3+): <https://www.gnu.org/software/guile/>
- json-glib (LGPLv2.1+): <https://wiki.gnome.org/Projects/JsonGlib>
- libadwaita (LGPLv2.1+): <https://gitlab.gnome.org/GNOME/libadwaita>
- libaudec (AGPLv3+): <https://git.zrythm.org/zrythm/libaudec/>
- libbacktrace (3-Clause BSD): <https://github.com/ianlancetaylor/libbacktrace>
- libcyaml (ISC): <https://github.com/tlsa/libcyaml/>
- lilv (ISC): <https://drobilla.net/software/lilv>
- pcre2 (3-Clause BSD): <https://www.pcre.org/>
- reproc (Expat): <https://github.com/DaanDeMeyer/reproc>
- vamp-plugin-sdk (X11): <https://vamp-plugins.org/>
- xxhash (2-Clause BSD): <https://cyan4973.github.io/xxHash/>
- zstd (3-Clause BSD): <https://github.com/facebook/zstd>
### Recommended
- jack (LGPLv2.1+): <https://jackaudio.org/>
- lsp-dsp-lib (LGPLv3+): <https://github.com/sadko4u/lsp-dsp-lib>
### Optional
- graphviz (EPLv1.0): <http://graphviz.org/>
- rtaudio (Expat): <http://www.music.mcgill.ca/~gary/rtaudio/>
- rtmidi (Expat): <https://www.music.mcgill.ca/~gary/rtmidi/>
- SDL2 (zlib): <https://www.libsdl.org/>
*Tip: dependency package names for various distros
can be found [here](https://git.sr.ht/~alextee/zrythm-builds/tree/master/item/.builds)
and [here](https://git.sr.ht/~alextee/zrythm-builds2/tree/master/item/.builds)*
## Installation
Once the program is built, it will need to be
installed the first time before it can run (to
install the [GSettings](https://developer.gnome.org/gio/stable/GSettings.html) among other things).
meson install -C build
If you don't want to install anything permanent on
your system, you can install it somewhere
temporary by configuring with
`meson build --prefix=/tmp/zrythm` for example, and
then you can run it with
`/tmp/zrythm/bin/zrythm_launch`.
## Running
When running Zrythm from the command line, it is
recommended to use `zrythm_launch` instead of
running the `zrythm` binary directly. This takes
care of using the correct GSettings schemas and
other resources in the installed prefix.
----
Copyright (C) 2019-2021 Alexandros Theodotou
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.

188
INSTALL.rst

@ -0,0 +1,188 @@ @@ -0,0 +1,188 @@
Installation Instructions
=========================
Prerequisites
-------------
You will need the GNU toolchain, a C/C++ compiler
and the following
`meson (Apache-2.0) <https://mesonbuild.com/>`_
Build system
`guile (GPLv3+) <https://www.gnu.org/software/guile/>`_
Used in various build scripts
`sassc (Expat) <https://github.com/sass/sassc>`_
CSS compilation
If your meson version is too old, you can either
install meson from
`pip <https://pypi.org/project/pip/>`_
or run ``meson.py`` directly from
`meson's source code <https://github.com/mesonbuild/meson>`_.
Building
--------
To configure and build, use::
meson build
meson compile -C build
To pass options, use the following syntax::
meson build -Doption_name=value
To see all available options, type the following
after the build directory is initialized, or look
inside `meson_options.txt <meson_options.txt>`_.
Built-in meson options can be found
`here <https://mesonbuild.com/Builtin-options.html>`_::
meson configure build
To change an option after configuration, use::
meson configure build -Doption_name=value
To clean the build directory while keeping the
current configuration, use::
meson compile --clean -C build
To change environment variables (such as ``CC`` and
``CXX``) while keeping the current configuration, use::
MY_ENV_VARIABLE=myvalue meson build --wipe
To start from scratch, remove the ``build`` directory::
rm -rf build
Optimization
~~~~~~~~~~~~
The default build type is ``debugoptmized``, which
is equivalent to ``-Ddebug=true -Doptimization=2``
(``-O2 -g``). This works well in most cases. For
extremely optimized builds, we suggest building with::
meson build -Ddebug=true -Doptimization=3 -Dextra_optimizations=true -Dnative_build=true
We suggest always keeping ``-Ddebug=true`` to assist
with meaningful stack traces and bug reports.
Dependencies
~~~~~~~~~~~~
Required
++++++++
`breeze-icons (LGPLv3+) <https://github.com/KDE/breeze-icons>`_
Various icons
`carla (GPLv2+) <https://kx.studio/Applications:Carla>`_
Support for various plugin formats
`fftw (GPLv2+) <http://www.fftw.org/>`_
Threaded fftw for plugins
`gtk4 (LGPLv2.1+) <https://gtk.org/>`_
GUI toolkit
`gtksourceview (LGPLv2.1+) <https://wiki.gnome.org/Projects/GtkSourceView>`_
Source code editor widget
`json-glib (LGPLv2.1+) <https://wiki.gnome.org/Projects/JsonGlib>`_
JSON manipulation
`libadwaita (LGPLv2.1+) <https://gitlab.gnome.org/GNOME/libadwaita>`_
Additional widgets
`libaudec (AGPLv3+) <https://git.zrythm.org/zrythm/libaudec/>`_
Audio file loading
`libbacktrace (3-Clause BSD) <https://github.com/ianlancetaylor/libbacktrace>`_
Backtraces
`libcyaml (ISC) <https://github.com/tlsa/libcyaml/>`_
Serialization into YAML
`lilv (ISC) <https://drobilla.net/software/lilv>`_
LV2 host support
`pcre2 (3-Clause BSD) <https://www.pcre.org/>`_
Regex
`reproc (Expat) <https://github.com/DaanDeMeyer/reproc>`_
Process launching
`vamp-plugin-sdk (X11) <https://vamp-plugins.org/>`_
Audio analysis
`xxhash (2-Clause BSD) <https://cyan4973.github.io/xxHash/>`_
Hashing
`zstd (3-Clause BSD) <https://github.com/facebook/zstd>`_
Compression
Recommended
+++++++++++
`jack (LGPLv2.1+) <https://jackaudio.org/>`_
Low latency audio/MIDI backend
`lsp-dsp-lib (LGPLv3+) <https://github.com/sadko4u/lsp-dsp-lib>`_
SIMD-optimized signal processing
`libguile (GPLv3+) <https://www.gnu.org/software/guile/>`_
Scripting support
Optional
++++++++
`graphviz (EPLv1.0) <http://graphviz.org/>`_
Process graph export
`rtaudio (Expat) <http://www.music.mcgill.ca/~gary/rtaudio/>`_
Various audio backends
`rtmidi (Expat) <https://www.music.mcgill.ca/~gary/rtmidi/>`_
Various MIDI backends
`SDL2 (zlib) <https://www.libsdl.org/>`_
Audio backend
Dependency package names for various distros
can be found `here <https://git.sr.ht/~alextee/zrythm-builds/tree/master/item/.builds>`_
and `here <https://git.sr.ht/~alextee/zrythm-builds2/tree/master/item/.builds>`_
Installation
------------
Once the program is built, it will need to be
installed the first time before it can run (to
install the `GSettings <https://developer.gnome.org/gio/stable/GSettings.html>`_ among other things)::
meson install -C build
If you don't want to install anything permanent on
your system, you can install it somewhere
temporary by configuring with
``meson build --prefix=/tmp/zrythm`` for example, and
then you can run it with
``/tmp/zrythm/bin/zrythm_launch``.
Running
-------
When running Zrythm from the command line, it is
recommended to use ``zrythm_launch`` instead of
running the ``zrythm`` binary directly. This takes
care of using the correct GSettings schemas and
other resources in the installed prefix.
.. Copyright (C) 2019-2022 Alexandros Theodotou
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.

2
README.md

@ -49,7 +49,7 @@ towards a stable release. @@ -49,7 +49,7 @@ towards a stable release.
- GNU/Linux, FreeBSD, Windows, MacOS
## Building and Installation
See [INSTALL.md](INSTALL.md) for build instructions.
See [INSTALL.rst](INSTALL.rst) for build instructions.
Prebuilt packages/installers available at
<https://www.zrythm.org/en/download.html>.

2
doc/dev/Doxyfile.cfg.in

@ -822,7 +822,7 @@ INPUT = \ @@ -822,7 +822,7 @@ INPUT = \
@MESON_SOURCE_ROOT@/CONTRIBUTING.md \
@MESON_SOURCE_ROOT@/HACKING.md \
@MESON_SOURCE_ROOT@/doc/dev/group_defs.dox \
@MESON_SOURCE_ROOT@/INSTALL.md @MESON_SOURCE_ROOT@/git-packaging-hooks/README.md
@MESON_SOURCE_ROOT@/INSTALL.rst @MESON_SOURCE_ROOT@/git-packaging-hooks/README.md
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses

2
doc/user/getting-started/installation.rst

@ -28,7 +28,7 @@ Zrythm from source, either using @@ -28,7 +28,7 @@ Zrythm from source, either using
a `source distribution tarball <https://www.zrythm.org/releases/>`_
or `git <https://git.zrythm.org/zrythm/zrythm/>`_.
See :download:`INSTALL.md <../../../INSTALL.md>` in
See :download:`INSTALL.rst <../../../INSTALL.rst>` in
the source distribution for installation
instructions.

2
meson.build

@ -1321,7 +1321,7 @@ root_doc_files = [ @@ -1321,7 +1321,7 @@ root_doc_files = [
'AUTHORS',
'TRANSLATORS',
'THANKS',
'INSTALL.md',
'INSTALL.rst',
]
foreach f : root_doc_files
configure_file (

6
tests/meson.build

@ -375,12 +375,12 @@ if get_option ('tests') @@ -375,12 +375,12 @@ if get_option ('tests')
common_cflags, strict_cflags,
test_c_args,
],
dependencies : [
dependencies: [
zrythm_deps,
],
export_dynamic : false,
export_dynamic: false,
link_with: test_link_libs,
include_directories : all_inc,
include_directories: all_inc,
)
if is_benchmark
benchmark (

Loading…
Cancel
Save