Aegisub/README.md

90 lines
3.9 KiB
Markdown
Raw Normal View History

2019-05-08 21:11:23 +02:00
[![Build Status](https://travis-ci.org/wangqr/Aegisub.svg?branch=dev)](https://travis-ci.org/wangqr/Aegisub)
2013-04-22 00:49:30 +02:00
# Aegisub
2020-07-05 08:27:50 +02:00
For binaries and general information see [the homepage](http://www.aegisub.org) and [release page](https://github.com/wangqr/Aegisub/releases).
2013-04-22 00:49:30 +02:00
2020-07-07 02:26:39 +02:00
The bug tracker can be found at https://github.com/wangqr/Aegisub/issues .
2013-04-22 00:49:30 +02:00
2020-07-05 08:27:50 +02:00
If you want to test the upstream version, r8942 [can be downloaded here](http://www.plorkyeran.com/aegisub/). If both r8942 and this fork have some common issue, report at [upstream](https://github.com/Aegisub/Aegisub/issues) may let more people see your issue, and I am also watching the upstream for issues. If it is a wangqr fork specific issue, report it here.
Support is available on IRC ( irc://irc.rizon.net/aegisub , for upstream version) or via issues.
2013-04-22 00:49:30 +02:00
## Building Aegisub
### autoconf / make (for linux and macOS)
2013-04-22 00:49:30 +02:00
This is the recommended way of building Aegisub on linux and macOS. Currently AviSynth+ support is not included in autoconf project. If you need AviSynth+ support, see CMake instructions below.
2013-04-22 00:49:30 +02:00
2020-03-08 02:10:45 +01:00
Aegisub has some required dependencies:
* `libass`
* `Boost`(with ICU support)
* `OpenGL`
* `libicu`
* `wxWidgets`
* `zlib`
* `fontconfig` (not needed on Windows)
* `luajit` (or `lua`)
2013-04-22 00:49:30 +02:00
2020-03-08 02:10:45 +01:00
and optional dependencies:
* `ALSA`
* `FFMS2`
* `FFTW`
* `Hunspell`
* `OpenAL`
* `uchardet`
* `AviSynth+`
You can use the package manager provided by your distro to install these dependencies. Package name varies by distro. Some useful references are:
* For ArchLinux, refer to [AUR](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=aegisub-git).
* For Ubuntu, refer to [Travis](.travis.yml#L14-L32).
* For macOS, see [Special notice for macOS](https://github.com/wangqr/Aegisub/wiki/Special-notice-for-macOS) on project Wiki.
2020-03-08 02:10:45 +01:00
After installing the dependencies, you can clone and build Aegisub with:
```sh
git clone https://github.com/wangqr/Aegisub.git
2019-05-08 21:11:23 +02:00
cd Aegisub
2020-03-08 02:10:45 +01:00
./autogen.sh
./configure
make
2019-05-08 21:11:23 +02:00
```
2020-03-08 02:10:45 +01:00
### CMake (for Windows and linux)
2020-03-08 02:10:45 +01:00
This fork also provides CMake build. The CMake project will only build Aegisub itself, without the translation.
You still need to install the dependencies above. To enable AviSynth+ support, it is also needed. Installing dependencies on Windows can be tricky, as Windows doesn't have a good package manager. Refer to [the Wiki page](https://github.com/wangqr/Aegisub/wiki/Compile-guide-for-Windows-(CMake,-MSVC)) on how to get all dependencies on Windows.
2020-03-08 02:10:45 +01:00
After installing the dependencies, you can clone and build Aegisub with:
```sh
git clone https://github.com/wangqr/Aegisub.git
cd Aegisub
./build/version.sh . # This will generate build/git_version.h
mkdir build-dir
cd build-dir
2020-03-08 02:10:45 +01:00
cmake .. # Or use cmake-gui / ccmake
make
```
2013-04-22 00:49:30 +02:00
2020-03-08 02:10:45 +01:00
Features can be turned on/off in CMake by toggling the `WITH_*` switches.
2020-07-05 08:27:50 +02:00
For Archlinux users, you can also try the [PKGBUILD in project wiki](https://github.com/wangqr/Aegisub/wiki/PKGBUILD-for-Arch).
## Updating Moonscript
From within the Moonscript repository, run `bin/moon bin/splat.moon -l moonscript moonscript/ > bin/moonscript.lua`.
Open the newly created `bin/moonscript.lua`, and within it make the following changes:
1. Prepend the final line of the file, `package.preload["moonscript"]()`, with a `return`, producing `return package.preload["moonscript"]()`.
2. Within the function at `package.preload['moonscript.base']`, remove references to `moon_loader`, `insert_loader`, and `remove_loader`. This means removing their declarations, definitions, and entries in the returned table.
3. Within the function at `package.preload['moonscript']`, remove the line `_with_0.insert_loader()`.
The file is now ready for use, to be placed in `automation/include` within the Aegisub repo.
2013-04-22 00:49:30 +02:00
## License
2014-09-21 17:18:05 +02:00
All files in this repository are licensed under various GPL-compatible BSD-style licenses; see LICENCE and the individual source files for more information.
The official Windows build is GPLv2 due to including fftw3.