[gimp/meson: 45/128] Add some plugins



commit fd95053ac1e05054fd165e71db754108bd16824d
Author: Félix Piédallu <felix piedallu me>
Date:   Sat Nov 18 14:53:50 2017 +0100

    Add some plugins

 meson.build                            |    5 +-
 meson_todo.md                          |    6 +-
 plug-ins/gimpressionist/meson.build    |   44 +++++++++++++++
 plug-ins/gradient-flare/meson.build    |   37 ++++++++++++
 plug-ins/help-browser/meson.build      |   26 +++++++++
 plug-ins/help/meson.build              |   30 ++++++++++
 plug-ins/ifs-compose/meson.build       |   24 ++++++++
 plug-ins/imagemap/meson.build          |   95 ++++++++++++++++++++++++++++++++
 plug-ins/lighting/meson.build          |   28 +++++++++
 plug-ins/map-object/meson.build        |   29 ++++++++++
 plug-ins/metadata/meson.build          |   46 +++++++++++++++
 plug-ins/pagecurl/meson.build          |   58 +++++++++++++++++++
 plug-ins/pagecurl/pagecurl.c           |    5 +-
 plug-ins/print/meson.build             |   29 ++++++++++
 plug-ins/screenshot/meson.build        |   28 +++++++++
 plug-ins/selection-to-path/meson.build |   41 ++++++++++++++
 plug-ins/twain/meson.build             |   49 ++++++++++++++++
 plug-ins/ui/meson.build                |   13 ++++
 18 files changed, 585 insertions(+), 8 deletions(-)
---
diff --git a/meson.build b/meson.build
index 81f5111..41213e8 100644
--- a/meson.build
+++ b/meson.build
@@ -274,6 +274,7 @@ endif
 # OpenMP
 conf.set10('ENABLE_MP', get_option('enable-mp'))
 
+screenshot_deps = []
 
 # Check if X11
 enable_doc_shooter = false
@@ -285,9 +286,6 @@ if gtk2.get_pkgconfig_variable('target') == 'x11'
 
   x11 = dependency('x11')
 
-  # screenshot_deps += x11
-
-
   # Test for Xmu
   xmu = dependency('xmu')
   xt  = dependency('xt')
@@ -305,7 +303,6 @@ if gtk2.get_pkgconfig_variable('target') == 'x11'
   if xext.found()
     if cc.has_header('X11/extensions/shape.h', dependencies: xext)
       if cc.has_function('XShapeGetRectangles', dependencies: xext)
-        # screenshot_deps += x11
         have_libxext = true
         xext = [ x11, xext ]
       endif
diff --git a/meson_todo.md b/meson_todo.md
index b891c96..0559e1e 100644
--- a/meson_todo.md
+++ b/meson_todo.md
@@ -16,9 +16,7 @@ Meson Port
     * tmpl
   * tools
 * icons
-  * Legacy
   * Symbolic-Inverted
-* modules
 * plug-ins
   * common
   * file-bmp
@@ -67,5 +65,7 @@ Meson Port
     * tinyscheme
   * selection-to-path
   * twain
-  * ui
 * tools/pdbgen
