Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] new package: libreoffice-still #1217

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
From 8f05899b0b9ee8817ceec610589341a8b9cb3a4d Mon Sep 17 00:00:00 2001
From: Ronald Y <[email protected]>
Date: Sun, 22 Sep 2024 09:21:18 +0800
Subject: [PATCH 1/8] configure-error-and-disable-isystem

Change-Id: I70125356c9306f442fd5c2ec8343b55019cd118b
---
configure.ac | 27 ++++-----------------------
1 file changed, 4 insertions(+), 23 deletions(-)

diff --git a/configure.ac b/configure.ac
index d31963fce..5bda2889d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4058,26 +4058,7 @@ AC_SUBST(ENABLE_WASM_STRIP)
AC_SUBST(ENABLE_WASM_STRIP_WRITER)
AC_SUBST(ENABLE_WASM_STRIP_CALC)

-# Use -isystem (gcc) if possible, to avoid warnings in 3rd party headers.
-# NOTE: must _not_ be used for bundled external libraries!
-ISYSTEM=
-if test "$GCC" = "yes"; then
- AC_MSG_CHECKING( for -isystem )
- save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS -isystem /usr/include -Werror"
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ ISYSTEM="-isystem " ],[])
- CFLAGS=$save_CFLAGS
- if test -n "$ISYSTEM"; then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
-fi
-if test -z "$ISYSTEM"; then
- # fall back to using -I
- ISYSTEM=-I
-fi
-AC_SUBST(ISYSTEM)
+ISYSTEM=-I

