Some checks failed
CI / check (push) Has been cancelled
CI / ida (push) Has been cancelled
CI / cpt (push) Has been cancelled
CI / build-nixos (ena) (push) Has been cancelled
CI / build-nixos (hako) (push) Has been cancelled
CI / build-nixos (kazusa) (push) Has been cancelled
CI / build-nixos (mizuki) (push) Has been cancelled
185 lines
4.9 KiB
Nix
185 lines
4.9 KiB
Nix
final: prev:
|
|
{
|
|
hoffice = prev.stdenv.mkDerivation rec {
|
|
pname = "hoffice";
|
|
version = "11.20.0.1520";
|
|
|
|
src = prev.fetchurl {
|
|
url = "https://dl.dropbox.com/scl/fi/ia3ub05nti01h8lzb3vwr/1732118678_hoffice_11.20.0.1520_amd64.deb?rlkey=8bnxl9chpm7rt6sr6nc4eoqp0&st=yaxlb481&dl=0";
|
|
sha256 = "1ecb2f82e915b49706d1f5f6d206f8bd4a9384fda2bd56798c94046865fe5730";
|
|
name = "hoffice-${version}.deb";
|
|
};
|
|
|
|
kimeLib = prev.fetchurl {
|
|
url = "https://github.com/Riey/kime/releases/latest/download/libkime-qt-5.11.3.so";
|
|
sha256 = "sha256-26udhVyqW+z5Calp3x4uSPM34/u1kSWViJv3LGWeEG0=";
|
|
};
|
|
|
|
nativeBuildInputs = with prev; [
|
|
wget
|
|
libarchive
|
|
xdg-utils
|
|
makeWrapper
|
|
autoPatchelfHook
|
|
];
|
|
|
|
dontWrapQtApps = true;
|
|
|
|
# dontPatchELF = true;
|
|
|
|
buildInputs = with prev; [
|
|
cairo
|
|
fontconfig
|
|
freetype
|
|
glibc
|
|
libGLU
|
|
(harfbuzz.override { withIcu = true; })
|
|
cups
|
|
curl
|
|
curlWithGnuTls
|
|
icu63
|
|
openssl_1_1
|
|
libxcb
|
|
libsForQt5.qtbase
|
|
libsForQt5.qtx11extras
|
|
libsForQt5.qtwayland
|
|
libsForQt5.qtmultimedia
|
|
libsForQt5.qtwebsockets
|
|
zlib
|
|
pulseaudio
|
|
gst_all_1.gstreamer
|
|
gst_all_1.gst-plugins-base
|
|
gst_all_1.gst-plugins-good
|
|
alsa-lib
|
|
nss
|
|
nspr
|
|
gtk3
|
|
atk
|
|
pango
|
|
gdk-pixbuf
|
|
xorg.libXcursor
|
|
xorg.libXdamage
|
|
xorg.libXtst
|
|
xorg.libXrandr
|
|
xorg.libX11
|
|
xorg.libXext
|
|
xorg.libXrender
|
|
xorg.libXi
|
|
xorg.libXfixes
|
|
xorg.libXcomposite
|
|
xorg.libXxf86vm
|
|
libdrm
|
|
mesa
|
|
libglvnd
|
|
kime
|
|
];
|
|
|
|
unpackPhase = ''
|
|
mkdir -p $out/tmp
|
|
cd $out/tmp
|
|
bsdtar -xf ${src}
|
|
bsdtar -xf data.tar.xz
|
|
cd -
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/opt
|
|
cp -r $out/tmp/opt/hnc $out/opt/
|
|
|
|
mkdir -p $out/usr/share/licenses/hoffice
|
|
cp ${./LICENSE} $out/usr/share/licenses/hoffice/LICENSE
|
|
|
|
# Install input method libraries
|
|
mkdir -p "$out/opt/hnc/hoffice11/Bin/qt/plugins/platforminputcontexts"
|
|
cp ${kimeLib} "$out/opt/hnc/hoffice11/Bin/qt/plugins/platforminputcontexts/libkime-qt-5.11.3.so"
|
|
|
|
# Create wrapper scripts
|
|
mkdir -p $out/bin
|
|
libPath="${prev.lib.makeLibraryPath [
|
|
prev.glibc
|
|
prev.libxcb
|
|
prev.libsForQt5.qtbase
|
|
prev.libsForQt5.qtx11extras
|
|
prev.libsForQt5.qtwayland
|
|
prev.libsForQt5.qtmultimedia
|
|
prev.libsForQt5.qtwebsockets
|
|
prev.cairo
|
|
prev.fontconfig
|
|
prev.freetype
|
|
(prev.harfbuzz.override { withIcu = true; })
|
|
prev.icu63
|
|
prev.cups
|
|
prev.curl
|
|
prev.curlWithGnuTls
|
|
prev.openssl_1_1
|
|
prev.libGLU
|
|
prev.zlib
|
|
prev.pulseaudio
|
|
prev.gst_all_1.gstreamer
|
|
prev.gst_all_1.gst-plugins-base
|
|
prev.gst_all_1.gst-plugins-good
|
|
prev.alsa-lib
|
|
prev.nss
|
|
prev.nspr
|
|
prev.gtk3
|
|
prev.atk
|
|
prev.pango
|
|
prev.gdk-pixbuf
|
|
prev.xorg.libXcursor
|
|
prev.xorg.libXdamage
|
|
prev.xorg.libXtst
|
|
prev.xorg.libXrandr
|
|
prev.xorg.libX11
|
|
prev.xorg.libXext
|
|
prev.xorg.libXrender
|
|
prev.xorg.libXi
|
|
prev.xorg.libXfixes
|
|
prev.xorg.libXcomposite
|
|
prev.xorg.libXxf86vm
|
|
prev.libdrm
|
|
prev.mesa
|
|
prev.libglvnd
|
|
prev.kime
|
|
]}"
|
|
for cmd in hwp hsl hword hcl; do
|
|
mv "$out/opt/hnc/hoffice11/Bin/$cmd" "$out/opt/hnc/hoffice11/Bin/$cmd.real"
|
|
makeWrapper "$out/opt/hnc/hoffice11/Bin/$cmd.real" "$out/opt/hnc/hoffice11/Bin/$cmd" \
|
|
--set LD_LIBRARY_PATH "$libPath" \
|
|
--set QT_QPA_PLATFORM xcb \
|
|
--set QT_XCB_GL_INTEGRATION none \
|
|
--set QT_OPENGL software \
|
|
--set QT_QUICK_BACKEND software \
|
|
--set LIBGL_ALWAYS_SOFTWARE 1
|
|
makeWrapper "$out/opt/hnc/hoffice11/Bin/$cmd.real" "$out/bin/$cmd" \
|
|
--set LD_LIBRARY_PATH "$libPath" \
|
|
--set QT_QPA_PLATFORM xcb \
|
|
--set QT_XCB_GL_INTEGRATION none \
|
|
--set QT_OPENGL software \
|
|
--set QT_QUICK_BACKEND software \
|
|
--set LIBGL_ALWAYS_SOFTWARE 1
|
|
done
|
|
|
|
rm -rf $out/tmp
|
|
'';
|
|
|
|
postInstall = ''
|
|
xdg-icon-resource forceupdate --theme hicolor &>/dev/null || true
|
|
update-desktop-database -q || true
|
|
'';
|
|
|
|
meta = with prev.lib; {
|
|
description = "Office document editor for Linux - Hancom Office Editor";
|
|
longDescription = ''
|
|
본 어플리케이션은 리눅스용 문서 편집 프로그램으로,
|
|
한컴에 의해 개발되고 배포된 형식의 문서들을 편집할 수 있도록 해주는 프로그램입니다.
|
|
'';
|
|
homepage = "https://www.hancom.com";
|
|
license = licenses.unfree;
|
|
platforms = [ "x86_64-linux" ];
|
|
maintainers = [{
|
|
name = "imnyang";
|
|
email = "me@imnya.ng";
|
|
}];
|
|
};
|
|
};
|
|
}
|