diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix index 48d683e14f21..4260630190a4 100644 --- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix +++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix @@ -4,41 +4,45 @@ buildDunePackage, fetchFromGitHub, extlib, - ocamlfuse, + fuse3, gapi-ocaml, ocaml_sqlite3, + otoml, tiny_httpd, ounit2, }: -buildDunePackage rec { +buildDunePackage (finalAttrs: { pname = "google-drive-ocamlfuse"; - version = "0.7.32"; + version = "0.9.0"; + + minimalOCamlVersion = "4.13"; src = fetchFromGitHub { owner = "astrada"; repo = "google-drive-ocamlfuse"; - rev = "v${version}"; - hash = "sha256-AWr1tcium70rXFKMTv6xcWxndOJua3UXG8Q04TN1Siw="; + tag = "v${finalAttrs.version}"; + hash = "sha256-nTZdE9F6ufQ/O/Ck6fzoK65uZ0ylMR6HkwKsBNRDjMs="; }; - doCheck = lib.versionAtLeast ocaml.version "5"; + doCheck = lib.versionAtLeast ocaml.version "4.14"; checkInputs = [ ounit2 ]; buildInputs = [ extlib - ocamlfuse + fuse3 gapi-ocaml ocaml_sqlite3 + otoml tiny_httpd ]; meta = { - inherit (src.meta) homepage; + homepage = "https://github.com/astrada/google-drive-ocamlfuse/"; description = "FUSE-based file system backed by Google Drive, written in OCaml"; license = lib.licenses.mit; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ obadz ]; mainProgram = "google-drive-ocamlfuse"; }; -} +}) diff --git a/pkgs/development/ocaml-modules/fuse3/default.nix b/pkgs/development/ocaml-modules/fuse3/default.nix new file mode 100644 index 000000000000..836ccb01cc1b --- /dev/null +++ b/pkgs/development/ocaml-modules/fuse3/default.nix @@ -0,0 +1,40 @@ +{ + lib, + fetchFromGitHub, + buildDunePackage, + camlidl, + dune-configurator, + pkg-config, + fuse3, +}: + +buildDunePackage (finalAttrs: { + pname = "fuse3"; + version = "3.10.0"; + + src = fetchFromGitHub { + owner = "astrada"; + repo = "ocamlfuse"; + tag = "v${finalAttrs.version}"; + hash = "sha256-xy3Jf4GTQP3vM6vRxBAeOIASWRuoNdlbt91eCco2zMg="; + }; + + nativeBuildInputs = [ + camlidl + pkg-config + ]; + + buildInputs = [ dune-configurator ]; + + propagatedBuildInputs = [ + camlidl + fuse3 + ]; + + meta = { + description = "OCaml bindings for libfuse 3"; + homepage = "https://github.com/astrada/ocamlfuse/"; + platforms = lib.platforms.linux; + license = lib.licenses.gpl2Plus; + }; +}) diff --git a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix index a6bec8a069cb..accd07f110af 100644 --- a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix +++ b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix @@ -12,7 +12,7 @@ buildDunePackage (finalAttrs: { pname = "gapi-ocaml"; - version = if lib.versionAtLeast cryptokit.version "1.21" then "0.4.8" else "0.4.7"; + version = if lib.versionAtLeast cryptokit.version "1.21" then "0.4.9" else "0.4.7"; src = fetchFromGitHub { owner = "astrada"; @@ -21,7 +21,7 @@ buildDunePackage (finalAttrs: { hash = { "0.4.7" = "sha256-uQJfrgF0oafURlamHslt9hX9MP4vFeVqDhuX7T/kjiY="; - "0.4.8" = "sha256-RvHcse3ech8BwnR0Kd1oE5ycAdSBpeQ0IGAp9egFbBY="; + "0.4.9" = "sha256-UWoWWpCAKCNEwEFO4UBXrTO49QyxLXrulDHX6dGr0z4="; } ."${finalAttrs.version}"; }; @@ -42,6 +42,7 @@ buildDunePackage (finalAttrs: { description = "OCaml client for google services"; homepage = "https://github.com/astrada/gapi-ocaml"; license = lib.licenses.mit; + platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ bennofs ]; }; }) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 974759c5491b..8b143f80b45c 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -710,6 +710,10 @@ let functory = callPackage ../development/ocaml-modules/functory { }; + fuse3 = callPackage ../development/ocaml-modules/fuse3 { + inherit (pkgs) fuse3; + }; + ### G ### gapi-ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };