uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
70
pkgs/applications/networking/dropbox/cli.nix
Normal file
70
pkgs/applications/networking/dropbox/cli.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{ lib, stdenv
|
||||
, substituteAll
|
||||
, pkg-config
|
||||
, fetchurl
|
||||
, python3
|
||||
, dropbox
|
||||
, gtk3
|
||||
, gnome
|
||||
, gdk-pixbuf
|
||||
, gobject-introspection
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2020.03.04";
|
||||
dropboxd = "${dropbox}/bin/dropbox";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "dropbox-cli";
|
||||
inherit version;
|
||||
|
||||
outputs = [ "out" "nautilusExtension" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://linux.dropboxstatic.com/packages/nautilus-dropbox-${version}.tar.bz2";
|
||||
sha256 = "1jjc835n2j61d23kvygdb4n4jsrw33r9mbwxrm4fqin6x01l2w7k";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./fix-cli-paths.patch;
|
||||
inherit dropboxd;
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
gdk-pixbuf
|
||||
# only for build, the install command also wants to use GTK through introspection
|
||||
# but we are using Nix for installation so we will not need that.
|
||||
(python3.withPackages (ps: with ps; [
|
||||
docutils
|
||||
pygobject3
|
||||
]))
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
python3
|
||||
gtk3
|
||||
gnome.nautilus
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-nautilus-extension-dir=${placeholder "nautilusExtension"}/lib/nautilus/extensions-3.0"
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"EMBLEM_DIR=${placeholder "nautilusExtension"}/share/nautilus-dropbox/emblems"
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.dropbox.com";
|
||||
description = "Command line client for the dropbox daemon";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
# NOTE: Dropbox itself only works on linux, so this is ok.
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
86
pkgs/applications/networking/dropbox/default.nix
Normal file
86
pkgs/applications/networking/dropbox/default.nix
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{ stdenv, lib, buildFHSUserEnv, writeScript, makeDesktopItem }:
|
||||
|
||||
let platforms = [ "i686-linux" "x86_64-linux" ]; in
|
||||
|
||||
assert lib.elem stdenv.hostPlatform.system platforms;
|
||||
|
||||
# Dropbox client to bootstrap installation.
|
||||
# The client is self-updating, so the actual version may be newer.
|
||||
let
|
||||
version = "111.3.447";
|
||||
|
||||
arch = {
|
||||
x86_64-linux = "x86_64";
|
||||
i686-linux = "x86";
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
installer = "https://clientupdates.dropboxstatic.com/dbx-releng/client/dropbox-lnx.${arch}-${version}.tar.gz";
|
||||
in
|
||||
|
||||
let
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "dropbox";
|
||||
exec = "dropbox";
|
||||
comment = "Sync your files across computers and to the web";
|
||||
desktopName = "Dropbox";
|
||||
genericName = "File Synchronizer";
|
||||
categories = [ "Network" "FileTransfer" ];
|
||||
startupNotify = false;
|
||||
icon = "dropbox";
|
||||
};
|
||||
in
|
||||
|
||||
buildFHSUserEnv {
|
||||
name = "dropbox";
|
||||
|
||||
targetPkgs = pkgs: with pkgs; with xorg; [
|
||||
libICE libSM libX11 libXcomposite libXdamage libXext libXfixes libXrender
|
||||
libXxf86vm libxcb xkeyboardconfig
|
||||
curl dbus firefox-bin fontconfig freetype gcc glib gnutar libxml2 libxslt
|
||||
procps zlib mesa libxshmfence libpthreadstubs libappindicator
|
||||
];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p "$out/share/applications"
|
||||
cp "${desktopItem}/share/applications/"* $out/share/applications
|
||||
'';
|
||||
|
||||
runScript = writeScript "install-and-start-dropbox" ''
|
||||
export BROWSER=firefox
|
||||
|
||||
set -e
|
||||
|
||||
do_install=
|
||||
if ! [ -d "$HOME/.dropbox-dist" ]; then
|
||||
do_install=1
|
||||
else
|
||||
installed_version=$(cat "$HOME/.dropbox-dist/VERSION")
|
||||
latest_version=$(printf "${version}\n$installed_version\n" | sort -rV | head -n 1)
|
||||
if [ "x$installed_version" != "x$latest_version" ]; then
|
||||
do_install=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$do_install" ]; then
|
||||
installer=$(mktemp)
|
||||
# Dropbox is not installed.
|
||||
# Download and unpack the client. If a newer version is available,
|
||||
# the client will update itself when run.
|
||||
curl '${installer}' >"$installer"
|
||||
pkill dropbox || true
|
||||
rm -fr "$HOME/.dropbox-dist"
|
||||
tar -C "$HOME" -x -z -f "$installer"
|
||||
rm "$installer"
|
||||
fi
|
||||
|
||||
exec "$HOME/.dropbox-dist/dropboxd" "$@"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Online stored folders (daemon version)";
|
||||
homepage = "http://www.dropbox.com/";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ ttuegel ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
11
pkgs/applications/networking/dropbox/fix-cli-paths.patch
Normal file
11
pkgs/applications/networking/dropbox/fix-cli-paths.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- a/dropbox.in
|
||||
+++ b/dropbox.in
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
PARENT_DIR = os.path.expanduser("~")
|
||||
DROPBOX_DIST_PATH = "%s/.dropbox-dist" % PARENT_DIR
|
||||
-DROPBOXD_PATH = os.path.join(DROPBOX_DIST_PATH, "dropboxd")
|
||||
+DROPBOXD_PATH = "@dropboxd@"
|
||||
DESKTOP_FILE = "@DESKTOP_FILE_DIR@/dropbox.desktop"
|
||||
|
||||
enc = locale.getpreferredencoding()
|
||||
Loading…
Add table
Add a link
Reference in a new issue