pkulchenko / ZeroBraneStudio

Lightweight Lua-based IDE for Lua with code completion, syntax highlighting, live coding, remote debugger, and code analyzer; supports Lua 5.1, 5.2, 5.3, 5.4, LuaJIT and other Lua interpreters on Windows, macOS, and Linux
http://studio.zerobrane.com/
Other
2.62k stars 516 forks source link

Build broken because of scintillua #1157

Closed RedPaladin closed 1 year ago

RedPaladin commented 1 year ago

Hi !

The build on Linux (I suppose this is the same for Win32 and Mac) is broken because the archive scintillua cannot be found:

Resolving foicica.com (foicica.com)... 66.111.4.54, 66.111.4.53
Connecting to foicica.com (foicica.com)|66.111.4.54|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://orbitalquark.github.io/scintillua/download/scintillua_3.6.5-1.zip [following]
--2023-01-12 09:04:39--  https://orbitalquark.github.io/scintillua/download/scintillua_3.6.5-1.zip
Resolving orbitalquark.github.io (orbitalquark.github.io)... 185.199.111.153, 185.199.108.153, 185.199.109.153, ...
Connecting to orbitalquark.github.io (orbitalquark.github.io)|185.199.111.153|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-01-12 09:04:39 ERROR 404: Not Found.

It seems the location of this file has changed. I have tried to guess the path with https://github.com/orbitalquark/scintillua/releases/download/scintillua_3.6.5-1/scintillua_3.6.5-1.zip but without success...

pkulchenko commented 1 year ago

@RedPaladin, indeed, thank you for the report! Can you check with the following patch (you can just apply the linux portion):

