• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

doc/H11-May-2020-3,0392,396

fastapprox/H11-May-2020-551269

gegl/H11-May-2020-1,3051,064

glib/H11-May-2020-12489

m4macros/H11-May-2020-247226

po/H11-May-2020-92,91679,653

tests/H11-May-2020-9,8789,262

CODE_OF_CONDUCT.mdH A D11-May-20203.1 KiB7556

CONTRIBUTING.mdH A D11-May-2020968 2717

COPYINGH A D11-May-2020792 1512

Makefile.amH A D11-May-20203.9 KiB159125

Makefile.inH A D11-May-202043.9 KiB1,2801,155

README.mdH A D11-May-20206.1 KiB196121

TODOH A D11-May-20201.3 KiB3424

aclocal.m4H A D11-May-2020402.7 KiB11,23610,163

ar-libH A D29-Mar-20165.7 KiB271210

brushmodes.cH A D11-May-202022.6 KiB628411

brushmodes.hH A D11-May-20203.5 KiB7765

brushsettings-gen.hH A D11-May-202025.1 KiB9689

brushsettings.jsonH A D11-May-202035.4 KiB817816

compileH A D29-Mar-20167.2 KiB348258

config.guessH A D23-Oct-201542.5 KiB1,4421,249

config.hH A D11-May-20202.4 KiB8126

config.h.inH A D11-May-20202.1 KiB8053

config.subH A D23-Oct-201535.3 KiB1,8141,676

configureH A D11-May-2020523 KiB17,95615,060

configure.acH A D11-May-20209.1 KiB328262

depcompH A D29-Mar-201623 KiB792502

fifo.cH A D11-May-20202.4 KiB11564

fifo.hH A D11-May-2020355 1711

generate.pyH A D11-May-20209.1 KiB292213

helpers.cH A D11-May-202015.1 KiB609449

helpers.hH A D11-May-20201.2 KiB5337

install-shH A D29-Mar-201614.8 KiB509329

libmypaint.pc.inH A D11-May-2020345 1311

ltmain.shH A D07-Feb-2016316.8 KiB11,1577,986

missingH A D29-Mar-20166.7 KiB216143

mypaint-brush-settings-gen.hH A D11-May-20205.3 KiB145138

mypaint-brush-settings.cH A D11-May-20202.7 KiB10169

mypaint-brush-settings.hH A D11-May-20206.4 KiB19643

mypaint-brush.cH A D11-May-202063.3 KiB1,6971,120

mypaint-brush.hH A D11-May-20207 KiB26761

mypaint-config.hH A D11-May-2020284 1712

mypaint-fixed-tiled-surface.cH A D11-May-20204.2 KiB153109

mypaint-fixed-tiled-surface.hH A D11-May-2020882 3517

mypaint-glib-compat.hH A D11-May-2020608 3320

mypaint-mapping.cH A D11-May-20204.8 KiB197134

mypaint-mapping.hH A D11-May-20202.3 KiB11020

mypaint-matrix.cH A D11-May-20202.8 KiB9368

mypaint-matrix.hH A D11-May-20203.3 KiB10412

mypaint-rectangle.cH A D11-May-20201.9 KiB5935

mypaint-rectangle.hH A D11-May-20203.6 KiB11321

mypaint-surface.cH A D11-May-20205.4 KiB222122

mypaint-surface.hH A D11-May-202011.4 KiB37589

mypaint-symmetry.cH A D11-May-20205.2 KiB162142

mypaint-symmetry.hH A D11-May-20204.9 KiB17234

mypaint-tiled-surface.cH A D11-May-202042.5 KiB1,226842

mypaint-tiled-surface.hH A D11-May-20209.6 KiB30082

mypaint.cH A D11-May-2020431 2720

mypaint.hH A D11-May-20205 KiB1294

operationqueue.cH A D11-May-20207 KiB256175

operationqueue.hH A D11-May-20201.1 KiB4233

rng-double.cH A D11-May-20204.2 KiB13789

rng-double.hH A D11-May-2020520 2717

test-driverH A D29-Mar-20164.5 KiB14987

tiled-surface-private.hH A D11-May-2020244 96

tilemap.cH A D11-May-20202.6 KiB9056

tilemap.hH A D11-May-20201.8 KiB6532

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