art-standalone: 0-unstable-2025-07-09 -> 0-unstable-2025-09-03

This commit is contained in:
Jonas Heinrich
2025-09-17 22:33:48 +02:00
parent 5319f2d87a
commit e46d41e3ff
4 changed files with 9 additions and 78 deletions
@@ -1,15 +0,0 @@
diff --git a/meson.build b/meson.build
index ad776069..ba8027c2 100644
--- a/meson.build
+++ b/meson.build
@@ -16,8 +16,8 @@ libdl_bio_dep = [
libc_bio_dep = [
cc.find_library('c_bio')
]
-if fs.is_file('/usr' / get_option('libdir') / 'java/core-all_classes.jar')
- bootclasspath_dir = '/usr' / get_option('libdir') / 'java'
+if fs.is_file('@artStandalonePackageDir@' / get_option('libdir') / 'java/core-all_classes.jar')
+ bootclasspath_dir = '@artStandalonePackageDir@' / get_option('libdir') / 'java'
elif fs.is_file('/usr/local' / get_option('libdir') / 'java/core-all_classes.jar')
bootclasspath_dir = '/usr/local' / get_option('libdir') / 'java'
elif fs.is_file(get_option('prefix') / get_option('libdir') / 'java/core-all_classes.jar')
@@ -30,22 +30,16 @@
stdenv.mkDerivation {
pname = "android-translation-layer";
version = "0-unstable-2025-09-03";
version = "0-unstable-2025-09-14";
src = fetchFromGitLab {
owner = "android_translation_layer";
repo = "android_translation_layer";
rev = "cf93a172b9238e6612b778c7ab76013acebf0ef8";
hash = "sha256-nnwefW8802ctJRY0aqL+D6MK713eoiQ5K6oVnm5fUOQ=";
rev = "9de91586994af5078decda17db92ce50c5673951";
hash = "sha256-iRjP++WzLsV7oDGNdF3m9JJJS7zLrG5W46U3h39H5uk=";
};
patches = [
# meson: use pkg-config from art-standalone instead of manual library search
# See: https://gitlab.com/android_translation_layer/android_translation_layer/-/merge_requests/164
(replaceVars ./configure-art-path.patch {
artStandalonePackageDir = "${art-standalone}";
})
# Required gio-unix dependency is missing in meson.build
./add-gio-unix-dep.patch
+6 -9
View File
@@ -23,28 +23,25 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "art-standalone";
version = "0-unstable-2025-07-09";
version = "0-unstable-2025-09-03";
src = fetchFromGitLab {
owner = "android_translation_layer";
repo = "art_standalone";
rev = "1eee3dce3ba6f324bb7a32a170b2da14889af39d";
hash = "sha256-OAO0k/LkQ+MKqR4HkFXD18LSXQZNPogjjRot4UVoE5A=";
rev = "10d60509c9073791f9eca1d2b8443d40a40edc05";
hash = "sha256-Xg6s58jymma1sNb6P7pwWFpYq1O6GoynrgPeLZRD+rI=";
};
patches = [
# Do not hardocde addr2line binary path
./no-hardcode-path-addr2line.patch
# Add support for pkg-config
# See: https://gitlab.com/android_translation_layer/art_standalone/-/merge_requests/37
./pkg-config-support.patch
];
postPatch = ''
chmod +x dalvik/dx/etc/{dx,dexmerger}
patchShebangs .
sed -i "s|/bin/bash|${runtimeShell}|" build/core/config.mk build/core/main.mk
substituteInPlace build/core/config.mk build/core/main.mk \
--replace-fail "/bin/bash" "${runtimeShell}"
'';
enableParallelBuilding = true;
@@ -102,7 +99,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://gitlab.com/android_translation_layer/art_standalone";
# No license specified yet
license = lib.licenses.unfree;
platforms = lib.platforms.all;
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [ onny ];
};
})
@@ -1,45 +0,0 @@
diff --git a/Makefile b/Makefile
index 42df5b18..3321adae 100644
--- a/Makefile
+++ b/Makefile
@@ -32,6 +32,8 @@ ____dalvikvm_bin_64 := $(____TOPDIR)/out/host/linux-x86/bin/dalvikvm64
__RPATH_BIN := \$${ORIGIN}/../$(____LIBDIR)/art/:\$${ORIGIN}/../$(____LIBDIR)/java/dex/art/natives
__RPATH_LIB := \$${ORIGIN}
+__VERSION ?= 0.0.0
+
# Jack compiler was google's first attempt at a solution for desugaring Java 8 and newer bytecode into bytecode compatible with older dex file formats.
# Thankfully, google realized that this was a bad idea, and in a typical google fashion, axed the project.
# They experimented with other approaches, but currently (2022) the way to do this is to use d8/r8 instead of dx;
@@ -112,6 +114,15 @@ install:
# our stable C API for libandroidfw, used by ATL
install -Dt $(____INSTALL_INCLUDEDIR)/androidfw $(____TOPDIR)/libandroidfw/include/androidfw/androidfw_c_api.h
+ # install pkg-config file
+ mkdir -p $(____INSTALL_LIBDIR)/pkgconfig
+ sed -e 's|@prefix@|$(____PREFIX)|g' \
+ -e 's|@libdir@|$(____LIBDIR)|g' \
+ -e 's|@includedir@|$(____INCLUDEDIR)|g' \
+ -e 's|@version@|$(__VERSION)|g' \
+ art-standalone.pc.in > $(____INSTALL_LIBDIR)/pkgconfig/art-standalone.pc
+
+
# TODO: figure out sharing dependencies and have this in a separate repo
install_adbd:
install -Dt $(____INSTALL_BINDIR) $(____TOPDIR)/out/host/linux-x86/bin/adbd
diff --git a/art-standalone.pc.in b/art-standalone.pc.in
new file mode 100644
index 00000000..210cd031
--- /dev/null
+++ b/art-standalone.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=${prefix}/@libdir@
+includedir=${prefix}/@includedir@
+
+Name: art-standalone
+Description: Android ART runtime (standalone build, minimal ATL deps)
+Version: @version@
+Libs: -L${libdir}/art -lart -lnativebridge -landroidfw
+Cflags: -I${includedir} -I${includedir}/androidfw