aboutsummaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2020-03-07 07:59:13 -0500
committerRalph Amissah <ralph.amissah@gmail.com>2020-03-14 15:17:41 -0400
commit466509b8fc225db0e37021f6e71d0d7648ffcf83 (patch)
tree1fee28daec7cf516e0dacc407367c804d56110cc /org
parentmeson build (diff)
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
Diffstat (limited to 'org')
-rw-r--r--org/spine_build_scaffold.org91
1 files changed, 59 insertions, 32 deletions
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