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:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View 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
# CMakes ARGMAX check doesnt 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.
'';
};
}

View 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
'');
}

View file

@ -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;
};
}

View 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" }}},

View 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;
}