billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=f15dd2881a5e87e7f3b03594983826f7480c12e7

commit f15dd2881a5e87e7f3b03594983826f7480c12e7
Author: Boris Faure <bill...@gmail.com>
Date:   Sun Sep 13 23:39:34 2020 +0200

    generate colorschemes.eet
---
 data/colorschemes/Nord.desc       | 211 ++++++++++++++++++++++++++++++++++++++
 data/colorschemes/PaperColor.desc | 211 ++++++++++++++++++++++++++++++++++++++
 data/colorschemes/builder.sh      |  28 +++++
 data/colorschemes/meson.build     |  18 ++++
 data/meson.build                  |   1 +
 meson.build                       |  10 +-
 meson_options.txt                 |   3 +
 7 files changed, 481 insertions(+), 1 deletion(-)

diff --git a/data/colorschemes/Nord.desc b/data/colorschemes/Nord.desc
new file mode 100644
index 0000000..6878791
--- /dev/null
+++ b/data/colorschemes/Nord.desc
@@ -0,0 +1,211 @@
+group "Color_Scheme" struct {
+    value "version" int: 1;
+    value "md.version" int: 1;
+    value "md.name" string: "Nord";
+    value "md.author" string: "Arctic Ice Studio";
+    value "md.website" string: "https://git.io/nord";;
+    value "md.license" string: "MIT";
+    group "def" struct {
+        group "Color" struct {
+            value "r" uchar: 216;
+            value "g" uchar: 222;
+            value "b" uchar: 233;
+            value "a" uchar: 255;
+        }
+    }
+    group "bg" struct {
+        group "Color" struct {
+            value "r" uchar: 46;
+            value "g" uchar: 52;
+            value "b" uchar: 64;
+            value "a" uchar: 255;
+        }
+    }
+    group "fg" struct {
+        group "Color" struct {
+            value "r" uchar: 216;
+            value "g" uchar: 222;
+            value "b" uchar: 233;
+            value "a" uchar: 255;
+        }
+    }
+    group "main" struct {
+        group "Color" struct {
+            value "r" uchar: 136;
+            value "g" uchar: 192;
+            value "b" uchar: 208;
+            value "a" uchar: 255;
+        }
+    }
+    group "hl" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 255;
+            value "b" uchar: 255;
+            value "a" uchar: 255;
+        }
+    }
+    group "end_sel" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 51;
+            value "b" uchar: 0;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_1" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 153;
+            value "b" uchar: 51;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_2" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 51;
+            value "b" uchar: 0;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_3" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 0;
+            value "b" uchar: 0;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_over_1" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 255;
+            value "b" uchar: 64;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_over_2" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 153;
+            value "b" uchar: 51;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_over_3" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 0;
+            value "b" uchar: 0;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_title_2" struct {
+        group "Color" struct {
+            value "r" uchar: 0;
+            value "g" uchar: 0;
+            value "b" uchar: 0;
+            value "a" uchar: 255;
+        }
+    }
+    group "ansi" array {
+        count 16;
+        group "Color" struct {
+            value "r" uchar: 59;
+            value "g" uchar: 66;
+            value "b" uchar: 82;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 191;
+            value "g" uchar: 97;
+            value "b" uchar: 106;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 163;
+            value "g" uchar: 190;
+            value "b" uchar: 140;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 235;
+            value "g" uchar: 203;
+            value "b" uchar: 139;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 129;
+            value "g" uchar: 161;
+            value "b" uchar: 193;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 180;
+            value "g" uchar: 142;
+            value "b" uchar: 173;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 136;
+            value "g" uchar: 192;
+            value "b" uchar: 208;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 229;
+            value "g" uchar: 233;
+            value "b" uchar: 248;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 76;
+            value "g" uchar: 86;
+            value "b" uchar: 106;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 191;
+            value "g" uchar: 97;
+            value "b" uchar: 106;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 163;
+            value "g" uchar: 190;
+            value "b" uchar: 140;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 235;
+            value "g" uchar: 203;
+            value "b" uchar: 139;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 129;
+            value "g" uchar: 161;
+            value "b" uchar: 193;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 180;
+            value "g" uchar: 142;
+            value "b" uchar: 173;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 143;
+            value "g" uchar: 188;
+            value "b" uchar: 187;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 236;
+            value "g" uchar: 239;
+            value "b" uchar: 244;
+            value "a" uchar: 255;
+        }
+    }
+}
diff --git a/data/colorschemes/PaperColor.desc 
b/data/colorschemes/PaperColor.desc
new file mode 100644
index 0000000..93d1a44
--- /dev/null
+++ b/data/colorschemes/PaperColor.desc
@@ -0,0 +1,211 @@
+group "Color_Scheme" struct {
+    value "version" int: 1;
+    value "md.version" int: 1;
+    value "md.name" string: "PaperColor";
+    value "md.author" string: "Nikyle Nguyen";
+    value "md.website" string: "https://github.com/NLKNguyen/papercolor-theme";;
+    value "md.license" string: "MIT";
+    group "def" struct {
+        group "Color" struct {
+            value "r" uchar:  68;
+            value "g" uchar:  68;
+            value "b" uchar:  68;
+            value "a" uchar: 255;
+        }
+    }
+    group "bg" struct {
+        group "Color" struct {
+            value "r" uchar: 238;
+            value "g" uchar: 238;
+            value "b" uchar: 238;
+            value "a" uchar: 255;
+        }
+    }
+    group "fg" struct {
+        group "Color" struct {
+            value "r" uchar:  68;
+            value "g" uchar:  68;
+            value "b" uchar:  68;
+            value "a" uchar: 255;
+        }
+    }
+    group "main" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 2;
+            value "b" uchar: 102;
+            value "a" uchar: 255;
+        }
+    }
+    group "hl" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 255;
+            value "b" uchar: 255;
+            value "a" uchar: 255;
+        }
+    }
+    group "end_sel" struct {
+        group "Color" struct {
+            value "r" uchar: 136;
+            value "g" uchar:   0;
+            value "b" uchar:  61;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_1" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 153;
+            value "b" uchar: 51;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_2" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 51;
+            value "b" uchar: 0;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_3" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 0;
+            value "b" uchar: 0;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_over_1" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 255;
+            value "b" uchar: 64;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_over_2" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 153;
+            value "b" uchar: 51;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_missed_over_3" struct {
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 0;
+            value "b" uchar: 0;
+            value "a" uchar: 255;
+        }
+    }
+    group "tab_title_2" struct {
+        group "Color" struct {
+            value "r" uchar: 0;
+            value "g" uchar: 0;
+            value "b" uchar: 0;
+            value "a" uchar: 255;
+        }
+    }
+    group "ansi" array {
+        count 16;
+        group "Color" struct {
+            value "r" uchar: 242;
+            value "g" uchar: 242;
+            value "b" uchar: 242;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 198;
+            value "g" uchar:  40;
+            value "b" uchar:  40;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar:  85;
+            value "g" uchar: 139;
+            value "b" uchar:  46;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 143;
+            value "b" uchar:   1;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar:  21;
+            value "g" uchar: 101;
+            value "b" uchar: 192;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 106;
+            value "g" uchar:  30;
+            value "b" uchar: 154;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar:   0;
+            value "g" uchar: 131;
+            value "b" uchar: 143;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar:  44;
+            value "g" uchar:  44;
+            value "b" uchar:  44;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 251;
+            value "g" uchar: 251;
+            value "b" uchar: 251;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 225;
+            value "g" uchar: 126;
+            value "b" uchar: 133;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar:  97;
+            value "g" uchar: 186;
+            value "b" uchar: 134;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 255;
+            value "g" uchar: 182;
+            value "b" uchar: 142;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar:  76;
+            value "g" uchar: 178;
+            value "b" uchar: 255;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar: 190;
+            value "g" uchar: 134;
+            value "b" uchar: 227;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar:  45;
+            value "g" uchar: 206;
+            value "b" uchar: 208;
+            value "a" uchar: 255;
+        }
+        group "Color" struct {
+            value "r" uchar:  84;
+            value "g" uchar:  99;
+            value "b" uchar: 134;
+            value "a" uchar: 255;
+        }
+    }
+}
diff --git a/data/colorschemes/builder.sh b/data/colorschemes/builder.sh
new file mode 100755
index 0000000..6ad59b7
--- /dev/null
+++ b/data/colorschemes/builder.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+set -e
+set -u
+
+COMPRESS=1
+
+EET=$1
+shift
+OUTPUT=$1
+shift
+
+# work on a temporary file till every insertion worked
+TMP_EET=$(mktemp "$OUTPUT-XXXXXX")
+# trap to avoid creating orphan files
+trap 'rm -f "$TMPFILE"' INT TERM HUP EXIT
+
+for DESC in "$@"
+do
+   # use the name, without extension as key in eet
+   KEY=$(basename "$DESC" ".desc")
+   $EET -e "$TMP_EET" "$KEY" "$DESC" "$COMPRESS"
+done
+
+# atomic rename to the expected output file
+mv "$TMP_EET" "$OUTPUT"
+
+# file successfully renamed, so need to trap to rename temp file
+trap - INT TERM HUP EXIT
diff --git a/data/colorschemes/meson.build b/data/colorschemes/meson.build
new file mode 100644
index 0000000..b1e368d
--- /dev/null
+++ b/data/colorschemes/meson.build
@@ -0,0 +1,18 @@
+colorschemes_desc = [
+  'Nord.desc',
+  'PaperColor.desc',
+]
+cs_builder = [join_paths(meson.source_root(),
+                         'data', 'colorschemes', 'builder.sh'),
+              eet_bin, '@OUTPUT@', '@INPUT@']
+cs_install_dir = join_paths(get_option('datadir'),
+                              meson.project_name())
+
+
+custom_target('colorschemes.eet',
+  install:true,
+  install_dir: cs_install_dir,
+  install_mode: 'rw-r--r--',
+  command: cs_builder,
+  input: colorschemes_desc,
+  output: 'colorschemes.eet')
diff --git a/data/meson.build b/data/meson.build
index 8eec325..62e897c 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -4,3 +4,4 @@ subdir('images')
 subdir('fonts')
 subdir('themes')
 subdir('backgrounds')
