|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| doc/ | H | 11-May-2020 | - | 3,039 | 2,396 |
| fastapprox/ | H | 11-May-2020 | - | 551 | 269 |
| gegl/ | H | 11-May-2020 | - | 1,305 | 1,064 |
| glib/ | H | 11-May-2020 | - | 124 | 89 |
| m4macros/ | H | 11-May-2020 | - | 247 | 226 |
| po/ | H | 11-May-2020 | - | 92,916 | 79,653 |
| tests/ | H | 11-May-2020 | - | 9,878 | 9,262 |
| CODE_OF_CONDUCT.md | H A D | 11-May-2020 | 3.1 KiB | 75 | 56 |
| CONTRIBUTING.md | H A D | 11-May-2020 | 968 | 27 | 17 |
| COPYING | H A D | 11-May-2020 | 792 | 15 | 12 |
| Makefile.am | H A D | 11-May-2020 | 3.9 KiB | 159 | 125 |
| Makefile.in | H A D | 11-May-2020 | 43.9 KiB | 1,280 | 1,155 |
| README.md | H A D | 11-May-2020 | 6.1 KiB | 196 | 121 |
| TODO | H A D | 11-May-2020 | 1.3 KiB | 34 | 24 |
| aclocal.m4 | H A D | 11-May-2020 | 402.7 KiB | 11,236 | 10,163 |
| ar-lib | H A D | 29-Mar-2016 | 5.7 KiB | 271 | 210 |
| brushmodes.c | H A D | 11-May-2020 | 22.6 KiB | 628 | 411 |
| brushmodes.h | H A D | 11-May-2020 | 3.5 KiB | 77 | 65 |
| brushsettings-gen.h | H A D | 11-May-2020 | 25.1 KiB | 96 | 89 |
| brushsettings.json | H A D | 11-May-2020 | 35.4 KiB | 817 | 816 |
| compile | H A D | 29-Mar-2016 | 7.2 KiB | 348 | 258 |
| config.guess | H A D | 23-Oct-2015 | 42.5 KiB | 1,442 | 1,249 |
| config.h | H A D | 11-May-2020 | 2.4 KiB | 81 | 26 |
| config.h.in | H A D | 11-May-2020 | 2.1 KiB | 80 | 53 |
| config.sub | H A D | 23-Oct-2015 | 35.3 KiB | 1,814 | 1,676 |
| configure | H A D | 11-May-2020 | 523 KiB | 17,956 | 15,060 |
| configure.ac | H A D | 11-May-2020 | 9.1 KiB | 328 | 262 |
| depcomp | H A D | 29-Mar-2016 | 23 KiB | 792 | 502 |
| fifo.c | H A D | 11-May-2020 | 2.4 KiB | 115 | 64 |
| fifo.h | H A D | 11-May-2020 | 355 | 17 | 11 |
| generate.py | H A D | 11-May-2020 | 9.1 KiB | 292 | 213 |
| helpers.c | H A D | 11-May-2020 | 15.1 KiB | 609 | 449 |
| helpers.h | H A D | 11-May-2020 | 1.2 KiB | 53 | 37 |
| install-sh | H A D | 29-Mar-2016 | 14.8 KiB | 509 | 329 |
| libmypaint.pc.in | H A D | 11-May-2020 | 345 | 13 | 11 |
| ltmain.sh | H A D | 07-Feb-2016 | 316.8 KiB | 11,157 | 7,986 |
| missing | H A D | 29-Mar-2016 | 6.7 KiB | 216 | 143 |
| mypaint-brush-settings-gen.h | H A D | 11-May-2020 | 5.3 KiB | 145 | 138 |
| mypaint-brush-settings.c | H A D | 11-May-2020 | 2.7 KiB | 101 | 69 |
| mypaint-brush-settings.h | H A D | 11-May-2020 | 6.4 KiB | 196 | 43 |
| mypaint-brush.c | H A D | 11-May-2020 | 63.3 KiB | 1,697 | 1,120 |
| mypaint-brush.h | H A D | 11-May-2020 | 7 KiB | 267 | 61 |
| mypaint-config.h | H A D | 11-May-2020 | 284 | 17 | 12 |
| mypaint-fixed-tiled-surface.c | H A D | 11-May-2020 | 4.2 KiB | 153 | 109 |
| mypaint-fixed-tiled-surface.h | H A D | 11-May-2020 | 882 | 35 | 17 |
| mypaint-glib-compat.h | H A D | 11-May-2020 | 608 | 33 | 20 |
| mypaint-mapping.c | H A D | 11-May-2020 | 4.8 KiB | 197 | 134 |
| mypaint-mapping.h | H A D | 11-May-2020 | 2.3 KiB | 110 | 20 |
| mypaint-matrix.c | H A D | 11-May-2020 | 2.8 KiB | 93 | 68 |
| mypaint-matrix.h | H A D | 11-May-2020 | 3.3 KiB | 104 | 12 |
| mypaint-rectangle.c | H A D | 11-May-2020 | 1.9 KiB | 59 | 35 |
| mypaint-rectangle.h | H A D | 11-May-2020 | 3.6 KiB | 113 | 21 |
| mypaint-surface.c | H A D | 11-May-2020 | 5.4 KiB | 222 | 122 |
| mypaint-surface.h | H A D | 11-May-2020 | 11.4 KiB | 375 | 89 |
| mypaint-symmetry.c | H A D | 11-May-2020 | 5.2 KiB | 162 | 142 |
| mypaint-symmetry.h | H A D | 11-May-2020 | 4.9 KiB | 172 | 34 |
| mypaint-tiled-surface.c | H A D | 11-May-2020 | 42.5 KiB | 1,226 | 842 |
| mypaint-tiled-surface.h | H A D | 11-May-2020 | 9.6 KiB | 300 | 82 |
| mypaint.c | H A D | 11-May-2020 | 431 | 27 | 20 |
| mypaint.h | H A D | 11-May-2020 | 5 KiB | 129 | 4 |
| operationqueue.c | H A D | 11-May-2020 | 7 KiB | 256 | 175 |
| operationqueue.h | H A D | 11-May-2020 | 1.1 KiB | 42 | 33 |
| rng-double.c | H A D | 11-May-2020 | 4.2 KiB | 137 | 89 |
| rng-double.h | H A D | 11-May-2020 | 520 | 27 | 17 |
| test-driver | H A D | 29-Mar-2016 | 4.5 KiB | 149 | 87 |
| tiled-surface-private.h | H A D | 11-May-2020 | 244 | 9 | 6 |
| tilemap.c | H A D | 11-May-2020 | 2.6 KiB | 90 | 56 |
| tilemap.h | H A D | 11-May-2020 | 1.8 KiB | 65 | 32 |
README.md
1# libmypaint - MyPaint brush engine library
2
3[![Translation status](https://hosted.weblate.org/widgets/mypaint/-/libmypaint/svg-badge.svg)](https://hosted.weblate.org/engage/mypaint/?utm_source=widget)
4[![Travis Build Status](https://travis-ci.org/mypaint/libmypaint.svg?branch=master)](https://travis-ci.org/mypaint/libmypaint)
5[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/github/mypaint/libmypaint?branch=master&svg=true)](https://ci.appveyor.com/project/jonnor/libmypaint)
6
7This is the brush library used by MyPaint. A number of other painting
8programs use it too.
9
10License: ISC, see [COPYING](./COPYING) for details.
11
12## Dependencies
13
14* All configurations and builds:
15 - [json-c](https://github.com/json-c/json-c/wiki) (>= 0.11)
16 - C compiler, `make` etc.
17* Most configurations (all except `--disable-introspection --without-glib`):
18 - [GObject-Introspection](https://live.gnome.org/GObjectIntrospection)
19 - [GLib](https://wiki.gnome.org/Projects/GLib)
20* When building from `git` (developer package names vary by distribution):
21 - [Python](http://python.org/)
22 - [autotools](https://en.wikipedia.org/wiki/GNU_Build_System)
23 - [intltool](https://freedesktop.org/wiki/Software/intltool/)
24 - [gettext](https://www.gnu.org/software/gettext/gettext.html)
25* For `--enable-gegl` (GIMP *does not* require this):
26 - [GEGL + BABL](http://gegl.org/)
27
28### Install dependencies (Debian and derivatives)
29
30On recent Debian-like systems, you can type the following
31to get started with a standard configuration:
32
33 $ sudo apt install -y build-essential
34 $ sudo apt install -y libjson-c-dev libgirepository1.0-dev libglib2.0-dev
35
36When building from git:
37
38 $ sudo apt install -y python autotools-dev intltool gettext libtool
39
40You might also try using your package manager:
41
42 $ sudo apt build-dep mypaint # will get additional deps for MyPaint (GUI)
43 $ sudo apt build-dep libmypaint # may not exist; included in mypaint
44
45### Install dependencies (Red Hat and derivatives)
46
47The following works on a minimal CentOS 7 installation:
48
49 $ sudo yum install -y gcc gobject-introspection-devel json-c-devel glib2-devel
50
51When building from git, you'll want to add:
52
53 $ sudo yum install -y git python autoconf intltool gettext libtool
54
55You might also try your package manager:
56
57 $ sudo yum builddep libmypaint
58
59## Build and install
60
61MyPaint and libmypaint benefit dramatically from autovectorization and other compiler optimizations.
62You may want to set your CFLAGS before compiling (for gcc):
63
64 $ export CFLAGS='-Ofast -ftree-vectorize -fopt-info-vec-optimized -march=native -mtune=native -funsafe-math-optimizations -funsafe-loop-optimizations'
65
66The traditional setup works just fine.
67
68 $ ./autogen.sh # Only needed when building from git.
69 $ ./configure
70 $ sudo make install
71 $ sudo ldconfig
72
73### Maintainer mode
74
75We don't ship a `configure` script in our git repository. If you're
76building from git, you have to kickstart the build environment with:
77
78 $ git clone https://github.com/mypaint/libmypaint.git
79 $ cd libmypaint
80 $ ./autogen.sh
81
82This script generates `configure` from `configure.ac`, after running a
83few checks to make sure your build environment is broadly OK. It also
84regenerates certain important generated headers if they need it.
85
86Folks building from a release tarball don't need to do this: they will
87have a `configure` script from the start.
88
89### Configure
90
91 $ ./configure
92 $ ./configure --prefix=/tmp/junk/example
93
94There are several MyPaint-specific options.
95These can be shown by running
96
97 $ ./configure --help
98
99### Build
100
101 $ make
102
103Once MyPaint is built, you can run the test suite and/or install it.
104
105### Test
106
107 $ make check
108
109This runs all the unit tests.
110
111### Install
112
113 $ sudo make install
114
115Uninstall libmypaint with `make uninstall`.
116
117### Check availability
118
119Make sure that pkg-config can see libmypaint before trying to build with it.
120
121 $ pkg-config --list-all | grep -i mypaint
122
123If it's not found, you'll need to add the relevant pkgconfig directory to
124the `pkg-config` search path. For example, on CentOS, with a default install:
125
126 $ sudo sh -c "echo 'PKG_CONFIG_PATH=/usr/local/lib/pkgconfig' >>/etc/environment"
127
128Make sure ldconfig can see libmypaint as well
129
130 $ sudo ldconfig -p |grep -i libmypaint
131
132If it's not found, you'll need to add the relevant lib directory to
133the LD_LIBRARY_PATH:
134
135 $ export LD_LIBRARY_PATH=/usr/local/lib
136 $ sudo sh -c "echo 'LD_LIBRARY_PATH=/usr/local/lib' >>/etc/environment
137
138Alternatively, you may want to enable /usr/local for libraries. Arch and Redhat derivatives:
139
140 $ sudo sh -c "echo '/usr/local/lib' > /etc/ld.so.conf.d/usrlocal.conf"
141 $ sudo ldconfig
142
143## Contributing
144
145The MyPaint project welcomes and encourages participation by everyone.
146We want our community to be skilled and diverse,
147and we want it to be a community that anybody can feel good about joining.
148No matter who you are or what your background is, we welcome you.
149
150Please note that MyPaint is released with a
151[Contributor Code of Conduct](CODE_OF_CONDUCT.md).
152By participating in this project you agree to abide by its terms.
153
154Please see the file [CONTRIBUTING.md](CONTRIBUTING.md)
155for details of how you can begin contributing.
156
157## Making releases
158
159The distribution release can be generated with:
160
161 $ make dist
162
163And it should be checked before public release with:
164
165 $ make distcheck
166
167## Localization
168
169Contribute translations here: <https://hosted.weblate.org/engage/mypaint/>.
170
171The list of languages is maintained in [po/LINGUAS](po/LINGUAS).
172Currently this file lists all the languages we have translations for.
173It can be regenerated with:
174
175 $ ls po/*.po | sed 's$^.*po/\([^.]*\).po$\1$' | sort > po/LINGUAS
176
177You can also disable languages by removing them from the list if needed.
178
179A list of files where localizable strings can be found is maintained
180in `po/POTFILES.in`.
181
182### Strings update
183
184You can update the .po files when translated strings in the code change
185using:
186
187 $ cd po && make update-po
188
189When the results of this are pushed, Weblate translators will see the
190new strings immediately.
191
192## Documentation
193
194Further documentation can be found in the libmypaint wiki:
195<https://github.com/mypaint/libmypaint/wiki>.
196