From 9f90494efb86972d43987f742b5e853056a43721 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 27 Feb 2025 20:44:45 -0600 Subject: [PATCH] fixes --- cmake/versions.cmake | 12 ++++++------ docker/x86_64/flutter | 23 ++++++++++++++++++++-- scripts/make_common.sh | 31 ----------------------------- scripts/make_flutter.sh | 40 ++++++++++++++++++++++++++++++++++++++ scripts/make_unix.sh | 2 ++ scripts/make_win32.cmd | 2 ++ web/repertory/pubspec.lock | 16 +++++++-------- 7 files changed, 79 insertions(+), 47 deletions(-) create mode 100755 scripts/make_flutter.sh diff --git a/cmake/versions.cmake b/cmake/versions.cmake index 523639a1..72316b08 100644 --- a/cmake/versions.cmake +++ b/cmake/versions.cmake @@ -1,15 +1,15 @@ set(BINUTILS_VERSION 2.43) -set(BOOST_MAJOR_VERSION 1) -set(BOOST_MINOR_VERSION 87) -set(BOOST_PATCH_VERSION 0) set(BOOST2_MAJOR_VERSION 1) set(BOOST2_MINOR_VERSION 76) set(BOOST2_PATCH_VERSION 0) +set(BOOST_MAJOR_VERSION 1) +set(BOOST_MINOR_VERSION 87) +set(BOOST_PATCH_VERSION 0) set(CPP_HTTPLIB_VERSION 0.19.0) -set(CURL_VERSION 8.12.1) set(CURL2_VERSION 8_12_1) -set(EXPAT_VERSION 2.6.4) +set(CURL_VERSION 8.12.1) set(EXPAT2_VERSION 2_6_4) +set(EXPAT_VERSION 2.6.4) set(GCC_VERSION 14.2.0) set(GTEST_VERSION 1.16.0) set(ICU_VERSION 76-1) @@ -22,7 +22,7 @@ set(PKG_CONFIG_VERSION 0.29.2) set(PUGIXML_VERSION 1.15) set(ROCKSDB_VERSION 9.10.0) set(SPDLOG_VERSION 1.15.1) -set(SQLITE_VERSION 3490100) set(SQLITE2_VERSION 3.49.1) +set(SQLITE_VERSION 3490100) set(STDUUID_VERSION 1.2.3) set(ZLIB_VERSION 1.3.1) diff --git a/docker/x86_64/flutter b/docker/x86_64/flutter index 16b9a84f..ddaf02ca 100644 --- a/docker/x86_64/flutter +++ b/docker/x86_64/flutter @@ -1,5 +1,8 @@ FROM debian:latest +ARG UID=0 +ARG GID=0 + RUN apt-get update RUN apt-get install -y \ bash \ @@ -16,11 +19,27 @@ RUN apt-get install -y \ wget RUN apt-get clean -RUN git clone https://github.com/flutter/flutter.git /usr/local/flutter +RUN git clone https://github.com/flutter/flutter.git /flutter +RUN git config --system --add safe.directory /flutter -ENV PATH="/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin:${PATH}" +ENV PATH="/flutter/bin:/flutter/bin/cache/dart-sdk/bin:${PATH}" RUN flutter doctor -v RUN flutter channel master RUN flutter upgrade +RUN flutter --disable-analytics + +RUN flutter config --no-analytics RUN flutter config --enable-web +RUN flutter config --no-cli-animations + +RUN mkdir /.config +RUN chown -R $UID:$GID /.config + +RUN mkdir /.dart-tool +RUN chown -R $UID:$GID /.dart-tool + +RUN mkdir /.pub-cache +RUN chown -R $UID:$GID /.pub-cache + +RUN chown -R $UID:$GID /flutter diff --git a/scripts/make_common.sh b/scripts/make_common.sh index 2475e37e..4f8382de 100755 --- a/scripts/make_common.sh +++ b/scripts/make_common.sh @@ -80,37 +80,6 @@ EOF done if [ -f "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/pubspec.yaml" ]; then - if [ "${PROJECT_IS_MINGW}" == "0" ] || [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then - FLUTTER_CONTAINER_NAME="${PROJECT_NAME}_flutter" - FLUTTER_TAG_NAME="${PROJECT_NAME}:flutter" - - docker stop ${FLUTTER_CONTAINER_NAME} - docker rm ${FLUTTER_CONTAINER_NAME} - - docker build \ - -t ${FLUTTER_TAG_NAME} \ - "${PROJECT_SOURCE_DIR}/docker/x86_64/flutter" || exit 1 - - docker run -td \ - --name ${FLUTTER_CONTAINER_NAME} \ - -u $(id -u):$(id -g) \ - -v ${PROJECT_SOURCE_DIR}:${PROJECT_SOURCE_DIR}:rw,z \ - -w ${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME} \ - ${FLUTTER_TAG_NAME} || exit 1 - - docker exec \ - ${FLUTTER_CONTAINER_NAME} \ - /bin/bash -c \ - "flutter build web --base-href=${PROJECT_FLUTTER_BASE_HREF}" || exit 1 - - docker stop ${FLUTTER_CONTAINER_NAME} - docker rm ${FLUTTER_CONTAINER_NAME} - else - pushd "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}" - flutter build web --base-href=${PROJECT_FLUTTER_BASE_HREF} || exit 1 - popd - fi - rsync -av --progress "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/build/web/" \ "${PROJECT_DIST_DIR}/web/" fi diff --git a/scripts/make_flutter.sh b/scripts/make_flutter.sh new file mode 100755 index 00000000..dbe2008b --- /dev/null +++ b/scripts/make_flutter.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +PROJECT_SCRIPTS_DIR=$(realpath "$0") +PROJECT_SCRIPTS_DIR=$(dirname "${PROJECT_SCRIPTS_DIR}") +. "${PROJECT_SCRIPTS_DIR}/env.sh" "$1" "$2" "$3" "$4" "$5" + +if [ -f "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/pubspec.yaml" ]; then + if [ "${PROJECT_IS_MINGW}" == "0" ] || [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then + FLUTTER_CONTAINER_NAME="${PROJECT_NAME}_flutter" + FLUTTER_TAG_NAME="${PROJECT_NAME}:flutter" + + docker stop ${FLUTTER_CONTAINER_NAME} + docker rm ${FLUTTER_CONTAINER_NAME} + + docker build "${PROJECT_SOURCE_DIR}/docker/x86_64/" \ + --build-arg UID=$(id -u) \ + --build-arg GID=$(id -g) \ + -t ${FLUTTER_TAG_NAME} \ + -f "${PROJECT_SOURCE_DIR}/docker/x86_64/flutter" || exit 1 + + docker run -td \ + --name ${FLUTTER_CONTAINER_NAME} \ + -u $(id -u):$(id -g) \ + -v ${PROJECT_SOURCE_DIR}:${PROJECT_SOURCE_DIR}:rw,z \ + -w ${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME} \ + ${FLUTTER_TAG_NAME} || exit 1 + + docker exec \ + ${FLUTTER_CONTAINER_NAME} \ + /bin/bash -c \ + "flutter clean;flutter build web --base-href=${PROJECT_FLUTTER_BASE_HREF}" || exit 1 + + docker stop ${FLUTTER_CONTAINER_NAME} + docker rm ${FLUTTER_CONTAINER_NAME} + else + pushd "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}" + flutter build web --base-href=${PROJECT_FLUTTER_BASE_HREF} || exit 1 + popd + fi +fi diff --git a/scripts/make_unix.sh b/scripts/make_unix.sh index a2789c3d..ebecf7b6 100755 --- a/scripts/make_unix.sh +++ b/scripts/make_unix.sh @@ -9,6 +9,8 @@ if [ -f "${PROJECT_SCRIPTS_DIR}/cleanup.sh" ]; then rm ${PROJECT_SCRIPTS_DIR}/cleanup.* fi +"${PROJECT_SOURCE_DIR}/scripts/make_flutter.sh" "${PROJECT_BUILD_ARCH}" "${PROJECT_CMAKE_BUILD_TYPE}" "${PROJECT_BUILD_CLEAN}" 0 0 || exit 1 + if [ "${PROJECT_REQUIRE_ALPINE}" == "ON" ] || [ "${PROJECT_IS_ARM64}" == "1" ]; then DOCKER_NAME=alpine DOCKER_CONTAINER=${PROJECT_NAME}_${DOCKER_NAME}_${PROJECT_BUILD_ARCH} diff --git a/scripts/make_win32.cmd b/scripts/make_win32.cmd index 73f10f42..1c11652b 100644 --- a/scripts/make_win32.cmd +++ b/scripts/make_win32.cmd @@ -12,5 +12,7 @@ pushd "%~dp0%" call cleanup.cmd "%ARG1%" "%ARG2%" "%ARG3%" 1 0 del cleanup.* ) + + call mingw64 -no-start ./make_futter.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1 call mingw64 -no-start ./make_common.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1 popd diff --git a/web/repertory/pubspec.lock b/web/repertory/pubspec.lock index c2c57f7f..19c2d367 100644 --- a/web/repertory/pubspec.lock +++ b/web/repertory/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.13.0" boolean_selector: dependency: transitive description: @@ -53,10 +53,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" flutter: dependency: "direct main" description: flutter @@ -79,10 +79,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: @@ -204,10 +204,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.0.0" sdks: dart: ">=3.7.0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54"