Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Homebrew Cask for mac? #346

Open
yuvilio opened this issue Jun 21, 2015 · 21 comments
Labels

Comments

@yuvilio
Copy link

@yuvilio yuvilio commented Jun 21, 2015

Love Mypaint. It's great for taking notes, annotating designs, and plain doodling. I happen to mainly use it on my Ubuntu Linux laptop with the mypaint-testing ppa. Sometimes I'm on a Mac, though. I can use it thanks to Homebrew Cask. with brew cask install mypaint . But the version they have there is quite old (1.0.0). 1.1 and 1.2 alpha really add a lot of features/stability.

Any interest/technical comfort in setting up a more recent build for it there? Mypaint was originally added in Homebrew/homebrew-cask#9104, but not much happened since. I can probably compile it but it might be a tougher reach for others.

Happy to test or elaborate more.

@achadwick

This comment has been minimized.

Copy link
Member

@achadwick achadwick commented Jun 21, 2015

I'd love to help support MyPaint on the Mac. I just don't have a copy of Mac OS to build it with.

Check out README_OSX.md for a MacPorts-based solution for testing. I'd love it if that doc came in Homebrew or Flink flavours, and I'd be willing to accept PRs to make it awesome. The same goes for any code PRs needed for portability.

@ryandesign has worked on the MacPorts port before. Say hi!

As ever, I'm happy to help out with any porting issues from the MyPaint side. Just ask via the our issue tracker or on IRC/twitter. I'm just sorry that I can be of little use myself in actually fixing porting issues - but I do know the guts of MyPaint.

If anyone really wants to step up to the plate and act as a contactable maintainer for a port, I'd be happy to add them to @mypaint/collaborators or a new team. Let me know how far you want to go with this, and what you need from me.

@ryandesign

This comment has been minimized.

Copy link
Contributor

@ryandesign ryandesign commented Jun 21, 2015

Hi, I do keep the MacPorts MyPaint (stable version) and MyPaint-devel (development version) ports updated.

I have no experience with Homebrew, but you're welcome to crib from our work at MacPorts; we are permissively licensed (BSD). The port definitions are here.

The MyPaint project is overdue in releasing a new stable version. The current stable version, 1.1.0, does not build on OS X 10.9 and later.

@achadwick

This comment has been minimized.

Copy link
Member

@achadwick achadwick commented Jun 21, 2015

Got it. We're approaching 1.2.0-beta now, so now is a good time to get changes in to support OSX, and get some thorough testing done. The beta cycle precludes new features and new strings (in order to be fair to our translators), but fixes for the weirdnesses of individual ports will still be fine, probably.

@yuvilio

This comment has been minimized.

Copy link
Author

@yuvilio yuvilio commented Jun 21, 2015

Appreciate the quick reply and background info, guys! I can look into it but my Homebrew knowledge is pretty limited as well. We can leave the ticket open for now and gauge interest from others, if that works.

@rustacian

This comment has been minimized.

Copy link

@rustacian rustacian commented Sep 30, 2015

I'll take a look into this. My brother uses MyPaint on a daily basis, and I'm trying to migrate him over to OS X from Linux. I'll look into building under homebrew and making a cask for it.

@rustacian

This comment has been minimized.

Copy link

@rustacian rustacian commented Sep 30, 2015

Ok I've returned from my journey of building master on OS X 10.11 GM with homebrew! I took notes on the way, and I've got mostly good news. All the dependencies were installable using homebrew, although under slightly different names than macports. Pressure sensitivity is not working, although the wacom app detects it. I'm using a Wacom Intuos.

  • libjcon-c -> json-c
  • gtk3 -> gtk+3

You'll need to homebrew pygobject3 as well. in addition, I had to fiddle with PKG_CONFIG_PATH, CFLAGS, LDFLAGS, and CPPFLAGS. I also had to install python from homebrew as it made some things easier (but some harder). The (very raw) notes I took are:

Installation Troubles

- autotools (brew install automake autoconf) - json-c (brew install json-c) - gettext (brew install gettext) - libffi add to PKG_CONFIG_PATH - /usr/local/Cellar/libffi/… - libintl - http://stackoverflow.com/questions/11370684/what-is-libintl-h-and-where-can-i-get-it - Need to add include folder to CFLAGS, LDFLAGS - gettext binaries need to be added to path by brew link —force - need pyobjc (sudo pip install pyobjc)

Numpy and Scipy come with OS X stock it seems, but for my homebrewed version I had to

pip install scipy numpy
@rustacian

This comment has been minimized.

Copy link

@rustacian rustacian commented Sep 30, 2015

mypaint_osx

@achadwick

This comment has been minimized.

Copy link
Member

@achadwick achadwick commented Sep 30, 2015

Oh, nice to see that! Thanks for putting in the effort 😃