+
+
+Windres generator for plugins *.rc
diff --git a/plug-ins/gimpressionist/meson.build b/plug-ins/gimpressionist/meson.build
index e69de29..3456bd1 100644
--- a/plug-ins/gimpressionist/meson.build
+++ b/plug-ins/gimpressionist/meson.build
@@ -0,0 +1,44 @@
+# TODO gimpressionist.rc.o
+
+gimpressionist = executable('gimpressionist',
+  [
+    'brush.c',
+    'color.c',
+    'general.c',
+    'gimp.c',
+    'gimpressionist.c',
+    'globals.c',
+    'orientation.c',
+    'orientmap.c',
+    'paper.c',
+    'placement.c',
+    'plasma.c',
+    'ppmtool.c',
+    'presets.c',
+    'preview.c',
+    'repaint.c',
+    'size.c',
+    'sizemap.c',
+    'utils.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  c_args: [
+    '-DDEFAULTPATH="' + join_paths('~/', gimpdir, 'gimpressionist')
+                + ':' + join_paths(gimpdatadir,   'gimpressionist')
+                + '"',
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/gradient-flare/meson.build b/plug-ins/gradient-flare/meson.build
index e69de29..fa7d97d 100644
--- a/plug-ins/gradient-flare/meson.build
+++ b/plug-ins/gradient-flare/meson.build
@@ -0,0 +1,37 @@
+# TODO gradient-flare.rc.o
+
+gradient_flare = executable('gradient-flare',
+  [
+    'gradient-flare.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  c_args: [
+    '-DDATADIR="' + gimpdatadir + '"',
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
+
+install_data([
+    join_paths('flares', 'Bright_Star'),
+    join_paths('flares', 'Classic'),
+    join_paths('flares', 'Default'),
+    join_paths('flares', 'Distant_Sun'),
+    join_paths('flares', 'GFlare_101'),
+    join_paths('flares', 'GFlare_102'),
+    join_paths('flares', 'Hidden_Planet'),
+  ],
+  install_dir: join_paths(gimpdatadir, 'gflare'),
+)
diff --git a/plug-ins/help-browser/meson.build b/plug-ins/help-browser/meson.build
index e69de29..6a5aa89 100644
--- a/plug-ins/help-browser/meson.build
+++ b/plug-ins/help-browser/meson.build
@@ -0,0 +1,26 @@
+# TODO help-browser.rc.o
+
+help_browser = executable('help-browser',
+  [
+    'dialog.c',
+    'gimpthrobber.c',
+    'gimpthrobberaction.c',
+    'help-browser.c',
+    'uri.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl, gio, webkit,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/help/meson.build b/plug-ins/help/meson.build
index e69de29..f575eb7 100644
--- a/plug-ins/help/meson.build
+++ b/plug-ins/help/meson.build
@@ -0,0 +1,30 @@
+# TODO help.rc.o
+
+help = executable('help',
+  [
+    'gimp-help-lookup.c',
+    'gimphelp.c',
+    'gimphelpdomain.c',
+    'gimphelpitem.c',
+    'gimphelplocale.c',
+    'gimphelpprogress.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl, cairo, gio, gdk_pixbuf,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  c_args: [
+    '-DDATADIR="' + gimpdatadir + '"',
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/ifs-compose/meson.build b/plug-ins/ifs-compose/meson.build
index e69de29..b512702 100644
--- a/plug-ins/ifs-compose/meson.build
+++ b/plug-ins/ifs-compose/meson.build
@@ -0,0 +1,24 @@
+# TODO ifs-compose.rc.o
+
+ifs_compose = executable('if-compose',
+  [
+    'ifs-compose-storage.c',
+    'ifs-compose-utils.c',
+    'ifs-compose.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/imagemap/meson.build b/plug-ins/imagemap/meson.build
index e69de29..da9293e 100644
--- a/plug-ins/imagemap/meson.build
+++ b/plug-ins/imagemap/meson.build
@@ -0,0 +1,95 @@
+# TODO imagemap.rc.o
+
+imagemap = executable('imagemap',
+  [
+    'imap_about.c',
+    'imap_browse.c',
+    'imap_cern_lex.c',
+    'imap_cern_parse.c',
+    'imap_circle.c',
+    'imap_cmd_clear.c',
+    'imap_cmd_copy_object.c',
+    'imap_cmd_copy.c',
+    'imap_cmd_create.c',
+    'imap_cmd_cut_object.c',
+    'imap_cmd_cut.c',
+    'imap_cmd_delete_point.c',
+    'imap_cmd_delete.c',
+    'imap_cmd_edit_object.c',
+    'imap_cmd_gimp_guides.c',
+    'imap_cmd_guides.c',
+    'imap_cmd_insert_point.c',
+    'imap_cmd_move_down.c',
+    'imap_cmd_move_sash.c',
+    'imap_cmd_move_selected.c',
+    'imap_cmd_move_to_front.c',
+    'imap_cmd_move_up.c',
+    'imap_cmd_move.c',
+    'imap_cmd_object_down.c',
+    'imap_cmd_object_move.c',
+    'imap_cmd_object_up.c',
+    'imap_cmd_paste.c',
+    'imap_cmd_select_all.c',
+    'imap_cmd_select_next.c',
+    'imap_cmd_select_prev.c',
+    'imap_cmd_select_region.c',
+    'imap_cmd_select.c',
+    'imap_cmd_send_to_back.c',
+    'imap_cmd_unselect_all.c',
+    'imap_cmd_unselect.c',
+    'imap_command.c',
+    'imap_csim_lex.c',
+    'imap_csim_parse.c',
+    'imap_default_dialog.c',
+    'imap_edit_area_info.c',
+    'imap_file.c',
+    'imap_grid.c',
+    'imap_main.c',
+    'imap_menu_funcs.c',
+    'imap_menu.c',
+    'imap_misc.c',
+    'imap_mru.c',
+    'imap_ncsa_lex.c',
+    'imap_ncsa_parse.c',
+    'imap_object_popup.c',
+    'imap_object.c',
+    'imap_polygon.c',
+    'imap_preferences.c',
+    'imap_preview.c',
+    'imap_rectangle.c',
+    'imap_selection.c',
+    'imap_settings.c',
+    'imap_source.c',
+    'imap_statusbar.c',
+    'imap_stock.c',
+    'imap_string.c',
+    'imap_table.c',
+    'imap_taglist.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
+
+# TODO flex / bison re-generators
+custom_target('rebuild-parsers',
+  input : [],
+  output: [ 'rebuild-parsers', ],
+  command: [
+
+  ],
+  build_by_default: false,
+  build_always: true,
+)
diff --git a/plug-ins/lighting/meson.build b/plug-ins/lighting/meson.build
index e69de29..f90fbf4 100644
--- a/plug-ins/lighting/meson.build
+++ b/plug-ins/lighting/meson.build
@@ -0,0 +1,28 @@
+# TODO lighting.rc.o
+
+lighting = executable('lighting',
+  [
+    'lighting-apply.c',
+    'lighting-image.c',
+    'lighting-main.c',
+    'lighting-preview.c',
+    'lighting-shade.c',
+    'lighting-stock.c',
+    'lighting-ui.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/map-object/meson.build b/plug-ins/map-object/meson.build
index e69de29..1264798 100644
--- a/plug-ins/map-object/meson.build
+++ b/plug-ins/map-object/meson.build
@@ -0,0 +1,29 @@
+# TODO map-object.rc.o
+
+map_object = executable('map-object',
+  [
+    'arcball.c',
+    'map-object-apply.c',
+    'map-object-image.c',
+    'map-object-main.c',
+    'map-object-preview.c',
+    'map-object-shade.c',
+    'map-object-stock.c',
+    'map-object-ui.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/metadata/meson.build b/plug-ins/metadata/meson.build
index e69de29..1747744 100644
--- a/plug-ins/metadata/meson.build
+++ b/plug-ins/metadata/meson.build
@@ -0,0 +1,46 @@
+# TODO metadata-editor.rc.o
+# TODO metadata-viewer.rc.o
+
+metadata_editor = executable('metadata-editor',
+  [
+    'metadata-editor.c',
+    'metadata-impexp.c',
+    'metadata-xml.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl, gexiv2,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
+
+metadata_viewer = executable('metadata-viewer',
+  [
+    'metadata-viewer.c',
+  ],
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl, gexiv2,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/pagecurl/meson.build b/plug-ins/pagecurl/meson.build
index e69de29..8d3a474 100644
--- a/plug-ins/pagecurl/meson.build
+++ b/plug-ins/pagecurl/meson.build
@@ -0,0 +1,58 @@
+pagecurl_icons_images = [
+  'curl0.png',
+  'curl1.png',
+  'curl2.png',
+  'curl3.png',
+  'curl4.png',
+  'curl5.png',
+  'curl6.png',
+  'curl7.png',
+]
+resourcename = 'pagecurl-icons'
+xml_filename = resourcename + '.gresource.xml'
+xml_content  = '<?xml version="1.0" encoding="UTF-8"?>\n'
+xml_content += '<gresources>\n'
+xml_content += '  <gresource prefix="/org/gimp/icons">\n'
+foreach file : pagecurl_icons_images
+  xml_content+='    <file preprocess="to-pixdata">'+ file +'</file>\n'
+endforeach
+xml_content += '  </gresource>\n'
+xml_content += '</gresources>\n'
+run_command('bash', '-c',
+  'cat <<EOS > '+ join_paths(meson.current_source_dir(), xml_filename) +'\n'
+  + xml_content + '\nEOS',
+)
+pagecurl_icons_sources = gnome.compile_resources(
+  resourcename,
+  xml_filename,
+  c_name: resourcename.underscorify(),
+)
+
+
+plugin_pagecurl_sources = [
+  'pagecurl.c',
+  pagecurl_icons_sources,
+]
+# TODO pagecurl.rc.o
+
+pagecurl = executable('pagecurl',
+  plugin_pagecurl_sources,
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  c_args: [
+    '-DMESON_BUILD',
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/pagecurl/pagecurl.c b/plug-ins/pagecurl/pagecurl.c
index d1c3cd2..e08c4b4 100644
--- a/plug-ins/pagecurl/pagecurl.c
+++ b/plug-ins/pagecurl/pagecurl.c
@@ -47,8 +47,11 @@
 
 #include "libgimp/stdplugins-intl.h"
 
+#ifdef MESON_BUILD
+#include "pagecurl-icons.h"
+#else
 #include "pagecurl-icons.c"
-
+#endif
 
 #define PLUG_IN_PROC    "plug-in-pagecurl"
 #define PLUG_IN_BINARY  "pagecurl"
diff --git a/plug-ins/print/meson.build b/plug-ins/print/meson.build
index e69de29..9d5d664 100644
--- a/plug-ins/print/meson.build
+++ b/plug-ins/print/meson.build
@@ -0,0 +1,29 @@
+plugin_print_sources = [
+  'print-draw-page.c',
+  'print-page-layout.c',
+  'print-page-setup.c',
+  'print-preview.c',
+  'print-settings.c',
+  'print-utils.c',
+  'print.c',
+]
+# TODO print.rc.o
+print = executable('print',
+  plugin_print_sources,
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl,
+    x11, xmu, xext, xfixes,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/screenshot/meson.build b/plug-ins/screenshot/meson.build
index e69de29..39a50eb 100644
--- a/plug-ins/screenshot/meson.build
+++ b/plug-ins/screenshot/meson.build
@@ -0,0 +1,28 @@
+plugin_screenshot_sources = [
+  'screenshot.c',
+  'screenshot-gnome-shell.c',
+  'screenshot-osx.c',
+  'screenshot-x11.c',
+  # 'screenshot-win32.rc',
+  'screenshot-win32.c',
+]
+
+screenshot = executable('screenshot',
+  plugin_screenshot_sources,
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    gtk2, gegl,
+    x11, xmu, xext, xfixes,
+  ],
+  link_with: [
+    libgimp,
+    libgimpbase,
+    libgimpcolor,
+    libgimpconfig,
+    libgimpmath,
+    libgimpui,
+    libgimpwidgets,
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/selection-to-path/meson.build b/plug-ins/selection-to-path/meson.build
index e69de29..451330e 100644
--- a/plug-ins/selection-to-path/meson.build
+++ b/plug-ins/selection-to-path/meson.build
@@ -0,0 +1,41 @@
+
+plugin_selection_to_path_sources = [
+  'curve.c',
+  'edge.c',
+  'fit.c',
+  'math.c',
+  'pxl-outline.c',
+  'selection-to-path-dialog.c',
+  'selection-to-path.c',
+  'spline.c',
+  'vector.c',
+]
+plugin_selection_to_path_link = [
+  libgimp,
+  libgimpbase,
+  libgimpcolor,
+  libgimpconfig,
+  libgimpmath,
+  libgimpui,
+  libgimpwidgets,
+]
+plugin_selection_to_path_deps = [
+  gegl, gtk2,
+]
+plugin_selection_to_path_lflags = []
+if os_win32
+  plugin_selection_to_path_lflags += '-mwindows'
+else
+  plugin_selection_to_path_deps += math
+endif
+
+
+selection_to_path = executable('selection-to-path',
+  plugin_selection_to_path_sources,
+  include_directories: [ rootInclude, ],
+  link_with:    plugin_selection_to_path_link,
+  link_args:    plugin_selection_to_path_lflags,
+  dependencies: plugin_selection_to_path_deps,
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/twain/meson.build b/plug-ins/twain/meson.build
index e69de29..a1ab40e 100644
--- a/plug-ins/twain/meson.build
+++ b/plug-ins/twain/meson.build
@@ -0,0 +1,49 @@
+# Win32 specific
+plugin_twain_sources = [
+  'tw_func.c',
+  'tw_util.c',
+  'tw_win.c',
+  'twain.c',
+]
+# if HAVE_WINDRES
+#   GIMPPLUGINRC = $(top_builddir)/build/windows/gimp-plug-ins.rc
+#
+#   # `windres` seems a very stupid tool and it breaks with double shlashes
+#   # in parameter paths. Strengthen the rule a little.
+#
+#   twain_rc_name = 'twain.rc'
+#   twain_rc = custom_target(twain_rc_name + '.o',
+#     input : [],
+#     output: [ twain_rc_name + '.o', ],
+#     command: [
+#       '$(WINDRES)',
+#       '--define', 'ORIGINALFILENAME_STR="$*$(EXEEXT)"'
+#       '--define', 'INTERNALNAME_STR="$*"'
+#       '--define', 'TOP_SRCDIR="`echo $(top_srcdir) | sed 's*//*/*'`"'
+#       '-I"`echo', '$(top_srcdir)/app | sed 's%/\+%/%'`"'
+#       '-I"`echo', '$(top_builddir)/app | sed 's%/\+%/%'`"'
+#       '$(GIMPPLUGINRC) $@
+#     ],
+#   )
+#
+# endif
+
+twain = executable('twain',
+  plugin_twain_sources,
+  include_directories: [ rootInclude, ],
+  dependencies: [
+    glib, gtk2, gegl,
+  ],
+  link_with: [
+    libgimp,
+    libgimpcolor,
+    libgimpbase,
+  ],
+  link_args: [
+    '-lrt',
+    '-luser32',
+    '-mwindows',
+  ],
+  install: true,
+  install_dir: join_paths(gimpplugindir, 'plug-ins'),
+)
diff --git a/plug-ins/ui/meson.build b/plug-ins/ui/meson.build
index e69de29..ad86dab 100644
--- a/plug-ins/ui/meson.build
+++ b/plug-ins/ui/meson.build
@@ -0,0 +1,13 @@
+plugin_ui = [
+  'plug-in-file-gif.ui',
+  'plug-in-file-png.ui',
+  'plug-in-file-raw.ui',
+  'plug-in-file-tiff.ui',
+  'plug-in-metadata-editor-calendar.ui',
+  'plug-in-metadata-editor.ui',
+  'plug-in-metadata-viewer.ui',
+]
+
+install_data(plugin_ui,
+  install_dir: join_paths(gimpdatadir, 'ui', 'plug-ins'),
+)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]