+subdir('colorschemes')
diff --git a/meson.build b/meson.build
index 9b89090..47078a9 100644
--- a/meson.build
+++ b/meson.build
@@ -59,6 +59,7 @@ efl_deps = ['edje',
             'ethumb_client']
 terminology_dependencies = [ m_dep ]
 edje_cc_path = ''
+eet_path = ''
 edj_targets = []
 edj_files = []
 
@@ -73,6 +74,9 @@ foreach efl_dep: efl_deps
   if efl_dep == 'edje'
     edje_cc_path = dep.get_pkgconfig_variable('prefix') + '/bin/edje_cc'
   endif
+  if efl_dep == 'eet'
+    eet_path = dep.get_pkgconfig_variable('prefix') + '/bin/eet'
+  endif
 endforeach
 
 if cc.has_function('mkstemps')
@@ -96,8 +100,12 @@ endif
 
 message('Checking for ecore_con_url_head: ' + found)
 
-edje_cc = get_option('edje-cc')
+eet_bin = get_option('eet')
+if eet_bin == ''
+  eet_bin = eet_path
+endif
 
+edje_cc = get_option('edje-cc')
 if edje_cc == ''
   edje_cc = edje_cc_path
 endif
diff --git a/meson_options.txt b/meson_options.txt
index ac57a66..9da74a2 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,6 +1,9 @@
 option('edje-cc',
        type: 'string',
        description: 'A path to a edje_cc. Defaults to system\'s edje_cc')
+option('eet',
+       type: 'string',
+       description: 'A path to a eet. Defaults to system\'s eet')
 option('fuzzing',
        type: 'boolean',
        value: false,

-- 


Reply via email to