~hp/jit.lv2

2f9ee3d9688a90cf7165344b2d098e8eb1d6fbe0 — builds.sr.ht a month ago 8e67463 + dfb5ed3
Update d2tk to release-0.6.0
M subprojects/d2tk/.builds/alpine-latest.yml => subprojects/d2tk/.builds/alpine-latest.yml +54 -87
@@ 1,99 1,66 @@
# SPDX-FileCopyrightText: Hanspeter Portner <dev@open-music-kontrollers.ch>
# SPDX-License-Identifier: CC0-1.0

---

image: alpine/latest

packages:
  - clang15-analyzer
  - llvm15
  - reuse
  - meson
  - git-subtree
  - hut
  - jq
  - valgrind

  - cairo-dev
  - libinput-dev
  - eudev-dev
  - libevdev-dev
  - glu-dev
  - glfw-dev
  - libvterm-dev

- meson
- clang17-analyzer
- llvm17
- valgrind
- freetype-dev
- pixman-dev
- glu-dev
- libvterm-dev
- fontconfig-dev
- libx11-dev
- libxext-dev
- git-subtree
- reuse
- hut
- jq
environment:
  CI_SCAN_BUILD_OPTS: -disable-checker security.insecureAPI.vfork -disable-checker
    unix.Vfork --exclude nanovg --exclude pugl
  CI_SETUP_OPTS: -Duse-fontconfig=disabled
  project: d2tk
  CI_SCAN_BUILD_OPTS: -disable-checker security.insecureAPI.vfork -disable-checker unix.Vfork --exclude nanovg --exclude pugl

secrets:
  - 0545580c-42ac-4700-b322-4e9df924eb07 # runner-ssh
  - 5fe806cd-3af4-4588-9898-8115d9262144 # hut-config
  - d6d10b2a-542a-4b45-b1be-6ef30a8ab558 # git-config

- 58ccce1e-a8ad-4701-8bd1-1a498ded71c8
- a45b6ef3-6ecd-4992-9b6b-a2ca284322cb
- d6d10b2a-542a-4b45-b1be-6ef30a8ab558
- 3de1773e-3503-46f5-8ab4-5212026517f4
- 8c1363a3-86c2-46e5-9b52-79db433fa884
sources:
  - https://git.open-music-kontrollers.ch/~hp/ci

- https://git.open-music-kontrollers.ch/~hp/ci
tasks:
  - gcc: |
      . ~/ci/activate

      ci-meson gcc setup \
        -Dbuild-examples=true \
        -Duse-backend-cairo=enabled \
        -Duse-backend-nanovg=enabled \
        -Duse-frontend-fbdev=enabled \
        -Duse-frontend-pugl=enabled \
        -Duse-frontend-glfw=enabled \
        -Duse-fontconfig=disabled \
        -Duse-evdev=enabled
      ci-meson gcc build
      ci-meson gcc test
      ci-meson gcc memcheck

  - clang: |
      . ~/ci/activate

      ci-meson clang setup \
        -Dbuild-examples=true \
        -Duse-backend-cairo=enabled \
        -Duse-backend-nanovg=enabled \
        -Duse-frontend-fbdev=enabled \
        -Duse-frontend-pugl=enabled \
        -Duse-frontend-glfw=enabled \
        -Duse-fontconfig=disabled \
        -Duse-evdev=enabled
      ci-meson clang build
      ci-meson clang test
      ci-meson clang memcheck

  - analyzer: |
      . ~/ci/activate

      ci-meson analyzer setup \
        -Dbuild-examples=true \
        -Duse-backend-cairo=enabled \
        -Duse-backend-nanovg=enabled \
        -Duse-frontend-fbdev=enabled \
        -Duse-frontend-pugl=enabled \
        -Duse-frontend-glfw=enabled \
        -Duse-fontconfig=disabled \
        -Duse-evdev=enabled
      ci-meson analyzer build
      ci-meson analyzer test

  - deploy: |
      . ~/ci/activate

      if ! ci-isrelease; then
        complete-build
      fi

      ci-subtreemerge

- gcc: |-
    . ~/ci/activate
    ci-meson gcc setup
    ci-meson gcc build
    ci-meson gcc test
- clang: |-
    . ~/ci/activate
    ci-meson clang setup
    ci-meson clang build
    ci-meson clang test
- analyzer: |-
    . ~/ci/activate
    ci-meson analyzer setup
    ci-meson analyzer build
    ci-meson analyzer test
- merge: |-
    . ~/ci/activate
    if ! ci-isrelease; then
      complete-build
    fi
    ci-subtreemerge
