aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut/avoid-name-clash-between-inkcut-and-extension.patch85
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut/default.nix25
2 files changed, 107 insertions, 3 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut/avoid-name-clash-between-inkcut-and-extension.patch b/infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut/avoid-name-clash-between-inkcut-and-extension.patch
new file mode 100644
index 000000000000..34e4e6f0e7fb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut/avoid-name-clash-between-inkcut-and-extension.patch
@@ -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:
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut/default.nix
index 6be6e842bde7..481069feac07 100644
--- a/infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/applications/misc/inkcut/default.nix
@@ -1,18 +1,28 @@
-{ lib, python3Packages, fetchFromGitHub, wrapQtAppsHook }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+, wrapQtAppsHook
+}:
with python3Packages;
buildPythonApplication rec {
pname = "inkcut";
- version = "2.1.1";
+ version = "2.1.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "1c0mfdfy9iq4l683f3aa7cm7x2w9px83dyigc7655wvaq3bxi2rp";
+ 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 ];
propagatedBuildInputs = [
@@ -45,6 +55,15 @@ buildPythonApplication rec {
dontWrapQtApps = true;
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; {
homepage = "https://www.codelv.com/projects/inkcut/";
description = "Control 2D plotters, cutters, engravers, and CNC machines";