From 466509b8fc225db0e37021f6e71d0d7648ffcf83 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Sat, 7 Mar 2020 07:59:13 -0500
Subject: meson build (subproject imageformats pinned 7.0.0)

- subprojects with "manual" git download where
  upstream git lacks meson.build
- imageformats git tag (version) pinned, else
  build fails
---
 .gitignore                           |  5 +-
 makefile                             | 29 +++++++++---
 org/spine_build_scaffold.org         | 91 +++++++++++++++++++++++-------------
 subprojects/D-YAML.wrap              |  4 --
 subprojects/d2sqlite3.dub.sdl        | 29 ++++++++++++
 subprojects/d2sqlite3.meson.build    | 48 +++++++++++++++++++
 subprojects/d2sqlite3.wrap           |  4 --
 subprojects/d2sqlite3/.gitignore     | 10 ----
 subprojects/d2sqlite3/dub.sdl        | 29 ------------
 subprojects/d2sqlite3/meson.build    | 48 -------------------
 subprojects/dyaml/dub.json           | 25 ----------
 subprojects/dyaml/meson.build        | 70 ---------------------------
 subprojects/imageformats.dub.sdl     |  7 +++
 subprojects/imageformats.meson.build | 40 ++++++++++++++++
 subprojects/imageformats.wrap        |  4 --
 subprojects/imageformats/dub.sdl     |  7 ---
 subprojects/imageformats/meson.build | 40 ----------------
 subprojects/tinyendian/.gitignore    |  4 --
 subprojects/tinyendian/dub.json      | 16 -------
 subprojects/tinyendian/meson.build   | 41 ----------------
 20 files changed, 208 insertions(+), 343 deletions(-)
 delete mode 100644 subprojects/D-YAML.wrap
 create mode 100644 subprojects/d2sqlite3.dub.sdl
 create mode 100644 subprojects/d2sqlite3.meson.build
 delete mode 100644 subprojects/d2sqlite3.wrap
 delete mode 100644 subprojects/d2sqlite3/.gitignore
 delete mode 100644 subprojects/d2sqlite3/dub.sdl
 delete mode 100644 subprojects/d2sqlite3/meson.build
 delete mode 100644 subprojects/dyaml/dub.json
 delete mode 100644 subprojects/dyaml/meson.build
 create mode 100644 subprojects/imageformats.dub.sdl
 create mode 100644 subprojects/imageformats.meson.build
 delete mode 100644 subprojects/imageformats.wrap
 delete mode 100644 subprojects/imageformats/dub.sdl
 delete mode 100644 subprojects/imageformats/meson.build
 delete mode 100644 subprojects/tinyendian/.gitignore
 delete mode 100644 subprojects/tinyendian/dub.json
 delete mode 100644 subprojects/tinyendian/meson.build

diff --git a/.gitignore b/.gitignore
index 32de0fa..a3a6702 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,9 +34,10 @@
 !**/*.ssm
 !subprojects
 !subprojects/*.wrap
+!subprojects/*.meson.build
 # !subprojects/dyaml
-!subprojects/d2sqlite3
-!subprojects/imageformats
+# !subprojects/d2sqlite3
+# !subprojects/imageformats
 # !subprojects/tinyendian
 subprojects/*/.gitignore
 !pod.manifest
diff --git a/makefile b/makefile
index 679f661..ee8acba 100644
--- a/makefile
+++ b/makefile
@@ -91,18 +91,33 @@ markup_dir_samples:
 all: dmd ldc gdc
 all_ver: dmd_ver ldc_ver gdc_ver
 all_debug: dmd_debug gdc_debug ldc_debug
-meson: dub_upgrade
-	rm -r build; mkdir build
-	meson --buildtype=debugoptimized build
-	ninja -C build
-	notify-send -t 0 'D meson build ldc compiled test release executable ready' 'spine'
-mesonredo:
+meson_clean_build_dir:
 	rm -r build; mkdir build
