zathura: cleanup and hide zathuraCollection

Fixes #17787.
This commit is contained in:
Nikolay Amiantov 2016-08-26 03:42:08 +03:00
parent 8d10928ad0
commit 211adbeb38
10 changed files with 77 additions and 100 deletions

View File

@ -1,21 +0,0 @@
source $stdenv/setup
mkdir -pv $out/bin/
mkdir -pv $out/share/
mkdir -pv $out/share/applications/
mkdir -pv $out/share/pixmaps/
cat > $out/bin/zathura <<EOF
#!/bin/sh
exec $zathura_core/bin/zathura --plugins-dir=$plugins_path "\$@"
EOF
cp -rv $zathura_core/share/man $out/share
cp -rv $zathura_core/share/locale $out/share
cp -rv $icon $out/share/pixmaps/pwmt.xpm
cat $zathura_core/share/applications/zathura.desktop > $out/share/applications/zathura.desktop
echo "Icon=pwmt" >> $out/share/applications/zathura.desktop
chmod 755 $out/bin/zathura

View File

@ -1,6 +1,6 @@
{ stdenv, lib, fetchurl, pkgconfig, gtk, girara, ncurses, gettext, docutils, file, makeWrapper, zathura_icon, sqlite, glib { stdenv, lib, fetchurl, pkgconfig, gtk, girara, ncurses, gettext, docutils
, synctexSupport ? true, texlive ? null , file, makeWrapper, sqlite, glib
}: , synctexSupport ? true, texlive ? null }:
assert synctexSupport -> texlive != null; assert synctexSupport -> texlive != null;
@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
sha256 = "0fyb5hak0knqvg90rmdavwcmilhnrwgg1s5ykx9wd3skbpi8nsh8"; sha256 = "0fyb5hak0knqvg90rmdavwcmilhnrwgg1s5ykx9wd3skbpi8nsh8";
}; };
icon = ./icon.xpm;
buildInputs = [ pkgconfig file gtk girara gettext makeWrapper sqlite glib buildInputs = [ pkgconfig file gtk girara gettext makeWrapper sqlite glib
] ++ lib.optional synctexSupport texlive.bin.core; ] ++ lib.optional synctexSupport texlive.bin.core;
@ -27,23 +29,20 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
wrapProgram "$out/bin/zathura" \ wrapProgram "$out/bin/zathura" \
--prefix PATH ":" "${file}/bin" \ --prefix PATH ":" "${lib.makeBinPath [ file ]}" \
--prefix XDG_CONFIG_DIRS ":" "$out/etc" --prefix XDG_CONFIG_DIRS ":" "$out/etc"
install -Dm644 $icon $out/share/pixmaps/pwmt.xpm
mkdir -pv $out/etc mkdir -pv $out/etc
echo "set window-icon ${zathura_icon}" > $out/etc/zathurarc echo "set window-icon $out/share/pixmaps/pwmt.xpm" > $out/etc/zathurarc
echo "Icon=pwmt" >> $out/share/applications/zathura.desktop
''; '';
meta = { meta = with stdenv.lib; {
homepage = http://pwmt.org/projects/zathura/; homepage = http://pwmt.org/projects/zathura/;
description = "A core component for zathura PDF viewer"; description = "A core component for zathura PDF viewer";
license = stdenv.lib.licenses.zlib; license = licenses.zlib;
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.garbas ]; maintainers = with maintainers; [ garbas ];
# Set lower priority in order to provide user with a wrapper script called
# 'zathura' instead of real zathura executable. The wrapper will build
# plugin path argument before executing the original.
priority = 1;
}; };
} }

View File

@ -1,59 +1,30 @@
{ callPackage, lib, pkgs, fetchurl, stdenv, useMupdf, synctexSupport ? true }: { pkgs, useMupdf ? true, synctexSupport ? true }:
rec { let
inherit stdenv; callPackage = pkgs.newScope self;
icon = ./icon.xpm; self = rec {
zathura_core = callPackage ./core {
gtk = pkgs.gtk3; gtk = pkgs.gtk3;
zathura_icon = icon;
inherit synctexSupport;
};
zathura_pdf_poppler = callPackage ./pdf-poppler { }; zathura_core = callPackage ./core {
inherit synctexSupport;
};
zathura_pdf_mupdf = callPackage ./pdf-mupdf { zathura_pdf_poppler = callPackage ./pdf-poppler { };
gtk = pkgs.gtk3;
};
zathura_djvu = callPackage ./djvu { zathura_pdf_mupdf = callPackage ./pdf-mupdf { };
gtk = pkgs.gtk3;
};
zathura_ps = callPackage ./ps { zathura_djvu = callPackage ./djvu { };
gtk = pkgs.gtk3;
};
zathuraWrapper = stdenv.mkDerivation { zathura_ps = callPackage ./ps { };
inherit zathura_core icon; zathuraWrapper = callPackage ./wrapper.nix {
plugins = [
name = "zathura-${zathura_core.version}"; zathura_djvu
zathura_ps
plugins_path = stdenv.lib.makeLibraryPath [ (if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler)
zathura_djvu ];
zathura_ps
(if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler)
];
builder = ./builder.sh;
preferLocalBuild = true;
meta = with lib; {
homepage = http://pwmt.org/projects/zathura/;
description = "A highly customizable and functional PDF viewer";
longDescription = ''
Zathura is a highly customizable and functional PDF viewer based on the
poppler rendering library and the gtk+ toolkit. The idea behind zathura
is an application that provides a minimalistic and space saving interface
as well as an easy usage that mainly focuses on keyboard interaction.
'';
license = licenses.zlib;
platforms = platforms.linux;
maintainers = with maintainers;[ garbas smironov ];
}; };
}; };
}
in self.zathuraWrapper

