mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-14 09:43:14 +00:00
92d99c521b
Clang defaults to C++, which disallows the register storage class specifier. This causes the build to fail. Remove the specifier to allow clang 16 to build plotutils.
63 lines
2.0 KiB
Nix
63 lines
2.0 KiB
Nix
{ fetchurl, lib, stdenv, libpng, autoreconfHook }:
|
|
|
|
# debian splits this package into plotutils and libplot2c2
|
|
|
|
# gentoo passes X, this package contains fonts
|
|
# I'm only interested in making pstoedit convert to svg
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "plotutils";
|
|
version = "2.6";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnu/plotutils/plotutils-${version}.tar.gz";
|
|
sha256 = "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg";
|
|
};
|
|
|
|
nativeBuildInputs = [ autoreconfHook ];
|
|
buildInputs = [ libpng ];
|
|
patches = map fetchurl (import ./debian-patches.nix)
|
|
# `pic2plot/gram.cc` uses the register storage class specifier, which is not supported in C++17.
|
|
# This prevents clang 16 from building plotutils because it defaults to C++17.
|
|
++ [ ./c++17-register-usage-fix.patch ];
|
|
|
|
preBuild = ''
|
|
# Fix parallel building.
|
|
make -C libplot xmi.h
|
|
'';
|
|
|
|
configureFlags = [ "--enable-libplotter" ]; # required for pstoedit
|
|
|
|
hardeningDisable = [ "format" ];
|
|
|
|
doCheck = true;
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = {
|
|
description = "Powerful C/C++ library for exporting 2D vector graphics";
|
|
|
|
longDescription =
|
|
'' The GNU plotutils package contains software for both programmers and
|
|
technical users. Its centerpiece is libplot, a powerful C/C++
|
|
function library for exporting 2-D vector graphics in many file
|
|
formats, both vector and raster. It can also do vector graphics
|
|
animations.
|
|
|
|
libplot is device-independent in the sense that its API (application
|
|
programming interface) does not depend on the type of graphics file
|
|
to be exported.
|
|
|
|
Besides libplot, the package contains command-line programs for
|
|
plotting scientific data. Many of them use libplot to export
|
|
graphics.
|
|
'';
|
|
|
|
homepage = "https://www.gnu.org/software/plotutils/";
|
|
|
|
license = lib.licenses.gpl2Plus;
|
|
maintainers = [ lib.maintainers.marcweber ];
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
}
|