099c13da1b
* substitute(): --subst-var was silently coercing to "" if the variable does not exist. * libffi: simplify using `checkInputs` * pythonPackges.hypothesis, pythonPackages.pytest: simpify dependency cycle fix * utillinux: 2.32 -> 2.32.1 https://lkml.org/lkml/2018/7/16/532 * busybox: 1.29.0 -> 1.29.1 * bind: 9.12.1-P2 -> 9.12.2 https://ftp.isc.org/isc/bind9/9.12.2/RELEASE-NOTES-bind-9.12.2.html * curl: 7.60.0 -> 7.61.0 * gvfs: make tests run, but disable * ilmbase: disable tests on i686. Spooky! * mdds: fix tests * git: disable checks as tests are run in installcheck * ruby: disable tests * libcommuni: disable checks as tests are run in installcheck * librdf: make tests run, but disable * neon, neon_0_29: make tests run, but disable * pciutils: 3.6.0 -> 3.6.1 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/pciutils/versions. * mesa: more include fixes mostly from void-linux (thanks!) * npth: 1.5 -> 1.6 minor bump * boost167: Add lockfree next_prior patch * stdenv: cleanup darwin bootstrapping Also gets rid of the full python and some of it's dependencies in the stdenv build closure. * Revert "pciutils: use standardized equivalent for canonicalize_file_name" This reverts commitf8db20fb3a
. Patching should no longer be needed with 3.6.1. * binutils-wrapper: Try to avoid adding unnecessary -L flags (cherry picked from commit f3758258b8895508475caf83e92bfb236a27ceb9) Signed-off-by: Domen Kožar <domen@dev.si> * libffi: don't check on darwin libffi usages in stdenv broken darwin. We need to disable doCheck for that case. * "rm $out/share/icons/hicolor/icon-theme.cache" -> hicolor-icon-theme setup-hook * python.pkgs.pytest: setupHook to prevent creation of .pytest-cache folder, fixes #40273 When `py.test` was run with a folder as argument, it would not only search for tests in that folder, but also create a .pytest-cache folder. Not only is this state we don't want, but it was also causing collisions. * parity-ui: fix after merge * python.pkgs.pytest-flake8: disable test, fix build * Revert "meson: 0.46.1 -> 0.47.0" With meson 0.47.0 (or 0.47.1, or git) things are very wrong re:rpath handling resulting in at best missing libs but even corrupt binaries :(. When we run patchelf it masks the problem by removing obviously busted paths. Which is probably why this wasn't noticed immediately. Unfortunately the binary already has a long series of paths scribbled in a space intended for a much smaller string; in my testing it was something like lengths were 67 with 300+ written to it. I think we've reported the relevant issues upstream, but unfortunately it appears our patches are what introduces the overwrite/corruption (by no longer being correct in what they assume) This doesn't look so bad to fix but it's not something I can spend more time on at the moment. -- Interestingly the overwritten string data (because it is scribbled past the bounds) remains in the binary and is why we're suddenly seeing unexpected references in various builds -- notably this is is the reason we're seeing the "extra-utils" breakage that entirely crippled NixOS on master (and probably on staging before?). Fixes #43650. This reverts commit305ac4dade
. (cherry picked from commit 273d68eff8f7b6cd4ebed3718e5078a0f43cb55d) Signed-off-by: Domen Kožar <domen@dev.si>
73 lines
2.5 KiB
Nix
73 lines
2.5 KiB
Nix
{ stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libXft
|
||
, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
|
||
, glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
|
||
, gsl, python2, poppler, imagemagick, libwpg, librevenge
|
||
, libvisio, libcdr, libexif, potrace, cmake, hicolor-icon-theme
|
||
}:
|
||
|
||
let
|
||
python2Env = python2.withPackages(ps: with ps; [ numpy lxml ]);
|
||
in
|
||
|
||
stdenv.mkDerivation rec {
|
||
name = "inkscape-0.92.3";
|
||
|
||
src = fetchurl {
|
||
url = "https://media.inkscape.org/dl/resources/file/${name}.tar.bz2";
|
||
sha256 = "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6";
|
||
};
|
||
|
||
# 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;
|
||
|
||
unpackPhase = ''
|
||
cp $src ${name}.tar.bz2
|
||
tar xvjf ${name}.tar.bz2 > /dev/null
|
||
cd ${name}
|
||
'';
|
||
|
||
postPatch = ''
|
||
patchShebangs share/extensions
|
||
patchShebangs fix-roff-punct
|
||
|
||
# Python is used at run-time to execute scripts, e.g., those from
|
||
# the "Effects" menu.
|
||
substituteInPlace src/extension/implementation/script.cpp \
|
||
--replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
|
||
'';
|
||
|
||
nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env perl perlXMLParser ];
|
||
buildInputs = [
|
||
libXft libpng zlib popt boehmgc
|
||
libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
|
||
gsl poppler imagemagick libwpg librevenge
|
||
libvisio libcdr libexif potrace hicolor-icon-theme
|
||
];
|
||
|
||
enableParallelBuilding = true;
|
||
|
||
# Make sure PyXML modules can be found at run-time.
|
||
postInstall = stdenv.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
|
||
'';
|
||
|
||
# 0.92.3 complains about an invalid conversion from const char * to char *
|
||
NIX_CFLAGS_COMPILE = " -fpermissive ";
|
||
|
||
meta = with stdenv.lib; {
|
||
license = "GPL";
|
||
homepage = https://www.inkscape.org;
|
||
description = "Vector graphics editor";
|
||
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.
|
||
'';
|
||
};
|
||
}
|