apkeditor: 1.4.1 -> 1.4.5; add update script (#437372)
This commit is contained in:
@@ -8,8 +8,8 @@
|
||||
let
|
||||
self = REAndroidLibrary {
|
||||
pname = "arsclib";
|
||||
# 1.3.5 is not new enough for APKEditor because of API changes
|
||||
version = "1.3.5-unstable-2024-10-21";
|
||||
# 1.3.8 is not new enough for APKEditor because of API changes
|
||||
version = "1.3.8-unstable-2025-09-23";
|
||||
projectName = "ARSCLib";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -18,8 +18,8 @@ let
|
||||
# This is the latest commit at the time of packaging.
|
||||
# It can be changed to a stable release ("V${version}")
|
||||
# if it is compatible with APKEditor.
|
||||
rev = "ed6ccf00e56d7cce13e8648ad46a2678a6093248";
|
||||
hash = "sha256-jzd7xkc4O+P9hlGsFGGl2P3pqVvV5+mDyKTRUuGfFSA=";
|
||||
rev = "7238433395dea6f7d0fce3139f1659063ac31f42";
|
||||
hash = "sha256-93eskC/qdkkNAZFYqSzoFxhmWgzTvDyZmZxOvwELGCs=";
|
||||
};
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
let
|
||||
self = REAndroidLibrary {
|
||||
pname = "jcommand";
|
||||
version = "0-unstable-2024-09-20";
|
||||
version = "0-unstable-2025-01-21";
|
||||
projectName = "JCommand";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -18,8 +18,8 @@ let
|
||||
# it is hard to determine the actual commit that APKEditor is intended to use,
|
||||
# so I think we should use the latest commit that doesn't break compilation or basic functionality.
|
||||
# Currently this is the latest commit at the time of packaging.
|
||||
rev = "714b6263c28dabb34adc858951cf4bc60d6c3fed";
|
||||
hash = "sha256-6Em+1ddUkZBCYWs88qtfeGnxISZchFrHgDL8fsgZoQg=";
|
||||
rev = "27d5fd21dc7da268182ea81e59007af890adb06e";
|
||||
hash = "sha256-sbblGrp16rMGGGt7xAFd9F3ACeadYYEymBEL+s5BZ1E=";
|
||||
};
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
callPackage,
|
||||
versionCheckHook,
|
||||
|
||||
jre,
|
||||
gradle,
|
||||
@@ -54,7 +55,7 @@ let
|
||||
apkeditor =
|
||||
let
|
||||
pname = "apkeditor";
|
||||
version = "1.4.1";
|
||||
version = "1.4.5";
|
||||
projectName = "APKEditor";
|
||||
in
|
||||
REAndroidLibrary {
|
||||
@@ -69,8 +70,8 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "REAndroid";
|
||||
repo = "APKEditor";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-a72j9qGjJXnTFeqLez2rhBSArFVYCX+Xs7NQd8CY5Yk=";
|
||||
tag = "V${version}";
|
||||
hash = "sha256-yuNMyEnxTjHPSBPWVD8b+f612hWGGayZHKHxtWtxXDg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -99,8 +100,15 @@ let
|
||||
--add-flags "-jar $out/${apkeditor.outJar}"
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Powerful android apk resources editor";
|
||||
homepage = "https://github.com/REAndroid/APKEditor";
|
||||
changelog = "https://github.com/REAndroid/APKEditor/releases/tag/V${version}";
|
||||
maintainers = with lib.maintainers; [ ulysseszhan ];
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.all;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
let
|
||||
self = REAndroidLibrary {
|
||||
pname = "smali";
|
||||
version = "0-unstable-2024-10-15";
|
||||
version = "0-unstable-2024-11-24";
|
||||
projectName = "smali";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@@ -18,8 +18,8 @@ let
|
||||
# it is hard to determine the actual commit that APKEditor is intended to use,
|
||||
# so I think we should use the latest commit that doesn't break compilation or basic functionality.
|
||||
# Currently this is the latest commit at the time of packaging.
|
||||
rev = "c781eafb31f526abce9fdf406ce2c925fec20d28";
|
||||
hash = "sha256-6tkvikgWMUcKwzsgbfpxlB6NZBAlZtTE34M3qPQw7Y4=";
|
||||
rev = "76b35b4e0c9e8c874ca3e374bb943bba8d280770";
|
||||
hash = "sha256-PhRBjiIKA4EIiafPplZNBErXG8V84Xn0cZLWVPmJelQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq common-updater-scripts
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
GITHUB_TOKEN="${GITHUB_TOKEN:-}"
|
||||
|
||||
nixpkgs_attr() {
|
||||
nix-instantiate --eval --raw --attr "$1"
|
||||
}
|
||||
|
||||
github_api() {
|
||||
local token_opt=()
|
||||
if [[ -n "$GITHUB_TOKEN" ]]; then
|
||||
token_opt=(-H "Authorization: Bearer $GITHUB_TOKEN")
|
||||
fi
|
||||
curl -fsS "${token_opt[@]}" "https://api.github.com$1"
|
||||
}
|
||||
|
||||
update_mitm_cache() {
|
||||
if [[ -z "$(nixpkgs_attr "$1.mitmCache.name")" ]]; then
|
||||
return
|
||||
fi
|
||||
"$(nix-build -A "$1.mitmCache.updateScript")"
|
||||
}
|
||||
|
||||
update() {
|
||||
echo "Updating $1..." >&2
|
||||
|
||||
local owner="$(nixpkgs_attr "$1.src.owner")"
|
||||
local repo="$(nixpkgs_attr "$1.src.repo")"
|
||||
|
||||
local old_version="$(nixpkgs_attr "$1.version")"
|
||||
local use_last_commit=0
|
||||
if [[ "$old_version" == *unstable* ]]; then
|
||||
use_last_commit=1
|
||||
fi
|
||||
|
||||
if (( use_last_commit )); then
|
||||
local repo_info="$(github_api "/repos/$owner/$repo/commits?per_page=1" | jq ".[0]")"
|
||||
local new_rev="$(echo "$repo_info" | jq -r .sha)"
|
||||
local date="$(echo "$repo_info" | jq -r .commit.author.date)"
|
||||
date="$(date -u -d "$date" +%Y-%m-%d)"
|
||||
local new_version="${old_version%%-unstable*}-unstable-$(date -u -d "$date" +%Y-%m-%d)"
|
||||
update-source-version "$1" "$new_version" --rev="$new_rev" --ignore-same-version --ignore-same-hash
|
||||
else
|
||||
local tag="$(github_api "/repos/$owner/$repo/releases/latest" | jq -r .tag_name)"
|
||||
local new_version="${tag#V}"
|
||||
update-source-version "$1" "$new_version" --ignore-same-version --ignore-same-hash
|
||||
fi
|
||||
|
||||
update_mitm_cache "$1"
|
||||
}
|
||||
|
||||
update apkeditor.passthru.deps.arsclib
|
||||
update apkeditor.passthru.deps.smali
|
||||
update apkeditor.passthru.deps.jcommand
|
||||
update apkeditor
|
||||
Reference in New Issue
Block a user