Opened 6 years ago

Closed 3 years ago

#48278 closed enhancement (fixed)

MyPaint-devel: build brush engine library with optional GEGL support, libmypaint subport

Reported by: dbevans (David B. Evans) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: su-v
Port: MyPaint-devel

Description

Current versions of gimp2-devel have an optional dependency on MyPaint with GEGL support enabled to allow use of MyPaint brushes in GIMP. The pkgconfig requirement is

libmypaint-gegl >= 1.1

It appears this requires GEGL >= 0.3 so building with this functionality will require babl-devel, gegl-devel as well as gobject-introspection. See brushlib/README.md for details.

Change History (10)

comment:1 Changed 6 years ago by dbevans (David B. Evans)

Summary: MyPaint-devel: build brush engine library with optional GEGL supportMyPaint-devel: build brush engine library with optional GEGL support, libpaint subport

Since libmypaint is "a self-contained C library that is isolated from MyPaint" perhaps a subport that builds just this library would be appropriate.

comment:2 Changed 6 years ago by dbevans (David B. Evans)

Summary: MyPaint-devel: build brush engine library with optional GEGL support, libpaint subportMyPaint-devel: build brush engine library with optional GEGL support, libmypaint subport

comment:3 Changed 6 years ago by ryandesign (Ryan Schmidt)

I did try to make a libmypaint port at one point, however mypaint and libmypaint appear to be in rapid concurrent development, since several years; they probably need to be updated simultaneously. There are no tags or releases for libmypaint, so until such a time it would be a libmypaint-devel port.

I'm also not sure how much effort it would be to build libmypaint separately, and then tell mypaint to use a separate libmypaint rather than its bundled copy. I don't remember if I had looked into these issues already.

comment:4 in reply to:  3 Changed 6 years ago by ryandesign (Ryan Schmidt)

Replying to ryandesign@…:

There are no tags or releases for libmypaint

On that topic, I filed https://github.com/mypaint/libmypaint/issues/22

comment:5 in reply to:  3 Changed 6 years ago by dbevans (David B. Evans)

Replying to ryandesign@…:

I did try to make a libmypaint port at one point, however mypaint and libmypaint appear to be in rapid concurrent development, since several years; they probably need to be updated simultaneously. There are no tags or releases for libmypaint, so until such a time it would be a libmypaint-devel port.

I'm also not sure how much effort it would be to build libmypaint separately, and then tell mypaint to use a separate libmypaint rather than its bundled copy. I don't remember if I had looked into these issues already.

No need to waste a lot of time on this. Just thought there might be a market for a libmypaint subport for people who want to use the library from another app without necessarily having to install MyPaint itself.

The main thrust of this ticket is to enable GEGL support in libmypaint in order to be able to test its use in the GIMP devel ports. In this case, it might actually be useful to have the app as well so as to be able to compare the functionality in MyPaint with that in GIMP.

comment:6 Changed 5 years ago by su-v

Cc: suv-sf@… added

Cc Me!

comment:7 Changed 5 years ago by dbevans (David B. Evans)

The situation upstream has changed recently. Rather than having an OPTIONAL pkg-config dependency on libmypaint-gegl >=1.1, git master since about 12/21/2015 now has a MANDATORY dependency on libmypaint >= 1.1. So MyPaint-devel (and MyPaint if it would build), theoretically can be used now, as is, to satisfy this dependency. Practically, however, this reveals another issue. See #50275.

I still think, however, it would be useful to provide the libmypaint-gegl brush library as part of this port. Upstream has recently begun a gegl 0.3 release series (parallel installable with gegl 0.2 as used by stable gimp2) that should make it more convenient to provide the required gegl dependency and I have ported it as gegl-0.3.

Again making a separate subport may not be worth the effort but building the additional library would be nice. Let me know if there's any hope. Thanks.

comment:8 Changed 5 years ago by ryandesign (Ryan Schmidt)

Looks like we will now need to have a libmypaint-devel (and later a libmypaint) subport, as the library is no longer built as part of mypaint; see https://github.com/mypaint/mypaint/issues/683

comment:9 Changed 3 years ago by dbevans (David B. Evans)

This library is now released separatedly from MyPaint as stable version 1.3.0 and is a required dependency for GIMP 2.10.0, now released.

Have added a PR for a separate port that works well with the GIMP upgrade and also one for GIMP specific brush data maintained by the GIMP developers themselves.

See https://github.com/macports/macports-ports/pull/1726 and https://github.com/macports/macports-ports/pull/1728

comment:10 Changed 3 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed

In 5829521e7e997a835151f26957be2e2b396a9280/macports-ports (master):

libmypaint: new port

Previously known as brushlib, now split off as a separate
project in mypaint github repo. Necessary to build gimp2 2.10.0.

Currently conflicts with both MyPaint and MyPaint-devel.
Presumably will be a dependency of MyPaint in a future 1.3.0 stable release.

Closes #48278

Note: See TracTickets for help on using tickets.