commit 8cc60d36482d515e445b44e4b199b3792c6918f0
Author: Paul Kulchenko <paul@kulchenko.com>
Date:   Thu Jan 12 19:25:52 2023 -0800

    Updated scintillua/lexlpeg download location (closes #1157).

diff --git a/build/build-linux.sh b/build/build-linux.sh
index b0944b62..b80f7965 100755
--- a/build/build-linux.sh
+++ b/build/build-linux.sh
@@ -68,7 +68,7 @@ LPEG_URL="http://www.inf.puc-rio.br/~roberto/lpeg/$LPEG_FILENAME"

 LEXLPEG_BASENAME="scintillua_3.6.5-1"
 LEXLPEG_FILENAME="$LEXLPEG_BASENAME.zip"
-LEXLPEG_URL="https://foicica.com/scintillua/download/$LEXLPEG_FILENAME"
+LEXLPEG_URL="https://github.com/orbitalquark/scintillua/archive/refs/tags/$LEXLPEG_FILENAME"

 WXWIDGETSDEBUG="--disable-debug"
 WXLUABUILD="MinSizeRel"
@@ -237,7 +237,7 @@ if [ $BUILD_LEXLPEG ]; then
   git clone "$WXWIDGETS_URL" "$WXWIDGETS_BASENAME" || { echo "Error: failed to get wxWidgets"; exit 1; }
   wget --no-check-certificate -c "$LEXLPEG_URL" -O "$LEXLPEG_FILENAME" || { echo "Error: failed to download LexLPeg"; exit 1; }
   unzip "$LEXLPEG_FILENAME"
-  cd "$LEXLPEG_BASENAME"
+  cd "scintillua-$LEXLPEG_BASENAME"

   # replace loading lpeg with os and debug as they are needed for debugging;
   # loading lpeg is not needed as it will be loaded from the Lua module.
@@ -253,7 +253,7 @@ if [ $BUILD_LEXLPEG ]; then
   [ $DEBUGBUILD ] || strip --strip-unneeded "$INSTALL_DIR/lib/lua/$LUAV/lexlpeg.so"

   cd ..
-  rm -rf "$LEXLPEG_BASENAME" "$LEXLPEG_FILENAME"
+  rm -rf "scintillua-$LEXLPEG_BASENAME" "$LEXLPEG_FILENAME"
   # don't delete wxwidgets, if it's requested to be built
   [ $BUILD_WXWIDGETS ] || rm -rf "$WXWIDGETS_BASENAME"
 fi
diff --git a/build/build-macosx.sh b/build/build-macosx.sh
index df99c8b0..7df513de 100755
--- a/build/build-macosx.sh
+++ b/build/build-macosx.sh
@@ -59,7 +59,7 @@ LPEG_URL="http://www.inf.puc-rio.br/~roberto/lpeg/$LPEG_FILENAME"

 LEXLPEG_BASENAME="scintillua_3.6.5-1"
 LEXLPEG_FILENAME="$LEXLPEG_BASENAME.zip"
-LEXLPEG_URL="https://foicica.com/scintillua/download/$LEXLPEG_FILENAME"
+LEXLPEG_URL="https://github.com/orbitalquark/scintillua/archive/refs/tags/$LEXLPEG_FILENAME"

 WXWIDGETSDEBUG="--disable-debug"
 WXLUABUILD="MinSizeRel"
@@ -235,7 +235,7 @@ if [ $BUILD_LEXLPEG ]; then
   git clone "$WXWIDGETS_URL" "$WXWIDGETS_BASENAME" || { echo "Error: failed to get wxWidgets"; exit 1; }
   curl -L "$LEXLPEG_URL" > "$LEXLPEG_FILENAME" || { echo "Error: failed to download LexLPeg"; exit 1; }
   unzip "$LEXLPEG_FILENAME"
-  cd "$LEXLPEG_BASENAME"
+  cd "scintillua-$LEXLPEG_BASENAME"

   # comment out loading lpeg as it's causing issues with _luaopen_lpeg symbol
   # (as it's not statically compiled) and will be loaded from Lua code anyway
@@ -251,7 +251,7 @@ if [ $BUILD_LEXLPEG ]; then
   [ $DEBUGBUILD ] || strip -u -r "$INSTALL_DIR/lib/lua/$LUAV/lexlpeg.dylib"

   cd ..
-  rm -rf "$LEXLPEG_BASENAME" "$LEXLPEG_FILENAME"
+  rm -rf "scintillua-$LEXLPEG_BASENAME" "$LEXLPEG_FILENAME"
   # don't delete wxwidgets, if it's requested to be built
   [ $BUILD_WXWIDGETS ] || rm -rf "$WXWIDGETS_BASENAME"
 fi
diff --git a/build/build-win32.sh b/build/build-win32.sh
index 0014bd4c..d44ba946 100644
--- a/build/build-win32.sh
+++ b/build/build-win32.sh
@@ -49,7 +49,7 @@ LPEG_URL="http://www.inf.puc-rio.br/~roberto/lpeg/$LPEG_FILENAME"

 LEXLPEG_BASENAME="scintillua_3.6.5-1"
 LEXLPEG_FILENAME="$LEXLPEG_BASENAME.zip"
-LEXLPEG_URL="https://foicica.com/scintillua/download/$LEXLPEG_FILENAME"
+LEXLPEG_URL="https://github.com/orbitalquark/scintillua/archive/refs/tags/$LEXLPEG_FILENAME"

 WINAPI_BASENAME="winapi"
 WINAPI_URL="https://github.com/stevedonovan/winapi.git"
@@ -238,7 +238,7 @@ if [ $BUILD_LEXLPEG ]; then
   git clone "$WXWIDGETS_URL" "$WXWIDGETS_BASENAME" || { echo "Error: failed to get wxWidgets"; exit 1; }
   wget --no-check-certificate -c "$LEXLPEG_URL" -O "$LEXLPEG_FILENAME" || { echo "Error: failed to download LexLPeg"; exit 1; }
   unzip "$LEXLPEG_FILENAME"
-  cd "$LEXLPEG_BASENAME"
+  cd "scintillua-$LEXLPEG_BASENAME"

   # replace loading lpeg with os and debug as they are needed for debugging;
   # loading lpeg is not needed as it will be loaded from the Lua module.
@@ -258,7 +258,7 @@ if [ $BUILD_LEXLPEG ]; then
   [ -f "$INSTALL_DIR/lib/lua/$LUAV/lexlpeg.dll" ] || { echo "Error: LexLPeg.dll isn't found"; exit 1; }
   [ $DEBUGBUILD ] || strip --strip-unneeded "$INSTALL_DIR/lib/lua/$LUAV/lexlpeg.dll"
   cd ..
-  rm -rf "$LEXLPEG_BASENAME" "$LEXLPEG_FILENAME"
+  rm -rf "scintillua-$LEXLPEG_BASENAME" "$LEXLPEG_FILENAME"
   # don't delete wxwidgets, if it's requested to be built
   [ $BUILD_WXWIDGETS ] || rm -rf "$WXWIDGETS_BASENAME"
 fi

You can build it with bash ./build-linux.sh lua lexlpeg

RedPaladin commented 1 year ago

Thank you. Your patch fixed the build but I did not try on Win32 nor Mac