mini-arcade-native-backend 0.3.4__tar.gz → 0.3.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/PKG-INFO +1 -1
  2. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/pyproject.toml +1 -1
  3. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/src/mini_arcade_native_backend/__init__.py +16 -2
  4. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/.github/workflows/ci.yml +0 -0
  5. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/.github/workflows/create-release-branch.yml +0 -0
  6. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/.github/workflows/release-finalize.yml +0 -0
  7. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/.github/workflows/release-publish.yml +0 -0
  8. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/.gitignore +0 -0
  9. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/.vscode/settings.json +0 -0
  10. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/CHANGELOG.md +0 -0
  11. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/CMakeLists.txt +0 -0
  12. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/LICENSE +0 -0
  13. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/README.md +0 -0
  14. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/cpp/bindings.cpp +0 -0
  15. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/cpp/engine.cpp +0 -0
  16. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/cpp/engine.h +0 -0
  17. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/examples/native_backend_demo.py +0 -0
  18. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/poetry.lock +0 -0
  19. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/poetry.toml +0 -0
  20. {mini_arcade_native_backend-0.3.4 → mini_arcade_native_backend-0.3.5}/tests/test_init.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mini-arcade-native-backend
3
- Version: 0.3.4
3
+ Version: 0.3.5
4
4
  Summary: Native SDL2 backend for mini-arcade-core using SDL2 + pybind11.
5
5
  Author-Email: Santiago Rincon <rincores@gmail.com>
6
6
  License: Copyright (c) 2025 Santiago Rincón
@@ -8,7 +8,7 @@ build-backend = "scikit_build_core.build"
8
8
 
9
9
  [project]
10
10
  name = "mini-arcade-native-backend"
11
- version = "0.3.4"
11
+ version = "0.3.5"
12
12
  description = "Native SDL2 backend for mini-arcade-core using SDL2 + pybind11."
13
13
  authors = [
14
14
  { name = "Santiago Rincon", email = "rincores@gmail.com" },
@@ -6,17 +6,31 @@ from __future__ import annotations
6
6
 
7
7
  import os
8
8
  import sys
9
+ from pathlib import Path
9
10
 
10
11
  # --- 1) Make sure Windows can find SDL2.dll when using vcpkg ------------------
11
12
 
12
13
  if sys.platform == "win32":
14
+ # a) If running as a frozen PyInstaller exe (e.g. DejaBounce.exe),
15
+ # SDL2.dll will live next to the executable. Add that dir.
16
+ if getattr(sys, "frozen", False):
17
+ exe_dir = Path(sys.executable).resolve().parent
18
+ try:
19
+ os.add_dll_directory(str(exe_dir))
20
+ except (FileNotFoundError, OSError):
21
+ # If this somehow fails, we still try other fallbacks.
22
+ pass
23
+
24
+ # b) Dev / vcpkg fallback: use VCPKG_ROOT if available.
13
25
  vcpkg_root = os.environ.get("VCPKG_ROOT")
14
26
  if vcpkg_root:
15
27
  # Typical vcpkg layout: <VCPKG_ROOT>/installed/x64-windows/bin/SDL2.dll
16
28
  sdl_bin = os.path.join(vcpkg_root, "installed", "x64-windows", "bin")
17
29
  if os.path.isdir(sdl_bin):
18
- # Python 3.8+ – add DLL search path before importing the extension
19
- os.add_dll_directory(sdl_bin)
30
+ try:
31
+ os.add_dll_directory(sdl_bin)
32
+ except (FileNotFoundError, OSError):
33
+ pass
20
34
 
21
35
  # --- 2) Now import native extension and core types ----------------------------
22
36