<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/cmake/UnixInstall.cmake, branch 26.3</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://www.megapahit.org/viewer.git/atom?h=26.3</id>
<link rel='self' href='https://www.megapahit.org/viewer.git/atom?h=26.3'/>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/'/>
<updated>2026-06-23T12:02:41Z</updated>
<entry>
<title>Not use address size suffix for Flatpak library dir</title>
<updated>2026-06-23T12:02:41Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2026-06-23T12:02:41Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=0f5b40798a6c122b7104d6bafefcb7decaad2fc3'/>
<id>urn:sha1:0f5b40798a6c122b7104d6bafefcb7decaad2fc3</id>
<content type='text'>
so upstream dullahan_host's rpath, which is meant to have
$ORIGIN/../lib, would correctly refer to the library dir (where
libcef.so is), without having to manipulate dullahan_host (cause
Flatpak SDK doesn't have patchelf). But Dullahan/CEF is still not
working on Flatpak just yet (LibVLC does, now, after I changed the
prebuilt package from Debian 13 binaries to Fedora 44 binaries,
where libvlccore links to libidn with the same compatibility
version.
</content>
</entry>
<entry>
<title>Flatpak support</title>
<updated>2026-06-22T03:25:21Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2026-06-22T00:34:39Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=ee87dd9f21e0dcd5a2f3a78586e5ae5d2ba592d5'/>
<id>urn:sha1:ee87dd9f21e0dcd5a2f3a78586e5ae5d2ba592d5</id>
<content type='text'>
Still uses prebuilt GLU, could be improved by using the glu shared
module.
Still uses prebuilt OpenAL, could be improved by separating the
ALUT dependency (which isn't available on the runtime) from it,
so we could use runtime's OpenAL.
Still uses prebuilt LibXML2, could be improved by separating the
Minizip &amp; ColladaDOM from it (which aren't available on the
runtime) from it, so we could use runtime's LibXML2 but have
ColladaDOM built against it (and a still non-runtime Minizip).
Still uses FLTK 1.3, when I tried using 1.4, it still had linking
errors (might need to just add Cairo libraries to the
target_link_libraries).
VLC plugins are installed in vlc/plugins path relative to the vlc
&amp; vlccore libraries, the way they are in the distro I got the
binaries from (Debian), cause I think it's the libraries that are
compiled with that path.
Still uses prebuilt dependencies in general, could be improved by
having them as modules to be built.
_FORTIFY_SOURCE needs to be skipped to avoid redefinition cause
Flatpak build system already defines it.
The conditionals for deciding installation paths need to be
reorganised to accomodate installation that doesn't require an
encapsulating namespace (because the installed files are already
encapsulated in the app sandbox).
The library directory naming scheme used here is lib64.
The libGLESv2.so &amp; libvulkan.so.1 installed are still copies, not
links yet, because I'm still not familiar yet with the runtime
hierarchies (they might reside just in /usr/lib/x86_64-linux-gnu).
</content>
</entry>
<entry>
<title>Install dynamic libs, etc in folder on Linux &amp; BSD</title>
<updated>2026-05-26T10:38:42Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2026-05-26T10:16:38Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=4989aa911c5bfa39ab056e1481cde4190db3ae8e'/>
<id>urn:sha1:4989aa911c5bfa39ab056e1481cde4190db3ae8e</id>
<content type='text'>
This includes files of WebRTC, Discord, VLC &amp; CEF and their media
plugins &amp; resources.
This is so they won't clash just in case some other packages install
files with the same names in system library directories.
Furthermore, this seems to prevent Dullahan/CEF from breaking in
general.
The path to this encapsulating folder needs to be added as a runtime
path to especially dullahan_host &amp; libmedia_plugin_cef.so so they can
find libcef.so etc, also for the viewer to find libllwebrtc.so &amp;
libdiscord_partner_sdk.so. And that's why `patchelf` needs to be made
sure it's installed.
</content>
</entry>
<entry>
<title>Make it build &amp; install, USING Portage, on Gentoo</title>
<updated>2025-04-07T04:14:09Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-04-07T04:14:09Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=e282774e68dc4e1826517a3dd4ab09714adcca26'/>
<id>urn:sha1:e282774e68dc4e1826517a3dd4ab09714adcca26</id>
<content type='text'>
Gentoo uses lib64, just like Fedora, and has libexec too.
The necessary step to install dependencies is part of the ebuild script
now (tracked in another repo, ebuild.git).
One thing I forgot to mention on the commit in that ebuild repo is,
unzip.h is provided on Gentoo only by minizip, and not minizip-ng cause
somehow the (minizip) "compat" USE flag couldn't be turned on somehow,
and there was no "minizip" (without -ng) package on Gentoo, but it was
achievable by setting the "minizip" USE flag on the zlib (again, without
-ng) package.
The queue header inclusion is needed cause its absence would cause the
compiling to fail on Portage (though it compiled when building the
viewer manually without Portage).
Also, using the prebuilt Meshoptimizer caused some linking errors when
using Portage (though, again, it linked when building the viewer
manually without Portage), hence Meshoptimizer is built from source as
part of the CMake configuration on Gentoo, differing from fellow Linux
distros.
Now Collada DOM, firstly the unpack destination directory is moved to
inside the build directory now, to make it uniform with other 3rd-party
files, just for less confusion. Secondly, since the patching that takes
effect is the one done by Portage, it would kill the process when there
are offending failed patchings (ones that generate .rej, reject files),
and they are the vcxproj patchings which aren't used anyway. Thirdly,
the hash checking on the downloaded file, that would fail anyway since
Portage doesn't allow any downloading that isn't part of the ebuild,
unfortunately has to be skipped so the emerge process wouldn't be killed
just because of it. Ebuild has its own sum checking (though this means
this particular file is not checked on other platforms, but other files
aren't checked either anyway yet).
Last but not least, the XDG Application category is removed because it's
considered deprecated by Portage, though not fatal, but the viewer is
already shown well in the Internet (Network) submenu anyway on unix
desktops.
</content>
</entry>
<entry>
<title>Decide lib64 or x86_64-linux-gnu based on distro</title>
<updated>2024-12-31T10:18:17Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-12-31T10:13:54Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=fc3c0f48d92bf9c3dcad622b2b8e9340edc92c7c'/>
<id>urn:sha1:fc3c0f48d92bf9c3dcad622b2b8e9340edc92c7c</id>
<content type='text'>
Some builders might just have their installation somehow customised to
have both.
</content>
</entry>
<entry>
<title>Move libexec binaries to /usr/lib/megapahit on Arch</title>
<updated>2024-12-01T10:53:58Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-12-01T10:53:58Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=e561067b7fa381474a08dcd3dbd88fd9ca9f3936'/>
<id>urn:sha1:e561067b7fa381474a08dcd3dbd88fd9ca9f3936</id>
<content type='text'>
as in Arch, there's really no /usr/libexec.
</content>
</entry>
<entry>
<title>Working Arch port but CEF &amp; WebRTC are still broken</title>
<updated>2024-10-20T13:10:34Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-10-20T13:10:34Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=bdd8da4c5e4a3c2d9d58b1d72eda73c9f452c825'/>
<id>urn:sha1:bdd8da4c5e4a3c2d9d58b1d72eda73c9f452c825</id>
<content type='text'>
I've tried using FMOD instead, but CEF didn't work either.
At first I used crow-misia's WebRTC build but it would cause a
segmentation fault, but LL's build seems to break CEF.
Gotta find a way so CM's build doesn't crash the viewer.
PKGBUILD should be moved to indra/newview as an .in to be configured
by CMake for dynamic version numbers, and adjust the instruction
too to run makepkg -R from the folder where the generated PKGBUILD
will be.
</content>
</entry>
<entry>
<title>Fix order of checking lib64 &amp; lib/x86_64-linux-gnu</title>
<updated>2024-08-28T00:44:58Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-08-28T00:44:58Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=94408352d5105e14bfa56a946b36e3b7d1b01637'/>
<id>urn:sha1:94408352d5105e14bfa56a946b36e3b7d1b01637</id>
<content type='text'>
Ubuntu, unlike Debian, has /lib64 and /usr/lib64 in their system,
so it misled CMake. This is a quick fix, ideally it's the distro
name that is checked.
</content>
</entry>
<entry>
<title>Minimise UnixInstall.cmake difference from SLv's</title>
<updated>2024-08-11T07:59:24Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-08-11T07:49:22Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=1685e1590f7cb6e03d697f7abd1570f51dd37778'/>
<id>urn:sha1:1685e1590f7cb6e03d697f7abd1570f51dd37778</id>
<content type='text'>
The variables set in this file are used only in llfilesystem/CMakeLists.txt,
and only used within a Linux (&amp; FreeBSD) section, which then later
used in llfilesystem/lldir_linux.cpp, so Darwin doesn't need these
variables set specifically for it.
</content>
</entry>
<entry>
<title>`make install` on macOS copies resources to bundle</title>
<updated>2024-07-05T00:58:07Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-07-05T00:58:07Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=532ebcd2d1e722e73aa09a49e77ebaa79cc05e3e'/>
<id>urn:sha1:532ebcd2d1e722e73aa09a49e77ebaa79cc05e3e</id>
<content type='text'>
Except for SLPlugin since there's already a custom command for it.
</content>
</entry>
</feed>
