From 8669ced73b8aad7d4d2ded6abd8ca090ac869e92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Wed, 2 Oct 2024 19:57:54 -0300 Subject: [PATCH] Small fix in text shadow for tooltip in light theme. Try again downgrading Ubuntu version for arm64 nightly build (probably won't work, but locally works! :disappointed:) --- .github/workflows/ecode-nightly.yml | 9 +-- projects/linux/ecode/build.app.sh | 5 +- .../linux/scripts/find_most_recent_sdl2.sh | 68 +++++++++++++++++++ projects/linux/scripts/install_sdl2.sh | 54 +++++++++++++-- src/tools/ecode/applayout.xml.hpp | 8 +++ 5 files changed, 132 insertions(+), 12 deletions(-) create mode 100644 projects/linux/scripts/find_most_recent_sdl2.sh diff --git a/.github/workflows/ecode-nightly.yml b/.github/workflows/ecode-nightly.yml index f7f92f1f2..def55b15a 100644 --- a/.github/workflows/ecode-nightly.yml +++ b/.github/workflows/ecode-nightly.yml @@ -95,7 +95,7 @@ jobs: matrix: config: - arch: aarch64 - container: ubuntu-22.04 + container: ubuntu-20.04 runs-on: ${{ matrix.config.container }} env: CC: gcc @@ -123,16 +123,17 @@ jobs: url="http://ports.ubuntu.com/ubuntu-ports" repos="main restricted universe multiverse" echo "deb [arch=arm64] $url $codename $repos" > arm64.list - echo "deb [arch=arm64] $url $codename-updates $repos" >> arm64.list - echo "deb [arch=arm64] $url $codename-security $repos" >> arm64.list echo "deb [arch=arm64] $url $codename-backports $repos" >> arm64.list + echo "deb [arch=arm64] $url $codename-proposed $repos" >> arm64.list + echo "deb [arch=arm64] $url $codename-security $repos" >> arm64.list + echo "deb [arch=arm64] $url $codename-updates $repos" >> arm64.list sudo mv arm64.list /etc/apt/sources.list.d/ sudo apt-get update sudo dpkg --add-architecture arm64 - name: Install dependencies run: | sudo apt-get install -y premake4 libfuse2 fuse gcc-aarch64-linux-gnu g++-aarch64-linux-gnu - sudo apt-get install -y libsdl2-dev:arm64 libsdl2-2.0-0:arm64 + # sudo apt-get install -y libsdl2-dev:arm64 libsdl2-2.0-0:arm64 bash projects/linux/scripts/install_sdl2.sh --aarch64 - name: Build ecode run: | diff --git a/projects/linux/ecode/build.app.sh b/projects/linux/ecode/build.app.sh index 41a6194bb..97822835f 100755 --- a/projects/linux/ecode/build.app.sh +++ b/projects/linux/ecode/build.app.sh @@ -61,7 +61,10 @@ cp ecode.desktop ecode.app/ cp ../../../bin/assets/icon/ecode.png ecode.app/ecode.png cp ../../../libs/linux/libeepp.so ecode.app/libs/ cp ../../../bin/ecode ecode.app/ecode.bin -cp -L "$(whereis libSDL2-2.0.so.0 | awk '{print $NF}')" ecode.app/libs/ || exit + +bash ../scripts/find_most_recent_sdl2.sh --verbose + +cp -L "$(bash ../scripts/find_most_recent_sdl2.sh)" ecode.app/libs/ || exit ${STRIP:-strip} ecode.app/libs/libSDL2-2.0.so.0 mkdir -p ecode.app/assets/colorschemes mkdir -p ecode.app/assets/fonts diff --git a/projects/linux/scripts/find_most_recent_sdl2.sh b/projects/linux/scripts/find_most_recent_sdl2.sh new file mode 100644 index 000000000..a9b26e30d --- /dev/null +++ b/projects/linux/scripts/find_most_recent_sdl2.sh @@ -0,0 +1,68 @@ +#!/bin/bash + +VERBOSE= +for i in "$@"; do + case $i in + --verbose) + VERBOSE=true + shift + ;; + -*) + echo "Unknown option $i" + exit 1 + ;; + *) + ;; + esac +done + +lib_paths=$(whereis libSDL2-2.0.so.0 | cut -d ':' -f 2) + +get_sdl_version() { + local lib_path="$1" + local lib_dir=$(dirname "$lib_path") + + if [[ -f "$lib_dir/../bin/sdl2-config" ]]; then + local version=$("$lib_dir/../bin/sdl2-config" --version 2>/dev/null) + echo "$version" + else + version=$(strings "$lib_path" | grep -Eo "SDL2-[0-9]+\.[0-9]+\.[0-9]+" | head -n 1 | cut -d '-' -f 2) + echo "$version" + fi +} + +version_to_int() { + local version="$1" + printf "%03d%03d%03d" $(echo "$version" | tr '.' ' ') +} + +latest_version_int=0 +latest_version="0.0.0" +latest_lib="" + +for lib in $lib_paths; do + if [[ -f "$lib" ]]; then + version=$(get_sdl_version "$lib") + if [ -n "$VERBOSE" ]; then + echo "Found version $version in $lib" + fi + version_int=$(version_to_int "$version") + if (( version_int > latest_version_int )); then + latest_version_int=$version_int + latest_version="$version" + latest_lib="$lib" + fi + fi +done + +if [[ -n "$latest_lib" ]]; then + if [ -n "$VERBOSE" ]; then + echo "The newest version is $latest_version in $latest_lib" + fi + echo "$latest_lib" +else + if [ -n "$VERBOSE" ]; then + echo "No valid SDL2 library found." + fi + whereis libSDL2-2.0.so.0 | awk '{print $NF}' +fi diff --git a/projects/linux/scripts/install_sdl2.sh b/projects/linux/scripts/install_sdl2.sh index 5e4d6f3a3..a8416e86a 100644 --- a/projects/linux/scripts/install_sdl2.sh +++ b/projects/linux/scripts/install_sdl2.sh @@ -8,16 +8,56 @@ ARCH="x86_64" # Default architecture for host # Function to install dependencies install_dependencies() { sudo apt-get update - sudo apt-get install -y build-essential unzip wget libasound2-dev libpulse-dev \ - libudev-dev libx11-dev libxext-dev libxrandr-dev \ - libxcursor-dev libxi-dev libxinerama-dev libxss-dev \ - libxkbcommon-dev libwayland-dev wayland-protocols \ - libegl1-mesa-dev libgbm-dev || exit + sudo apt-get install -y build-essential unzip wget wayland-protocols \ + libasound2-dev \ + libdbus-1-dev \ + libegl1-mesa-dev \ + libgl1-mesa-dev \ + libgles2-mesa-dev \ + libglu1-mesa-dev \ + libibus-1.0-dev \ + libpulse-dev \ + libsndio-dev \ + libudev-dev \ + libwayland-dev \ + libx11-dev \ + libxcursor-dev \ + libxext-dev \ + libxi-dev \ + libxinerama-dev \ + libxkbcommon-dev \ + libxrandr-dev \ + libxss-dev \ + libxt-dev \ + libxv-dev \ + libxxf86vm-dev || exit } # Function to install cross-compile dependencies for aarch64 install_cross_dependencies() { - sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu || exit + sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu unzip wget wayland-protocols || exit + sudo apt-get install -y libasound2-dev:arm64 \ + libdbus-1-dev:arm64 \ + libegl1-mesa-dev:arm64 \ + libgl1-mesa-dev:arm64 \ + libgles2-mesa-dev:arm64 \ + libglu1-mesa-dev:arm64 \ + libibus-1.0-dev:arm64 \ + libpulse-dev:arm64 \ + libsndio-dev:arm64 \ + libudev-dev:arm64 \ + libwayland-dev:arm64 \ + libx11-dev:arm64 \ + libxcursor-dev:arm64 \ + libxext-dev:arm64 \ + libxi-dev:arm64 \ + libxinerama-dev:arm64 \ + libxkbcommon-dev:arm64 \ + libxrandr-dev:arm64 \ + libxss-dev:arm64 \ + libxt-dev:arm64 \ + libxv-dev:arm64 \ + libxxf86vm-dev:arm64 || exit } # Function to configure for cross-compilation @@ -27,7 +67,7 @@ configure_for_aarch64() { export AR=aarch64-linux-gnu-ar export RANLIB=aarch64-linux-gnu-ranlib export STRIP=aarch64-linux-gnu-strip - ./configure --host=aarch64-linux-gnu --enable-video-x11 --enable-video-wayland --enable-wayland-shared || exit + ./configure --host=aarch64-linux-gnu --prefix=/usr --exec-prefix=/usr/local --enable-video-x11 --enable-video-wayland --enable-wayland-shared || exit } # Parse options diff --git a/src/tools/ecode/applayout.xml.hpp b/src/tools/ecode/applayout.xml.hpp index 1eaa77d15..54d755669 100644 --- a/src/tools/ecode/applayout.xml.hpp +++ b/src/tools/ecode/applayout.xml.hpp @@ -482,11 +482,19 @@ Anchor.error:hover { margin-bottom: 16dp; margin-right: 2dp; font-style: shadow; + text-shadow-color: #323232e6; } #indent_tab_window ComboBox, #indent_tab_window ListBox::item, .indent_tab_listbox_item combobox::dropdownlist::listbox::item { font-family: monospace; +} +@media (prefers-color-scheme: light) { + +.app_hint { + text-shadow-color: #b4b4b4e6; +} + } ]]>