Added libs to AppImage and fixed a bug in lindbergh.c

This commit is contained in:
dkeruza-neo
2025-04-15 20:22:37 -03:00
parent f17dd93778
commit fb557044d7
7 changed files with 72 additions and 22 deletions
+5 -1
View File
@@ -8,7 +8,7 @@ jobs:
linux-appimage:
name: "Build"
runs-on: ubuntu-22.04
timeout-minutes: 120
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:
@@ -17,11 +17,15 @@ jobs:
- name: Install Packages
run: scripts/appimage/install-packages.sh
- name: Build Deps
run: scripts/appimage/build-deps.sh
- name: Compile Build
shell: bash
run: |
make
scripts/appimage/make-appimage.sh
- name: Upload AppImage
uses: actions/upload-artifact@v4
with:
+5 -6
View File
@@ -12,9 +12,8 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build)
# Source files for various targets
file(GLOB LIND_OBJS "src/lindbergh/*.c" "src/lindbergh/*.cpp")
list(FILTER LIND_OBJS EXCLUDE REGEX "src/lindbergh/lindbergh.o")
list(FILTER LIND_OBJS EXCLUDE REGEX "src/lindbergh/evdevinput.o")
file(GLOB LIND_OBJS "src/lindbergh/*.c")
list(FILTER LIND_OBJS EXCLUDE REGEX "src/lindbergh/lindbergh.c")
file(GLOB XDIFF_SRCS "src/libxdiff/xdiff/*.c")
@@ -27,12 +26,12 @@ set(LINDBERGH_CXX_FLAGS ${LINDBERGH_C_FLAGS} -std=c++11)
set(LIBXDIFF_C_FLAGS -DHAVE_CONFIG_H -fPIC -m32)
set(LIBSEGAAPI_CXX_FLAGS -m32 -fPIC -shared)
set(LIBSEGAAPI_LINKER_FLAGS -m32 -lFAudio)
set(SHARED_LINKER_FLAGS -m32 -Wl,-z,defs -rdynamic -static-libstdc++ -static-libgcc -lc -ldl -lGL -lglut -lX11 -lSDL2 -lm -lpthread -shared -lstdc++ -nostdlib -lasound)
set(SHARED_LINKER_FLAGS -m32 -Wl,-z,defs -rdynamic -static-libstdc++ -static-libgcc -lc -ldl -lGL -lglut -lX11 -lXcursor -lSDL2 -lm -lpthread -shared -lstdc++ -nostdlib -lasound)
# Build executable for lindbergh
add_executable(lindyloader src/lindbergh/lindbergh.c src/lindbergh/evdevinput.c src/lindbergh/evdevinput.h)
add_executable(lindyloader src/lindbergh/lindbergh.c src/lindbergh/evdevinput.c src/lindbergh/evdevinput.h src/lindbergh/log.c src/lindbergh/log.h src/lindbergh/jvs.c src/lindbergh/jvs.h src/lindbergh/config.h src/lindbergh/config.c)
set_target_properties(lindyloader PROPERTIES OUTPUT_NAME "lindbergh")
set_target_properties(lindyloader PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} LINK_FLAGS "-m32")
set_target_properties(lindyloader PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} LINK_FLAGS "-m32 -lm")
target_compile_options(lindyloader PRIVATE ${LINDBERGH_EXE})
# Build static library libxdiff.a with its own flags
+30
View File
@@ -0,0 +1,30 @@
#!/usr/bin/env bash
APPIMAGEDIRNAME=lindbergh-loader.AppDir
OUTPUT_FOLDER=$(realpath "./$APPIMAGEDIRNAME")
mkdir build-deps
cd build-deps
# Build openal
wget https://github.com/kcat/openal-soft/archive/refs/tags/openal-soft-1.17.2.tar.gz
tar -xzf openal-soft-1.17.2.tar.gz
cd openal-soft-openal-soft-1.17.2/build
CFLAGS="-m32 -mstackrealign" CXXFLAGS="-m32 -std=c++14 -mstackrealign" cmake ../ -DALSOFT_BACKEND_PULSEAUDIO=ON -DALSOFT_BACKEND_ALSA=ON -DALSOFT_BACKEND_JACK=OFF -DALSOFT_BACKEND_SNDIO=ON
make -j4
cp libopenal.so.1.17.2 /usr/lib/i386-linux-gnu/libopenal.so.0
cd ../../
# Build libSSL and libCrypto
wget https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_0_9_7.tar.gz
tar -xzf OpenSSL_0_9_7.tar.gz
cd openssl-OpenSSL_0_9_7
cp ../../scripts/appimage/patches/openssl-0.9.7.patch .
./Configure shared 386 no-asm no-krb5 linux-pentium -m32
patch -p1 < openssl-0.9.7.patch
CFLAGS=-m32 make
cp libcrypto.so.0.9.7 /usr/lib/i386-linux-gnu
cp libssl.so.0.9.7 /usr/lib/i386-linux-gnu
+5 -5
View File
@@ -2,10 +2,10 @@
echo "Install Packages Running..."
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get -y install --no-install-recommends \
build-essential gcc-multilib fuse freeglut3-dev:i386 libsdl2-dev:i386 libfaudio-dev:i386 libvdpau1:i386 \
libstdc++5:i386 libxmu6:i386 libpcsclite1:i386 libncurses5:i386 unzip
sudo apt update
sudo apt -y install --no-install-recommends \
build-essential gcc-multilib g++-multilib cmake fuse freeglut3-dev:i386 libsdl2-dev:i386 libfaudio-dev:i386 libvdpau1:i386 \
libstdc++5:i386 libxmu6:i386 libpcsclite1:i386 libncurses5:i386 unzip libsndio-dev:i386
sudo add-apt-repository ppa:kisak/kisak-mesa -y
sudo apt-get -y update && sudo apt -y dist-upgrade
sudo apt update -y && sudo apt upgrade -y
+7 -7
View File
@@ -13,6 +13,8 @@ declare -a ADDED_LIBS=(
"libGLU.so.1"
"libglut.so.3"
"libglapi.so.0"
"libICE.so.6"
"libSM.so.6"
"libX11.so.6"
"libX11-xcb.so.1"
"libxcb.so.1"
@@ -25,6 +27,10 @@ declare -a ADDED_LIBS=(
"libstdc++.so.5"
"libdrm.so.2"
"libexpat.so.1"
"libm.so.6"
"libopenal.so.0"
"libcrypto.so.0.9.7"
"libssl.so.0.9.7"
)
set -e
@@ -71,10 +77,7 @@ cp lindbergh.so $OUTPUT_FOLDER/usr/lib
cp libposixtime.so $OUTPUT_FOLDER/usr/lib
mv lindbergh $OUTPUT_FOLDER/usr/bin
mkdir -p $OUTPUT_FOLDER/usr/lib/dri
cp /usr/lib/i386-linux-gnu/dri/* $OUTPUT_FOLDER/usr/lib/dri
cp ../libs/libcrypto.so.0.9.7 $OUTPUT_FOLDER/usr/lib
cp ../libs/libssl.so.0.9.7 $OUTPUT_FOLDER/usr/lib
cp ../libs/libopenal.so.0 $OUTPUT_FOLDER/usr/lib
cp /usr/lib/i386-linux-gnu/dri/* $OUTPUT_FOLDER/usr/lib/dri
cd ..
echo "Running linuxdeploy to create AppDir..."
@@ -86,9 +89,6 @@ mv $OUTPUT_FOLDER/usr/lib/libkswapapi.so $OUTPUT_FOLDER/usr/lib32
mv $OUTPUT_FOLDER/usr/lib/libsegaapi.so $OUTPUT_FOLDER/usr/lib32
mv $OUTPUT_FOLDER/usr/lib/lindbergh.so $OUTPUT_FOLDER/usr/lib32
mv $OUTPUT_FOLDER/usr/lib/libposixtime.so $OUTPUT_FOLDER/usr/lib32
mv $OUTPUT_FOLDER/usr/lib/libcrypto.so.0.9.7 $OUTPUT_FOLDER/usr/lib32
mv $OUTPUT_FOLDER/usr/lib/libssl.so.0.9.7 $OUTPUT_FOLDER/usr/lib32
mv $OUTPUT_FOLDER/usr/lib/libopenal.so.0 $OUTPUT_FOLDER/usr/lib32
mv $OUTPUT_FOLDER/usr/lib/dri $OUTPUT_FOLDER/usr/lib32
unzip libs/Cg-3.1.zip -d $OUTPUT_FOLDER/usr/lib32
@@ -0,0 +1,13 @@
diff -ruN openssl-OpenSSL_0_9_7.orig/Makefile.ssl openssl-OpenSSL_0_9_7/Makefile.ssl
--- openssl-OpenSSL_0_9_7.orig/Makefile.ssl 2025-04-14 05:05:11.162340308 +0000
+++ openssl-OpenSSL_0_9_7/Makefile.ssl 2025-04-14 05:06:22.261420144 +0000
@@ -198,7 +198,7 @@
SHARED_SSL=libssl$(SHLIB_EXT)
SHARED_LIBS=$(SHARED_CRYPTO) $(SHARED_SSL)
SHARED_LIBS_LINK_EXTS=.so.$(SHLIB_MAJOR) .so
-SHARED_LDFLAGS=
+SHARED_LDFLAGS=-m32
GENERAL= Makefile
BASENAME= openssl
+7 -3
View File
@@ -338,9 +338,13 @@ void setEnvironmentVariables(const char *ldLibPath, const char *originalDir, con
setenv("__NV_PRIME_RENDER_OFFLOAD", "1", 1);
}
char libglDriPath[MAX_PATH_LENGTH];
sprintf(libglDriPath, "%s/usr/lib32/dri", getenv("APP_IMG_ROOT"));
setenv("LIBGL_DRIVERS_PATH", libglDriPath, 1);
char *appImgRoot = getenv("APP_IMG_ROOT");
if (appImgRoot != NULL)
{
char libglDriPath[MAX_PATH_LENGTH];
sprintf(libglDriPath, "%s/usr/lib32/dri", appImgRoot);
setenv("LIBGL_DRIVERS_PATH", libglDriPath, 1);
}
}
void printUsage(char *argv[])