Compilar plugins de Gimp

Hace tiempo me encontré un plugin muy bueno: David's Batch Processor.Algún buen samaritano había compilado la versión 1.1.3 para Windows, asi que no me preocupé por compilarlo.Pero con el uso, noté le faltaba algo que ya estaba en la versión 1.1.6 y que yo quería. Asi que me animé a compilar la versión 1.1.8 (y luego también la 1.1.9).Para compilar un plugin de GIMP, se requiere:

  • Un compilador (ej: gcc)
  • Las librerías de desarrollo de GTK+.
  • Las librerías de desarrollo de GIMP.

Linux

Para compilarlo en Linux fue trivial. Ya tenía instalado el compilador y las librerías de GTK+, asi que sólo tuve que:

  1. Instalar las librerías de gimp-dev (ya sea con el actualizador GUI o desde línea de comando, con yum).
  2. Bajar y descomprimir los archivos fuentes.
  3. Abrir una terminal y hacer un make install.

Windows

Desde Windows, a menos de que tengas bien instalado y configurado el autotools, requiere algunos pasos más.

Descargar requerimientos

Primero, usé el Code::blocks con el compilador mingw (en la página de descarga, hay una versión que ya viene con mingw).

Para el GTK+, se puede descargar un paquete con todo incluido (al menos necesitan GTK y Glib; dependiendo del plugin, puede tener dependencias adicionales, como Pango, Cairo, o ATK). Luego hay que descomprimir todo y ponerlo en una carpeta, por ejemplo: "C:\GTK"

Las librerías de gimp-dev para windows, las provee Tor Lillqvist.

Configurar Code::blocks

Ahora es cosa de preparar a Code::blocks para que sepa dónde están todas las librerías.

Primero nos vamos a [File] -> [New] -> [Project..]

Y en la siguiente ventana..

Seleccionamos {GTK+ Project} y hacemos click en [Go]. Esto ya nos dejará las librerías de GTK configuradas.

Por facilidad, seleccioné el nombre y ruta de proyecto para que me me generara el proyecto en el mismo lugar en donde ya tenía yo los archivos del plugin:

La siguiente ventana nos pide la ubicación en donde instalamos GTK+.

Y luego nos preguta si queremos crear "targets" de Debug y Release. Lo dejamos todo en sus valores default.

El "template" nos crea automáticamente un archivo main.c, el cual debemos eliminar.

Y luego agregamos todos los archivos *.cc y *.h a los 2 targets.

Y ya tenemos todo el código fuente en el proyecto.

Luego hacemos click-derecho en el proyecto y seleccionamos [Build Options]

En la pestaña de [Linker settings] hay que agregar las siguientes librerías:gtk-win32-2.0gobject-2.0glib-2.0gimp-2.0pango-1.0intlgimpui-2.0

gimpbase-2.0

gimpwidgets-2.0

gdk-win32-2.0

Luego agregamos los directorios en donde el compilador debe buscar los encabezados:

Y luego los directorios en donde debe buscar las librerías:

Compilar e instalar

Y ahora estamos listos para compilar.

El ejecutable lo colocamos en:

C:\Documents and Settings\USUARIO\.gimp-2.6\plug-ins (En Windows 7 la ruta es: C:\Users\USUARIO\.gimp-2.6\plug-ins)

..y la próxima vez que inicie, cargará el plugin.

Extras