inkscape: add inkcut extension
This commit is contained in:
parent
b5d3cafb69
commit
297d1d6b83
@ -1,5 +1,7 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, runCommand
|
||||||
|
, inkcut
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -34,4 +36,8 @@
|
|||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
inkcut = (runCommand "inkcut-inkscape-plugin" {} ''
|
||||||
|
mkdir -p $out/share/inkscape/extensions
|
||||||
|
cp ${inkcut}/share/inkscape/extensions/* $out/share/inkscape/extensions
|
||||||
|
'');
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,85 @@
|
|||||||
|
From ddc1f9e63e7a769c71131b56f6a2a011c649635c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Arnout Engelen <arnout@bzzt.net>
|
||||||
|
Date: Tue, 24 Nov 2020 15:34:40 +0100
|
||||||
|
Subject: [PATCH] Avoid name clash between inkscape plugin and inkcut itself
|
||||||
|
|
||||||
|
Ohterwise, with an unfortunate PYTONPATH, inkcut would no longer
|
||||||
|
start since it'd try to invoke the inkcut.py from the extension
|
||||||
|
instead of the main application
|
||||||
|
---
|
||||||
|
plugins/inkscape/{inkcut.py => inkcut4inkscape.py} | 2 +-
|
||||||
|
plugins/inkscape/inkcut_cut.inx | 2 +-
|
||||||
|
plugins/inkscape/inkcut_cut.py | 2 +-
|
||||||
|
plugins/inkscape/inkcut_open.inx | 2 +-
|
||||||
|
plugins/inkscape/inkcut_open.py | 2 +-
|
||||||
|
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
rename plugins/inkscape/{inkcut.py => inkcut4inkscape.py} (98%)
|
||||||
|
|
||||||
|
diff --git a/plugins/inkscape/inkcut.py b/plugins/inkscape/inkcut4inkscape.py
|
||||||
|
similarity index 98%
|
||||||
|
rename from plugins/inkscape/inkcut.py
|
||||||
|
rename to plugins/inkscape/inkcut4inkscape.py
|
||||||
|
index 5b90475..7dc8d86 100644
|
||||||
|
--- a/plugins/inkscape/inkcut.py
|
||||||
|
+++ b/plugins/inkscape/inkcut4inkscape.py
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
Inkcut, Plot HPGL directly from Inkscape.
|
||||||
|
- inkcut.py
|
||||||
|
+ inkcut4inkscape.py
|
||||||
|
|
||||||
|
Copyright 2018 The Inkcut Team
|
||||||
|
|
||||||
|
diff --git a/plugins/inkscape/inkcut_cut.inx b/plugins/inkscape/inkcut_cut.inx
|
||||||
|
index 4b44ae5..3db8721 100644
|
||||||
|
--- a/plugins/inkscape/inkcut_cut.inx
|
||||||
|
+++ b/plugins/inkscape/inkcut_cut.inx
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
<_name>Cut selection...</_name>
|
||||||
|
<id>org.ekips.filter.inkcut.cut</id>
|
||||||
|
<dependency type="executable" location="extensions">inkcut_cut.py</dependency>
|
||||||
|
- <dependency type="executable" location="extensions">inkcut.py</dependency>
|
||||||
|
+ <dependency type="executable" location="extensions">inkcut4inkscape.py</dependency>
|
||||||
|
<dependency type="executable" location="extensions">inkex.py</dependency>
|
||||||
|
<effect>
|
||||||
|
<object-type>all</object-type>
|
||||||
|
diff --git a/plugins/inkscape/inkcut_cut.py b/plugins/inkscape/inkcut_cut.py
|
||||||
|
index acaf812..777629a 100644
|
||||||
|
--- a/plugins/inkscape/inkcut_cut.py
|
||||||
|
+++ b/plugins/inkscape/inkcut_cut.py
|
||||||
|
@@ -37,7 +37,7 @@
|
||||||
|
else:
|
||||||
|
inkex.localize()
|
||||||
|
import subprocess
|
||||||
|
-from inkcut import contains_text, convert_objects_to_paths
|
||||||
|
+from inkcut4inkscape import contains_text, convert_objects_to_paths
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/plugins/inkscape/inkcut_open.inx b/plugins/inkscape/inkcut_open.inx
|
||||||
|
index 45ee585..2dcd38e 100644
|
||||||
|
--- a/plugins/inkscape/inkcut_open.inx
|
||||||
|
+++ b/plugins/inkscape/inkcut_open.inx
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
<_name>Open current document...</_name>
|
||||||
|
<id>org.ekips.filter.inkcut.open</id>
|
||||||
|
<dependency type="executable" location="extensions">inkcut_open.py</dependency>
|
||||||
|
- <dependency type="executable" location="extensions">inkcut.py</dependency>
|
||||||
|
+ <dependency type="executable" location="extensions">inkcut4inkscape.py</dependency>
|
||||||
|
<dependency type="executable" location="extensions">inkex.py</dependency>
|
||||||
|
<effect>
|
||||||
|
<object-type>all</object-type>
|
||||||
|
diff --git a/plugins/inkscape/inkcut_open.py b/plugins/inkscape/inkcut_open.py
|
||||||
|
index b4652eb..e4c2d62 100644
|
||||||
|
--- a/plugins/inkscape/inkcut_open.py
|
||||||
|
+++ b/plugins/inkscape/inkcut_open.py
|
||||||
|
@@ -38,7 +38,7 @@
|
||||||
|
inkex.localize()
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
-from inkcut import convert_objects_to_paths
|
||||||
|
+from inkcut4inkscape import convert_objects_to_paths
|
||||||
|
|
||||||
|
DEBUG = False
|
||||||
|
try:
|
@ -17,6 +17,12 @@ buildPythonApplication rec {
|
|||||||
sha256 = "1zn5i69f3kimcwdd2qkqd3hd1hq76a6i5wxxfb91ih2hj04vdbmx";
|
sha256 = "1zn5i69f3kimcwdd2qkqd3hd1hq76a6i5wxxfb91ih2hj04vdbmx";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# https://github.com/inkcut/inkcut/pull/292 but downloaded
|
||||||
|
# because of https://github.com/NixOS/nixpkgs/issues/32084
|
||||||
|
./avoid-name-clash-between-inkcut-and-extension.patch
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -49,6 +55,15 @@ buildPythonApplication rec {
|
|||||||
dontWrapQtApps = true;
|
dontWrapQtApps = true;
|
||||||
makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ];
|
makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/share/inkscape/extensions
|
||||||
|
|
||||||
|
cp plugins/inkscape/* $out/share/inkscape/extensions
|
||||||
|
|
||||||
|
sed -i "s|cmd = \['inkcut'\]|cmd = \['$out/bin/inkcut'\]|" $out/share/inkscape/extensions/inkcut_cut.py
|
||||||
|
sed -i "s|cmd = \['inkcut'\]|cmd = \['$out/bin/inkcut'\]|" $out/share/inkscape/extensions/inkcut_open.py
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.codelv.com/projects/inkcut/";
|
homepage = "https://www.codelv.com/projects/inkcut/";
|
||||||
description = "Control 2D plotters, cutters, engravers, and CNC machines";
|
description = "Control 2D plotters, cutters, engravers, and CNC machines";
|
||||||
|
Loading…
Reference in New Issue
Block a user