View File

@ -12,18 +12,18 @@ stdenv.mkDerivation rec {
patches = [ ./gtkflags.patch ]; patches = [ ./gtkflags.patch ];
makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib"; makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
meta = { meta = with stdenv.lib; {
homepage = http://pwmt.org/projects/zathura/; homepage = http://pwmt.org/projects/zathura/;
description = "A zathura DJVU plugin"; description = "A zathura DJVU plugin";
longDescription = '' longDescription = ''
The zathura-djvu plugin adds DjVu support to zathura by using the The zathura-djvu plugin adds DjVu support to zathura by using the
djvulibre library. djvulibre library.
''; '';
license = stdenv.lib.licenses.zlib; license = licenses.zlib;
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.garbas ]; maintainers = with maintainers; [ garbas ];
}; };
} }

View File

@ -1,4 +1,5 @@
{ stdenv, lib, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl, libjpeg, jbig2dec, openjpeg, fetchpatch}: { stdenv, lib, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl
, libjpeg, jbig2dec, openjpeg, fetchpatch }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.3.0"; version = "0.3.0";
@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
patches = [(fetchpatch { patches = [(fetchpatch {
name = "mupdf-1.9.patch"; name = "mupdf-1.9.patch";
url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/mupdf-1.9.patch?h=packages/zathura-pdf-mupdf"; url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/mupdf-1.9.patch?h=packages/zathura-pdf-mupdf&id=385ad96261b7297fdebbee6f4b22ec20dda8d65e";
sha256 = "185wgg0z4b0z5aybcnnyvbs50h43imn5xz3nqmya4rk4v5bwy49y"; sha256 = "185wgg0z4b0z5aybcnnyvbs50h43imn5xz3nqmya4rk4v5bwy49y";
})]; })];

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig poppler zathura_core girara ]; buildInputs = [ pkgconfig poppler zathura_core girara ];
makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib"; makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
meta = with lib; { meta = with lib; {
homepage = http://pwmt.org/projects/zathura/; homepage = http://pwmt.org/projects/zathura/;

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
patches = [ ./gtkflags.patch ]; patches = [ ./gtkflags.patch ];
makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib"; makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
meta = with lib; { meta = with lib; {
homepage = http://pwmt.org/projects/zathura/; homepage = http://pwmt.org/projects/zathura/;

View File

@ -0,0 +1,31 @@
{ symlinkJoin, lib, makeWrapper, zathura_core, plugins ? [] }:
let
pluginsPath = lib.makeLibraryPath plugins;
in symlinkJoin {
name = "zathura-with-plugins-${zathura_core.version}";
paths = [ zathura_core ];
buildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram $out/bin/zathura \
--add-flags --plugins-dir=${pluginsPath}
'';
meta = with lib; {
homepage = http://pwmt.org/projects/zathura/;
description = "A highly customizable and functional PDF viewer";
longDescription = ''
Zathura is a highly customizable and functional PDF viewer based on the
poppler rendering library and the gtk+ toolkit. The idea behind zathura
is an application that provides a minimalistic and space saving interface
as well as an easy usage that mainly focuses on keyboard interaction.
'';
license = licenses.zlib;
platforms = platforms.linux;
maintainers = with maintainers;[ garbas smironov ];
};
}

View File

@ -15540,13 +15540,9 @@ in
zam-plugins = callPackage ../applications/audio/zam-plugins { }; zam-plugins = callPackage ../applications/audio/zam-plugins { };
zathuraCollection = recurseIntoAttrs zathura = callPackage ../applications/misc/zathura {
(callPackage ../applications/misc/zathura { useMupdf = config.zathura.useMupdf or true;
callPackage = newScope pkgs.zathuraCollection; };
useMupdf = config.zathura.useMupdf or true;
});
zathura = zathuraCollection.zathuraWrapper;
zed = callPackage ../applications/editors/zed { }; zed = callPackage ../applications/editors/zed { };