dnl ===================================================================
dnl Check which Visual Studio compiler is used
@@ -11304,7 +11285,7 @@ else
save_CXXFLAGS=$CXXFLAGS
save_IFS=$IFS
IFS=$P_SEP
- for i in $CPLUS_INCLUDE_PATH /usr/include; do
+ for i in $CPLUS_INCLUDE_PATH /data/data/com.termux/files/usr/include; do
dnl Reset IFS as soon as possible, to avoid unexpected side effects (and the
dnl "/usr/include" fallback makes sure we get here at least once; resetting rather than
dnl unsetting follows the advice at <https://git.savannah.gnu.org/gitweb/?p=autoconf.git;
@@ -12735,7 +12716,7 @@ elif test \( \( "$_os" = "Linux" -o "$_os" = "Darwin" \) -a "$ENABLE_NSS" = TRUE
SYSTEM_GPGMEPP=TRUE

# C++ library doesn't come with fancy gpgmepp-config, check for headers the old-fashioned way
- AC_CHECK_HEADER(gpgme++/gpgmepp_version.h, [ GPGMEPP_CFLAGS=-I/usr/include/gpgme++ ],
+ AC_CHECK_HEADER(gpgme++/gpgmepp_version.h, [ GPGMEPP_CFLAGS=-I/data/data/com.termux/files/usr/include/gpgme++ ],
[AC_MSG_ERROR([gpgmepp headers not found, install gpgmepp >= 1.14 development package])], [])
AC_CHECK_HEADER(gpgme.h, [],
[AC_MSG_ERROR([gpgme headers not found, install gpgme development package])], [])
@@ -15065,7 +15046,7 @@ AC_SUBST(PERL)
if test -n "$TMPDIR"; then
TEMP_DIRECTORY="$TMPDIR"
else
- TEMP_DIRECTORY="/tmp"
+ TEMP_DIRECTORY="/data/data/com.termux/files/usr/tmp"
fi
CYGWIN_BASH="C:/cygwin64/bin/bash.exe"
if test "$build_os" = "cygwin"; then
--
2.46.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
From 72e2caaba9acf182f6e7807d06b3344a03c39845 Mon Sep 17 00:00:00 2001
From: Ronald Y <[email protected]>
Date: Sun, 22 Sep 2024 09:24:40 +0800
Subject: [PATCH 2/8] fix-shebang-for-ondevice

Change-Id: I272c11cb236cfa7cac305b449cd64b82d7e8f0f2
---
solenv/bin/install-gdb-printers | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/solenv/bin/install-gdb-printers b/solenv/bin/install-gdb-printers
index 3eae4d9ef..2db5b9953 100755
--- a/solenv/bin/install-gdb-printers
+++ b/solenv/bin/install-gdb-printers
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/data/data/com.termux/files/usr/bin/env bash
#
# This file is part of the LibreOffice project.
#
--
2.46.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
From 2166ab3cc0c5c0f9130b440bef3c0b7e75a64f49 Mon Sep 17 00:00:00 2001
From: Ronald Y <[email protected]>
Date: Sun, 22 Sep 2024 09:25:14 +0800
Subject: [PATCH 3/8] no-static_cast-__fsword_t

Change-Id: I61efb86c0aeda762acd7d32d9a5bd770a682ab5a
---
sal/osl/unx/file.cxx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx
index ee7412dd1..0ca882201 100644
--- a/sal/osl/unx/file.cxx
+++ b/sal/osl/unx/file.cxx
@@ -67,9 +67,9 @@
#ifdef LINUX
#include <sys/vfs.h>
// As documented by the kernel
-#define SMB_SUPER_MAGIC static_cast<__fsword_t>(0x517B)
-#define CIFS_SUPER_MAGIC static_cast<__fsword_t>(0xFF534D42)
-#define SMB2_SUPER_MAGIC static_cast<__fsword_t>(0xFE534D42)
+#define SMB_SUPER_MAGIC 0x517B
+#define CIFS_SUPER_MAGIC 0xFF534D42
+#define SMB2_SUPER_MAGIC 0xFE534D42
#endif

namespace {
--
2.46.1

26 changes: 26 additions & 0 deletions tur-on-device/libreoffice-still/0004-no-lcpaper.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
From 99384fd9126b6408bd9ef30f8fbe524e13c85d13 Mon Sep 17 00:00:00 2001
From: Ronald Y <[email protected]>
Date: Sun, 22 Sep 2024 09:25:48 +0800
Subject: [PATCH 4/8] no-lcpaper

Change-Id: I23f35718a2fe6e1d2f27b552149a3eaca78b5e57
---
i18nutil/source/utility/paper.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/i18nutil/source/utility/paper.cxx b/i18nutil/source/utility/paper.cxx
index 399b3295e..745c22a3a 100644
--- a/i18nutil/source/utility/paper.cxx
+++ b/i18nutil/source/utility/paper.cxx
@@ -310,7 +310,7 @@ PaperInfo PaperInfo::getSystemDefaultPaper()
#endif

// _NL_PAPER_WIDTH / HEIGHT not available with android unified headers
-#if defined(LC_PAPER) && defined(_GNU_SOURCE) && !defined(ANDROID)
+#if defined(LC_PAPER) && defined(_GNU_SOURCE) && !defined(__ANDROID__)
// try LC_PAPER
locale_t loc = newlocale(LC_PAPER_MASK, "", static_cast<locale_t>(0));
if (loc != static_cast<locale_t>(0))
--
2.46.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
From 62c87df518bb297c44a9fc66ad26a81a7b85057c Mon Sep 17 00:00:00 2001
From: Ronald Y <[email protected]>
Date: Sun, 22 Sep 2024 09:27:21 +0800
Subject: [PATCH 5/8] apply some android-specific patch

Change-Id: I4be7216701e300369a2ccde7b57fe0966d0645b5
---
.../cpp_uno/gcc3_linux_aarch64/callvirtualfunction.cxx | 2 +-
bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx | 2 +-
bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx | 4 ++--
bridges/source/cpp_uno/gcc3_linux_arm/except.cxx | 10 +++++-----
bridges/source/cpp_uno/gcc3_linux_x86-64/rtti.cxx | 8 ++++----
desktop/source/app/app.cxx | 6 +++---
6 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/bridges/source/cpp_uno/gcc3_linux_aarch64/callvirtualfunction.cxx b/bridges/source/cpp_uno/gcc3_linux_aarch64/callvirtualfunction.cxx
index b944f31cf..84cf10fa4 100644
--- a/bridges/source/cpp_uno/gcc3_linux_aarch64/callvirtualfunction.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_aarch64/callvirtualfunction.cxx
@@ -55,7 +55,7 @@ void callVirtualFunction(
"m" (stackargs) // dummy input to prevent optimizing the alloca away
: "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",
"r11", "r12", "r13", "r14", "r15", "r16", "r17",
-#if !defined ANDROID && !defined MACOSX
+#if !defined __ANDROID__ && !defined MACOSX
"r18"/*TODO?*/,
#endif
"v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11",
diff --git a/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx
index 669c4443c..bb3c2fcbd 100644
--- a/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_aarch64/cpp2uno.cxx
@@ -583,7 +583,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
void bridges::cpp_uno::shared::VtableFactory::flushCode(
unsigned char const * begin, unsigned char const * end)
{
-#if !defined ANDROID && !defined MACOSX
+#if !defined __ANDROID__ && !defined MACOSX
static void (*clear_cache)(unsigned char const *, unsigned char const *)
= (void (*)(unsigned char const *, unsigned char const *)) dlsym(
RTLD_DEFAULT, "__clear_cache");
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
index f476cf7df..37636b0d2 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/cpp2uno.cxx
@@ -38,7 +38,7 @@

#include <dlfcn.h>

-#ifdef ANDROID
+#ifdef __ANDROID__
#include <unistd.h>
#endif

@@ -580,7 +580,7 @@ unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
void bridges::cpp_uno::shared::VtableFactory::flushCode(
unsigned char const *beg, unsigned char const *end)
{
-#ifndef ANDROID
+#ifndef __ANDROID__
static void (*clear_cache)(unsigned char const*, unsigned char const*)
= reinterpret_cast<void (*)(unsigned char const*, unsigned char const*)>
(dlsym(RTLD_DEFAULT, "__clear_cache"));
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx b/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
index 14bffa75a..8a6dfe6d5 100644
--- a/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/except.cxx
@@ -94,7 +94,7 @@ namespace {
t_rtti_map m_rttis;
t_rtti_map m_generatedRttis;

-#ifndef ANDROID
+#ifndef __ANDROID__
void * m_hApp;
#endif

@@ -107,7 +107,7 @@ namespace {
}

RTTI::RTTI()
-#ifndef ANDROID
+#ifndef __ANDROID__
: m_hApp( dlopen( nullptr, RTLD_LAZY ) )
#endif
{
@@ -115,7 +115,7 @@ namespace {

RTTI::~RTTI()
{
-#ifndef ANDROID
+#ifndef __ANDROID__
dlclose( m_hApp );
#endif
}
@@ -146,7 +146,7 @@ namespace {
buf.append( 'E' );

OString symName( buf.makeStringAndClear() );
-#ifndef ANDROID
+#ifndef __ANDROID__
rtti = static_cast<type_info *>(dlsym( m_hApp, symName.getStr() ));
#else
rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
@@ -170,7 +170,7 @@ namespace {
// symbol and rtti-name is nearly identical,
// the symbol is prefixed with _ZTI

-#ifdef ANDROID
+#ifdef __ANDROID__
// This code is supposed to be used only used for
// inter-process UNO, says sberg. Thus it should
// be unnecessary and never reached for
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/rtti.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/rtti.cxx
index 9bce77bc8..a5bfc5b0e 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/rtti.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/rtti.cxx
@@ -78,7 +78,7 @@ class RTTI
std::vector<OString> m_rttiNames;
std::unordered_map<OUString, std::unique_ptr<Generated>> m_generatedRttis;

-#if !defined ANDROID
+#if !defined __ANDROID__
void * m_hApp;
#endif

@@ -90,7 +90,7 @@ public:
};

RTTI::RTTI()
-#if !defined ANDROID
+#if !defined __ANDROID__
: m_hApp( dlopen( nullptr, RTLD_LAZY ) )
#endif
{
@@ -98,7 +98,7 @@ RTTI::RTTI()

RTTI::~RTTI()
{
-#if !defined ANDROID
+#if !defined __ANDROID__
dlclose( m_hApp );
#endif
}
@@ -128,7 +128,7 @@ std::type_info * RTTI::getRTTI(typelib_TypeDescription const & pTypeDescr)
buf.append( 'E' );

OString symName( buf.makeStringAndClear() );
-#if !defined ANDROID
+#if !defined __ANDROID__
rtti = static_cast<std::type_info *>(dlsym( m_hApp, symName.getStr() ));
#else
rtti = static_cast<std::type_info *>(dlsym( RTLD_DEFAULT, symName.getStr() ));
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 0d66a48da..82160e1a7 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -505,7 +505,7 @@ void Desktop::Init()
RequestHandler::Status aStatus = RequestHandler::Enable(true);
if ( aStatus == RequestHandler::IPC_STATUS_PIPE_ERROR )
{
-#if defined(ANDROID) || defined(EMSCRIPTEN)
+#if defined(__ANDROID__) || defined(EMSCRIPTEN)
// Ignore crack pipe errors on Android
#else
// Keep using this oddly named BE_PATHINFO_MISSING value
@@ -917,7 +917,7 @@ void handleCrashReport()
}
#endif

-#if !defined ANDROID
+#if !defined __ANDROID__
void handleSafeMode()
{
css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
@@ -1973,7 +1973,7 @@ void Desktop::OpenClients()
// need some time, where the user won't see any results and wait for finishing the office startup...
bool bAllowRecoveryAndSessionManagement = ( !rArgs.IsNoRestore() ) && ( !rArgs.IsHeadless() );

-#if !defined ANDROID
+#if !defined __ANDROID__
// Enter safe mode if requested
if (Application::IsSafeModeEnabled()) {
handleSafeMode();
--
2.46.1

Loading
Loading