diff options
| author | Erik Kundiman <erik@megapahit.org> | 2026-07-28 13:58:54 +0800 |
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2026-07-28 14:40:41 +0800 |
| commit | 76728f724b7ee0d5c013b9671eab6cc00f37c02d (patch) | |
| tree | 5be5fc41d21a5a8699296188b4e284a6a7d001c7 | |
| parent | c4a00d17a5fa81b53c3b88b5eeb9ae7e58ef92f4 (diff) | |
Add support for Arch ARM
No cef package yet, so at-spi2-core & minizip must be directly
depended on.
Also, the package compression used in Arch ARM is different.
| -rw-r--r-- | README.md | 17 | ||||
| -rw-r--r-- | indra/cmake/CEFPlugin.cmake | 4 | ||||
| -rw-r--r-- | indra/media_plugins/cef/CMakeLists.txt | 10 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | indra/newview/PKGBUILD.in | 2 |
5 files changed, 31 insertions, 7 deletions
@@ -17,14 +17,27 @@ $ mkdir build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m` $ cd build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m` ``` -### Arch +### Arch ARM ``` -$ sudo pacman -S cmake base-devel patchelf python freealut apr-util boost cef fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash +$ sudo pacman -S cmake base-devel patchelf python freealut apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash +$ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_INSTALL_PREFIX=/usr ../indra +$ make -j`nproc` +$ makepkg -R +$ sudo pacman -U megapahit-`cat newview/viewer_version.txt|sed 's/\(.*\)\./\1-/'`-`uname -m`.pkg.tar.xz +$ sudo pacman -D --asdeps freealut apr-util fltk glu hunspell minizip libnghttp2 openjpeg2 sdl2 vlc libvorbis +$ megapahit +``` + +### Arch x86-64 +``` +$ sudo pacman -S cmake base-devel patchelf python freealut apr-util boost cef fltk glm glu hunspell nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash $ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1" $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_INSTALL_PREFIX=/usr ../indra $ make -j`nproc` $ makepkg -R $ sudo pacman -U megapahit-`cat newview/viewer_version.txt|sed 's/\(.*\)\./\1-/'`-`uname -m`.pkg.tar.zst +$ sudo pacman -D --asdeps freealut apr-util cef fltk glu hunspell libnghttp2 openjpeg2 sdl2 vlc libvorbis $ megapahit ``` diff --git a/indra/cmake/CEFPlugin.cmake b/indra/cmake/CEFPlugin.cmake index 1fc28ad415..dd670e6cf8 100644 --- a/indra/cmake/CEFPlugin.cmake +++ b/indra/cmake/CEFPlugin.cmake @@ -5,7 +5,7 @@ include(Prebuilt) include_guard() add_library( ll::cef INTERFACE IMPORTED ) -if (${LINUX_DISTRO} MATCHES arch) +if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64)) if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/dullahan_installed OR NOT ${dullahan_installed} EQUAL 0) file( COPY /usr/src/cef/libcef_dll @@ -290,7 +290,7 @@ elseif (LINUX) WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release ) endif () - if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora)) + if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) OR (${LINUX_DISTRO} MATCHES fedora)) target_include_directories( ll::cef SYSTEM INTERFACE /usr/include/cef/include) if (${LINUX_DISTRO} MATCHES fedora) set(LIB_SUFFIX ${ADDRESS_SIZE}) diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index 1a4d61616c..1622d3091f 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -51,7 +51,7 @@ if (LINUX) list(APPEND media_plugin_cef_SOURCE_FILES ${LINUX_VOLUME_CATCHER}) set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--build-id") - if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora)) + if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) OR (${LINUX_DISTRO} MATCHES fedora)) if (${LINUX_DISTRO} MATCHES fedora) set(LIB_SUFFIX ${ADDRESS_SIZE}) endif () @@ -178,6 +178,12 @@ if (INSTALL) PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host DESTINATION lib/${VIEWER_BINARY_NAME} ) + if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64) + install( + PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/chrome-sandbox + DESTINATION lib/${VIEWER_BINARY_NAME} + ) + endif () elseif (${LINUX_DISTRO} MATCHES fedora) install( PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host @@ -191,7 +197,7 @@ if (INSTALL) DESTINATION libexec/${VIEWER_BINARY_NAME} ) endif () - if (NOT (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora))) + if (NOT (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) OR (${LINUX_DISTRO} MATCHES fedora))) install( FILES ${ARCH_PREBUILT_DIRS_RELEASE}/libEGL.so diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 6ff0b3977a..d42561d05e 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2369,6 +2369,11 @@ if (LINUX) if (PACKAGE) if (${LINUX_DISTRO} MATCHES arch) + if (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) + set(ARCH_DEPS cef) + else () + set(ARCH_DEPS "at-spi2-core minizip") + endif () configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/PKGBUILD.in ${CMAKE_BINARY_DIR}/PKGBUILD diff --git a/indra/newview/PKGBUILD.in b/indra/newview/PKGBUILD.in index b2830ed145..8b57e62f58 100644 --- a/indra/newview/PKGBUILD.in +++ b/indra/newview/PKGBUILD.in @@ -6,7 +6,7 @@ pkgdesc="${VIEWER_PACKAGE_COMMENT}" arch=('${CMAKE_SYSTEM_PROCESSOR}') url="https://${VIEWER_PACKAGE_DOMAIN_NAME}" license=('LGPL-2.1') -depends=(freealut apr-util at-spi2-core boost-libs cef fltk glu hunspell libnghttp2 openjpeg2 sdl2 vlc libvorbis) +depends=(freealut apr-util boost-libs fltk glu hunspell libnghttp2 openjpeg2 sdl2 vlc libvorbis ${ARCH_DEPS}) package() { cd "$startdir" |
