mirror of
https://github.com/lindbergh-loader/lindbergh-loader.git
synced 2026-10-05 13:18:08 +03:00
Added libs to AppImage and fixed a bug in lindbergh.c
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
Executable
+30
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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[])
|
||||
|
||||
Reference in New Issue
Block a user