+meson_get_subprojects: meson_clean_build_dir
+	rm -rf subprojects/d2sqlite3; rm -rf subprojects/imageformats
+	rm -rf subprojects/dyaml; rm -rf subprojects/tinyendian
+	git clone https://github.com/biozic/d2sqlite3.git subprojects/d2sqlite3
+	git clone https://github.com/lgvz/imageformats.git subprojects/imageformats
+	cd subprojects/d2sqlite3; \
+	git checkout -b add_meson_build_patch; \
+	cp ../d2sqlite3.meson.build meson.build; \
+	git add . ; git commit -m"project meson.build added"; \
+	cd ../..
+	cd subprojects/imageformats; \
+	git checkout -b add_meson_build_patch v7.0.0; \
+	cp ../imageformats.meson.build meson.build; \
+	git add . ; git commit -m"project meson.build added"; \
+	cd ../..
+mesonclean: clean skel tangle dub_upgrade
 	meson --buildtype=debugoptimized build
 	ninja -C build
-mesonclean: clean skel tangle dub_upgrade
+meson_build: meson_clean_build_dir
 	meson --buildtype=debugoptimized build
 	ninja -C build
+	notify-send -t 0 'D meson build ldc compiled test release executable ready' 'spine'
+meson_upgrade: dub_upgrade meson_get_subprojects
+meson_upgrade_and_build: dub_upgrade meson_get_subprojects meson_clean_build_dir meson_build
+meson: meson_clean_build_dir meson_build
 all_clean: clean tangle dmd ldc gdc
 all_ver_clean: clean tangle dmd_ver ldc_ver gdc_ver
 all_debug_ver: dmd_debug_ver gdc_debug_ver ldc_debug_ver
diff --git a/org/spine_build_scaffold.org b/org/spine_build_scaffold.org
index cd21833..711014b 100644
--- a/org/spine_build_scaffold.org
+++ b/org/spine_build_scaffold.org
@@ -200,19 +200,38 @@ all_debug: dmd_debug gdc_debug ldc_debug
 
 ******** _meson_ build                                           :meson:
 
+- bug in build of imageformats > v7.0.0 (currently at 7.0.2)
+  checkout of v7.0.0 hopefully a tmp fix
+  (remove when possible & use upstream head)
+
 #+BEGIN_SRC makefile :tangle ../makefile
-meson: dub_upgrade
-	rm -r build; mkdir build
-	meson --buildtype=debugoptimized build
-	ninja -C build
-	notify-send -t 0 'D meson build ldc compiled test release executable ready' 'spine'
-mesonredo:
+meson_clean_build_dir:
 	rm -r build; mkdir build
+meson_get_subprojects: meson_clean_build_dir
+	rm -rf subprojects/d2sqlite3; rm -rf subprojects/imageformats
+	rm -rf subprojects/dyaml; rm -rf subprojects/tinyendian
+	git clone https://github.com/biozic/d2sqlite3.git subprojects/d2sqlite3
+	git clone https://github.com/lgvz/imageformats.git subprojects/imageformats
+	cd subprojects/d2sqlite3; \
+	git checkout -b add_meson_build_patch; \
+	cp ../d2sqlite3.meson.build meson.build; \
+	git add . ; git commit -m"project meson.build added"; \
+	cd ../..
+	cd subprojects/imageformats; \
+	git checkout -b add_meson_build_patch v7.0.0; \
+	cp ../imageformats.meson.build meson.build; \
+	git add . ; git commit -m"project meson.build added"; \
+	cd ../..
+mesonclean: clean skel tangle dub_upgrade
 	meson --buildtype=debugoptimized build
 	ninja -C build
-mesonclean: clean skel tangle dub_upgrade
+meson_build: meson_clean_build_dir
 	meson --buildtype=debugoptimized build
 	ninja -C build
