This fork of Pixman has been modified to work with Lime. (Specifically, files.xml was added and config.h was modified.) This isn't necessarily the latest version of Pixman, but it is the version that has been tested with Lime.
-
Fork Lime. (If you already did, skip to step 3.)
-
Install your fork as a Haxelib.
$ haxelib git lime [email protected]:[username]/lime.git Installing lime from https://github.com/[username]/lime.git Library lime current version is now git
-
Navigate to [Haxelib folder]/lime/git/project/lib/pixman.
This folder contains the Pixman project, which is treated as a separate Git repo even though it's inside the Lime folder.
-
Make a new branch to keep track of your upcoming changes.
$ git checkout -b [new branch name]
If you're running into an error in Pixman, first try pulling the latest version.
-
Add the official Pixman repo as a remote:
$ git remote add upstream https://gitlab.freedesktop.org/pixman/pixman.git
-
Pull the latest changes, and merge if necessary.
$ git pull upstream master
-
Test the update.
$ lime rebuild cpp -clean $ lime rebuild android -clean
If on Mac, also test
lime rebuild ios -clean
.
If the update doesn't work, here are potential solutions:
- Add missing files near the bottom of files.xml. When Pixman adds new C++ source files, the compiler will initially fail to find them.
- Add missing compiler flags near the top of files.xml.
- If you suspect a
#define
is missing, see the top of config.h for instructions. - Open an issue for errors without an obvious solution.
To submit your changes, you'll need to make a second GitHub fork.
-
Add your new remote:
$ cd [Haxelib folder]/lime/git/project/lib/pixman $ git remote add origin [email protected]:[username]/libpixman.git
-
Now you have somewhere to push to:
$ git add . $ git commit $ git push -u origin [new branch name]
Making changes to Pixman will also apply a change to Lime. This change must be submitted separately.
-
Navigate to [Haxelib folder]/lime/git.
-
Push your changes.
git checkout -b updatepixman git add . git commit -m "Update Pixman" git push -u origin updatepixman