Permalink
Browse files

Update README, add CONTRIBUTING.md

  • Loading branch information...
1 parent 3324b8b commit 055f6ff46896cc22bc5dc1f3f766691f2351d57d @achadwick achadwick committed May 22, 2016
Showing with 103 additions and 52 deletions.
  1. +17 −0 CONTRIBUTING.md
  2. +86 −52 README.md
View
@@ -0,0 +1,17 @@
+# How to Contribute to MyPaint
+
+MyPaint is a volunteer-run project, built and maintained by many
+contributors. We welcome new team members, and value feedback from
+artists using MyPaint. Most of our documentation for new contributors
+can be found on the wiki:
+
+* [How to report issues][1] - **please read** if you came here from the issue tracker.
+* [Get Involved][2] - how you can help MyPaint improve and grow.
+
+Note that MyPaint is released with a [Contributor Code of Conduct][3].
+By participating in this project you agree to abide by its terms.
+
+[1]: https://github.com/mypaint/mypaint/wiki/Reporting-Bugs
+[2]: https://github.com/mypaint/mypaint/wiki/Contributing
+[3]: CODE_OF_CONDUCT.md
+
View
@@ -1,97 +1,131 @@
-## libmypaint - MyPaint brush engine library
+# libmypaint - MyPaint brush engine library
[![Translation Status](https://hosted.weblate.org/widgets/mypaint/libmypaint/svg-badge.svg)](https://hosted.weblate.org/engage/mypaint/?utm_source=widget)
[![Travis Build Status](https://travis-ci.org/mypaint/libmypaint.svg?branch=master)](https://travis-ci.org/mypaint/libmypaint)
[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/github/mypaint/libmypaint?branch=master&svg=true)](https://ci.appveyor.com/project/jonnor/libmypaint)
-This is a self-contained C library that is isolated from MyPaint.
-It allows other applications to make use of the MyPaint brush engine.
+This is the brush library used by MyPaint. A number of other painting
+programs use it too.
-License: ISC, see [COPYING](./COPYING) for details
+License: ISC, see [COPYING](./COPYING) for details.
-### Prerequisites
+## Dependencies
-Build dependencies:
-
-* [json-c](https://github.com/json-c/json-c/wiki) (>= 0.11)
- - Debian: `libjson-c-dev`, or `libjson0-dev` (older)
-
-Optional dependencies:
-
-* Requirements when building from `git`:
+* All configurations and builds:
+ - [json-c](https://github.com/json-c/json-c/wiki) (>= 0.11)
+ - Debian: `libjson-c-dev`, or `libjson0-dev` (older)
+* When building from `git`:
- [Python](http://python.org/)
- [autotools](https://en.wikipedia.org/wiki/GNU_Build_System)
- [intltool](https://freedesktop.org/wiki/Software/intltool/)
* For `--enable-introspection`:
- [GObject-Introspection](https://live.gnome.org/GObjectIntrospection)
- - Debian: `libgirepository1.0-dev`
+ - Debian: `libgirepository1.0-dev`
* For `--enable-gegl`:
- [GEGL + BABL](http://gegl.org/)
- - Note that GIMP does *not* require this option.
- - Debian: `libgegl-dev`
+ - Debian: `libgegl-dev`
+ - Note that GIMP does not require libmypaint to be built with this option.
+
+## Build and install
-### Building
+The traditional setup works just fine.
-#### Maintainer mode / from git
+ $ ./autogen.sh # Only needed when building from git.
+ $ ./configure
+ $ make install
+
+### Maintainer mode
-Now libmypaint uses autotools conventions,
-so you have to kickstart the build environment with:
+We don't ship a `configure` script in our git repository. If you're
+building from git, you have to kickstart the build environment with:
$ ./autogen.sh
-This script is for the hackers who want to generate the configure script
-the first time from `configure.ac`.
-Users won't have to deal with it
-and will have the configure generated from the start.
+This script generates `configure` from `configure.ac`, after running a
+few checks to make sure your build environment is broadly OK. It also
+regenerates certain important generated headers if they need it.
-The distribution release can be generated with:
+Folks building from a release tarball don't need to do this: they will
+have a `configure` script from the start.
- $ make dist
+### Configure
-And it should be checked before public release with:
+ $ ./configure
+ $ ./configure --prefix=/tmp/junk/example
- $ make distcheck
+There are several MyPaint-specific options.
+These can be shown by running
-#### Everyone else
+ $ ./configure --help
-Now run:
+### Build
- $ ./configure
+ $ make
-As usual, add any of the common GNU options, like --prefix, --host (for
-cross-compilation), --enable-shared/static to build whatever you want,
---bindir/libdir/includedir/whateverdir for any hardcore user who like to
-play with one's environment and so on.
+Once MyPaint is built, you can run the test suite and/or install it.
-Then the libmypaint specific options:
---enable-docs/debug/profiling/openmp/gperftools/i18n/introspection/gegl
-and --with-glib.
+### Test
-You can get the full list with `./configure -h`.
+ $ make check
-Then run
+This runs all the unit tests.
- `make`
+### Install
-and
+ $ make install
- `make install`
+Uninstall libmypaint with `make uninstall`.
-Afterwards, you can run all the unit tests with make check (works now with
-both shared and static libs), update the po files from the source code
-with cd po && make update-po. Common/practical GNU stuff. :-)
+## Contributing
-### Localization
+The MyPaint project welcomes and encourages participation by everyone.
+We want our community to be skilled and diverse,
+and we want it to be a community that anybody can feel good about joining.
+No matter who you are or what your background is, we welcome you.
-List of language is maintained in po/LINGUAS (currently it has all the
-lang, I left a comment on the top of the files with a command line to
-get the full list of languages. But you can also disable languages by
-removing them from the list if needed).
+Please note that MyPaint is released with a
+[Contributor Code of Conduct](CODE_OF_CONDUCT.md).
+By participating in this project you agree to abide by its terms.
+
+Please see the file [CONTRIBUTING.md](CONTRIBUTING.md)
+for details of how you can begin contributing.
+
+## Making releases
+
+The distribution release can be generated with:
+
+ $ make dist
+
+And it should be checked before public release with:
+
+ $ make distcheck
+
+## Localization
+
+Contribute translations here: <https://hosted.weblate.org/engage/mypaint/>.
+
+The list of languages is maintained in [po/LINGUAS](po/LINGUAS).
+Currently this file lists all the languages we have translations for.
+It can be regenerated with:
+
+ $ ls po/*.po | sed 's$^.*po/\([^.]*\).po$\1$' | sort > po/LINGUAS
+
+You can also disable languages by removing them from the list if needed.
A list of files where localizable strings can be found is maintained
in `po/POTFILES.in`.
-### Documentation
+### Strings update
+
+You can update the .po files when translated strings in the code change
+using:
+
+ $ cd po && make update-po
+
+When the results of this are pushed, Weblate translators will see the
+new strings immediately.
+
+## Documentation
Further documentation can be found in the libmypaint wiki:
<https://github.com/mypaint/libmypaint/wiki>.

0 comments on commit 055f6ff

Please sign in to comment.