mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 10:58:02 +00:00
73 lines
2.3 KiB
Nix
73 lines
2.3 KiB
Nix
|
{ stdenv, lib, fetchFromGitHub, qtbase, qt3d, qmake, wrapQtAppsHook, harfbuzz
|
||
|
, pkgconfig, mupdf, zlib, freetype, libGLU, gumbo, jbig2dec, openjpeg_2 }:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "sioyek";
|
||
|
version = "1.0.0";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "ahrm";
|
||
|
repo = pname;
|
||
|
rev = "v${version}";
|
||
|
sha256 = "sha256-6eyUwrXeAkWpzwyIhWa/h6YZrSxztWwYBKCSnL2fsjE=";
|
||
|
fetchSubmodules = true;
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [ qmake wrapQtAppsHook pkgconfig ];
|
||
|
|
||
|
buildInputs = [
|
||
|
qtbase
|
||
|
qt3d
|
||
|
harfbuzz
|
||
|
|
||
|
# Replacing the application's vendored dependencies with the system
|
||
|
# libraries.
|
||
|
mupdf
|
||
|
zlib
|
||
|
|
||
|
# Since we're using libraries from the system, we'll also have to
|
||
|
# link several libraries from the application manually.
|
||
|
gumbo
|
||
|
jbig2dec
|
||
|
openjpeg_2
|
||
|
];
|
||
|
|
||
|
postPatch = ''
|
||
|
substituteInPlace pdf_viewer_build_config.pro \
|
||
|
--replace "-Lmupdf/build/release -lmupdf -lmupdf-third -lmupdf-threads" "-L${mupdf.dev}/lib -lmupdf -lmupdf-third -lharfbuzz -lfreetype -lgumbo -ljbig2dec -lopenjp2 -ljpeg" \
|
||
|
--replace 'INCLUDEPATH += ./pdf_viewer\' 'INCLUDEPATH += ./pdf_viewer ${mupdf.dev}/include ${zlib.dev}/include'
|
||
|
|
||
|
# Remove and replace it with packages from nixpkgs
|
||
|
sed -i -e '4,6d' pdf_viewer_build_config.pro
|
||
|
'' + lib.optionalString stdenv.isLinux ''
|
||
|
substituteInPlace pdf_viewer/main.cpp \
|
||
|
--replace "/usr/share/sioyek" "$out/share/sioyek" \
|
||
|
--replace "/etc/sioyek" "$out/etc/sioyek"
|
||
|
'';
|
||
|
|
||
|
qmakeFlags =
|
||
|
if stdenv.isLinux then [ "DEFINES+=LINUX_STANDARD_PATHS" ] else [ ];
|
||
|
|
||
|
preBuild = ''
|
||
|
# Remove and replace it with packages from nixpkgs.
|
||
|
rm -r mupdf zlib
|
||
|
'';
|
||
|
|
||
|
# Taken from `build_linux.sh` script.
|
||
|
postInstall = ''
|
||
|
install -Dm644 tutorial.pdf -t $out/share/sioyek
|
||
|
install -Dm644 pdf_viewer/shaders/* -t $out/share/sioyek/shaders
|
||
|
install -Dm644 pdf_viewer/keys.config -t $out/etc/sioyek
|
||
|
install -Dm644 pdf_viewer/prefs.config -t $out/etc/sioyek
|
||
|
install -Dm644 pdf_viewer/keys_user.config -t $out/share/sioyek
|
||
|
install -Dm644 pdf_viewer/prefs_user.config -t $out/share/sioyek
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
description =
|
||
|
"PDF viewer designed for reading research papers and technical books";
|
||
|
homepage = "https://sioyek.info";
|
||
|
license = licenses.gpl3;
|
||
|
};
|
||
|
}
|