+	notify-send -t 0 'D meson build ldc compiled test release executable ready' 'spine'
+meson_upgrade: dub_upgrade meson_get_subprojects
+meson_upgrade_and_build: dub_upgrade meson_get_subprojects meson_clean_build_dir meson_build
+meson: meson_clean_build_dir meson_build
 #+END_SRC
 
 ******* clean & tangle                                   :clean:tangle:
@@ -1011,6 +1030,11 @@ http://mesonbuild.com/Dependencies.html#Dub
 ls -1 ./src/*/**/*.d
 tree -fi ./src |rg "\.d$"
 
+tree -if src | rg ".+\.d$" > spine_sources.txt && \
+for i in spine_sources.txt; do; \
+sed -i "s/\(.\+\.d$\)/  '\1',/g" $i; done && \
+cat spine_sources.txt
+
 #+BEGIN_SRC sh :tangle ../meson.build
 project('spine', 'd',
   license: 'AGPL3',
@@ -1110,23 +1134,24 @@ spine_exe = executable('spine',
 *** d2sqlite3
 ****  wrap
 
-#+BEGIN_SRC sh :tangle ../subprojects/d2sqlite3.wrap
+#+BEGIN_SRC sh :NO-tangle ../subprojects/d2sqlite3.wrap
 [wrap-git]
 directory = d2sqlite3
 url       = https://github.com/biozic/d2sqlite3.git
 revision  = head
+# revision  = add_meson_build_patch
 #+END_SRC
 
 ****  meson.build
 
-#+BEGIN_SRC sh :tangle ../subprojects/d2sqlite3/meson.build
+#+BEGIN_SRC sh :tangle ../subprojects/d2sqlite3.meson.build
 project('d2sqlite3', 'd',
   meson_version: '>=0.46',
   license: 'BSL-1.0',
   version: '0.18.3'
 )
 
-project_soversion    = '0'
+project_soversion = '0'
 
 src_dir = include_directories('source/')
 pkgc = import('pkgconfig')
@@ -1258,49 +1283,50 @@ dyaml_dep = declare_dependency(
 *** imageformats
 ****  wrap
 
-#+BEGIN_SRC sh :tangle ../subprojects/imageformats.wrap
+#+BEGIN_SRC sh :NO-tangle ../subprojects/imageformats.wrap
 [wrap-git]
 directory = imageformats
 url       = https://github.com/lgvz/imageformats.git
 revision  = head
+# revision  = add_meson_build_patch
 #+END_SRC
 
 ****  meson.build
 
-#+BEGIN_SRC sh :tangle ../subprojects/imageformats/meson.build
+#+BEGIN_SRC sh :tangle ../subprojects/imageformats.meson.build
 project('imageformats', 'd',
-    meson_version: '>=0.46',
-    license: 'BSL-1.0',
-    version: '7.0.0'
+  meson_version: '>=0.46',
+  license: 'BSL-1.0',
+  version: '7.0.0'
 )
 
-project_soversion    = '0'
+project_soversion = '0'
 
 src_dir = include_directories('.')
 pkgc = import('pkgconfig')
 
 imageformats_src = [
-    'imageformats/bmp.d',
-    'imageformats/jpeg.d',
-    'imageformats/package.d',
-    'imageformats/png.d',
-    'imageformats/tga.d'
+  'imageformats/bmp.d',
+  'imageformats/jpeg.d',
+  'imageformats/package.d',
+  'imageformats/png.d',
+  'imageformats/tga.d'
 ]
 install_subdir('imageformats/', install_dir: 'include/d/imageformats-d/')
 
 imageformats_lib = library('imageformats-d',
-        [imageformats_src],
-        include_directories: [src_dir],
-        install: true,
-        version: meson.project_version(),
-        soversion: project_soversion
+  [imageformats_src],
+  include_directories: [src_dir],
+  install: true,
+  version: meson.project_version(),
+  soversion: project_soversion
 )
 
 pkgc.generate(name: 'imageformats-d',
-              libraries: imageformats_lib,
-              subdirs: 'd/imageformats-d/',
-              version: meson.project_version(),
-              description: 'Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.'
+  libraries: imageformats_lib,
+  subdirs: 'd/imageformats-d/',
+  version: meson.project_version(),
+  description: 'Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.'
 )
 
 # for use by others which embed this as subproject
@@ -1405,9 +1431,10 @@ tinyendian_dep = declare_dependency(
 !**/*.ssm
 !subprojects
 !subprojects/*.wrap
+!subprojects/*.meson.build
 # !subprojects/dyaml
-!subprojects/d2sqlite3
-!subprojects/imageformats
+# !subprojects/d2sqlite3
+# !subprojects/imageformats
 # !subprojects/tinyendian
 subprojects/*/.gitignore
 !pod.manifest
diff --git a/subprojects/D-YAML.wrap b/subprojects/D-YAML.wrap
deleted file mode 100644
index 8b3f503..0000000
--- a/subprojects/D-YAML.wrap
+++ /dev/null
@@ -1,4 +0,0 @@
-[wrap-git]
-directory = dyaml
-url       = https://github.com/dlang-community/D-YAML.git
-revision  = head
diff --git a/subprojects/d2sqlite3.dub.sdl b/subprojects/d2sqlite3.dub.sdl
new file mode 100644
index 0000000..f2bd29f
--- /dev/null
+++ b/subprojects/d2sqlite3.dub.sdl
@@ -0,0 +1,29 @@
+name        "d2sqlite3"
+description "A thin wrapper around SQLite 3"
+homepage    "https://github.com/biozic/d2sqlite3"
+authors     "Nicolas Sicard" "Other contributors: see Github repo"
+copyright   "Copyright 2011-18 Nicolas Sicard"
+license     "BSL-1.0"
+targetType  "library"
+configuration "with-lib" {
+    systemDependencies "SQLite version >= 3.8.7"
+    libs "sqlite3"
+    excludedSourceFiles "source/tests.d"
+}
+configuration "without-lib" {
+    excludedSourceFiles "source/tests.d"
+}
+configuration "all-included" {
+    libs "sqlite3" platform="windows"
+    copyFiles "lib/win32/sqlite3.dll" "lib/win32/sqlite3.lib" platform="windows-x86"
+    copyFiles "lib/win64/sqlite3.dll" "lib/win64/sqlite3.lib" platform="windows-x86_64"
+    preBuildCommands "make -C $PACKAGE_DIR -f sqlite3.mak" platform="posix"
+    sourceFiles "sqlite3.o" platform="posix"
+    libs "dl" platform="linux-gdc"
+    excludedSourceFiles "source/tests.d"
+}
+configuration "travis" {
+    preBuildCommands "make -C $PACKAGE_DIR -f sqlite3.mak" platform="posix"
+    sourceFiles "sqlite3.o" platform="posix"
+    versions "SqliteEnableColumnMetadata" "SqliteEnableUnlockNotify"
+}
diff --git a/subprojects/d2sqlite3.meson.build b/subprojects/d2sqlite3.meson.build
new file mode 100644
index 0000000..1685738
--- /dev/null
+++ b/subprojects/d2sqlite3.meson.build
@@ -0,0 +1,48 @@
+project('d2sqlite3', 'd',
+  meson_version: '>=0.46',
+  license: 'BSL-1.0',
+  version: '0.18.3'
+)
+
+project_soversion = '0'
+
+src_dir = include_directories('source/')
+pkgc = import('pkgconfig')
+
+sqlite_dep = dependency('sqlite3')
+
+d2sqlite3_src = [
+  'source/d2sqlite3/database.d',
+  'source/d2sqlite3/internal/memory.d',
+  'source/d2sqlite3/internal/util.d',
+  'source/d2sqlite3/library.d',
+  'source/d2sqlite3/package.d',
+  'source/d2sqlite3/results.d',
+  'source/d2sqlite3/sqlite3.d',
+  'source/d2sqlite3/statement.d',
+]
+install_subdir('source/d2sqlite3/', install_dir: 'include/d/d2sqlite3/')
+
+d2sqlite3_lib = library('d2sqlite3',
+  [d2sqlite3_src],
+  include_directories: [src_dir],
+  dependencies: [sqlite_dep],
+  install: true,
+  version: meson.project_version(),
+  soversion: project_soversion
+)
+
+pkgc.generate(name: 'd2sqlite3',
+  libraries: d2sqlite3_lib,
+  subdirs: 'd/d2sqlite3/',
+  version: meson.project_version(),
+  requires: ['sqlite3'],
+  description: 'A small wrapper around SQLite for the D programming language.'
+)
+
+# for use by others which embed this as subproject
+d2sqlite3_dep = declare_dependency(
+  link_with: [d2sqlite3_lib],
+  dependencies: [sqlite_dep],
+  include_directories: [src_dir]
+)
diff --git a/subprojects/d2sqlite3.wrap b/subprojects/d2sqlite3.wrap
deleted file mode 100644
index 78643b5..0000000
--- a/subprojects/d2sqlite3.wrap
+++ /dev/null
@@ -1,4 +0,0 @@
-[wrap-git]
-directory = d2sqlite3
-url       = https://github.com/biozic/d2sqlite3.git
-revision  = head
diff --git a/subprojects/d2sqlite3/.gitignore b/subprojects/d2sqlite3/.gitignore
deleted file mode 100644
index 8d7b4d4..0000000
--- a/subprojects/d2sqlite3/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-.dub
-dub.selections.json
-__test__*
-d2sqlite3-test*
-libd2sqlite3.a
-TODO.txt
-docs.json
-docs
-sqlite3.o
-lib/*/*.lib
diff --git a/subprojects/d2sqlite3/dub.sdl b/subprojects/d2sqlite3/dub.sdl
deleted file mode 100644
index f2bd29f..0000000
--- a/subprojects/d2sqlite3/dub.sdl
+++ /dev/null
@@ -1,29 +0,0 @@
-name        "d2sqlite3"
-description "A thin wrapper around SQLite 3"
-homepage    "https://github.com/biozic/d2sqlite3"
-authors     "Nicolas Sicard" "Other contributors: see Github repo"
-copyright   "Copyright 2011-18 Nicolas Sicard"
-license     "BSL-1.0"
-targetType  "library"
-configuration "with-lib" {
-    systemDependencies "SQLite version >= 3.8.7"
-    libs "sqlite3"
-    excludedSourceFiles "source/tests.d"
-}
-configuration "without-lib" {
-    excludedSourceFiles "source/tests.d"
-}
-configuration "all-included" {
-    libs "sqlite3" platform="windows"
-    copyFiles "lib/win32/sqlite3.dll" "lib/win32/sqlite3.lib" platform="windows-x86"
-    copyFiles "lib/win64/sqlite3.dll" "lib/win64/sqlite3.lib" platform="windows-x86_64"
-    preBuildCommands "make -C $PACKAGE_DIR -f sqlite3.mak" platform="posix"
-    sourceFiles "sqlite3.o" platform="posix"
-    libs "dl" platform="linux-gdc"
-    excludedSourceFiles "source/tests.d"
-}
-configuration "travis" {
-    preBuildCommands "make -C $PACKAGE_DIR -f sqlite3.mak" platform="posix"
-    sourceFiles "sqlite3.o" platform="posix"
-    versions "SqliteEnableColumnMetadata" "SqliteEnableUnlockNotify"
-}
diff --git a/subprojects/d2sqlite3/meson.build b/subprojects/d2sqlite3/meson.build
deleted file mode 100644
index 1726952..0000000
--- a/subprojects/d2sqlite3/meson.build
+++ /dev/null
@@ -1,48 +0,0 @@
-project('d2sqlite3', 'd',
-  meson_version: '>=0.46',
-  license: 'BSL-1.0',
-  version: '0.18.3'
-)
-
-project_soversion    = '0'
-
-src_dir = include_directories('source/')
-pkgc = import('pkgconfig')
-
-sqlite_dep = dependency('sqlite3')
-
-d2sqlite3_src = [
-  'source/d2sqlite3/database.d',
-  'source/d2sqlite3/internal/memory.d',
-  'source/d2sqlite3/internal/util.d',
-  'source/d2sqlite3/library.d',
-  'source/d2sqlite3/package.d',
-  'source/d2sqlite3/results.d',
-  'source/d2sqlite3/sqlite3.d',
-  'source/d2sqlite3/statement.d',
-]
-install_subdir('source/d2sqlite3/', install_dir: 'include/d/d2sqlite3/')
-
-d2sqlite3_lib = library('d2sqlite3',
-  [d2sqlite3_src],
-  include_directories: [src_dir],
-  dependencies: [sqlite_dep],
-  install: true,
-  version: meson.project_version(),
-  soversion: project_soversion
-)
-
-pkgc.generate(name: 'd2sqlite3',
-  libraries: d2sqlite3_lib,
-  subdirs: 'd/d2sqlite3/',
-  version: meson.project_version(),
-  requires: ['sqlite3'],
-  description: 'A small wrapper around SQLite for the D programming language.'
-)
-
-# for use by others which embed this as subproject
-d2sqlite3_dep = declare_dependency(
-  link_with: [d2sqlite3_lib],
-  dependencies: [sqlite_dep],
-  include_directories: [src_dir]
-)
diff --git a/subprojects/dyaml/dub.json b/subprojects/dyaml/dub.json
deleted file mode 100644
index 07ee17e..0000000
--- a/subprojects/dyaml/dub.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-    "name": "dyaml",
-    "description": "YAML parser and emitter",
-    "authors": [
-        "Ferdinand Majerech",
-        "Cameron \"Herringway\" Ross"
-    ],
-    "license": "BSL-1.0",
-    "dependencies": {
-        "tinyendian" :  "~>0.2.0"
-    },
-    "homepage": "https://github.com/dlang-community/D-YAML",
-    "copyright": "Copyright © 2011-2018, Ferdinand Majerech",
-    "subPackages": [
-        "examples/constructor",
-        "examples/getting_started",
-        "examples/representer",
-        "examples/resolver",
-        "examples/tojson",
-        "examples/yaml_bench",
-        "examples/yaml_gen",
-        "examples/yaml_stats",
-        "testsuite"
-    ]
-}
diff --git a/subprojects/dyaml/meson.build b/subprojects/dyaml/meson.build
deleted file mode 100644
index 68d17c7..0000000
--- a/subprojects/dyaml/meson.build
+++ /dev/null
@@ -1,70 +0,0 @@
-project('D-YAML', 'd',
-    meson_version: '>=0.40.0',
-    subproject_dir: 'contrib',
-    version: '0.8.0'
-)
-
-project_soversion    = '0'
-
-src_dir = include_directories('source/')
-pkgc = import('pkgconfig')
-
-dyaml_src = [
-    'source/dyaml/composer.d',
-    'source/dyaml/constructor.d',
-    'source/dyaml/dumper.d',
-    'source/dyaml/emitter.d',
-    'source/dyaml/encoding.d',
-    'source/dyaml/escapes.d',
-    'source/dyaml/event.d',
-    'source/dyaml/exception.d',
-    'source/dyaml/linebreak.d',
-    'source/dyaml/loader.d',
-    'source/dyaml/node.d',
-    'source/dyaml/package.d',
-    'source/dyaml/parser.d',
-    'source/dyaml/queue.d',
-    'source/dyaml/reader.d',
-    'source/dyaml/representer.d',
-    'source/dyaml/resolver.d',
-    'source/dyaml/scanner.d',
-    'source/dyaml/serializer.d',
-    'source/dyaml/style.d',
-    'source/dyaml/tagdirective.d',
-    'source/dyaml/test/common.d',
-    'source/dyaml/test/compare.d',
-    'source/dyaml/test/constructor.d',
-    'source/dyaml/test/emitter.d',
-    'source/dyaml/test/errors.d',
-    'source/dyaml/test/inputoutput.d',
-    'source/dyaml/test/reader.d',
-    'source/dyaml/test/representer.d',
-    'source/dyaml/test/resolver.d',
-    'source/dyaml/test/tokens.d',
-    'source/dyaml/token.d'
-]
-install_subdir('source/dyaml', install_dir: 'include/d/yaml/')
-
-tinyendian_dep = dependency('tinyendian', version: '>=0.2.0', fallback: ['tinyendian', 'tinyendian_dep'])
-
-dyaml_lib = library('dyaml',
-        [dyaml_src],
-        include_directories: [src_dir],
-        dependencies: [tinyendian_dep],
-        install: true,
-        version: meson.project_version(),
-        soversion: project_soversion
-)
-pkgc.generate(name: 'dyaml',
-              libraries: dyaml_lib,
-              subdirs: 'd/yaml/',
-              version: meson.project_version(),
-              description: 'YAML parser and emitter for the D programming language.'
-)
-
-# Make D-YAML easy to use as subproject
-dyaml_dep = declare_dependency(
-    link_with: dyaml_lib,
-    include_directories: [src_dir],
-    dependencies: [tinyendian_dep]
-)
diff --git a/subprojects/imageformats.dub.sdl b/subprojects/imageformats.dub.sdl
new file mode 100644
index 0000000..2814286
--- /dev/null
+++ b/subprojects/imageformats.dub.sdl
@@ -0,0 +1,7 @@
+name "imageformats"
+description "Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP."
+authors "Tero Hänninen"
+license "BSL-1.0"
+targetName "imageformats"
+sourcePaths "imageformats"
+importPaths "."
diff --git a/subprojects/imageformats.meson.build b/subprojects/imageformats.meson.build
new file mode 100644
index 0000000..f9c8855
--- /dev/null
+++ b/subprojects/imageformats.meson.build
@@ -0,0 +1,40 @@
+project('imageformats', 'd',
+  meson_version: '>=0.46',
+  license: 'BSL-1.0',
+  version: '7.0.0'
+)
+
+project_soversion = '0'
+
+src_dir = include_directories('.')
+pkgc = import('pkgconfig')
+
+imageformats_src = [
+  'imageformats/bmp.d',
+  'imageformats/jpeg.d',
+  'imageformats/package.d',
+  'imageformats/png.d',
+  'imageformats/tga.d'
+]
+install_subdir('imageformats/', install_dir: 'include/d/imageformats-d/')
+
+imageformats_lib = library('imageformats-d',
+  [imageformats_src],
+  include_directories: [src_dir],
+  install: true,
+  version: meson.project_version(),
+  soversion: project_soversion
+)
+
+pkgc.generate(name: 'imageformats-d',
+  libraries: imageformats_lib,
+  subdirs: 'd/imageformats-d/',
+  version: meson.project_version(),
+  description: 'Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.'
+)
+
+# for use by others which embed this as subproject
+imageformats_dep = declare_dependency(
+    link_with: [imageformats_lib],
+    include_directories: [src_dir]
+)
diff --git a/subprojects/imageformats.wrap b/subprojects/imageformats.wrap
deleted file mode 100644
index 09f342c..0000000
--- a/subprojects/imageformats.wrap
+++ /dev/null
@@ -1,4 +0,0 @@
-[wrap-git]
-directory = imageformats
-url       = https://github.com/lgvz/imageformats.git
-revision  = head
diff --git a/subprojects/imageformats/dub.sdl b/subprojects/imageformats/dub.sdl
deleted file mode 100644
index 2814286..0000000
--- a/subprojects/imageformats/dub.sdl
+++ /dev/null
@@ -1,7 +0,0 @@
-name "imageformats"
-description "Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP."
-authors "Tero Hänninen"
-license "BSL-1.0"
-targetName "imageformats"
-sourcePaths "imageformats"
-importPaths "."
diff --git a/subprojects/imageformats/meson.build b/subprojects/imageformats/meson.build
deleted file mode 100644
index 584e2af..0000000
--- a/subprojects/imageformats/meson.build
+++ /dev/null
@@ -1,40 +0,0 @@
-project('imageformats', 'd',
-    meson_version: '>=0.46',
-    license: 'BSL-1.0',
-    version: '7.0.0'
-)
-
-project_soversion    = '0'
-
-src_dir = include_directories('.')
-pkgc = import('pkgconfig')
-
-imageformats_src = [
-    'imageformats/bmp.d',
-    'imageformats/jpeg.d',
-    'imageformats/package.d',
-    'imageformats/png.d',
-    'imageformats/tga.d'
-]
-install_subdir('imageformats/', install_dir: 'include/d/imageformats-d/')
-
-imageformats_lib = library('imageformats-d',
-        [imageformats_src],
-        include_directories: [src_dir],
-        install: true,
-        version: meson.project_version(),
-        soversion: project_soversion
-)
-
-pkgc.generate(name: 'imageformats-d',
-              libraries: imageformats_lib,
-              subdirs: 'd/imageformats-d/',
-              version: meson.project_version(),
-              description: 'Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.'
-)
-
-# for use by others which embed this as subproject
-imageformats_dep = declare_dependency(
-    link_with: [imageformats_lib],
-    include_directories: [src_dir]
-)
diff --git a/subprojects/tinyendian/.gitignore b/subprojects/tinyendian/.gitignore
deleted file mode 100644
index 0ed3f58..0000000
--- a/subprojects/tinyendian/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.dub
-*.o
-*.a
-*.lib
diff --git a/subprojects/tinyendian/dub.json b/subprojects/tinyendian/dub.json
deleted file mode 100644
index 6313cdd..0000000
--- a/subprojects/tinyendian/dub.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-    "name": "tinyendian",
-    "description": "Lightweight endianness handling library",
-    "authors": [ "Ferdinand Majerech" ],
-    "importPaths": ["source"],
-    "license": "Boost 1.0",
-    "homepage": "https://github.com/kiith-sa/tinyendian",
-    "copyright": "Copyright © 2014, Ferdinand Majerech",
-
-    "buildTypes":
-    {
-        "debug": { "buildOptions": ["debugMode", "debugInfoC"] },
-        "release": { "buildOptions": ["releaseMode", "optimize", "inline", "noBoundsCheck"] },
-        "profile": { "buildOptions": ["releaseMode", "optimize", "noBoundsCheck", "debugInfoC"] },
-    },
-}
diff --git a/subprojects/tinyendian/meson.build b/subprojects/tinyendian/meson.build
deleted file mode 100644
index f666958..0000000
--- a/subprojects/tinyendian/meson.build
+++ /dev/null
@@ -1,41 +0,0 @@
-# -*- mode: python; -*-
-
-project(
-    'tinyendian',
-    'd',
-    meson_version: '>=0.41',
-    version: '0.2.0',
-    default_options: ['buildtype=release'],
-)
-
-src_dir = include_directories('source/')
-pkgc = import('pkgconfig')
-
-tinyendian_src = [
-    'source/tinyendian.d'
-]
-
-install_headers(tinyendian_src, subdir: 'd/')
-
-tinyendian_lib = library(
-    meson.project_name(),
-    [tinyendian_src],
-    include_directories: [src_dir],
-    version: meson.project_version(),
-    pic: true,
-    install: true,
-)
-
-pkgc.generate(
-    name: meson.project_name(),
-    libraries: tinyendian_lib,
-    subdirs: 'd/',
-    version: meson.project_version(),
-    description: 'Lightweight endianness library for D.'
-)
-
-# Make Tinyendian easy to use as subproject
-tinyendian_dep = declare_dependency(
-    link_with: tinyendian_lib,
-    include_directories: [src_dir]
-)
-- 
cgit v1.2.3