mangayomi: 0.6.25 -> 0.6.3 (#428507)
This commit is contained in:
@@ -1,90 +0,0 @@
|
||||
--- old/rust_builder/cargokit/cmake/cargokit.cmake 2024-11-08 13:36:13.345889693 +0000
|
||||
+++ new/rust_builder/cargokit/cmake/cargokit.cmake 2024-11-08 13:45:26.019632176 +0000
|
||||
@@ -17,83 +17,22 @@
|
||||
function(apply_cargokit target manifest_dir lib_name any_symbol_name)
|
||||
|
||||
set(CARGOKIT_LIB_NAME "${lib_name}")
|
||||
- set(CARGOKIT_LIB_FULL_NAME "${CMAKE_SHARED_MODULE_PREFIX}${CARGOKIT_LIB_NAME}${CMAKE_SHARED_MODULE_SUFFIX}")
|
||||
- if (CMAKE_CONFIGURATION_TYPES)
|
||||
- set(CARGOKIT_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>")
|
||||
- set(OUTPUT_LIB "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${CARGOKIT_LIB_FULL_NAME}")
|
||||
- else()
|
||||
- set(CARGOKIT_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
- set(OUTPUT_LIB "${CMAKE_CURRENT_BINARY_DIR}/${CARGOKIT_LIB_FULL_NAME}")
|
||||
- endif()
|
||||
- set(CARGOKIT_TEMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/cargokit_build")
|
||||
-
|
||||
- if (FLUTTER_TARGET_PLATFORM)
|
||||
- set(CARGOKIT_TARGET_PLATFORM "${FLUTTER_TARGET_PLATFORM}")
|
||||
- else()
|
||||
- set(CARGOKIT_TARGET_PLATFORM "windows-x64")
|
||||
- endif()
|
||||
-
|
||||
- set(CARGOKIT_ENV
|
||||
- "CARGOKIT_CMAKE=${CMAKE_COMMAND}"
|
||||
- "CARGOKIT_CONFIGURATION=$<CONFIG>"
|
||||
- "CARGOKIT_MANIFEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${manifest_dir}"
|
||||
- "CARGOKIT_TARGET_TEMP_DIR=${CARGOKIT_TEMP_DIR}"
|
||||
- "CARGOKIT_OUTPUT_DIR=${CARGOKIT_OUTPUT_DIR}"
|
||||
- "CARGOKIT_TARGET_PLATFORM=${CARGOKIT_TARGET_PLATFORM}"
|
||||
- "CARGOKIT_TOOL_TEMP_DIR=${CARGOKIT_TEMP_DIR}/tool"
|
||||
- "CARGOKIT_ROOT_PROJECT_DIR=${CMAKE_SOURCE_DIR}"
|
||||
- )
|
||||
-
|
||||
- if (WIN32)
|
||||
- set(SCRIPT_EXTENSION ".cmd")
|
||||
- set(IMPORT_LIB_EXTENSION ".lib")
|
||||
- else()
|
||||
- set(SCRIPT_EXTENSION ".sh")
|
||||
- set(IMPORT_LIB_EXTENSION "")
|
||||
- execute_process(COMMAND chmod +x "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}")
|
||||
- endif()
|
||||
-
|
||||
- # Using generators in custom command is only supported in CMake 3.20+
|
||||
- if (CMAKE_CONFIGURATION_TYPES AND ${CMAKE_VERSION} VERSION_LESS "3.20.0")
|
||||
- foreach(CONFIG IN LISTS CMAKE_CONFIGURATION_TYPES)
|
||||
- add_custom_command(
|
||||
- OUTPUT
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG}/${CARGOKIT_LIB_FULL_NAME}"
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}/_phony_"
|
||||
- COMMAND ${CMAKE_COMMAND} -E env ${CARGOKIT_ENV}
|
||||
- "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}" build-cmake
|
||||
- VERBATIM
|
||||
- )
|
||||
- endforeach()
|
||||
- else()
|
||||
- add_custom_command(
|
||||
- OUTPUT
|
||||
- ${OUTPUT_LIB}
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}/_phony_"
|
||||
- COMMAND ${CMAKE_COMMAND} -E env ${CARGOKIT_ENV}
|
||||
- "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}" build-cmake
|
||||
- VERBATIM
|
||||
- )
|
||||
- endif()
|
||||
-
|
||||
-
|
||||
- set_source_files_properties("${CMAKE_CURRENT_BINARY_DIR}/_phony_" PROPERTIES SYMBOLIC TRUE)
|
||||
|
||||
if (TARGET ${target})
|
||||
# If we have actual cmake target provided create target and make existing
|
||||
# target depend on it
|
||||
- add_custom_target("${target}_cargokit" DEPENDS ${OUTPUT_LIB})
|
||||
+ add_custom_target("${target}_cargokit" DEPENDS @output_lib@)
|
||||
add_dependencies("${target}" "${target}_cargokit")
|
||||
- target_link_libraries("${target}" PRIVATE "${OUTPUT_LIB}${IMPORT_LIB_EXTENSION}")
|
||||
+ target_link_libraries("${target}" PRIVATE @output_lib@)
|
||||
if(WIN32)
|
||||
target_link_options(${target} PRIVATE "/INCLUDE:${any_symbol_name}")
|
||||
endif()
|
||||
else()
|
||||
# Otherwise (FFI) just use ALL to force building always
|
||||
- add_custom_target("${target}_cargokit" ALL DEPENDS ${OUTPUT_LIB})
|
||||
+ add_custom_target("${target}_cargokit" ALL DEPENDS @output_lib@)
|
||||
endif()
|
||||
|
||||
# Allow adding the output library to plugin bundled libraries
|
||||
- set("${target}_cargokit_lib" ${OUTPUT_LIB} PARENT_SCOPE)
|
||||
+ set("${target}_cargokit_lib" @output_lib@ PARENT_SCOPE)
|
||||
|
||||
endfunction()
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"desktop_webview_window": "sha256-wRxQPlJZZe4t2C6+G5dMx3+w8scxWENLwII08dlZ4IA=",
|
||||
"epubx": "sha256-Rf9zaabPvP7D4NgyJ+LpSB8zHjBvhq2wE0p9Sy7uOXM=",
|
||||
"flutter_qjs": "sha256-uF3+lQyc6oXWjg9xm8PVXRNZ3AXrw7+FH/lPIQPzaJY=",
|
||||
"flutter_web_auth_2": "sha256-3aci73SP8eXg6++IQTQoyS+erUUuSiuXymvR32sxHFw=",
|
||||
"media_kit_video": "sha256-t8lqS44lylLhMyvlY5G1k7EXfpDq8WshBVg8D/z0Hbc=",
|
||||
"re_editor": "sha256-alfzTs9lUHTsaZgXADb1X3T4ZB6KrhIEeGY0wuvZJtU="
|
||||
}
|
||||
@@ -1,25 +1,25 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
flutter332,
|
||||
webkitgtk_4_1,
|
||||
mpv,
|
||||
rustPlatform,
|
||||
stdenv,
|
||||
flutter332,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
copyDesktopItems,
|
||||
mpv-unwrapped,
|
||||
webkitgtk_4_1,
|
||||
makeDesktopItem,
|
||||
replaceVars,
|
||||
writeText,
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "mangayomi";
|
||||
version = "0.6.25";
|
||||
version = "0.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kodjodevf";
|
||||
repo = "mangayomi";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-vuikoTyvUESz9ZESo4gy76syLYVO1WZdvoJf6NsyW4Y=";
|
||||
hash = "sha256-nlA5DLYSj9VVpDo7o5Umccoz8RAF+ac3LWV7108t2Ds=";
|
||||
};
|
||||
|
||||
metaCommon = {
|
||||
@@ -36,8 +36,6 @@ let
|
||||
|
||||
sourceRoot = "${src.name}/rust";
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
|
||||
cargoHash = "sha256-DDHBLQWscORg4+0CX5c2wmrhm2t7wOpotZFB+85w+EA=";
|
||||
|
||||
passthru.libraryPath = "lib/librust_lib_mangayomi.so";
|
||||
@@ -58,36 +56,35 @@ flutter332.buildFlutterApplication {
|
||||
inherit version src;
|
||||
inherit (src) passthru;
|
||||
|
||||
patches = [
|
||||
(replaceVars ./cargokit.patch {
|
||||
output_lib = "${rustDep}/${rustDep.passthru.libraryPath}";
|
||||
})
|
||||
];
|
||||
postPatch =
|
||||
let
|
||||
fakeCargokitCmake = writeText "FakeCargokit.cmake" ''
|
||||
function(apply_cargokit target manifest_dir lib_name any_symbol_name)
|
||||
set("''${target}_cargokit_lib" ${rustDep}/${rustDep.passthru.libraryPath} PARENT_SCOPE)
|
||||
endfunction()
|
||||
'';
|
||||
in
|
||||
''
|
||||
cp ${fakeCargokitCmake} rust_builder/cargokit/cmake/cargokit.cmake
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cp -r . $out
|
||||
cp -r . "$out"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
gitHashes = {
|
||||
desktop_webview_window = "sha256-wRxQPlJZZe4t2C6+G5dMx3+w8scxWENLwII08dlZ4IA=";
|
||||
flutter_qjs = "sha256-uF3+lQyc6oXWjg9xm8PVXRNZ3AXrw7+FH/lPIQPzaJY=";
|
||||
flutter_web_auth_2 = "sha256-3aci73SP8eXg6++IQTQoyS+erUUuSiuXymvR32sxHFw=";
|
||||
epubx = "sha256-Rf9zaabPvP7D4NgyJ+LpSB8zHjBvhq2wE0p9Sy7uOXM=";
|
||||
media_kit_video = "sha256-t8lqS44lylLhMyvlY5G1k7EXfpDq8WshBVg8D/z0Hbc=";
|
||||
re_editor = "sha256-alfzTs9lUHTsaZgXADb1X3T4ZB6KrhIEeGY0wuvZJtU=";
|
||||
};
|
||||
gitHashes = lib.importJSON ./gitHashes.json;
|
||||
|
||||
nativeBuildInputs = [ copyDesktopItems ];
|
||||
|
||||
buildInputs = [
|
||||
mpv-unwrapped
|
||||
webkitgtk_4_1
|
||||
mpv
|
||||
];
|
||||
|
||||
desktopItems = [
|
||||
|
||||
@@ -440,11 +440,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "d4rt",
|
||||
"sha256": "d38cde299f9e434b3c2bd0c07a7f3743e2853dfed60a3ed1f97685c34d922062",
|
||||
"sha256": "40ecf0b73603a8268050e890eb4d037b5bdf4184f439cc18d593e83b100a19e7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.0.7"
|
||||
"version": "0.0.9"
|
||||
},
|
||||
"dart_style": {
|
||||
"dependency": "transitive",
|
||||
@@ -1054,6 +1054,36 @@
|
||||
"source": "hosted",
|
||||
"version": "2.1.0"
|
||||
},
|
||||
"hive": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "hive",
|
||||
"sha256": "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.3"
|
||||
},
|
||||
"hive_flutter": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "hive_flutter",
|
||||
"sha256": "dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.0"
|
||||
},
|
||||
"hive_generator": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "hive_generator",
|
||||
"sha256": "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.1"
|
||||
},
|
||||
"html": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
@@ -2141,6 +2171,16 @@
|
||||
"source": "hosted",
|
||||
"version": "1.5.0"
|
||||
},
|
||||
"source_helper": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "source_helper",
|
||||
"sha256": "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.5"
|
||||
},
|
||||
"source_span": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
@@ -2763,7 +2803,7 @@
|
||||
}
|
||||
},
|
||||
"sdks": {
|
||||
"dart": ">=3.8.0 <4.0.0",
|
||||
"dart": ">=3.8.1 <4.0.0",
|
||||
"flutter": ">=3.29.0"
|
||||
}
|
||||
}
|
||||
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i python3 -p python3 nix-prefetch-git
|
||||
|
||||
import json
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
THIS_FOLDER = Path(__file__).parent.resolve()
|
||||
PUBSPEC_LOCK = THIS_FOLDER / "pubspec.lock.json"
|
||||
GIT_HASHES = THIS_FOLDER / "gitHashes.json"
|
||||
|
||||
|
||||
def fetch_git_hash(url: str, rev: str) -> str:
|
||||
result = subprocess.run(
|
||||
["nix-prefetch-git", "--url", url, "--rev", rev],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
check=True,
|
||||
)
|
||||
return json.loads(result.stdout)["hash"]
|
||||
|
||||
|
||||
def main() -> None:
|
||||
if not PUBSPEC_LOCK.exists():
|
||||
sys.exit(1)
|
||||
try:
|
||||
data = json.loads(PUBSPEC_LOCK.read_text())
|
||||
except json.JSONDecodeError:
|
||||
sys.exit(1)
|
||||
output: dict[str, str] = {}
|
||||
for name, info in data.get("packages", {}).items():
|
||||
if info.get("source") != "git":
|
||||
continue
|
||||
desc = info.get("description")
|
||||
if not isinstance(desc, dict):
|
||||
continue
|
||||
url = desc.get("url")
|
||||
rev = desc.get("resolved-ref")
|
||||
if not (isinstance(url, str) and isinstance(rev, str)):
|
||||
continue
|
||||
try:
|
||||
package_hash = fetch_git_hash(url, rev)
|
||||
except subprocess.CalledProcessError:
|
||||
continue
|
||||
output[name] = package_hash
|
||||
GIT_HASHES.write_text(json.dumps(output, indent=2) + "\n")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -1,14 +1,14 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=./. -i bash -p curl gnused jq yq nix bash coreutils nix-update
|
||||
#!nix-shell -i bash -p curl gnused jq yq nix bash nix-update
|
||||
|
||||
set -eou pipefail
|
||||
|
||||
ROOT="$(dirname "$(readlink -f "$0")")"
|
||||
PACKAGE_DIR=$(realpath "$(dirname "$0")")
|
||||
|
||||
latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/kodjodevf/mangayomi/releases/latest | jq --raw-output .tag_name)
|
||||
latestVersion=$(echo "$latestTag" | sed 's/^v//')
|
||||
|
||||
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; mangayomi.version or (lib.getVersion mangayomi)" | tr -d '"')
|
||||
currentVersion=$(nix eval --raw --file . mangayomi.version)
|
||||
|
||||
if [[ "$currentVersion" == "$latestVersion" ]]; then
|
||||
echo "package is up-to-date: $currentVersion"
|
||||
@@ -17,4 +17,6 @@ fi
|
||||
|
||||
nix-update --subpackage rustDep mangayomi
|
||||
|
||||
curl https://raw.githubusercontent.com/kodjodevf/mangayomi/${latestTag}/pubspec.lock | yq . >$ROOT/pubspec.lock.json
|
||||
curl -sL https://raw.githubusercontent.com/kodjodevf/mangayomi/${latestTag}/pubspec.lock | yq . >$PACKAGE_DIR/pubspec.lock.json
|
||||
|
||||
$PACKAGE_DIR/update-gitHashes.py
|
||||
|
||||
Reference in New Issue
Block a user