mypaint / libmypaint

libmypaint, a.k.a. "brushlib", is a library for making brushstrokes which is used by MyPaint and other projects.
http://mypaint.org
Other
310 stars 86 forks source link

Standardize libmypaint build for both GIMP and MyPaint (use_sharedlib by default) #28

Closed achadwick closed 8 years ago

achadwick commented 8 years ago

Once libmypaint has split off from MyPaint properly (mypaint/mypaint#535), we should concentrate on standardizing a shared-lib build for both GIMP and MyPaint. We should standardize for packaged distros like Debian or Arch or Fedora where users might be installing GIMP and MyPaint into the same prefix, of course ☺

Jehan commented 8 years ago

Does GIMP require introspection? Would MyPaint one day?

Current GIMP usage of libmypaint is full-C. We don't need introspection (if not mistaken). Will GIMP need it one day though? No idea…

Jehan commented 8 years ago

For info, as of today, we don't need libmypaint-gegl anymore. I quote Daniel Sabo, who made the change, from our IRC channel: "the -gegl get replaced by GimpMybrushSurface". There has been a commit which changed the dependency into simply libmypaint in our configure script. Unless this changes again, it seems there is no need to enable_gegl as a default (at least not for GIMP sake, but I think it still makes sense for other apps).

hartwork commented 8 years ago

it seems there is no need to enable_gegl as a default (at least not for GIMP sake, but I think it still makes sense for other apps).

The configure script of Gimp in Git refuses to continue if libmypaint-gegl is not found last time I checked.

I would also like to +1 for creation of .so files. Without that, one needs to recompile all of Gimp on each update of libmypaint.

achadwick commented 8 years ago

@hartwork Both @Danielsabo and @Jehan have confirmed it isn't needed any more downstream in pull #31. I'm going to merge that and start taking the first steps toward a standardized shared-lib config for both mypaint and libmypaint.

achadwick commented 8 years ago

Reopening, since the build broke.

achadwick commented 8 years ago

GOBJECT_INTROSPECTION_CHECK() defaults to --enable-introspection=auto, meaning the default builds are unpredictable and depend on what users have installed. This makes things like our Debian build fail depending on whether the user has libgirepository1.0-dev installed.

If it's OK with everyone, I'm reopening this while I fiddle with the docs to make gobject-introspection part of the standard setup. It's already being tested under Windows/MSYS2 Appveyor, and it's looking fine there ☺