ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / on / onedriver / package.nix
blob20e8474c27edc23fc03945991cfe59f42575f05e
1 { buildGoModule
2 , fetchFromGitHub
3 , lib
4 , pkg-config
5 , webkitgtk_4_1
6 , glib
7 , fuse
8 , installShellFiles
9 , wrapGAppsHook3
10 , glib-networking
11 , wrapperDir ? "/run/wrappers/bin"
13 let
14   pname = "onedriver";
15   version = "0.14.1";
17   src = fetchFromGitHub {
18     owner = "jstaf";
19     repo = "onedriver";
20     rev = "v${version}";
21     hash = "sha256-mA5otgqXQAw2UYUOJaC1zyJuzEu2OS/pxmjJnWsVdxs=";
22   };
24 buildGoModule {
25   inherit pname version src;
26   vendorHash = "sha256-OOiiKtKb+BiFkoSBUQQfqm4dMfDW3Is+30Kwcdg8LNA=";
28   nativeBuildInputs = [ pkg-config installShellFiles wrapGAppsHook3 ];
29   buildInputs = [ webkitgtk_4_1 glib fuse glib-networking ];
31   ldflags = [ "-X github.com/jstaf/onedriver/cmd/common.commit=v${version}" ];
33   subPackages = [
34     "cmd/onedriver"
35     "cmd/onedriver-launcher"
36   ];
38   postInstall = ''
39     echo "Running postInstall"
40     install -Dm644 ./pkg/resources/onedriver.svg $out/share/icons/onedriver/onedriver.svg
41     install -Dm644 ./pkg/resources/onedriver.png $out/share/icons/onedriver/onedriver.png
42     install -Dm644 ./pkg/resources/onedriver-128.png $out/share/icons/onedriver/onedriver-128.png
44     install -Dm644 ./pkg/resources/onedriver.desktop $out/share/applications/onedriver.desktop
45     install -Dm644 ./pkg/resources/onedriver@.service $out/lib/systemd/user/onedriver@.service
47     mkdir -p $out/share/man/man1
48     installManPage ./pkg/resources/onedriver.1
50     substituteInPlace $out/share/applications/onedriver.desktop \
51       --replace "/usr/bin/onedriver-launcher" "$out/bin/onedriver-launcher" \
52       --replace "/usr/share/icons" "$out/share/icons"
54     substituteInPlace $out/lib/systemd/user/onedriver@.service \
55       --replace "/usr/bin/onedriver" "$out/bin/onedriver" \
56       --replace "/usr/bin/fusermount" "${wrapperDir}/fusermount"
57   '';
59   meta = with lib; {
60     description = "Network filesystem for Linux";
61     longDescription = ''
62       onedriver is a network filesystem that gives your computer direct access to your files on Microsoft OneDrive.
63       This is not a sync client. Instead of syncing files, onedriver performs an on-demand download of files when
64       your computer attempts to use them. onedriver allows you to use files on OneDrive as if they were files on
65       your local computer.
66     '';
67     inherit (src.meta) homepage;
68     license = licenses.gpl3Plus;
69     maintainers = [ maintainers.massimogengarelli ];
70     platforms = platforms.linux;
71   };