Speaking of libintl, I'd appreciate an OS X tester's eye on our init_gettext() function, and the routines in lib/i18n.py. I've not tested those myself, but the [EDIT: idea behind] them is that users should be able to configure the language on their system in some conventional way, then see MyPaint's UI in a different language (if it's supported).

@rustacian

This comment has been minimized.

Copy link

@rustacian rustacian commented Sep 30, 2015

@achadwick I'll take a closer look this Sunday once I have time. It would be great for Mac users if this was all easily installable as a .app or through homebrew cask, so I'll definitely give packaging for this platform a shot.

As for the translation, I'll try configuring my desktop in one of the supported languages, but it seems the ones I do understand are not supported. Perhaps I'll translate the app into Spanish at some point down the road as well.

@achadwick

This comment has been minimized.

Copy link
Member

@achadwick achadwick commented Sep 30, 2015

I don't understand Mac packaging much myself, but that does sound awesome. Thanks for looking into it!

MyPaint should be at 100% coverage in Spanish for both major components - you can dive in and review/change the strings if you'd like (https://hosted.weblate.org/engage/mypaint/ is the link we hand out to people).

If the translation isn't taking effect (either fully or partially), that's probably an issue with the code linked above - this stuff is incredibly fussy and highly sensitive to the point at which it gets called during startup. The OSX side is untested by me and probably needs close scrutiny I can't do myself, so I'm really hoping somebody can help out here.

If you're making binary packages, I can link to where you're uploading them or store them here. I try to arrange the Windows and Ubuntu beta releases to be built from the same signed source tarball.


BTW, I'd be absolutely delighted to accept packaging/build scripts for well-defined platform distributions like Homebrew/Fink/MacPorts on Mac, MSYS2/MSYS/Cygwin on Windows, or Fedora/Arch/FooDistrib on Linux. If it has a package manager and you can write a build script for it, I'm interested! Normally, if the build script can slot into the main MyPaint project without upsetting third-party downstream builds, I'm happy to have the code reside in the mypaint/mypaint repository under a subdirectory which also contains instructions for the build. If it has more complex requirements (like our mypaint/debian one for the PPA, where the folder name would clash with official Debian builds), a separate module may be more useful.

@0ion9

This comment has been minimized.

Copy link
Contributor

@0ion9 0ion9 commented Oct 2, 2015

@achadwick re: Arch Linux, Have you talked to ShadowKyogre, the current maintainer of mypaint-git PKGBUILD? I'd expect he would be amenable to including the PKGBUILD (which should easily be adaptable to building directly from a local clone rather than re-cloning), and the rather minimal set of instructions needed ('cd $dir_containing_pkgbuild;makepkg -i`) to compile and install it.

@ShadowKyogre

This comment has been minimized.

Copy link
Contributor

@ShadowKyogre ShadowKyogre commented Oct 2, 2015

@0ion9: Found your comment mentioning me in my email inbox and thought I'd pop into the conversation. I'm a bit confused by what you mean by "from a local clone rather than re-cloning". The result wouldn't be any different from a local clone and it only clones the repo if there's no existing copy of it.

Do you mean a PKGBUILD that can be run inside of the source directory? That's a bit finicky and is normally not how PKGBUILDs are written (and I believe it'd be a lot more complicated than how the current AUR PKGBUILD is written).

Also, while I'd be happy to submit the PKGBUILD here, there's a quirk that I wasn't sure how I should report it to mypaint: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=mypaint-git#n48

What line 48 does is remove the references to where the package was built in the pkg-config files (which is needed to build things like Gimp's mypaint brush engine integration).

@0ion9

This comment has been minimized.

Copy link
Contributor

@0ion9 0ion9 commented Oct 2, 2015

@ShadowKyogre : Yes, being able to be run from the source directory was what I meant. Obviously if you just dropped it in as-is, it would see that there isn't a clone in the correct directory, and re-clone.
My imagined solution was actually just a symlink to the appropriate parent/grandparent directory, but I haven't tested it yet.

That other issue.. hmm. I'm not sure if that can be solved on the mypaint side, since you are explicitly requesting that directory it's not surprising that the .pc file references it.
But in any case that seems like a minor issue, since what you are doing is not at all complex or difficult to understand.

@achadwick

This comment has been minimized.

Copy link
Member

@achadwick achadwick commented Oct 2, 2015

@ShadowKyogre does --install-sandbox work for this case? https://github.com/mypaint/mypaint/blob/master/README_LINUX.md#post-install

scons prefix="/usr" --install-sandbox=$pkgdir $pkgdir/usr

EDIT: perhaps closer to https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-mypaint/PKGBUILD is better.

@achadwick

This comment has been minimized.

Copy link
Member

@achadwick achadwick commented Oct 2, 2015

BTW, if anyone's interested in publicising their build, please feel free to add links to https://github.com/mypaint/mypaint/wiki/Packaging.

(Maybe I'm getting ahead of myself asking for build scripting though. It's perhaps offtopic, and perhaps just links would do.)

@ShadowKyogre

This comment has been minimized.

Copy link
Contributor

@ShadowKyogre ShadowKyogre commented Oct 3, 2015

@achadwick: Tweaking that command to

scons prefix="/usr" --install-sandbox="$pkgdir" "$pkgdir"

did the trick for me. Here's the tree output of the pkg directory when I used your tweaked command:

pkg/
└── mypaint-git
    └── usr
        ├── bin
        │   ├── mypaint
        │   └── mypaint-ora-thumbnailer
        ├── include
        │   └── libmypaint
        │       ├── glib
        │       │   ├── mypaint-brush.h
        │       │   └── mypaint-gegl-glib.h
        │       ├── mypaint-brush.h
        │       ├── mypaint-brush-settings-gen.h
        │       ├── mypaint-brush-settings.h
        │       ├── mypaint-config.h
        │       ├── mypaint-fixed-tiled-surface.h
        │       ├── mypaint-glib-compat.h
        │       ├── mypaint-rectangle.h
        │       ├── mypaint-surface.h
        │       └── mypaint-tiled-surface.h
        ├── lib
        │   ├── libmypaint.a
        │   ├── mypaint
        │   │   └── _mypaintlib.so
        │   └── pkgconfig
        │       └── libmypaint.pc
        └── share
            ├── appdata
            │   └── mypaint.appdata.xml
            ├── applications
            │   └── mypaint.desktop
            ├── icons
            │   └── hicolor
            │       ├── 16x16
            │       │   ├── actions
            │       │   │   ├── mypaint-tool-color-palette.png
            │       │   │   ├── mypaint-tool-color-rgb.png
            │       │   │   ├── mypaint-tool-color-triangle.png
            │       │   │   ├── mypaint-tool-component-sliders.png
            │       │   │   ├── mypaint-tool-crossed-bowl-color-changer.png
            │       │   │   ├── mypaint-tool-hcywheel.png
            │       │   │   ├── mypaint-tool-hsvcube.png
            │       │   │   ├── mypaint-tool-hsvsquare.png
            │       │   │   ├── mypaint-tool-hsvwheel.png
            │       │   │   ├── mypaint-tool-hue-wheel.png
            │       │   │   ├── mypaint-tool-rings-color-changer.png
            │       │   │   └── mypaint-tool-wash-color-changer.png
            │       │   └── apps
            │       │       └── mypaint.png
            │       ├── 22x22
            │       │   ├── actions
            │       │   │   ├── mypaint-tool-color-palette.png
            │       │   │   ├── mypaint-tool-color-rgb.png
            │       │   │   ├── mypaint-tool-color-triangle.png
            │       │   │   ├── mypaint-tool-component-sliders.png
            │       │   │   ├── mypaint-tool-crossed-bowl-color-changer.png
            │       │   │   ├── mypaint-tool-hcywheel.png
            │       │   │   ├── mypaint-tool-hsvcube.png
            │       │   │   ├── mypaint-tool-hsvsquare.png
            │       │   │   ├── mypaint-tool-hsvwheel.png
            │       │   │   ├── mypaint-tool-hue-wheel.png
            │       │   │   ├── mypaint-tool-rings-color-changer.png
            │       │   │   └── mypaint-tool-wash-color-changer.png
            │       │   └── apps
            │       │       └── mypaint.png
            │       ├── 24x24
            │       │   ├── actions
            │       │   │   ├── mypaint-add-symbolic.svg
            │       │   │   ├── mypaint-brush-blend-modes-symbolic.svg
            │       │   │   ├── mypaint-brush-stroke-symbolic.svg
            │       │   │   ├── mypaint-brush-tip-symbolic.svg
            │       │   │   ├── mypaint-colorize-symbolic.svg
            │       │   │   ├── mypaint-colors-symbolic.svg
            │       │   │   ├── mypaint-compositing-symbolic.svg
            │       │   │   ├── mypaint-document-properties-symbolic.svg
            │       │   │   ├── mypaint-down-symbolic.svg
            │       │   │   ├── mypaint-edit-symbolic.svg
            │       │   │   ├── mypaint-eraser-symbolic.svg
            │       │   │   ├── mypaint-expander-collapsed-symbolic.svg
            │       │   │   ├── mypaint-expander-expanded-symbolic.svg
            │       │   │   ├── mypaint-fill-symbolic.svg
            │       │   │   ├── mypaint-frame-symbolic.svg
            │       │   │   ├── mypaint-layers-symbolic.svg
            │       │   │   ├── mypaint-layer-vector-symbolic.svg
            │       │   │   ├── mypaint-left-symbolic.svg
            │       │   │   ├── mypaint-lock-alpha-symbolic.svg
            │       │   │   ├── mypaint-move-symbolic.svg
            │       │   │   ├── mypaint-painting-context-symbolic.svg
            │       │   │   ├── mypaint-paint-over-symbolic.svg
            │       │   │   ├── mypaint-pick-color-symbolic.svg
            │       │   │   ├── mypaint-remove-symbolic.svg
            │       │   │   ├── mypaint-right-symbolic.svg
            │       │   │   ├── mypaint-scrap-next-symbolic.svg
            │       │   │   ├── mypaint-scrap-prev-symbolic.svg
            │       │   │   ├── mypaint-scrap-save-symbolic.svg
            │       │   │   ├── mypaint-scratchpad-symbolic.svg
            │       │   │   ├── mypaint-stroke-symbolic.svg
            │       │   │   ├── mypaint-symmetry-symbolic.svg
            │       │   │   ├── mypaint-target-brush-symbolic.svg
            │       │   │   ├── mypaint-target-layer-symbolic.svg
            │       │   │   ├── mypaint-target-stroke-symbolic.svg
            │       │   │   ├── mypaint-tool-color-palette.png
            │       │   │   ├── mypaint-tool-color-rgb.png
            │       │   │   ├── mypaint-tool-color-triangle.png
            │       │   │   ├── mypaint-tool-component-sliders.png
            │       │   │   ├── mypaint-tool-crossed-bowl-color-changer.png
            │       │   │   ├── mypaint-tool-hcywheel.png
            │       │   │   ├── mypaint-tool-hsvcube.png
            │       │   │   ├── mypaint-tool-hsvsquare.png
            │       │   │   ├── mypaint-tool-hsvwheel.png
            │       │   │   ├── mypaint-tool-hue-wheel.png
            │       │   │   ├── mypaint-tool-inking-symbolic.svg
            │       │   │   ├── mypaint-tool-rings-color-changer.png
            │       │   │   ├── mypaint-tool-wash-color-changer.png
            │       │   │   ├── mypaint-up-symbolic.svg
            │       │   │   ├── mypaint-view-100-symbolic.svg
            │       │   │   ├── mypaint-view-fit-symbolic.svg
            │       │   │   ├── mypaint-view-mirror-horizontal-symbolic.svg
            │       │   │   ├── mypaint-view-mirror-vertical-symbolic.svg
            │       │   │   ├── mypaint-view-pan-symbolic.svg
            │       │   │   ├── mypaint-view-rotate-anticlockwise-symbolic.svg
            │       │   │   ├── mypaint-view-rotate-clockwise-symbolic.svg
            │       │   │   ├── mypaint-view-rotate-symbolic.svg
            │       │   │   ├── mypaint-view-symbolic.svg
            │       │   │   ├── mypaint-view-zoom-less-symbolic.svg
            │       │   │   ├── mypaint-view-zoom-more-symbolic.svg
            │       │   │   └── mypaint-view-zoom-symbolic.svg
            │       │   └── apps
            │       │       └── mypaint.png
            │       ├── 256x256
            │       │   └── apps
            │       │       └── mypaint.png
            │       ├── 32x32
            │       │   ├── actions
            │       │   │   ├── mypaint-tool-color-palette.png
            │       │   │   ├── mypaint-tool-color-rgb.png
            │       │   │   ├── mypaint-tool-color-triangle.png
            │       │   │   ├── mypaint-tool-component-sliders.png
            │       │   │   ├── mypaint-tool-crossed-bowl-color-changer.png
            │       │   │   ├── mypaint-tool-hcywheel.png
            │       │   │   ├── mypaint-tool-hsvcube.png
            │       │   │   ├── mypaint-tool-hsvsquare.png
            │       │   │   ├── mypaint-tool-hsvwheel.png
            │       │   │   ├── mypaint-tool-hue-wheel.png
            │       │   │   ├── mypaint-tool-rings-color-changer.png
            │       │   │   └── mypaint-tool-wash-color-changer.png
            │       │   └── apps
            │       │       └── mypaint.png
            │       ├── 48x48
            │       │   ├── actions
            │       │   │   ├── mypaint-tool-color-palette.png
            │       │   │   ├── mypaint-tool-color-rgb.png
            │       │   │   ├── mypaint-tool-color-triangle.png
            │       │   │   ├── mypaint-tool-component-sliders.png
            │       │   │   ├── mypaint-tool-crossed-bowl-color-changer.png
            │       │   │   ├── mypaint-tool-hcywheel.png
            │       │   │   ├── mypaint-tool-hsvcube.png
            │       │   │   ├── mypaint-tool-hsvsquare.png
            │       │   │   ├── mypaint-tool-hsvwheel.png
            │       │   │   ├── mypaint-tool-hue-wheel.png
            │       │   │   ├── mypaint-tool-rings-color-changer.png
            │       │   │   └── mypaint-tool-wash-color-changer.png
            │       │   └── apps
            │       │       └── mypaint.png
            │       ├── 512x512
            │       │   └── apps
            │       │       └── mypaint.png
            │       └── scalable
            │           └── actions
            │               ├── mypaint-about-symbolic.svg
            │               ├── mypaint-add-symbolic.svg
            │               ├── mypaint-bookmark-new-symbolic.svg
            │               ├── mypaint-brush-blend-modes-symbolic.svg
            │               ├── mypaint-brushes-symbolic.svg
            │               ├── mypaint-brush-stroke-symbolic.svg
            │               ├── mypaint-brush-symbolic.svg
            │               ├── mypaint-brush-tip-symbolic.svg
            │               ├── mypaint-clear-all-symbolic.svg
            │               ├── mypaint-close-symbolic.svg
            │               ├── mypaint-colorize-symbolic.svg
            │               ├── mypaint-colors-symbolic.svg
            │               ├── mypaint-compositing-symbolic.svg
            │               ├── mypaint-copy-symbolic.svg
            │               ├── mypaint-cut-symbolic.svg
            │               ├── mypaint-delete-symbolic.svg
            │               ├── mypaint-document-export-symbolic.svg
            │               ├── mypaint-document-new-symbolic.svg
            │               ├── mypaint-document-open-symbolic.svg
            │               ├── mypaint-document-properties-symbolic.svg
            │               ├── mypaint-document-revert-symbolic.svg
            │               ├── mypaint-document-save-as-symbolic.svg
            │               ├── mypaint-document-save-symbolic.svg
            │               ├── mypaint-down-symbolic.svg
            │               ├── mypaint-duplicate-symbolic.svg
            │               ├── mypaint-edit-symbolic.svg
            │               ├── mypaint-ellipse-symbolic.svg
            │               ├── mypaint-eraser-symbolic.svg
            │               ├── mypaint-expander-collapsed-symbolic.svg
            │               ├── mypaint-expander-expanded-symbolic.svg
            │               ├── mypaint-file-symbolic.svg
            │               ├── mypaint-fill-symbolic.svg
            │               ├── mypaint-frame-symbolic.svg
            │               ├── mypaint-freehand-symbolic.svg
            │               ├── mypaint-fullscreen-symbolic.svg
            │               ├── mypaint-globe-symbolic.svg
            │               ├── mypaint-help-symbolic.svg
            │               ├── mypaint-history-symbolic.svg
            │               ├── mypaint-info-symbolic.svg
            │               ├── mypaint-layer-above-symbolic.svg
            │               ├── mypaint-layer-below-symbolic.svg
            │               ├── mypaint-layer-clone-symbolic.svg
            │               ├── mypaint-layer-delete-symbolic.svg
            │               ├── mypaint-layer-fallback-symbolic.svg
            │               ├── mypaint-layer-group-new-symbolic.svg
            │               ├── mypaint-layer-group-symbolic.svg
            │               ├── mypaint-layer-lower-symbolic.svg
            │               ├── mypaint-layer-merge-down-symbolic.svg
            │               ├── mypaint-layer-new-below-symbolic.svg
            │               ├── mypaint-layer-new-symbolic.svg
            │               ├── mypaint-layer-painting-symbolic.svg
            │               ├── mypaint-layer-raise-symbolic.svg
            │               ├── mypaint-layers-symbolic.svg
            │               ├── mypaint-layer-vector-symbolic.svg
            │               ├── mypaint-left-symbolic.svg
            │               ├── mypaint-lines-and-curves-symbolic.svg
            │               ├── mypaint-line-sequence-symbolic.svg
            │               ├── mypaint-lock-alpha-symbolic.svg
            │               ├── mypaint-move-symbolic.svg
            │               ├── mypaint-normal-paint-symbolic.svg
            │               ├── mypaint-object-hidden-insensitive-symbolic.svg
            │               ├── mypaint-object-hidden-symbolic.svg
            │               ├── mypaint-object-locked-symbolic.svg
            │               ├── mypaint-object-unlocked-symbolic.svg
            │               ├── mypaint-object-visible-insensitive-symbolic.svg
            │               ├── mypaint-object-visible-symbolic.svg
            │               ├── mypaint-ok-symbolic.svg
            │               ├── mypaint-options-symbolic.svg
            │               ├── mypaint-painting-context-symbolic.svg
            │               ├── mypaint-paint-over-symbolic.svg
            │               ├── mypaint-paste-symbolic.svg
            │               ├── mypaint-pick-color-symbolic.svg
            │               ├── mypaint-quit-symbolic.svg
            │               ├── mypaint-redo-ltr-symbolic.svg
            │               ├── mypaint-redo-rtl-symbolic.svg
            │               ├── mypaint-remove-symbolic.svg
            │               ├── mypaint-right-symbolic.svg
            │               ├── mypaint-run-symbolic.svg
            │               ├── mypaint-scrap-next-symbolic.svg
            │               ├── mypaint-scrap-prev-symbolic.svg
            │               ├── mypaint-scrap-save-symbolic.svg
            │               ├── mypaint-scratchpad-symbolic.svg
            │               ├── mypaint-stroke-symbolic.svg
            │               ├── mypaint-symmetry.svg
            │               ├── mypaint-symmetry-symbolic.svg
            │               ├── mypaint-tab-options-symbolic.svg
            │               ├── mypaint-target-brush-symbolic.svg
            │               ├── mypaint-target-layer-symbolic.svg
            │               ├── mypaint-target-stroke-symbolic.svg
            │               ├── mypaint-target-symbolic.svg
            │               ├── mypaint-tool-color-palette.svg
            │               ├── mypaint-tool-color-rgb.svg
            │               ├── mypaint-tool-color-triangle.svg
            │               ├── mypaint-tool-component-sliders.svg
            │               ├── mypaint-tool-hcywheel.svg
            │               ├── mypaint-tool-hsvcube.svg
            │               ├── mypaint-tool-hsvwheel.svg
            │               ├── mypaint-tool-hue-wheel.svg
            │               ├── mypaint-tool-inking-symbolic.svg
            │               ├── mypaint-trash-symbolic.svg
            │               ├── mypaint-undo-ltr-symbolic.svg
            │               ├── mypaint-undo-rtl-symbolic.svg
            │               ├── mypaint-unfullscreen-symbolic.svg
            │               ├── mypaint-up-symbolic.svg
            │               ├── mypaint-view-100-symbolic.svg
            │               ├── mypaint-view-fit-symbolic.svg
            │               ├── mypaint-view-mirror-horizontal-symbolic.svg
            │               ├── mypaint-view-mirror-vertical-symbolic.svg
            │               ├── mypaint-view-pan-symbolic.svg
            │               ├── mypaint-view-rotate-anticlockwise-symbolic.svg
            │               ├── mypaint-view-rotate-clockwise-symbolic.svg
            │               ├── mypaint-view-rotate-symbolic.svg
            │               ├── mypaint-view-symbolic.svg
            │               ├── mypaint-view-zoom-less-symbolic.svg
            │               ├── mypaint-view-zoom-more-symbolic.svg
            │               └── mypaint-view-zoom-symbolic.svg
            ├── libmypaint
            │   ├── brushsettings.json
            │   ├── brushsettings.py
            │   ├── generate.py
            │   └── __init__.py
            ├── locale
            │   ├── brx
            │   │   └── LC_MESSAGES
            │   │       └── mypaint.mo
            │   ├── ca
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── cs
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── de
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── en_CA
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── en_GB
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── es
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── fa
            │   │   └── LC_MESSAGES
            │   │       └── libmypaint.mo
            │   ├── fi
            │   │   └── LC_MESSAGES
            │   │       └── libmypaint.mo
            │   ├── fr
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── he
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── hu
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── id
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── it
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── ja
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── ko
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── lt
            │   │   └── LC_MESSAGES
            │   │       └── mypaint.mo
            │   ├── nb
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── nn_NO
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── pl
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── pt_BR
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── ro
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── ru
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── sk
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── sl
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── sv
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── tr
            │   │   └── LC_MESSAGES
            │   │       └── mypaint.mo
            │   ├── uk
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   ├── zh_CN
            │   │   └── LC_MESSAGES
            │   │       ├── libmypaint.mo
            │   │       └── mypaint.mo
            │   └── zh_TW
            │       └── LC_MESSAGES
            │           ├── libmypaint.mo
            │           └── mypaint.mo
            ├── mypaint
            │   ├── backgrounds
            │   │   ├── 01_white.png
            │   │   ├── 02_black.png
            │   │   ├── 03_check1.png
            │   │   ├── 03_check2.png
            │   │   ├── 04_grey1.png
            │   │   ├── 04_grey2.png
            │   │   ├── 05_grey3.png
            │   │   ├── 10_soft_yellow.png
            │   │   ├── 11_weak_blue.png
            │   │   ├── 50_comicthumbs.png
            │   │   ├── 50_storyboard-template.png
            │   │   ├── canvas1_1.png
            │   │   ├── canvas1_2.png
            │   │   ├── canvas1_3.png
            │   │   ├── canvas2_1.png
            │   │   ├── canvas3_1.png
            │   │   ├── canvas3_2.png
            │   │   ├── canvas3_3.png
            │   │   ├── mrmamurk
            │   │   │   ├── mamurk_a_1.png
            │   │   │   ├── mamurk_a_2.png
            │   │   │   ├── mamurk_b_1.png
            │   │   │   ├── mamurk_b_2.png
            │   │   │   ├── mamurk_b_3.png
            │   │   │   ├── mamurk_b_4.png
            │   │   │   ├── mamurk_b_5.png
            │   │   │   ├── mamurk_b_6.png
            │   │   │   ├── mamurk_c_1.png
            │   │   │   ├── mamurk_c_2.png
            │   │   │   ├── mamurk_c_3.png
            │   │   │   ├── mamurk_c_4.png
            │   │   │   ├── mamurk_d_1.png
            │   │   │   ├── mamurk_d_2.png
            │   │   │   ├── mamurk_d_3.png
            │   │   │   ├── mamurk_d_4.png
            │   │   │   ├── mamurk_e_1.png
            │   │   │   ├── mamurk_e_2.png
            │   │   │   ├── mamurk_e_3.png
            │   │   │   ├── mamurk_e_4.png
            │   │   │   ├── mamurk_e_5.png
            │   │   │   ├── mamurk_e_6.png
            │   │   │   ├── mamurk_f_1.png
            │   │   │   ├── mamurk_f_2.png
            │   │   │   ├── mamurk_f_3.png
            │   │   │   ├── mamurk_f_4.png
            │   │   │   └── MrMamurk_readme.txt
            │   │   ├── paper1_10.png
            │   │   ├── paper1_11.png
            │   │   ├── paper1_12.png
            │   │   ├── paper1_13.png
            │   │   ├── paper1_1.png
            │   │   ├── paper1_2.png
            │   │   ├── paper1_3.png
            │   │   ├── paper1_4.png
            │   │   ├── paper1_5.png
            │   │   ├── paper1_6.png
            │   │   ├── paper1_7.png
            │   │   ├── paper1_8.png
            │   │   ├── paper1_9.png
            │   │   ├── paper2_1.png
            │   │   ├── paper2_2.png
            │   │   ├── paper2_3.png
            │   │   ├── paper2_4.png
            │   │   ├── paper2_5.png
            │   │   ├── paper3_1.png
            │   │   ├── paper3_2.png
            │   │   ├── paper3_3.png
            │   │   ├── paper3_4.png
            │   │   ├── paper3_5.png
            │   │   ├── paper3_6.png
            │   │   ├── paper3_7.png
            │   │   ├── paper4_1.png
            │   │   ├── paper4_2.png
            │   │   ├── paper5_1.png
            │   │   ├── paper5_2.png
            │   │   ├── paper5_3.png
            │   │   ├── paper5a_score.png
            │   │   ├── paper6_1.png
            │   │   ├── paper6_2.png
            │   │   ├── paper6_3.png
            │   │   ├── paper6_4.png
            │   │   ├── paper7_10.png
            │   │   ├── paper7_1.png
            │   │   ├── paper7_2.png
            │   │   ├── paper7_3.png
            │   │   ├── paper7_4.png
            │   │   ├── paper7_5.png
            │   │   ├── paper7_6.png
            │   │   ├── paper7_7.png
            │   │   ├── paper7_8.png
            │   │   ├── paper7_9.png
            │   │   ├── pattern2.png
            │   │   ├── ramon
            │   │   │   ├── HR_Canvas 01.png
            │   │   │   ├── HR_Canvas 02.png
            │   │   │   ├── HR_Cork.png
            │   │   │   ├── HR_DecoPaper.png
            │   │   │   ├── HR_PastelPaper 01.png
            │   │   │   ├── HR_PastelPaper 02.png
            │   │   │   ├── HR_RoughPaper.png
            │   │   │   ├── HR_SketchPaper 02.png
            │   │   │   ├── HR_SketchPaper.png
            │   │   │   ├── HR_Wall_Paper.png
            │   │   │   ├── HR_WaterColor.png
            │   │   │   └── readme_papers.txt
            │   │   ├── README.md
            │   │   ├── squares2_blue.png
            │   │   └── squares2.png
            │   ├── brushes
            │   │   ├── classic
            │   │   │   ├── blending_knife.myb
            │   │   │   ├── blending_knife_prev.png
            │   │   │   ├── blend+paint.myb
            │   │   │   ├── blend+paint_prev.png
            │   │   │   ├── blur.myb
            │   │   │   ├── blur_prev.png
            │   │   │   ├── brush.myb
            │   │   │   ├── brush_prev.png
            │   │   │   ├── bulk.myb
            │   │   │   ├── bulk_prev.png
            │   │   │   ├── calligraphy.myb
            │   │   │   ├── calligraphy_prev.png
            │   │   │   ├── charcoal.myb
            │   │   │   ├── charcoal_prev.png
            │   │   │   ├── coarse_bulk_1.myb
            │   │   │   ├── coarse_bulk_1_prev.png
            │   │   │   ├── coarse_bulk_2.myb
            │   │   │   ├── coarse_bulk_2_prev.png
            │   │   │   ├── coarse_bulk_3.myb
            │   │   │   ├── coarse_bulk_3_prev.png
            │   │   │   ├── dry_brush.myb
            │   │   │   ├── dry_brush_prev.png
            │   │   │   ├── imp_blending.myb
            │   │   │   ├── imp_blending_prev.png
            │   │   │   ├── imp_details.myb
            │   │   │   ├── imp_details_prev.png
            │   │   │   ├── impressionism.myb
            │   │   │   ├── impressionism_prev.png
            │   │   │   ├── ink_blot.myb
            │   │   │   ├── ink_blot_prev.png
            │   │   │   ├── ink_eraser.myb
            │   │   │   ├── ink_eraser_prev.png
            │   │   │   ├── kabura.myb
            │   │   │   ├── kabura_prev.png
            │   │   │   ├── knife.myb
            │   │   │   ├── knife_prev.png
            │   │   │   ├── long_grass.myb
            │   │   │   ├── long_grass_prev.png
            │   │   │   ├── marker_fat.myb
            │   │   │   ├── marker_fat_prev.png
            │   │   │   ├── marker_small.myb
            │   │   │   ├── marker_small_prev.png
            │   │   │   ├── modelling2.myb
            │   │   │   ├── modelling2_prev.png
            │   │   │   ├── modelling.myb
            │   │   │   ├── modelling_prev.png
            │   │   │   ├── pencil.myb
            │   │   │   ├── pencil_prev.png
            │   │   │   ├── pen.myb
            │   │   │   ├── pen_prev.png
            │   │   │   ├── pointy_ink.myb
            │   │   │   ├── pointy_ink_prev.png
            │   │   │   ├── puantilism2.myb
            │   │   │   ├── puantilism2_prev.png
            │   │   │   ├── puantilism.myb
            │   │   │   ├── puantilism_prev.png
            │   │   │   ├── rounded.myb
            │   │   │   ├── rounded_prev.png
            │   │   │   ├── short_grass.myb
            │   │   │   ├── short_grass_prev.png
            │   │   │   ├── slow_ink.myb
            │   │   │   ├── slow_ink_prev.png
            │   │   │   ├── smudge.myb
            │   │   │   ├── smudge+paint.myb
            │   │   │   ├── smudge+paint_prev.png
            │   │   │   ├── smudge_prev.png
            │   │   │   ├── textured_ink.myb
            │   │   │   ├── textured_ink_prev.png
            │   │   │   ├── wet_knife.myb
            │   │   │   └── wet_knife_prev.png
            │   │   ├── deevad
            │   │   │   ├── 2B_pencil.myb
            │   │   │   ├── 2B_pencil_prev.png
            │   │   │   ├── 4H_pencil.myb
            │   │   │   ├── 4H_pencil_prev.png
            │   │   │   ├── airbrush.myb
            │   │   │   ├── airbrush_prev.png
            │   │   │   ├── ballpen.myb
            │   │   │   ├── ballpen_prev.png
            │   │   │   ├── basic_digital_brush.myb
            │   │   │   ├── basic_digital_brush_prev.png
            │   │   │   ├── basic_digital_brush_smudging.myb
            │   │   │   ├── basic_digital_brush_smudging_prev.png
            │   │   │   ├── basic_digital_knife.myb
            │   │   │   ├── basic_digital_knife_prev.png
            │   │   │   ├── basic_digital_knife_smudging.myb
            │   │   │   ├── basic_digital_knife_smudging_prev.png
            │   │   │   ├── blending.myb
            │   │   │   ├── blending_prev.png
            │   │   │   ├── brush.myb
            │   │   │   ├── brush_prev.png
            │   │   │   ├── chalk.myb
            │   │   │   ├── chalk_prev.png
            │   │   │   ├── detail_brush_large_glazing.myb
            │   │   │   ├── detail_brush_large_glazing_prev.png
            │   │   │   ├── detail_brush_large.myb
            │   │   │   ├── detail_brush_large_prev.png
            │   │   │   ├── detail_brush_thin_glazing.myb
            │   │   │   ├── detail_brush_thin_glazing_prev.png
            │   │   │   ├── detail_brush_thin.myb
            │   │   │   ├── detail_brush_thin_prev.png
            │   │   │   ├── fill.myb
            │   │   │   ├── fill_prev.png
            │   │   │   ├── grainy_blending.myb
            │   │   │   ├── grainy_blending_prev.png
            │   │   │   ├── kneaded_eraser_large.myb
            │   │   │   ├── kneaded_eraser_large_prev.png
            │   │   │   ├── kneaded_eraser.myb
            │   │   │   ├── kneaded_eraser_prev.png
            │   │   │   ├── large_hard_eraser.myb
            │   │   │   ├── large_hard_eraser_prev.png
            │   │   │   ├── large_watercolor_fringe.myb
            │   │   │   ├── large_watercolor_fringe_prev.png
            │   │   │   ├── liner.myb
            │   │   │   ├── liner_prev.png
            │   │   │   ├── only_water_fringe.myb
            │   │   │   ├── only_water_fringe_prev.png
            │   │   │   ├── pen.myb
            │   │   │   ├── pen-note.myb
            │   │   │   ├── pen-note_prev.png
            │   │   │   ├── pen_prev.png
            │   │   │   ├── readme.txt
            │   │   │   ├── rigger_brush.myb
            │   │   │   ├── rigger_brush_prev.png
            │   │   │   ├── rigger_brush_thin.myb
            │   │   │   ├── rigger_brush_thin_prev.png
            │   │   │   ├── rough.myb
            │   │   │   ├── rough_prev.png
            │   │   │   ├── soft-dip-pen.myb
            │   │   │   ├── soft-dip-pen_prev.png
            │   │   │   ├── sponge_smudging.myb
            │   │   │   ├── sponge_smudging_prev.png
            │   │   │   ├── spray2.myb
            │   │   │   ├── spray2_prev.png
            │   │   │   ├── spray.myb
            │   │   │   ├── spray_prev.png
            │   │   │   ├── thin_hard_eraser.myb
            │   │   │   ├── thin_hard_eraser_prev.png
            │   │   │   ├── thin_watercolor.myb
            │   │   │   ├── thin_watercolor_prev.png
            │   │   │   ├── watercolor_expressive.myb
            │   │   │   ├── watercolor_expressive_prev.png
            │   │   │   ├── watercolor_glazing.myb
            │   │   │   └── watercolor_glazing_prev.png
            │   │   ├── experimental
            │   │   │   ├── 1pixel.myb
            │   │   │   ├── 1pixel_prev.png
            │   │   │   ├── basic.myb
            │   │   │   ├── basic_prev.png
            │   │   │   ├── bubble.myb
            │   │   │   ├── bubble_prev.png
            │   │   │   ├── DNA_brush.myb
            │   │   │   ├── DNA_brush_prev.png
            │   │   │   ├── fur.myb
            │   │   │   ├── fur_prev.png
            │   │   │   ├── glow.myb
            │   │   │   ├── glow_prev.png
            │   │   │   ├── hard_blot.myb
            │   │   │   ├── hard_blot_prev.png
            │   │   │   ├── hard_sting.myb
            │   │   │   ├── hard_sting_prev.png
            │   │   │   ├── irregular_ink.myb
            │   │   │   ├── irregular_ink_prev.png
            │   │   │   ├── leaves.myb
            │   │   │   ├── leaves_prev.png
            │   │   │   ├── particules_3.myb
            │   │   │   ├── particules_3_prev.png
            │   │   │   ├── particules_eraser.myb
            │   │   │   ├── particules_eraser_prev.png
            │   │   │   ├── pick_and_drag.myb
            │   │   │   ├── pick_and_drag_prev.png
            │   │   │   ├── pixelblocking.myb
            │   │   │   ├── pixelblocking_prev.png
            │   │   │   ├── pixel_hardink.myb
            │   │   │   ├── pixel_hardink_prev.png
            │   │   │   ├── sewing.myb
            │   │   │   ├── sewing_prev.png
            │   │   │   ├── small_blot.myb
            │   │   │   ├── small_blot_prev.png
            │   │   │   ├── soft_irregular.myb
            │   │   │   ├── soft_irregular_prev.png
            │   │   │   ├── soft.myb
            │   │   │   ├── soft_prev.png
            │   │   │   ├── spaced-blot.myb
            │   │   │   ├── spaced-blot_prev.png
            │   │   │   ├── speed_blot.myb
            │   │   │   ├── speed_blot_prev.png
            │   │   │   ├── subtle_pencil.myb
            │   │   │   ├── subtle_pencil_prev.png
            │   │   │   ├── track.myb
            │   │   │   └── track_prev.png
            │   │   ├── FX_blender_prev.png
            │   │   ├── kaerhon_v1
            │   │   │   ├── airbruch_press_a.myb
            │   │   │   ├── airbruch_press_a_prev.png
            │   │   │   ├── Airbrush_a.myb
            │   │   │   ├── Airbrush_a_prev.png
            │   │   │   ├── airsmudge_a.myb
            │   │   │   ├── airsmudge_a_prev.png
            │   │   │   ├── airsmudgeultimate_sk.myb
            │   │   │   ├── airsmudgeultimate_sk_prev.png
            │   │   │   ├── classicroundblock_static_c.myb
            │   │   │   ├── classicroundblock_static_c_prev.png
            │   │   │   ├── classic_sk.myb
            │   │   │   ├── classic_sk_prev.png
            │   │   │   ├── Dirty_Transparent_sk.myb
            │   │   │   ├── Dirty_Transparent_sk_prev.png
            │   │   │   ├── extreme_round_l.myb
            │   │   │   ├── extreme_round_l_prev.png
            │   │   │   ├── fill_c.myb
            │   │   │   ├── fill_c_prev.png
            │   │   │   ├── flat_bar_l.myb
            │   │   │   ├── flat_bar_l_prev.png
            │   │   │   ├── ink-slowline_s.myb
            │   │   │   ├── ink-slowline_s_prev.png
            │   │   │   ├── ink_slow_s.myb
            │   │   │   ├── ink_slow_s_prev.png
            │   │   │   ├── inkster_l.myb
            │   │   │   ├── inkster_l_prev.png
            │   │   │   ├── paint_barrr_sm.myb
            │   │   │   ├── paint_barrr_sm_prev.png
            │   │   │   ├── paint_radius_2_sm.myb
            │   │   │   ├── paint_radius_2_sm_prev.png
            │   │   │   ├── paint_sm.myb
            │   │   │   ├── paint_sm_prev.png
            │   │   │   ├── ReadMe.txt
            │   │   │   ├── Sketcher2_sk.myb
            │   │   │   ├── Sketcher2_sk_prev.png
            │   │   │   ├── Smear_sm.myb
            │   │   │   ├── Smear_sm_prev.png
            │   │   │   ├── smudge_ink(0.7)_sm.myb
            │   │   │   ├── smudge_ink(0.7)_sm_prev.png
            │   │   │   ├── wet_paint_sm.myb
            │   │   │   └── wet_paint_sm_prev.png
            │   │   ├── label-brush-mypaint.sh
            │   │   ├── order.conf
            │   │   ├── prev-template.xcf.gz
            │   │   ├── ramon
            │   │   │   ├── 100%_Opaque.myb
            │   │   │   ├── 100%_Opaque_prev.png
            │   │   │   ├── 2B_pencil.myb
            │   │   │   ├── 2B_pencil_prev.png
            │   │   │   ├── Beamlight.myb
            │   │   │   ├── Beamlight_prev.png
            │   │   │   ├── BigAirbrush.myb
            │   │   │   ├── BigAirbrush_prev.png
            │   │   │   ├── Blur_Fast.myb
            │   │   │   ├── Blur_Fast_prev.png
            │   │   │   ├── B-pencil.myb
            │   │   │   ├── B-pencil_prev.png
            │   │   │   ├── Classic_Paint.myb
            │   │   │   ├── Classic_Paint_prev.png
            │   │   │   ├── Clouds.myb
            │   │   │   ├── Clouds_prev.png
            │   │   │   ├── Delayed_.myb
            │   │   │   ├── Delayed__prev.png
            │   │   │   ├── Dirty_Noise.myb
            │   │   │   ├── Dirty_Noise_prev.png
            │   │   │   ├── Glow_Airbrush.myb
            │   │   │   ├── Glow_Airbrush_prev.png
            │   │   │   ├── Grain.myb
            │   │   │   ├── Grain_prev.png
            │   │   │   ├── Hard_Eraser.myb
            │   │   │   ├── Hard_Eraser_prev.png
            │   │   │   ├── Knife.myb
            │   │   │   ├── Knife_prev.png
            │   │   │   ├── Marker.myb
            │   │   │   ├── Marker_prev.png
            │   │   │   ├── Pastel_1.myb
            │   │   │   ├── Pastel_1_prev.png
            │   │   │   ├── PenBrush.myb
            │   │   │   ├── PenBrush_prev.png
            │   │   │   ├── Pen.myb
            │   │   │   ├── Pen_prev.png
            │   │   │   ├── P._Shade.myb
            │   │   │   ├── P._Shade_prev.png
            │   │   │   ├── Round_Bl.myb
            │   │   │   ├── Round_Bl_prev.png
            │   │   │   ├── Round.myb
            │   │   │   ├── Round_prev.png
            │   │   │   ├── RS_blendOP.myb
            │   │   │   ├── RS_blendOP_prev.png
            │   │   │   ├── Sketch_1.myb
            │   │   │   ├── Sketch_1_prev.png
            │   │   │   ├── Smear.myb
            │   │   │   ├── Smear_prev.png
            │   │   │   ├── Soft_Eraser.myb
            │   │   │   ├── Soft_Eraser_prev.png
            │   │   │   ├── Thin_Pen.myb
            │   │   │   ├── Thin_Pen_prev.png
            │   │   │   ├── Wet_Direction.myb
            │   │   │   ├── Wet_Direction_prev.png
            │   │   │   ├── wet_round.myb
            │   │   │   └── wet_round_prev.png
            │   │   └── tanda
            │   │       ├── acrylic-03-only-water.myb
            │   │       ├── acrylic-03-only-water_prev.png
            │   │       ├── acrylic-03-paint.myb
            │   │       ├── acrylic-03-paint_prev.png
            │   │       ├── acrylic-03-with-water.myb
            │   │       ├── acrylic-03-with-water_prev.png
            │   │       ├── acrylic-04-only-water.myb
            │   │       ├── acrylic-04-only-water_prev.png
            │   │       ├── acrylic-04-paint.myb
            │   │       ├── acrylic-04-paint_prev.png
            │   │       ├── acrylic-04-with-water.myb
            │   │       ├── acrylic-04-with-water_prev.png
            │   │       ├── acrylic-05-only-water.myb
            │   │       ├── acrylic-05-only-water_prev.png
            │   │       ├── acrylic-05-paint.myb
            │   │       ├── acrylic-05-paint_prev.png
            │   │       ├── acrylic-05-with-water.myb
            │   │       ├── acrylic-05-with-water_prev.png
            │   │       ├── charcoal-01.myb
            │   │       ├── charcoal-01_prev.png
            │   │       ├── charcoal-03.myb
            │   │       ├── charcoal-03_prev.png
            │   │       ├── charcoal-04.myb
            │   │       ├── charcoal-04_prev.png
            │   │       ├── charcoal-blur1.myb
            │   │       ├── charcoal-blur1_prev.png
            │   │       ├── marker-01.myb
            │   │       ├── marker-01_prev.png
            │   │       ├── marker-05.myb
            │   │       ├── marker-05_prev.png
            │   │       ├── oil-01-clean.myb
            │   │       ├── oil-01-clean_prev.png
            │   │       ├── oil-01-paint.myb
            │   │       ├── oil-01-paint_prev.png
            │   │       ├── oil-03-clean.myb
            │   │       ├── oil-03-clean_prev.png
            │   │       ├── oil-03-paint.myb
            │   │       ├── oil-03-paint_prev.png
            │   │       ├── oil-06-clean.myb
            │   │       ├── oil-06-clean_prev.png
            │   │       ├── oil-06-paint.myb
            │   │       ├── oil-06-paint_prev.png
            │   │       ├── oil-mop.myb
            │   │       ├── oil-mop_prev.png
            │   │       ├── pencil-2b.myb
            │   │       ├── pencil-2b_prev.png
            │   │       ├── pencil-8b.myb
            │   │       ├── pencil-8b_prev.png
            │   │       ├── splatter-02.myb
            │   │       ├── splatter-02_prev.png
            │   │       ├── splatter-04.myb
            │   │       ├── splatter-04_prev.png
            │   │       ├── texture-03.myb
            │   │       ├── texture-03_prev.png
            │   │       ├── texture-06.myb
            │   │       ├── texture-06_prev.png
            │   │       ├── texture-12.myb
            │   │       ├── texture-12_prev.png
            │   │       ├── water-01.myb
            │   │       ├── water-01_prev.png
            │   │       ├── water-02.myb
            │   │       ├── water-02_prev.png
            │   │       ├── water-05.myb
            │   │       ├── water-05_prev.png
            │   │       ├── water-06.myb
            │   │       ├── water-06_prev.png
            │   │       ├── watercolor-02-paint.myb
            │   │       ├── watercolor-02-paint_prev.png
            │   │       ├── watercolor-02-water.myb
            │   │       └── watercolor-02-water_prev.png
            │   ├── gui
            │   │   ├── accelmap.py
            │   │   ├── application.py
            │   │   ├── autorecover.glade
            │   │   ├── autorecover.py
            │   │   ├── backgroundwindow.py
            │   │   ├── brushcolor.py
            │   │   ├── brusheditor.glade
            │   │   ├── brusheditor.py
            │   │   ├── brushiconeditor.py
            │   │   ├── brushmanager.py
            │   │   ├── brushmodifier.py
            │   │   ├── brushselectionwindow.py
            │   │   ├── builderhacks.py
            │   │   ├── buttonmap.py
            │   │   ├── colorpicker.py
            │   │   ├── colorpreview.py
            │   │   ├── colors
            │   │   │   ├── adjbases.py
            │   │   │   ├── bases.py
            │   │   │   ├── changers.py
            │   │   │   ├── combined.py
            │   │   │   ├── hcywheel.py
            │   │   │   ├── hsvcube.py
            │   │   │   ├── hsvsquare.py
            │   │   │   ├── hsvtriangle.py
            │   │   │   ├── hsvwheel.py
            │   │   │   ├── __init__.py
            │   │   │   ├── paletteview.py
            │   │   │   ├── picker.py
            │   │   │   ├── sliders.py
            │   │   │   ├── uimisc.py
            │   │   │   └── util.py
            │   │   ├── colortools.py
            │   │   ├── cursor.py
            │   │   ├── curve.py
            │   │   ├── device.py
            │   │   ├── dialogs.py
            │   │   ├── displayfilter.py
            │   │   ├── document.py
            │   │   ├── drawutils.py
            │   │   ├── drawwindow.py
            │   │   ├── externalapp.py
            │   │   ├── factoryaction.py
            │   │   ├── filehandling.py
            │   │   ├── fill.py
            │   │   ├── footer.py
            │   │   ├── framewindow.py
            │   │   ├── freehand.py
            │   │   ├── gtk2compat.py
            │   │   ├── gtkexcepthook.py
            │   │   ├── historypopup.py
            │   │   ├── history.py
            │   │   ├── __init__.py
            │   │   ├── inktool.glade
            │   │   ├── inktool.py
            │   │   ├── inputtestwindow.py
            │   │   ├── keyboard.py
            │   │   ├── layermanip.py
            │   │   ├── layermodes.py
            │   │   ├── layers.py
            │   │   ├── layerswindow.py
            │   │   ├── layerswindow.xml
            │   │   ├── linemode.py
            │   │   ├── main.py
            │   │   ├── menu.xml
            │   │   ├── meta.py
            │   │   ├── mode.py
            │   │   ├── mypaint.glade
            │   │   ├── objfactory.py
            │   │   ├── optionspanel.py
            │   │   ├── overlays.py
            │   │   ├── picker.py
            │   │   ├── pixbuflist.py
            │   │   ├── preferenceswindow.glade
            │   │   ├── preferenceswindow.py
            │   │   ├── previewwindow.py
            │   │   ├── profiling.py
            │   │   ├── quickchoice.py
            │   │   ├── resources.xml
            │   │   ├── scratchwindow.py
            │   │   ├── spinbox.py
            │   │   ├── stategroup.py
            │   │   ├── style.py
            │   │   ├── symmetry.py
            │   │   ├── tileddrawwidget.py
            │   │   ├── toolbar-blendmodes.xml
            │   │   ├── toolbar-edit.xml
            │   │   ├── toolbar-file.xml
            │   │   ├── toolbar-linemodes.xml
            │   │   ├── toolbar.py
            │   │   ├── toolbar-scrap.xml
            │   │   ├── toolbar-view-manips.xml
            │   │   ├── toolbar-view-modes.xml
            │   │   ├── toolbar-view-resets.xml
            │   │   ├── toolbar.xml
            │   │   ├── topbar.py
            │   │   ├── uicolor.py
            │   │   ├── viewmanip.py
            │   │   ├── widgets.py
            │   │   ├── windowing.py
            │   │   └── workspace.py
            │   ├── lib
            │   │   ├── alg.py
            │   │   ├── autosave.py
            │   │   ├── brushes_migrate_json.py
            │   │   ├── brush.py
            │   │   ├── cache.py
            │   │   ├── color.py
            │   │   ├── command.py
            │   │   ├── document.py
            │   │   ├── errors.py
            │   │   ├── fileutils.py
            │   │   ├── gettext.py
            │   │   ├── glib.py
            │   │   ├── helpers.py
            │   │   ├── i18n.py
            │   │   ├── idletask.py
            │   │   ├── __init__.py
            │   │   ├── layer
            │   │   │   ├── core.py
            │   │   │   ├── data.py
            │   │   │   ├── error.py
            │   │   │   ├── group.py
            │   │   │   ├── __init__.py
            │   │   │   ├── test.py
            │   │   │   └── tree.py
            │   │   ├── meta.py
            │   │   ├── modes.py
            │   │   ├── mypaintlib.py
            │   │   ├── observable.py
            │   │   ├── palette.py
            │   │   ├── pixbuf.py
            │   │   ├── pixbufsurface.py
            │   │   ├── strokemap.py
            │   │   ├── stroke.py
            │   │   ├── surface.py
            │   │   ├── tiledsurface.py
            │   │   └── xml.py
            │   ├── palettes
            │   │   ├── All_color_choice.gpl
            │   │   ├── Browns_And_Yellows.gpl
            │   │   ├── Classic_4.gpl
            │   │   ├── Cool_Colors.gpl
            │   │   ├── Creative_Commons.gpl
            │   │   ├── GIMP_Default.gpl
            │   │   ├── Gnome_Palette.gpl
            │   │   ├── Greys16.gpl
            │   │   ├── Muted.gpl
            │   │   ├── MyPaint_Default.gpl
            │   │   ├── Pastels.gpl
            │   │   ├── Reds_And_Purples.gpl
            │   │   ├── Tango_Palette.gpl
            │   │   ├── Ubuntu.gpl
            │   │   ├── Visibone_2.gpl
            │   │   ├── Visibone.gpl
            │   │   ├── Warm_Colors.gpl
            │   │   ├── Watercolor.gpl
            │   │   └── Zenburn.gpl
            │   └── pixmaps
            │       ├── crosshair_closed.png
            │       ├── cursor_add.png
            │       ├── cursor_arrow_forbidden.png
            │       ├── cursor_arrow.png
            │       ├── cursor_color_picker.png
            │       ├── cursor_crosshair_open.png
            │       ├── cursor_crosshair_precise_open.png
            │       ├── cursor_forbidden_everywhere.png
            │       ├── cursor_hand_closed.png
            │       ├── cursor_hand_open.png
            │       ├── cursor_move_ne_sw.png
            │       ├── cursor_move_n_s.png
            │       ├── cursor_move_nw_se.png
            │       ├── cursor_move_w_e.png
            │       ├── cursor_pencil.png
            │       ├── cursor_remove.png
            │       ├── layer_duplicate.png
            │       ├── layers.png
            │       ├── mypaint_logo.png
            │       └── plus.png
            └── thumbnailers
                └── mypaint-ora.thumbnailer

and a search to verify the $pkgdir references are removed from the *.pcs:

 _____/[shadowkyogre@AlpheTerra|2015-10-02 17:30:16]\______________)
(_/[/t/p/mypaint-git]\_____________/(($)>--< ag '/tmp/' pkg
pkg/mypaint-git/usr/share/mypaint/lib/glib.py
134:    >>> uri.endswith('/tmp/smile%20(%E2%98%BA).ora')
#^this is okay since that's originally part of the source code
@metakermit

This comment has been minimized.

Copy link

@metakermit metakermit commented Jan 30, 2016

Hey, anyone know how to update the MyPaint version on Homebrew to 1.2? It's stuck on 1.0 right now (from Homebrew/homebrew-cask#8954 made by @puterleat ). Is that maintainer still around and willing to fix this? Or maybe point me in the direction of how to do it 😊 I tried to just extract some sort of .pkg from the MacPorts project to replace it on Homebrew, but I didn't find a way to do it.

I know that the official Mac distribution platform for MyPaint is MacPorts, but I use Homebrew for installing most other open source apps in OS X (GIMP, LibreOffice etc.) and it's a bit tricky to get both working side-by-side. I'd love to have recent MyPaint versions on Homebrew too.

@achadwick

This comment has been minimized.

Copy link
Member

@achadwick achadwick commented Mar 29, 2016

@vitorgalvao, @puterleat:
Any possibility the Homebrew Cask MyPaint could be updated? 1.2.0 is out, 1.2.1 will be released before too long (hopefully). Feel free to @-message me from over in /caskroom if you have any technical questions about the new release.

@achadwick

This comment has been minimized.

Copy link
Member

@achadwick achadwick commented Mar 29, 2016

I have literally no idea what the procedure is for releasing a new Cask port, and no ability to get it done at my end. Is anyone willing to step in and be the maintainer?

@vitorgalvao

This comment has been minimized.

Copy link

@vitorgalvao vitorgalvao commented Mar 29, 2016

@achadwick Contributing is incredibly simple. After some quick initial setup, it can be as simple as cask-repair --cask-version {{new_version}} --blind-submit mypaint.

Since you have Github-powered releases, we’ll be able to more often see when your app has been updated (already made the necessary changes).

However, a problem remains. I no longer see a way to download OS X binaries from your website. I see a link to MacPorts, and that’s it. We need a download URL to hook to, and if it isn’t hosted on the same domain as the website, we need said URL to be present somewhere official and easily accessible, so users can easily audit it’s authenticity.

To be clear, we don’t compile software (we homebrew-cask can’t, only homebrew can), we only grab it and install it, so without a ready-built binary, we can’t provide a cask.

@achadwick

This comment has been minimized.

Copy link
Member

@achadwick achadwick commented Mar 29, 2016

Okay, so the distribution announcement mechanism looks simple enough :D

However I cannot personally build for OSX (lack of time and lack of hardware). Somebody will need to do that if this issue is to be progressed 😞

ShadowKyogre added a commit to ShadowKyogre/mypaint.pbd.aur that referenced this issue Aug 2, 2016
install-sandbox option of scons to make sure the
${pkgdir} references don't exist in the first place.

See mypaint/mypaint#346 (comment)
and onward for more information.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
8 participants
You can’t perform that action at this time.