general: basic repository; patches
This commit is contained in:
@@ -0,0 +1 @@
|
||||
/build/
|
||||
@@ -1,3 +0,0 @@
|
||||
# builders_rubenslte
|
||||
|
||||
TWRP/ROM build scripts and NixOS development shell for SM-T365
|
||||
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
export ALLOW_NINJA_ENV=true
|
||||
export USE_CCACHE=1
|
||||
export LD_LIBRARY_PATH=/usr/lib:/usr/lib32
|
||||
export LC_ALL=C
|
||||
export LANG=C
|
||||
export LC_CTYPE=C
|
||||
|
||||
# export LOCAL_CFLAGS=-Wno-error
|
||||
|
||||
BUILD_DIR="./build"
|
||||
PATCH_DIR="./patches"
|
||||
MANIFEST_URL="https://github.com/minimal-manifest-twrp/platform_manifest_twrp_omni.git"
|
||||
MANIFEST_BRANCH="twrp-5.1"
|
||||
DEVICE_TREE_URL="https://git.cfpi-fpsi.eu:8443/rubenslte/twrp_device_samsung_rubenslte"
|
||||
KERNEL_URL="https://git.cfpi-fpsi.eu:8443/rubenslte/android_kernel_samsung_rubenslte"
|
||||
|
||||
if [ ! -d "${BUILD_DIR}/.repo" ]; then
|
||||
echo "Creating build directory ${BUILD_DIR} and cloning manifest ${MANIFEST_URL} from branch ${MANIFEST_BRANCH}..."
|
||||
mkdir -p "${BUILD_DIR}"
|
||||
cd "${BUILD_DIR}"
|
||||
repo init --depth 1 -u "${MANIFEST_URL}" -b "${MANIFEST_BRANCH}"
|
||||
fi
|
||||
|
||||
if [ ! -d "${BUILD_DIR}/device/samsung/rubenslte" ]; then
|
||||
echo "Cloning device tree..."
|
||||
git clone "${DEVICE_TREE_URL}" "${BUILD_DIR}/device/samsung/rubenslte"
|
||||
fi
|
||||
|
||||
if [ ! -d "${BUILD_DIR}/kernel/samsung/rubenslte" ]; then
|
||||
echo "Cloning kernel source..."
|
||||
git clone "${KERNEL_URL}" "${BUILD_DIR}/kernel/samsung/rubenslte"
|
||||
fi
|
||||
|
||||
for patch in "${PATCH_DIR}/*.patch"; do
|
||||
echo "Applying $(basename "$patch")"
|
||||
(cd "${BUILD_DIR}" && patch -p1 -N -r- < "$patch" 2>/dev/null || true)
|
||||
fi
|
||||
|
||||
cd "${BUILD_DIR}"
|
||||
set +u
|
||||
source build/envsetup.sh
|
||||
lunch "omni_rubenslte-userdebug"
|
||||
set -u
|
||||
mka recoveryimage
|
||||
|
||||
echo "Build results in ${BUILD_DIR}/out/target/product/rubenslte"
|
||||
@@ -0,0 +1,30 @@
|
||||
From: rubenslte-builder <builder@rubenslte>
|
||||
Date: Wed, 22 Jul 2026 10:30:00 +0200
|
||||
Subject: [PATCH 1/8] host-cflags-suppress-stringop-truncation
|
||||
|
||||
Suppress -Werror=stringop-truncation for GCC >= 8 host builds
|
||||
---
|
||||
diff --git a/build/core/combo/HOST_linux-x86.mk b/build/core/combo/HOST_linux-x86.mk
|
||||
--- a/build/core/combo/HOST_linux-x86.mk
|
||||
+++ b/build/core/combo/HOST_linux-x86.mk
|
||||
@@ -50,6 +50,9 @@
|
||||
# See bug 12708004.
|
||||
$(combo_2nd_arch_prefix)HOST_GLOBAL_CFLAGS += -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS
|
||||
|
||||
+# Suppress warnings treated as errors with GCC >= 8
|
||||
+$(combo_2nd_arch_prefix)HOST_GLOBAL_CFLAGS += -Wno-error=stringop-truncation
|
||||
+
|
||||
$(combo_2nd_arch_prefix)HOST_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
|
||||
|
||||
|
||||
diff --git a/build/core/combo/HOST_linux-x86_64.mk b/build/core/combo/HOST_linux-x86_64.mk
|
||||
--- a/build/core/combo/HOST_linux-x86_64.mk
|
||||
+++ b/build/core/combo/HOST_linux-x86_64.mk
|
||||
@@ -50,4 +50,7 @@
|
||||
# See bug 12708004.
|
||||
HOST_GLOBAL_CFLAGS += -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS
|
||||
|
||||
+# Suppress warnings treated as errors with GCC >= 8
|
||||
+HOST_GLOBAL_CFLAGS += -Wno-error=stringop-truncation
|
||||
+
|
||||
HOST_NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined
|
||||
@@ -0,0 +1,48 @@
|
||||
From: rubenslte-builder <builder@rubenslte>
|
||||
Date: Wed, 22 Jul 2026 10:30:00 +0200
|
||||
Subject: [PATCH 2/8] build-core-fix-ar-absolute-paths
|
||||
|
||||
Fix ar absolute path issues by extracting to temp dir instead of per-member piping
|
||||
Use $(abspath ...) for toolchain paths to survive cd in recipe
|
||||
---
|
||||
diff --git a/build/core/definitions.mk b/build/core/definitions.mk
|
||||
--- a/build/core/definitions.mk
|
||||
+++ b/build/core/definitions.mk
|
||||
@@ -1180,13 +1180,11 @@ define _extract-and-include-single-target-whole-static-lib
|
||||
$(hide) ldir=$(PRIVATE_INTERMEDIATES_DIR)/WHOLE/$(basename $(notdir $(1)))_objs;\
|
||||
rm -rf $$ldir; \
|
||||
mkdir -p $$ldir; \
|
||||
- filelist=; \
|
||||
- for f in `$($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_AR) t $(1)`; do \
|
||||
- $($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_AR) p $(1) $$f > $$ldir/$$f; \
|
||||
- filelist="$$filelist $$ldir/$$f"; \
|
||||
- done ; \
|
||||
- $($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_AR) $($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_ARFLAGS) \
|
||||
- $(PRIVATE_ARFLAGS) $@ $$filelist
|
||||
+ cp $(1) $$ldir/input.a; \
|
||||
+ cd $$ldir && $(abspath $($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_AR)) x input.a; \
|
||||
+ rm -f $$ldir/input.a; \
|
||||
+ $(abspath $($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_AR)) $($(PRIVATE_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_ARFLAGS) \
|
||||
+ $(PRIVATE_ARFLAGS) $@ $$ldir/*.o
|
||||
|
||||
endef
|
||||
|
||||
@@ -1217,13 +1215,11 @@ define _extract-and-include-single-host-whole-static-lib
|
||||
$(hide) ldir=$(PRIVATE_INTERMEDIATES_DIR)/WHOLE/$(basename $(notdir $(1)))_objs;\
|
||||
rm -rf $$ldir; \
|
||||
mkdir -p $$ldir; \
|
||||
- filelist=; \
|
||||
- for f in `$($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_AR) t $(1) | \grep '\.o$$'`; do \
|
||||
- $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_AR) p $(1) $$f > $$ldir/$$f; \
|
||||
- filelist="$$filelist $$ldir/$$f"; \
|
||||
- done ; \
|
||||
- $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_AR) $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_GLOBAL_ARFLAGS) \
|
||||
- $(PRIVATE_ARFLAGS) $@ $$filelist
|
||||
+ cp $(1) $$ldir/input.a; \
|
||||
+ cd $$ldir && $(abspath $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_AR)) x input.a; \
|
||||
+ rm -f $$ldir/input.a; \
|
||||
+ $(abspath $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_AR)) $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_GLOBAL_ARFLAGS) \
|
||||
+ $(PRIVATE_ARFLAGS) $@ $$ldir/*.o
|
||||
|
||||
endef
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From: rubenslte-builder <builder@rubenslte>
|
||||
Date: Wed, 22 Jul 2026 10:30:00 +0200
|
||||
Subject: [PATCH 3/8] kernel-add-missing-ARCH_MSM-config-and-defconfig-fixes
|
||||
|
||||
Add ARCH_MSM Kconfig entry and CONFIG_OF/CONFIG_ARCH_MSM to variant defconfig
|
||||
---
|
||||
diff --git a/kernel/samsung/rubenslte/arch/arm/mach-msm/Kconfig b/kernel/samsung/rubenslte/arch/arm/mach-msm/Kconfig
|
||||
--- a/kernel/samsung/rubenslte/arch/arm/mach-msm/Kconfig
|
||||
+++ b/kernel/samsung/rubenslte/arch/arm/mach-msm/Kconfig
|
||||
@@ -1,3 +1,14 @@
|
||||
+config ARCH_MSM
|
||||
+ bool "Qualcomm MSM (Snapdragon)"
|
||||
+ select ARM_GIC
|
||||
+ select GENERIC_CLOCKEVENTS
|
||||
+ select GENERIC_IRQ_CHIP
|
||||
+ select ARM_HAS_SG_CHAIN
|
||||
+ select SPARSE_IRQ
|
||||
+ select MULTI_IRQ_HANDLER
|
||||
+ select HAVE_SCHED_CLOCK
|
||||
+ select CLKDEV_LOOKUP
|
||||
+
|
||||
if ARCH_MSM
|
||||
|
||||
menu "MSM SoC Type"
|
||||
diff --git a/kernel/samsung/rubenslte/arch/arm/configs/msm8926-sec_rubenslte_defconfig b/kernel/samsung/rubenslte/arch/arm/configs/msm8926-sec_rubenslte_defconfig
|
||||
--- a/kernel/samsung/rubenslte/arch/arm/configs/msm8926-sec_rubenslte_defconfig
|
||||
+++ b/kernel/samsung/rubenslte/arch/arm/configs/msm8926-sec_rubenslte_defconfig
|
||||
@@ -1,3 +1,6 @@
|
||||
+CONFIG_ARCH_MSM=y
|
||||
+CONFIG_ARCH_MSM8226=y
|
||||
+
|
||||
#variant defconfig
|
||||
CONFIG_MACH_RUBENSLTE_OPEN=y
|
||||
CONFIG_SEC_RUBENS_PROJECT=y
|
||||
@@ -173,4 +176,6 @@
|
||||
CONFIG_CRYPTO_FIPS=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_LOG_BUF_SHIFT=18
|
||||
+CONFIG_OF=y
|
||||
+CONFIG_OF_FLATTREE=y
|
||||
# FIPS Cerified code merge - end
|
||||
\ Brak znaku nowej linii na końcu pliku
|
||||
@@ -0,0 +1,17 @@
|
||||
From: rubenslte-builder <builder@rubenslte>
|
||||
Date: Wed, 22 Jul 2026 10:30:00 +0200
|
||||
Subject: [PATCH 4/8] recovery-add-std-gnu++11-for-nullptr-support
|
||||
|
||||
Add -std=gnu++11 to recovery LOCAL_CPPFLAGS for Clang nullptr support
|
||||
---
|
||||
diff --git a/bootable/recovery/Android.mk b/bootable/recovery/Android.mk
|
||||
--- a/bootable/recovery/Android.mk
|
||||
+++ b/bootable/recovery/Android.mk
|
||||
@@ -97,6 +97,7 @@
|
||||
LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
|
||||
LOCAL_CFLAGS += -Wno-unused-parameter
|
||||
LOCAL_CLANG := true
|
||||
+LOCAL_CPPFLAGS += -std=gnu++11
|
||||
|
||||
#LOCAL_STATIC_LIBRARIES := \
|
||||
# libext4_utils_static \
|
||||
@@ -0,0 +1,18 @@
|
||||
From: rubenslte-builder <builder@rubenslte>
|
||||
Date: Wed, 22 Jul 2026 10:30:00 +0200
|
||||
Subject: [PATCH 5/8] build-core-combo-remove-icf-safe-for-BFD-ld
|
||||
|
||||
Comment out -Wl,--icf=safe (gold-only flag, unsupported by BFD ld)
|
||||
---
|
||||
diff --git a/build/core/combo/TARGET_linux-arm.mk b/build/core/combo/TARGET_linux-arm.mk
|
||||
--- a/build/core/combo/TARGET_linux-arm.mk
|
||||
+++ b/build/core/combo/TARGET_linux-arm.mk
|
||||
@@ -143,7 +143,7 @@
|
||||
-Wl,-z,now \
|
||||
-Wl,--warn-shared-textrel \
|
||||
-Wl,--fatal-warnings \
|
||||
- -Wl,--icf=safe \
|
||||
+ # -Wl,--icf=safe (unsupported by BFD ld) \
|
||||
$(arch_variant_ldflags)
|
||||
|
||||
$(combo_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS += -mthumb-interwork
|
||||
@@ -0,0 +1,18 @@
|
||||
From: rubenslte-builder <builder@rubenslte>
|
||||
Date: Wed, 22 Jul 2026 10:30:00 +0200
|
||||
Subject: [PATCH 6/8] kernel-timeconst-pl-fix-deprecated-defined-array
|
||||
|
||||
Fix 'defined(@array)' deprecated warning in Perl 5.22+ by using !@val
|
||||
---
|
||||
diff --git a/kernel/samsung/rubenslte/kernel/timeconst.pl b/kernel/samsung/rubenslte/kernel/timeconst.pl
|
||||
--- a/kernel/samsung/rubenslte/kernel/timeconst.pl
|
||||
+++ b/kernel/samsung/rubenslte/kernel/timeconst.pl
|
||||
@@ -370,7 +370,7 @@
|
||||
}
|
||||
|
||||
@val = @{$canned_values{$hz}};
|
||||
- if (!defined(@val)) {
|
||||
+ if (!@val) {
|
||||
@val = compute_values($hz);
|
||||
}
|
||||
output($hz, @val);
|
||||
@@ -0,0 +1,19 @@
|
||||
From: rubenslte-builder <builder@rubenslte>
|
||||
Date: Wed, 22 Jul 2026 10:30:00 +0200
|
||||
Subject: [PATCH 7/8] scripts-Makefile-modpost-treat-section-mismatches-as-non-fatal
|
||||
|
||||
Comment out -E flag in modpost invocation so section mismatches are warnings
|
||||
not errors
|
||||
---
|
||||
diff --git a/kernel/samsung/rubenslte/scripts/Makefile.modpost b/kernel/samsung/rubenslte/scripts/Makefile.modpost
|
||||
--- a/kernel/samsung/rubenslte/scripts/Makefile.modpost
|
||||
+++ b/kernel/samsung/rubenslte/scripts/Makefile.modpost
|
||||
@@ -80,7 +80,7 @@
|
||||
$(if $(KBUILD_EXTRA_SYMBOLS), $(patsubst %, -e %,$(KBUILD_EXTRA_SYMBOLS))) \
|
||||
$(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \
|
||||
$(if $(CONFIG_DEBUG_SECTION_MISMATCH),,-S) \
|
||||
- $(if $(CONFIG_NO_ERROR_ON_MISMATCH),,-E) \
|
||||
+ # $(if $(CONFIG_NO_ERROR_ON_MISMATCH),,-E) \
|
||||
$(if $(KBUILD_EXTMOD)$(KBUILD_MODPOST_WARN),-w) \
|
||||
$(if $(cross_build),-c)
|
||||
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
From: rubenslte-builder <builder@rubenslte>
|
||||
Date: Wed, 22 Jul 2026 10:30:00 +0200
|
||||
Subject: [PATCH 8/8] build-core-tasks-kernel-fix-KERNEL_CONFIG_OVERRIDE-ordering-and-passthrough
|
||||
|
||||
Reorder KERNEL_ADDITIONAL_CONFIG before KERNEL_CONFIG_OVERRIDE, remove
|
||||
oldconfig after override, pass override on kernel build command line
|
||||
---
|
||||
diff --git a/build/core/tasks/kernel.mk b/build/core/tasks/kernel.mk
|
||||
--- a/build/core/tasks/kernel.mk
|
||||
+++ b/build/core/tasks/kernel.mk
|
||||
@@ -209,17 +209,16 @@
|
||||
|
||||
$(KERNEL_CONFIG): $(KERNEL_OUT)
|
||||
$(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(KERNEL_DEFCONFIG)
|
||||
- $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \
|
||||
- echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \
|
||||
- echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \
|
||||
- $(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) oldconfig; fi
|
||||
$(hide) if [ ! -z "$(KERNEL_ADDITIONAL_CONFIG)" ]; then \
|
||||
echo "Using additional config '$(KERNEL_ADDITIONAL_CONFIG)'"; \
|
||||
cat $(KERNEL_SRC)/arch/$(KERNEL_ARCH)/configs/$(KERNEL_ADDITIONAL_CONFIG) >> $(KERNEL_OUT)/.config; \
|
||||
$(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) oldconfig; fi
|
||||
+ $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \
|
||||
+ echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \
|
||||
+ echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; fi
|
||||
|
||||
TARGET_KERNEL_BINARIES: $(KERNEL_OUT) $(KERNEL_CONFIG) $(KERNEL_HEADERS_INSTALL)
|
||||
- $(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) $(TARGET_PREBUILT_INT_KERNEL_TYPE)
|
||||
+ $(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) $(KERNEL_CONFIG_OVERRIDE) $(TARGET_PREBUILT_INT_KERNEL_TYPE)
|
||||
-$(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) dtbs
|
||||
-$(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) modules
|
||||
-$(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) INSTALL_MOD_PATH=../../$(KERNEL_MODULES_INSTALL) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) modules_install
|
||||
@@ -241,14 +240,13 @@
|
||||
echo "Used a different defconfig for header generation"; \
|
||||
rm -f ../$(KERNEL_CONFIG); \
|
||||
$(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(KERNEL_DEFCONFIG); fi
|
||||
- $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \
|
||||
- echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \
|
||||
- echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \
|
||||
- $(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) oldconfig; fi
|
||||
$(hide) if [ ! -z "$(KERNEL_ADDITIONAL_CONFIG)" ]; then \
|
||||
echo "Using additional config '$(KERNEL_ADDITIONAL_CONFIG)'"; \
|
||||
cat $(KERNEL_SRC)/arch/$(KERNEL_ARCH)/configs/$(KERNEL_ADDITIONAL_CONFIG) >> $(KERNEL_OUT)/.config; \
|
||||
$(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) oldconfig; fi
|
||||
+ $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \
|
||||
+ echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \
|
||||
+ echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; fi
|
||||
|
||||
kerneltags: $(KERNEL_OUT) $(KERNEL_CONFIG)
|
||||
$(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) tags
|
||||
@@ -0,0 +1,52 @@
|
||||
let
|
||||
pkgs = import (fetchTarball {
|
||||
# An older nixpkgs version is required for old GCC and C++
|
||||
# libraries.
|
||||
url = "https://github.com/NixOS/nixpkgs/archive/nixos-22.11.tar.gz";
|
||||
}) {};
|
||||
|
||||
fhs = pkgs.buildFHSUserEnv {
|
||||
name = "android-env";
|
||||
|
||||
targetPkgs = pkgs: with pkgs; [
|
||||
git
|
||||
gitRepo
|
||||
gnupg
|
||||
python2
|
||||
curl
|
||||
procps
|
||||
openssl
|
||||
gnumake
|
||||
nettools
|
||||
android-tools
|
||||
jdk8
|
||||
schedtool
|
||||
util-linux
|
||||
m4
|
||||
gperf
|
||||
perl
|
||||
libxml2
|
||||
zip
|
||||
unzip
|
||||
bison
|
||||
flex
|
||||
lzop
|
||||
xz
|
||||
python3
|
||||
];
|
||||
|
||||
multiPkgs = pkgs: with pkgs; [
|
||||
zlib
|
||||
ncurses5
|
||||
pkgsi686Linux.gcc9
|
||||
pkgsi686Linux.libstdcxx5
|
||||
];
|
||||
|
||||
runScript = "bash";
|
||||
profile = "export ANDROID_JAVA_HOME=${pkgs.jdk8.home}";
|
||||
};
|
||||
in pkgs.stdenv.mkDerivation {
|
||||
name = "android-env-shell";
|
||||
nativeBuildInputs = [ fhs ];
|
||||
shellHook = "exec android-env";
|
||||
}
|
||||
Reference in New Issue
Block a user