mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 16:11:58 +00:00
commit
b6514ff30a
83
pkgs/applications/backup/deja-dup/default.nix
Normal file
83
pkgs/applications/backup/deja-dup/default.nix
Normal file
|
@ -0,0 +1,83 @@
|
|||
{ stdenv, fetchurl, meson, ninja, pkgconfig, vala_0_38, gettext
|
||||
, gnome3, libnotify, intltool, itstool, glib, gtk3, libxml2
|
||||
, coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook
|
||||
, libpthreadstubs, libXdmcp, epoxy, at_spi2_core, dbus, libgpgerror
|
||||
, appstream-glib, desktop_file_utils, atk, pango, duplicity
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "deja-dup-${version}";
|
||||
version = "36.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/deja-dup/36/${version}/+download/deja-dup-${version}.tar.xz";
|
||||
sha256 = "1s48k2sxrpwkzp37s4x7934lyg5194c47nv9ks15rksd5s0alnld";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./fix-paths.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace libdeja/tools/duplicity/DuplicityInstance.vala --replace \
|
||||
"/bin/rm" \
|
||||
"${coreutils}/bin/rm"
|
||||
'';
|
||||
|
||||
# couldn't find gio/gdesktopappinfo.h
|
||||
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson ninja pkgconfig vala_0_38 gettext intltool itstool
|
||||
appstream-glib desktop_file_utils libxml2 wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libnotify gnome3.libpeas glib gtk3 libsecret
|
||||
pcre libxkbcommon libpthreadstubs libXdmcp epoxy gnome3.nautilus
|
||||
at_spi2_core dbus gnome3.gnome_online_accounts libgpgerror
|
||||
];
|
||||
|
||||
propagatedUserEnvPkgs = [ duplicity ];
|
||||
|
||||
postInstall = ''
|
||||
glib-compile-schemas $out/share/glib-2.0/schemas
|
||||
'';
|
||||
|
||||
# Manual rpath definition until https://github.com/mesonbuild/meson/issues/314 is fixed
|
||||
postFixup =
|
||||
let
|
||||
rpath = stdenv.lib.makeLibraryPath [
|
||||
glib
|
||||
gtk3
|
||||
gnome3.gnome_online_accounts
|
||||
gnome3.libpeas
|
||||
gnome3.nautilus
|
||||
libgpgerror
|
||||
libsecret
|
||||
# Transitive
|
||||
atk
|
||||
pango
|
||||
];
|
||||
in ''
|
||||
# Unwrap accidentally wrapped library
|
||||
mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so
|
||||
|
||||
for elf in "$out"/bin/.*-wrapped "$out"/libexec/deja-dup/.deja-dup-monitor-wrapped "$out"/libexec/deja-dup/tools/*.so "$out"/lib/deja-dup/*.so "$out"/lib/nautilus/extensions-3.0/*.so; do
|
||||
patchelf --set-rpath '${rpath}':"$out/lib/deja-dup" "$elf"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple backup tool";
|
||||
longDescription = ''
|
||||
Déjà Dup is a simple backup tool. It hides the complexity \
|
||||
of backing up the Right Way (encrypted, off-site, and regular) \
|
||||
and uses duplicity as the backend.
|
||||
'';
|
||||
homepage = https://launchpad.net/deja-dup;
|
||||
license = with licenses; gpl3;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
12
pkgs/applications/backup/deja-dup/fix-paths.patch
Normal file
12
pkgs/applications/backup/deja-dup/fix-paths.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff --git a/deja-dup/nautilus/meson.build b/deja-dup/nautilus/meson.build
|
||||
index 04b136f3..ed8f7cba 100644
|
||||
--- a/deja-dup/nautilus/meson.build
|
||||
+++ b/deja-dup/nautilus/meson.build
|
||||
@@ -31,6 +31,6 @@ shared_module('deja-dup', ['NautilusExtension.c'],
|
||||
link_with: [dirhandling],
|
||||
dependencies: [nautilus_dep],
|
||||
install: true,
|
||||
- install_dir: nautilus_dep.get_pkgconfig_variable('extensiondir'))
|
||||
+ install_dir: join_paths(get_option('libdir'), 'nautilus', 'extensions-3.0'))
|
||||
|
||||
endif
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, pkgconfig, glib, libxslt, gtk, wrapGAppsHook
|
||||
{ stdenv, fetchurl, pkgconfig, vala, glib, libxslt, gtk, wrapGAppsHook
|
||||
, webkitgtk, json_glib, rest, libsecret, dbus_glib, gnome_common
|
||||
, telepathy_glib, intltool, dbus_libs, icu, glib_networking
|
||||
, libsoup, docbook_xsl_ns, docbook_xsl, gnome3
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest gnome_common wrapGAppsHook
|
||||
libsecret dbus_glib telepathy_glib glib_networking intltool icu libsoup
|
||||
libsecret dbus_glib telepathy_glib glib_networking intltool icu libsoup vala
|
||||
docbook_xsl_ns docbook_xsl gnome3.defaultIconTheme ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -11,7 +11,7 @@ python2Packages.buildPythonApplication rec {
|
|||
|
||||
buildInputs = [ librsync makeWrapper python2Packages.wrapPython ];
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
boto cffi cryptography ecdsa enum idna
|
||||
boto cffi cryptography ecdsa enum idna pygobject3
|
||||
ipaddress lockfile paramiko pyasn1 pycrypto six
|
||||
];
|
||||
checkInputs = with python2Packages; [ lockfile mock pexpect ];
|
||||
|
|
|
@ -951,6 +951,8 @@ with pkgs;
|
|||
|
||||
deisctl = callPackage ../development/tools/deisctl {};
|
||||
|
||||
deja-dup = callPackage ../applications/backup/deja-dup { };
|
||||
|
||||
devmem2 = callPackage ../os-specific/linux/devmem2 { };
|
||||
|
||||
dbus-broker = callPackage ../os-specific/linux/dbus-broker {};
|
||||
|
|
Loading…
Reference in a new issue