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.
62 lines
2 KiB
Nix
62 lines
2 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;
|
|
};
|
|
}
|