···11-{ poetry2nix, pkgs, lib }:
11+{ lib
22+, python3
33+, fetchFromGitHub
44+}:
55+66+python3.pkgs.buildPythonApplication rec {
77+ pname = "rmfuse";
88+ version = "unstable-2021-06-06";
2933-let
44- pythonPackages = (poetry2nix.mkPoetryPackages {
55- projectDir = ./.;
66- overrides = [
77- poetry2nix.defaultPoetryOverrides
88- (import ./poetry-git-overlay.nix { inherit pkgs; })
99- (self: super: {
1010+ format = "pyproject";
10111111- rmfuse = super.rmfuse.overridePythonAttrs(old: {
1212- meta = old.meta // {
1313- description = "RMfuse provides access to your reMarkable Cloud files in the form of a FUSE filesystem.";
1414- longDescription = ''
1515- RMfuse provides access to your reMarkable Cloud files in the form of a FUSE filesystem. These files are exposed either in their original format, or as PDF files that contain your annotations. This lets you manage files in the reMarkable Cloud using the same tools you use on your local system.
1616- '';
1717- license = lib.licenses.mit;
1818- homepage = "https://github.com/rschroll/rmfuse";
1919- maintainers = [ lib.maintainers.adisbladis ];
2020- };
2121- });
1212+ src = fetchFromGitHub {
1313+ owner = "rschroll";
1414+ repo = "rmfuse";
1515+ rev = "3796b8610c8a965a60a417fc0bf8ea5200b71fd2";
1616+ hash = "sha256-W3kS6Kkmp8iWMOYFL7r1GyjSQvFotBXQCuTMK0vyHQ8=";
1717+ };
22182323- reportlab = let
2424- ft = pkgs.freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
2525- in super.reportlab.overridePythonAttrs(old: {
2626- postPatch = ''
2727- substituteInPlace setup.py \
2828- --replace "mif = findFile(d,'ft2build.h')" "mif = findFile('${lib.getDev ft}','ft2build.h')"
2929- '';
1919+ postPatch = ''
2020+ substituteInPlace pyproject.toml \
2121+ --replace 'bidict = "^' 'bidict = ">='
2222+ '';
30233131- NIX_CFLAGS_COMPILE = "-I${pkgs.freetype}/include/freetype2";
2424+ nativeBuildInputs = with python3.pkgs; [
2525+ poetry-core
2626+ ];
32273333- nativeBuildInputs = old.nativeBuildInputs ++ [
3434- pkgs.pkg-config
3535- ];
3636- buildInputs = old.buildInputs ++ [
3737- pkgs.freetype
3838- ];
3939- });
2828+ propagatedBuildInputs = with python3.pkgs; [
2929+ bidict
3030+ rmrl
3131+ rmcl
3232+ pyfuse3
3333+ xdg
3434+ ];
40354141- })
4242- ];
4343- }).python.pkgs;
4444-in pythonPackages.rmfuse
3636+ meta = {
3737+ description = "FUSE access to the reMarkable Cloud";
3838+ homepage = "https://github.com/rschroll/rmfuse";
3939+ license = lib.licenses.mit;
4040+ longDescription = ''
4141+ RMfuse provides access to your reMarkable Cloud files in the form of a
4242+ FUSE filesystem. These files are exposed either in their original format,
4343+ or as PDF files that contain your annotations. This lets you manage files
4444+ in the reMarkable Cloud using the same tools you use on your local
4545+ system.
4646+ '';
4747+ maintainers = with lib.maintainers; [ adisbladis ];
4848+ };
4949+}