mirror of
https://github.com/aljazceru/signal-cli-rest-api.git
synced 2025-12-19 15:44:28 +01:00
fixed signal-cli-native build
* due to different glibc versions, it is not possible to use the existing (prebuilt) libsignal_jni.so that get's shipped with the signal-cli binary distribution for the signal-cli native image build. So in order to make that work (again), we need to use our own libsignal_jni.so for the x86_64 build. see #412
This commit is contained in:
@@ -19,6 +19,7 @@ ARG BUILD_VERSION_ARG
|
||||
ARG SIGNAL_CLI_NATIVE_PACKAGE_VERSION
|
||||
|
||||
COPY ext/libraries/libsignal-client/v${LIBSIGNAL_CLIENT_VERSION} /tmp/libsignal-client-libraries
|
||||
COPY ext/libraries/libsignal-client/signal-cli-native.patch /tmp/signal-cli-native.patch
|
||||
|
||||
# use architecture specific libsignal_jni.so
|
||||
RUN arch="$(uname -m)"; \
|
||||
@@ -76,6 +77,13 @@ RUN if [ "$(uname -m)" = "x86_64" ]; then \
|
||||
&& export PATH=/tmp/graalvm/bin:$PATH \
|
||||
&& cd /tmp/signal-cli-${SIGNAL_CLI_VERSION}-source \
|
||||
&& sed -i 's/Signal-Android\/5.22.3/Signal-Android\/5.51.7/g' src/main/java/org/asamk/signal/BaseConfig.java \
|
||||
&& ./gradlew build \
|
||||
&& ./gradlew installDist \
|
||||
&& cd /tmp \
|
||||
&& cp signal-cli-${SIGNAL_CLI_VERSION}-source/build/install/signal-cli/lib/libsignal-client-${LIBSIGNAL_CLIENT_VERSION}.jar libsignal-client.jar \
|
||||
&& zip -qu libsignal-client.jar libsignal_jni.so \
|
||||
&& cd /tmp/signal-cli-${SIGNAL_CLI_VERSION}-source \
|
||||
&& git apply /tmp/signal-cli-native.patch \
|
||||
&& ./gradlew -q nativeCompile; \
|
||||
elif [ "$(uname -m)" = "aarch64" ] ; then \
|
||||
echo "Use native image from @morph027 (https://packaging.gitlab.io/signal-cli/) for arm64 - many thanks to @morph027" \
|
||||
|
||||
23
ext/libraries/libsignal-client/signal-cli-native.patch
Normal file
23
ext/libraries/libsignal-client/signal-cli-native.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 0d89c075..fda49332 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -43,6 +43,7 @@ dependencies {
|
||||
implementation(libs.slf4j.jul)
|
||||
implementation(libs.logback)
|
||||
implementation(project(":lib"))
|
||||
+ implementation(files("/tmp/libsignal-client.jar"))
|
||||
}
|
||||
|
||||
configurations {
|
||||
@@ -51,6 +52,10 @@ configurations {
|
||||
}
|
||||
}
|
||||
|
||||
+configurations.all {
|
||||
+ exclude(group = "org.signal", module = "libsignal-client")
|
||||
+}
|
||||
+
|
||||
|
||||
tasks.withType<AbstractArchiveTask>().configureEach {
|
||||
isPreserveFileTimestamps = false
|
||||
Reference in New Issue
Block a user