- sign: |-
    . ~/ci/activate
    if ! ci-istag; then
      complete-build
    fi
    ci-archivesign
triggers:
  - action: email
    condition: failure
    to: "<dev@open-music-kontrollers.ch>"
- action: email
  condition: failure
  to: <dev@open-music-kontrollers.ch>
...

M subprojects/d2tk/README.md => subprojects/d2tk/README.md +6 -0
@@ 84,3 84,9 @@ and on-demand rendered sprites.
![Screenshot 7](screenshots/screenshot_7.png)

![Screenshot 8](screenshots/screenshot_8.png)

### Issues/Patches

Please report issues to [https://todo.open-music-kontrollers.ch/~hp/issues](https://todo.open-music-kontrollers.ch/~hp/issues)

Please submit patches to [https://lists.open-music-kontrollers.ch/~hp/patches](https://lists.open-music-kontrollers.ch/~hp/patches)

M subprojects/d2tk/d2tk/config.h.in => subprojects/d2tk/d2tk/config.h.in +1 -0
@@ 6,6 6,7 @@
#define D2TK_EVDEV @D2TK_EVDEV@
#define D2TK_INPUT_1_15 @D2TK_INPUT_1_15@
#define D2TK_INPUT_1_19 @D2TK_INPUT_1_19@
#define D2TK_INPUT_1_26 @D2TK_INPUT_1_26@
#define D2TK_FONTCONFIG @D2TK_FONTCONFIG@
#define D2TK_DEBUG @D2TK_DEBUG@
#define D2TK_GLES_VERSION @D2TK_GLES_VERSION@

M subprojects/d2tk/example/example.c => subprojects/d2tk/example/example.c +1 -1
@@ 56,7 56,7 @@ typedef enum _bar_t {
	BAR_MAX
} bar_t;

static int32_t bar = BAR_LINEEDIT;
static int32_t bar = BAR_PANE;
static const char *bar_lbl [BAR_MAX] = {
	[BAR_MIX]        = "Mix of many",
	[BAR_SPINNER]    = "Spinner",

M subprojects/d2tk/meson.build => subprojects/d2tk/meson.build +5 -2
@@ 179,9 179,13 @@ endif
conf_data.set('D2TK_INPUT_1_15', 0)
conf_data.set('D2TK_INPUT_1_19', 0)
if input_dep.found()
  if input_dep.version().version_compare('>=1.26.0')
    conf_data.set('D2TK_INPUT_1_26', 1)
  endif

  if input_dep.version().version_compare('>=1.19.0')
    conf_data.set('D2TK_INPUT_1_19', 1)
  endif 
  endif

  if input_dep.version().version_compare('>=1.15.0')
    conf_data.set('D2TK_INPUT_1_15', 1)


@@ 256,7 260,6 @@ test_base_srcs = [

c_args = [
  '-fvisibility=hidden',
	'-ffast-math',
	'-Wno-gnu-zero-variadic-macro-arguments',
	'-Wno-unknown-attributes',
	'-Wno-ignored-attributes',

M subprojects/d2tk/meson_options.txt => subprojects/d2tk/meson_options.txt +1 -1
@@ 55,4 55,4 @@ option('use-fontconfig',
	value : 'disabled',
	yield : true)

option('version', type : 'string', value : '0.5.1')
option('version', type : 'string', value : '0.5.27')

M subprojects/d2tk/nanovg/src/stb_image.h => subprojects/d2tk/nanovg/src/stb_image.h +1 -1
@@ 4395,7 4395,7 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp)
               if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG");
               if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG");
               has_trans = 1;
               for (k=0; k < s->img_n; ++k)
               for (k=0; k < (s->img_n & sizeof(tc)); ++k)
                  tc[k] = (stbi_uc) (stbi__get16be(s) & 255) * stbi__depth_scale_table[depth]; // non 8-bit images will be larger
            }
            break;

M subprojects/d2tk/src/base.c => subprojects/d2tk/src/base.c +28 -32
@@ 677,13 677,9 @@ d2tk_base_is_active_hot(d2tk_base_t *base, d2tk_id_t id,
}

#define nocol 0x0
#define light_grey 0x7f7f7fff
#define dark_grey 0x3f3f3fff
#define darker_grey 0x222222ff
#define black 0x000000ff
#define white 0xffffffff
#define light_orange 0xffcf00ff
#define dark_orange 0xcf9f00ff
#define col1 0x020202ff
#define col2 0x026cfdff
#define col3 0xfdfdfdff

#define FONT_SANS_BOLD "FiraSans:bold"



@@ 695,36 691,36 @@ d2tk_base_get_default_style(void)
		.border_width                    = 1,
		.padding                         = 1,
		.rounding                        = 4,
		.bg_color                        = darker_grey,
		.bg_color                        = col1,
		.fill_color = {
			[D2TK_TRIPLE_NONE]             = dark_grey,
			[D2TK_TRIPLE_HOT]              = light_grey,
			[D2TK_TRIPLE_ACTIVE]           = dark_orange,
			[D2TK_TRIPLE_ACTIVE_HOT]       = light_orange,
			[D2TK_TRIPLE_FOCUS]            = dark_grey,
			[D2TK_TRIPLE_HOT_FOCUS]        = light_grey,
			[D2TK_TRIPLE_ACTIVE_FOCUS]     = dark_orange,
			[D2TK_TRIPLE_ACTIVE_HOT_FOCUS] = light_orange,
			[D2TK_TRIPLE_NONE]             = col3,
			[D2TK_TRIPLE_HOT]              = col3,
			[D2TK_TRIPLE_ACTIVE]           = col2,
			[D2TK_TRIPLE_ACTIVE_HOT]       = col2,
			[D2TK_TRIPLE_FOCUS]            = col3,
			[D2TK_TRIPLE_HOT_FOCUS]        = col3,
			[D2TK_TRIPLE_ACTIVE_FOCUS]     = col2,
			[D2TK_TRIPLE_ACTIVE_HOT_FOCUS] = col2,
		},
		.stroke_color = {
			[D2TK_TRIPLE_NONE]             = black,
			[D2TK_TRIPLE_HOT]              = black,
			[D2TK_TRIPLE_ACTIVE]           = black,
			[D2TK_TRIPLE_ACTIVE_HOT]       = black,
			[D2TK_TRIPLE_FOCUS]            = white,
			[D2TK_TRIPLE_HOT_FOCUS]        = white,
			[D2TK_TRIPLE_ACTIVE_FOCUS]     = white,
			[D2TK_TRIPLE_ACTIVE_HOT_FOCUS] = white,
			[D2TK_TRIPLE_NONE]             = col1,
			[D2TK_TRIPLE_HOT]              = col2,
			[D2TK_TRIPLE_ACTIVE]           = col1,
			[D2TK_TRIPLE_ACTIVE_HOT]       = col3,
			[D2TK_TRIPLE_FOCUS]            = col1,
			[D2TK_TRIPLE_HOT_FOCUS]        = col2,
			[D2TK_TRIPLE_ACTIVE_FOCUS]     = col1,
			[D2TK_TRIPLE_ACTIVE_HOT_FOCUS] = col3,
		},
		.text_stroke_color = {
			[D2TK_TRIPLE_NONE]             = white,
			[D2TK_TRIPLE_HOT]              = light_orange,
			[D2TK_TRIPLE_ACTIVE]           = white,
			[D2TK_TRIPLE_ACTIVE_HOT]       = dark_grey,
			[D2TK_TRIPLE_FOCUS]            = white,
			[D2TK_TRIPLE_HOT_FOCUS]        = light_orange,
			[D2TK_TRIPLE_ACTIVE_FOCUS]     = white,
			[D2TK_TRIPLE_ACTIVE_HOT_FOCUS] = dark_grey
			[D2TK_TRIPLE_NONE]             = col1,
			[D2TK_TRIPLE_HOT]              = col2,
			[D2TK_TRIPLE_ACTIVE]           = col1,
			[D2TK_TRIPLE_ACTIVE_HOT]       = col3,
			[D2TK_TRIPLE_FOCUS]            = col1,
			[D2TK_TRIPLE_HOT_FOCUS]        = col2,
			[D2TK_TRIPLE_ACTIVE_FOCUS]     = col1,
			[D2TK_TRIPLE_ACTIVE_HOT_FOCUS] = col3
		},
		.text_fill_color = {
			[D2TK_TRIPLE_NONE]             = nocol,

M subprojects/d2tk/src/frontend_fbdev.c => subprojects/d2tk/src/frontend_fbdev.c +3 -0
@@ 603,6 603,9 @@ d2tk_frontend_step(d2tk_frontend_t *fbdev)
#if D2TK_INPUT_1_15
			case LIBINPUT_EVENT_TABLET_PAD_KEY:
#endif
#if D2TK_INPUT_1_26
			case LIBINPUT_EVENT_TABLET_PAD_DIAL:
#endif
			{
				struct libinput_event_tablet_pad *evtp =
					libinput_event_get_tablet_pad_event(ev);