Skip to content

Instantly share code, notes, and snippets.

@kwando
Created November 21, 2025 21:21
Show Gist options
  • Select an option

  • Save kwando/06c49f99be0790d60f88086c9556d459 to your computer and use it in GitHub Desktop.

Select an option

Save kwando/06c49f99be0790d60f88086c9556d459 to your computer and use it in GitHub Desktop.
Output oog ESDL
❯ make
Downloading esdl2...
curl -LO https://github.com/ninenines/esdl2/archive/refs/heads/master.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 531970 0 531970 0 0 974145 0 --:--:-- --:--:-- --:--:-- 974145
unzip master.zip
Archive: master.zip
c1eeb85e7256e3fc9ee95a4093ae85bd8ca62710
creating: esdl2-master
inflating: esdl2-master/.gitignore
inflating: esdl2-master/LICENSE
inflating: esdl2-master/Makefile
inflating: esdl2-master/README.asciidoc
creating: esdl2-master/c_src
inflating: esdl2-master/c_src/esdl2.c
inflating: esdl2-master/c_src/esdl2.h
inflating: esdl2-master/c_src/esdl2_cursors.c
inflating: esdl2-master/c_src/esdl2_renderers.c
inflating: esdl2-master/c_src/esdl2_windows.c
inflating: esdl2-master/c_src/internal.c
inflating: esdl2-master/c_src/sdl.c
inflating: esdl2-master/c_src/sdl_blend_mode.c
inflating: esdl2-master/c_src/sdl_clipboard.c
inflating: esdl2-master/c_src/sdl_cpu_info.c
inflating: esdl2-master/c_src/sdl_cursor.c
inflating: esdl2-master/c_src/sdl_events.c
inflating: esdl2-master/c_src/sdl_filesystem.c
inflating: esdl2-master/c_src/sdl_gl.c
inflating: esdl2-master/c_src/sdl_hints.c
inflating: esdl2-master/c_src/sdl_keyboard.c
inflating: esdl2-master/c_src/sdl_keycode.c
inflating: esdl2-master/c_src/sdl_mouse.c
inflating: esdl2-master/c_src/sdl_pixels.c
inflating: esdl2-master/c_src/sdl_platform.c
inflating: esdl2-master/c_src/sdl_power.c
inflating: esdl2-master/c_src/sdl_rect.c
inflating: esdl2-master/c_src/sdl_renderer.c
inflating: esdl2-master/c_src/sdl_stdinc.c
inflating: esdl2-master/c_src/sdl_surface.c
inflating: esdl2-master/c_src/sdl_texture.c
inflating: esdl2-master/c_src/sdl_ttf.c
inflating: esdl2-master/c_src/sdl_version.c
inflating: esdl2-master/c_src/sdl_video.c
inflating: esdl2-master/c_src/sdl_window.c
creating: esdl2-master/ebin
inflating: esdl2-master/ebin/esdl2.app
inflating: esdl2-master/erlang.mk
creating: esdl2-master/examples
creating: esdl2-master/examples/bullet_engine
extracting: esdl2-master/examples/bullet_engine/bullet.png
inflating: esdl2-master/examples/bullet_engine/bullet_engine.erl
inflating: esdl2-master/examples/bullet_engine/start.sh
creating: esdl2-master/examples/duck_engine
inflating: esdl2-master/examples/duck_engine/duck_engine.erl
inflating: esdl2-master/examples/duck_engine/matrix3d.erl
inflating: esdl2-master/examples/duck_engine/start.sh
creating: esdl2-master/examples/hello_sdl
inflating: esdl2-master/examples/hello_sdl/erlang.png
inflating: esdl2-master/examples/hello_sdl/hello_sdl.erl
inflating: esdl2-master/examples/hello_sdl/start.sh
creating: esdl2-master/include
inflating: esdl2-master/include/sdl_keycode.hrl
inflating: esdl2-master/include/sdl_scancode.hrl
inflating: esdl2-master/rebar.config
creating: esdl2-master/src
inflating: esdl2-master/src/esdl2.erl
inflating: esdl2-master/src/esdl2_app.erl
inflating: esdl2-master/src/esdl2_callbacks.erl
inflating: esdl2-master/src/esdl2_sup.erl
inflating: esdl2-master/src/sdl.erl
inflating: esdl2-master/src/sdl_blend_mode.erl
inflating: esdl2-master/src/sdl_clipboard.erl
inflating: esdl2-master/src/sdl_cpu_info.erl
inflating: esdl2-master/src/sdl_cursor.erl
inflating: esdl2-master/src/sdl_events.erl
inflating: esdl2-master/src/sdl_filesystem.erl
inflating: esdl2-master/src/sdl_gl.erl
inflating: esdl2-master/src/sdl_hints.erl
inflating: esdl2-master/src/sdl_keyboard.erl
inflating: esdl2-master/src/sdl_keycode.erl
inflating: esdl2-master/src/sdl_mouse.erl
inflating: esdl2-master/src/sdl_pixels.erl
inflating: esdl2-master/src/sdl_platform.erl
inflating: esdl2-master/src/sdl_power.erl
inflating: esdl2-master/src/sdl_rect.erl
inflating: esdl2-master/src/sdl_renderer.erl
inflating: esdl2-master/src/sdl_surface.erl
inflating: esdl2-master/src/sdl_texture.erl
inflating: esdl2-master/src/sdl_ttf.erl
inflating: esdl2-master/src/sdl_version.erl
inflating: esdl2-master/src/sdl_video.erl
inflating: esdl2-master/src/sdl_window.erl
creating: esdl2-master/vendor
creating: esdl2-master/vendor/SDL
creating: esdl2-master/vendor/SDL/include
inflating: esdl2-master/vendor/SDL/include/SDL.h
inflating: esdl2-master/vendor/SDL/include/SDL_assert.h
inflating: esdl2-master/vendor/SDL/include/SDL_atomic.h
inflating: esdl2-master/vendor/SDL/include/SDL_audio.h
inflating: esdl2-master/vendor/SDL/include/SDL_bits.h
inflating: esdl2-master/vendor/SDL/include/SDL_blendmode.h
inflating: esdl2-master/vendor/SDL/include/SDL_clipboard.h
inflating: esdl2-master/vendor/SDL/include/SDL_config.h
inflating: esdl2-master/vendor/SDL/include/SDL_config.h.cmake
inflating: esdl2-master/vendor/SDL/include/SDL_config.h.in
inflating: esdl2-master/vendor/SDL/include/SDL_config_android.h
inflating: esdl2-master/vendor/SDL/include/SDL_config_iphoneos.h
inflating: esdl2-master/vendor/SDL/include/SDL_config_macosx.h
inflating: esdl2-master/vendor/SDL/include/SDL_config_minimal.h
inflating: esdl2-master/vendor/SDL/include/SDL_config_pandora.h
inflating: esdl2-master/vendor/SDL/include/SDL_config_psp.h
inflating: esdl2-master/vendor/SDL/include/SDL_config_windows.h
inflating: esdl2-master/vendor/SDL/include/SDL_config_winrt.h
inflating: esdl2-master/vendor/SDL/include/SDL_config_wiz.h
inflating: esdl2-master/vendor/SDL/include/SDL_copying.h
inflating: esdl2-master/vendor/SDL/include/SDL_cpuinfo.h
inflating: esdl2-master/vendor/SDL/include/SDL_egl.h
inflating: esdl2-master/vendor/SDL/include/SDL_endian.h
inflating: esdl2-master/vendor/SDL/include/SDL_error.h
inflating: esdl2-master/vendor/SDL/include/SDL_events.h
inflating: esdl2-master/vendor/SDL/include/SDL_filesystem.h
inflating: esdl2-master/vendor/SDL/include/SDL_gamecontroller.h
inflating: esdl2-master/vendor/SDL/include/SDL_gesture.h
inflating: esdl2-master/vendor/SDL/include/SDL_haptic.h
inflating: esdl2-master/vendor/SDL/include/SDL_hints.h
inflating: esdl2-master/vendor/SDL/include/SDL_joystick.h
inflating: esdl2-master/vendor/SDL/include/SDL_keyboard.h
inflating: esdl2-master/vendor/SDL/include/SDL_keycode.h
inflating: esdl2-master/vendor/SDL/include/SDL_loadso.h
inflating: esdl2-master/vendor/SDL/include/SDL_log.h
inflating: esdl2-master/vendor/SDL/include/SDL_main.h
inflating: esdl2-master/vendor/SDL/include/SDL_messagebox.h
inflating: esdl2-master/vendor/SDL/include/SDL_mouse.h
inflating: esdl2-master/vendor/SDL/include/SDL_mutex.h
inflating: esdl2-master/vendor/SDL/include/SDL_name.h
inflating: esdl2-master/vendor/SDL/include/SDL_opengl.h
inflating: esdl2-master/vendor/SDL/include/SDL_opengl_glext.h
inflating: esdl2-master/vendor/SDL/include/SDL_opengles.h
inflating: esdl2-master/vendor/SDL/include/SDL_opengles2.h
inflating: esdl2-master/vendor/SDL/include/SDL_opengles2_gl2.h
inflating: esdl2-master/vendor/SDL/include/SDL_opengles2_gl2ext.h
inflating: esdl2-master/vendor/SDL/include/SDL_opengles2_gl2platform.h
inflating: esdl2-master/vendor/SDL/include/SDL_opengles2_khrplatform.h
inflating: esdl2-master/vendor/SDL/include/SDL_pixels.h
inflating: esdl2-master/vendor/SDL/include/SDL_platform.h
inflating: esdl2-master/vendor/SDL/include/SDL_power.h
inflating: esdl2-master/vendor/SDL/include/SDL_quit.h
inflating: esdl2-master/vendor/SDL/include/SDL_rect.h
inflating: esdl2-master/vendor/SDL/include/SDL_render.h
inflating: esdl2-master/vendor/SDL/include/SDL_revision.h
inflating: esdl2-master/vendor/SDL/include/SDL_rwops.h
inflating: esdl2-master/vendor/SDL/include/SDL_scancode.h
inflating: esdl2-master/vendor/SDL/include/SDL_shape.h
inflating: esdl2-master/vendor/SDL/include/SDL_stdinc.h
inflating: esdl2-master/vendor/SDL/include/SDL_surface.h
inflating: esdl2-master/vendor/SDL/include/SDL_system.h
inflating: esdl2-master/vendor/SDL/include/SDL_syswm.h
inflating: esdl2-master/vendor/SDL/include/SDL_test.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_assert.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_common.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_compare.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_crc32.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_font.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_fuzzer.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_harness.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_images.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_log.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_md5.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_memory.h
inflating: esdl2-master/vendor/SDL/include/SDL_test_random.h
inflating: esdl2-master/vendor/SDL/include/SDL_thread.h
inflating: esdl2-master/vendor/SDL/include/SDL_timer.h
inflating: esdl2-master/vendor/SDL/include/SDL_touch.h
inflating: esdl2-master/vendor/SDL/include/SDL_types.h
inflating: esdl2-master/vendor/SDL/include/SDL_version.h
inflating: esdl2-master/vendor/SDL/include/SDL_video.h
inflating: esdl2-master/vendor/SDL/include/SDL_vulkan.h
inflating: esdl2-master/vendor/SDL/include/begin_code.h
inflating: esdl2-master/vendor/SDL/include/close_code.h
creating: esdl2-master/vendor/SDL_ttf
creating: esdl2-master/vendor/SDL_ttf/include
inflating: esdl2-master/vendor/SDL_ttf/include/SDL_ttf.h
mv esdl2-master esdl2
rm master.zip
Compiling esdl2...
cd esdl2 && rebar3 compile
===> Verifying dependencies...
DEP nif_helpers (master)
make[2]: Nothing to be done for `all'.
DEPEND esdl2.d
C esdl2.c
C esdl2_cursors.c
C esdl2_renderers.c
C esdl2_windows.c
C internal.c
C sdl.c
C sdl_blend_mode.c
C sdl_clipboard.c
C sdl_cpu_info.c
C sdl_cursor.c
C sdl_events.c
C sdl_filesystem.c
C sdl_gl.c
C sdl_hints.c
C sdl_keyboard.c
C sdl_keycode.c
C sdl_mouse.c
C sdl_pixels.c
C sdl_platform.c
C sdl_power.c
C sdl_rect.c
C sdl_renderer.c
C sdl_stdinc.c
C sdl_surface.c
C sdl_texture.c
C sdl_ttf.c
C sdl_version.c
C sdl_video.c
C sdl_window.c
C nif_helpers.c
LD esdl2.so
ld: warning: -undefined suppress is deprecated
ld: warning: -undefined suppress is deprecated
===> Analyzing applications...
===> Compiling esdl2
Building the Gleam project...
gleam build
Downloading packages
Downloaded 2 packages in 0.01s
Compiling gleam_stdlib
Compiling gleeunit
Compiling uggj
warning: Unused imported module
┌─ /Users/kwando/projects/uGGJ/src/uggj.gleam:1:1
1 │ import sdl
│ ^^^^^^^^^^ This imported module is never used
Hint: You can safely remove it.
Compiled in 0.36s
Doing some hacky magic for esdl2...
mkdir -p build/dev/erlang/esdl2/ebin
mkdir -p build/dev/erlang/esdl2/include
mkdir -p build/dev/erlang/esdl2/priv
cp -r esdl2/_build/default/lib/esdl2/ebin/* build/dev/erlang/esdl2/ebin/
cp -r esdl2/_build/default/lib/esdl2/include/* build/dev/erlang/esdl2/include/
cp -r esdl2/_build/default/lib/esdl2/priv/* build/dev/erlang/esdl2/priv/
All done!
You probably want to do 'gleam run' now!
uGGJ  main via ⭐ v1.13.0 took 5s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment