2021-02-05 17:12:51 +00:00
|
|
|
{ lib, stdenv, fetchFromGitHub, curl, fuse, libxml2, pkg-config }:
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
let
|
|
|
|
srcs = {
|
|
|
|
boxfs2 = fetchFromGitHub {
|
|
|
|
sha256 = "10af1l3sjnh25shmq5gdnpyqk4vrq7i1zklv4csf1n2nrahln8j8";
|
|
|
|
rev = "d7018b0546d2dae956ae3da3fb95d2f63fa6d3ff";
|
|
|
|
repo = "boxfs2";
|
|
|
|
owner = "drotiro";
|
|
|
|
};
|
|
|
|
libapp = fetchFromGitHub {
|
|
|
|
sha256 = "1p2sbxiranan2n2xsfjkp3c6r2vcs57ds6qvjv4crs1yhxr7cp00";
|
|
|
|
rev = "febebe2bc0fb88d57bdf4eb4a2a54c9eeda3f3d8";
|
|
|
|
repo = "libapp";
|
|
|
|
owner = "drotiro";
|
|
|
|
};
|
|
|
|
libjson = fetchFromGitHub {
|
|
|
|
sha256 = "1vhss3gq44nl61fbnh1l3qzwvz623gwhfgykf1lf1p31rjr7273w";
|
|
|
|
rev = "75a7f50fca2c667bc5f32cdd6dd98f2b673f6657";
|
|
|
|
repo = "libjson";
|
|
|
|
owner = "vincenthz";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
in stdenv.mkDerivation {
|
|
|
|
pname = "boxfs";
|
|
|
|
version = "2-20150109";
|
|
|
|
|
|
|
|
src = srcs.boxfs2;
|
|
|
|
|
|
|
|
prePatch = with srcs; ''
|
|
|
|
substituteInPlace Makefile --replace "git pull" "true"
|
|
|
|
cp -a --no-preserve=mode ${libapp} libapp
|
|
|
|
cp -a --no-preserve=mode ${libjson} libjson
|
|
|
|
'';
|
2024-06-05 15:53:02 +00:00
|
|
|
patches = [
|
|
|
|
./work-around-API-borkage.patch
|
|
|
|
./libapp-include-ctype.diff
|
|
|
|
];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
buildInputs = [ curl fuse libxml2 ];
|
2021-02-05 17:12:51 +00:00
|
|
|
nativeBuildInputs = [ pkg-config ];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2021-04-22 02:08:21 +00:00
|
|
|
buildFlags = [
|
|
|
|
"static"
|
|
|
|
"CC=${stdenv.cc.targetPrefix}cc"
|
|
|
|
] ++ lib.optional stdenv.isDarwin "CFLAGS=-D_BSD_SOURCE";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
mkdir -p $out/bin
|
|
|
|
install boxfs boxfs-init $out/bin
|
|
|
|
'';
|
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
meta = with lib; {
|
2020-04-24 23:36:52 +00:00
|
|
|
description = "FUSE file system for box.com accounts";
|
|
|
|
longDescription = ''
|
|
|
|
Store files on box.com (an account is required). The first time you run
|
|
|
|
boxfs, you will need to complete the authentication (oauth2) process and
|
|
|
|
grant access to your box.com account. Just follow the instructions on
|
|
|
|
the terminal and in your browser. When you've done using your files,
|
|
|
|
unmount the file system with `fusermount -u mountpoint`.
|
|
|
|
'';
|
|
|
|
homepage = "https://github.com/drotiro/boxfs2";
|
|
|
|
license = licenses.gpl3;
|
2021-04-22 02:08:21 +00:00
|
|
|
platforms = platforms.unix;
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
}
|