uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
176
pkgs/applications/graphics/inkscape/default.nix
Normal file
176
pkgs/applications/graphics/inkscape/default.nix
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, boehmgc
|
||||
, boost
|
||||
, cairo
|
||||
, cmake
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, gettext
|
||||
, ghostscript
|
||||
, glib
|
||||
, glibmm
|
||||
, gsl
|
||||
, gspell
|
||||
, gtk-mac-integration
|
||||
, gtkmm3
|
||||
, gdk-pixbuf
|
||||
, imagemagick
|
||||
, lcms
|
||||
, lib2geom
|
||||
, libcdr
|
||||
, libexif
|
||||
, libpng
|
||||
, librevenge
|
||||
, librsvg
|
||||
, libsigcxx
|
||||
, libsoup
|
||||
, libvisio
|
||||
, libwpg
|
||||
, libXft
|
||||
, libxml2
|
||||
, libxslt
|
||||
, ninja
|
||||
, perlPackages
|
||||
, pkg-config
|
||||
, poppler
|
||||
, popt
|
||||
, potrace
|
||||
, python3
|
||||
, substituteAll
|
||||
, wrapGAppsHook
|
||||
, zlib
|
||||
}:
|
||||
let
|
||||
python3Env = python3.withPackages
|
||||
(ps: with ps; [
|
||||
numpy
|
||||
lxml
|
||||
pillow
|
||||
scour
|
||||
pyserial
|
||||
]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "inkscape";
|
||||
version = "1.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://media.inkscape.org/dl/resources/file/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-P/5UoG0LJaTNi260JFNu8e0gW+E0Q6Oc1DfIx7ibltE=";
|
||||
};
|
||||
|
||||
# Inkscape hits the ARGMAX when linking on macOS. It appears to be
|
||||
# CMake’s ARGMAX check doesn’t offer enough padding for NIX_LDFLAGS.
|
||||
# Setting strictDeps it avoids duplicating some dependencies so it
|
||||
# will leave us under ARGMAX.
|
||||
strictDeps = true;
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./fix-python-paths.patch;
|
||||
# Python is used at run-time to execute scripts,
|
||||
# e.g., those from the "Effects" menu.
|
||||
python3 = "${python3Env}/bin/python";
|
||||
})
|
||||
|
||||
# Fix build with poppler 22.03
|
||||
# https://gitlab.com/inkscape/inkscape/-/merge_requests/4187
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.com/inkscape/inkscape/-/commit/a18c57ffff313fd08bc8a44f6b6bf0b01d7e9b75.patch";
|
||||
sha256 = "UZb8ZTtfA5667uo5ZlVQ5vPowiSgd4ItAJ9U1BOsRQg=";
|
||||
})
|
||||
|
||||
# Fix build with poppler 22.04
|
||||
# https://gitlab.com/inkscape/inkscape/-/merge_requests/4266
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.com/inkscape/inkscape/-/commit/d989cdf1059c78bc3bb6414330242073768d640b.patch";
|
||||
sha256 = "2cJZdunbRgPIwhJgz1dQoQRw3ZYZ2Fp6c3hpVBV2PbE=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs share/extensions
|
||||
substituteInPlace share/extensions/eps_input.inx \
|
||||
--replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf"
|
||||
substituteInPlace share/extensions/ps_input.inx \
|
||||
--replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf"
|
||||
substituteInPlace share/extensions/ps_input.py \
|
||||
--replace "call('ps2pdf'" "call('${ghostscript}/bin/ps2pdf'"
|
||||
patchShebangs share/templates
|
||||
patchShebangs man/fix-roff-punct
|
||||
|
||||
# double-conversion is a dependency of 2geom
|
||||
substituteInPlace CMakeScripts/DefineDependsandFlags.cmake \
|
||||
--replace 'find_package(DoubleConversion REQUIRED)' ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
cmake
|
||||
ninja
|
||||
python3Env
|
||||
glib # for setup hook
|
||||
gdk-pixbuf # for setup hook
|
||||
wrapGAppsHook
|
||||
] ++ (with perlPackages; [
|
||||
perl
|
||||
XMLParser
|
||||
]);
|
||||
|
||||
buildInputs = [
|
||||
boehmgc
|
||||
boost
|
||||
gettext
|
||||
glib
|
||||
glibmm
|
||||
gsl
|
||||
gtkmm3
|
||||
imagemagick
|
||||
lcms
|
||||
lib2geom
|
||||
libcdr
|
||||
libexif
|
||||
libpng
|
||||
librevenge
|
||||
librsvg # for loading icons
|
||||
libsigcxx
|
||||
libsoup
|
||||
libvisio
|
||||
libwpg
|
||||
libXft
|
||||
libxml2
|
||||
libxslt
|
||||
perlPackages.perl
|
||||
poppler
|
||||
popt
|
||||
potrace
|
||||
python3Env
|
||||
zlib
|
||||
] ++ lib.optionals (!stdenv.isDarwin) [
|
||||
gspell
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
cairo
|
||||
gtk-mac-integration
|
||||
];
|
||||
|
||||
# Make sure PyXML modules can be found at run-time.
|
||||
postInstall = lib.optionalString stdenv.isDarwin ''
|
||||
install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkscape
|
||||
install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Vector graphics editor";
|
||||
homepage = "https://www.inkscape.org";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.jtojnar ];
|
||||
platforms = platforms.all;
|
||||
longDescription = ''
|
||||
Inkscape is a feature-rich vector graphics editor that edits
|
||||
files in the W3C SVG (Scalable Vector Graphics) file format.
|
||||
|
||||
If you want to import .eps files install ps2edit.
|
||||
'';
|
||||
};
|
||||
}
|
||||
46
pkgs/applications/graphics/inkscape/extensions.nix
Normal file
46
pkgs/applications/graphics/inkscape/extensions.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, runCommand
|
||||
, inkcut
|
||||
, callPackage
|
||||
}:
|
||||
|
||||
{
|
||||
applytransforms = callPackage ./extensions/applytransforms { };
|
||||
|
||||
hexmap = stdenv.mkDerivation {
|
||||
pname = "hexmap";
|
||||
version = "unstable-2020-06-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lifelike";
|
||||
repo = "hexmapextension";
|
||||
rev = "11401e23889318bdefb72df6980393050299d8cc";
|
||||
sha256 = "1a4jhva624mbljj2k43wzi6hrxacjz4626jfk9y2fg4r4sga22mm";
|
||||
};
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/share/inkscape/extensions"
|
||||
cp -p *.inx *.py "$out/share/inkscape/extensions/"
|
||||
find "$out/share/inkscape/extensions/" -name "*.py" -exec chmod +x {} \;
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "This is an extension for creating hex grids in Inkscape. It can also be used to make brick patterns of staggered rectangles";
|
||||
homepage = "https://github.com/lifelike/hexmapextension";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.raboof ];
|
||||
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,42 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "inkscape-applytransforms";
|
||||
version = "0.pre+unstable=2021-05-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Klowner";
|
||||
repo = "inkscape-applytransforms";
|
||||
rev = "5b3ed4af0fb66e399e686fc2b649b56db84f6042";
|
||||
sha256 = "XWwkuw+Um/cflRWjIeIgQUxJLrk2DLDmx7K+pMWvIlI=";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
python3.pkgs.inkex
|
||||
python3.pkgs.pytestCheckHook
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dt "$out/share/inkscape/extensions" *.inx *.py
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Inkscape extension which removes all matrix transforms by applying them recursively to shapes";
|
||||
homepage = "https://github.com/Klowner/inkscape-applytransforms";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
17
pkgs/applications/graphics/inkscape/fix-python-paths.patch
Normal file
17
pkgs/applications/graphics/inkscape/fix-python-paths.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
diff --git a/src/extension/implementation/script.cpp b/src/extension/implementation/script.cpp
|
||||
index bc6c0ed845..181467834d 100644
|
||||
--- a/src/extension/implementation/script.cpp
|
||||
+++ b/src/extension/implementation/script.cpp
|
||||
@@ -82,10 +82,10 @@ const std::map<std::string, Script::interpreter_t> Script::interpreterTab = {
|
||||
{ "python", {"python-interpreter", {"pythonw" }}},
|
||||
#elif defined __APPLE__
|
||||
{ "perl", {"perl-interpreter", {"perl" }}},
|
||||
- { "python", {"python-interpreter", {"python3" }}},
|
||||
+ { "python", {"python-interpreter", {"@python3@" }}},
|
||||
#else
|
||||
{ "perl", {"perl-interpreter", {"perl" }}},
|
||||
- { "python", {"python-interpreter", {"python3", "python" }}},
|
||||
+ { "python", {"python-interpreter", {"@python3@" }}},
|
||||
#endif
|
||||
{ "python2", {"python2-interpreter", {"python2", "python" }}},
|
||||
{ "ruby", {"ruby-interpreter", {"ruby" }}},
|
||||
27
pkgs/applications/graphics/inkscape/with-extensions.nix
Normal file
27
pkgs/applications/graphics/inkscape/with-extensions.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib
|
||||
, inkscape
|
||||
, symlinkJoin
|
||||
, makeWrapper
|
||||
, inkscapeExtensions ? [ ]
|
||||
, inkscape-extensions
|
||||
}:
|
||||
|
||||
let
|
||||
allExtensions = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues inkscape-extensions);
|
||||
selectedExtensions = if inkscapeExtensions == null then allExtensions else inkscapeExtensions;
|
||||
in
|
||||
|
||||
symlinkJoin {
|
||||
name = "inkscape-with-extensions-${lib.getVersion inkscape}";
|
||||
|
||||
paths = [ inkscape ] ++ selectedExtensions;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
rm -f $out/bin/inkscape
|
||||
makeWrapper "${inkscape}/bin/inkscape" "$out/bin/inkscape" --set INKSCAPE_DATADIR "$out/share"
|
||||
'';
|
||||
|
||||
inherit (inkscape) meta;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue