about summary refs log tree commit diff
path: root/pkgs/applications/maui/default.nix
blob: b91f13d125944dcf12a8b00ce26c192e5207b1eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*

# New packages

READ THIS FIRST

This module is for the MauiKit framework and official Maui applications. All
available packages are listed in `callPackage ./srcs.nix`, although some are not yet
packaged in Nixpkgs.

IF YOUR PACKAGE IS NOT LISTED IN `callPackage ./srcs.nix`, IT DOES NOT GO HERE.

See also `pkgs/applications/kde` as this is what this is based on.

# Updates

1. Update the URL in `./fetch.sh`.
2. Run `callPackage ./maintainers/scripts/fetch-kde-qt.sh pkgs/applications/maui`
   from the top of the Nixpkgs tree.
3. Use `nixpkgs-review wip` to check that everything builds.
4. Commit the changes and open a pull request.

*/

{ lib
, libsForQt5
, fetchurl
}:

let
  mirror = "mirror://kde";
  srcs = import ./srcs.nix { inherit fetchurl mirror; };

  mkDerivation = args:
    let
      inherit (args) pname;
      inherit (srcs.${pname}) src version;
      mkDerivation =
        libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {};
    in
      mkDerivation (args // {
        inherit pname version src;

        outputs = args.outputs or [ "out" ];

        meta =
          let meta = args.meta or {}; in
          meta // {
            homepage = meta.homepage or "https://mauikit.org/";
            platforms = meta.platforms or lib.platforms.linux;
          };
      });

  packages = self:
    let
      callPackage = self.newScope {
        inherit mkDerivation;
      };
    in {
      # libraries
      mauikit = callPackage ./mauikit.nix { };
      mauikit-accounts = callPackage ./mauikit-accounts.nix { };
      mauikit-calendar = callPackage ./mauikit-calendar.nix { };
      mauikit-filebrowsing = callPackage ./mauikit-filebrowsing.nix { };
      mauikit-imagetools = callPackage ./mauikit-imagetools.nix { };
      mauikit-texteditor = callPackage ./mauikit-texteditor.nix { };
      mauiman = callPackage ./mauiman.nix { };

      # applications
      booth = callPackage ./booth.nix { };
      buho = callPackage ./buho.nix { };
      clip = callPackage ./clip.nix { };
      communicator = callPackage ./communicator.nix { };
      index = callPackage ./index.nix { };
      nota = callPackage ./nota.nix { };
      pix = callPackage ./pix.nix { };
      shelf = callPackage ./shelf.nix { };
      station = callPackage ./station.nix { };
      vvave = callPackage ./vvave.nix { };
    };

in lib.makeScope libsForQt5.newScope packages