1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 runCommand,
6 inkcut,
7 callPackage,
8 texlive,
9}:
10
11{
12 applytransforms = callPackage ./extensions/applytransforms { };
13
14 hexmap = stdenv.mkDerivation {
15 pname = "hexmap";
16 version = "unstable-2023-01-26";
17
18 src = fetchFromGitHub {
19 owner = "lifelike";
20 repo = "hexmapextension";
21 rev = "241c9512d0113e8193b7cf06b69ef2c4730b0295";
22 hash = "sha256-pSPAupp3xLlbODE2BGu1Xiiiu1Y6D4gG4HhZwccAZ2E=";
23 };
24
25 preferLocalBuild = true;
26
27 installPhase = ''
28 runHook preInstall
29
30 mkdir -p "$out/share/inkscape/extensions"
31 cp -p *.inx *.py "$out/share/inkscape/extensions/"
32 find "$out/share/inkscape/extensions/" -name "*.py" -exec chmod +x {} \;
33
34 runHook postInstall
35 '';
36
37 meta = with lib; {
38 description = "This is an extension for creating hex grids in Inkscape. It can also be used to make brick patterns of staggered rectangles";
39 homepage = "https://github.com/lifelike/hexmapextension";
40 license = licenses.gpl2Plus;
41 maintainers = [ maintainers.raboof ];
42 platforms = platforms.all;
43 };
44 };
45 inkcut = (
46 runCommand "inkcut-inkscape-plugin" { } ''
47 mkdir -p $out/share/inkscape/extensions
48 cp ${inkcut}/share/inkscape/extensions/* $out/share/inkscape/extensions
49 ''
50 );
51 inkstitch = callPackage ./extensions/inkstitch { };
52 silhouette = callPackage ./extensions/silhouette { };
53 textext = callPackage ./extensions/textext {
54 pdflatex = texlive.combined.scheme-basic;
55 lualatex = texlive.combined.scheme-basic;
56 };
57}