From 1976f796afeb56cadc752cf809fed345c7495baa Mon Sep 17 00:00:00 2001 From: Emil Kosz Date: Wed, 25 Mar 2026 16:07:33 +0100 Subject: [PATCH] Fix .pc files --- cd.nix | 37 +++++++++++++++++++++++++------ im.nix | 39 +++++++++++++++++++++++++++----- iup.nix | 64 +++++++++++++++++++++++++++++++++++++++++++++-------- make-pc.nix | 7 +++--- 4 files changed, 123 insertions(+), 24 deletions(-) diff --git a/cd.nix b/cd.nix index 679d1e6..153857e 100644 --- a/cd.nix +++ b/cd.nix @@ -60,10 +60,33 @@ in stdenv.mkDerivation rec { -Wno-incompatible-pointer-types ''; - cdPc = builtins.toFile "cd.pc" (makePc "cd" version "gdk-3.0 pango"); - cdContextPlusPc = builtins.toFile "cdcontextplus.pc" (makePc "cdcontextplus" version "pangocairo cairo"); - cdGlPc = builtins.toFile "cdgl.pc" (makePc "cdcontextplus" version "gl"); - cdImPc = builtins.toFile "cdim.pc" (makePc "cdim" version "im"); + cdPc = builtins.toFile "cd.pc" (makePc + "cd" + "A vector graphics toolkit with device independent output" + version + "gdk-3.0 pango" + ); + + cdcontextplusPc = builtins.toFile "cdcontextplus.pc" (makePc + "cdcontextplus" + "A vector graphics toolkit with device independent output (dynamic driver loader" + version + "pangocairo cairo" + ); + + cdglPc = builtins.toFile "cdgl.pc" (makePc + "cdgl" + "A vector graphics toolkit with device independent output (OpenGL driver)" + version + "gl" + ); + + cdimPc = builtins.toFile "cdim.pc" (makePc + "cdim" + "A vector graphics toolkit with device independent output (IM support)" + version + "im" + ); installPhase = '' runHook preInstall @@ -83,9 +106,9 @@ in stdenv.mkDerivation rec { ln -fs $out/lib/libcdluaim52.so $out/share/lua/5.2/cdluaim.so cp -v ${cdPc} $out/lib/pkgconfig/cd.pc - cp -v ${cdContextPlusPc} $out/lib/pkgconfig/cdcontextplus.pc - cp -v ${cdGlPc} $out/lib/pkgconfig/cdgl.pc - cp -v ${cdImPc} $out/lib/pkgconfig/cdim.pc + cp -v ${cdcontextplusPc} $out/lib/pkgconfig/cdcontextplus.pc + cp -v ${cdglPc} $out/lib/pkgconfig/cdgl.pc + cp -v ${cdimPc} $out/lib/pkgconfig/cdim.pc runHook postInstall ''; diff --git a/im.nix b/im.nix index c8f5085..fb98fc7 100644 --- a/im.nix +++ b/im.nix @@ -42,11 +42,40 @@ in stdenv.mkDerivation rec { "USE_LUA_VERSION=52" ]; - imPc = builtins.toFile "im.pc" (makePc "im" version "libpng zlib"); - imJp2Pc = builtins.toFile "im_jp2.pc" (makePc "im_jp2" version "im"); - imProcessPc = builtins.toFile "im_process.pc" (makePc "im_process" version "im"); - imProcessOmpPc = builtins.toFile "im_process_omp.pc" (makePc "im_process_omp" version "im"); - imFftw3Pc = builtins.toFile "im_fftw3.pc" (makePc "im_fftw3" version "im_process fftw3"); + imPc = builtins.toFile "im.pc" (makePc + "im" + "A toolkit for image representation, storage, capture and processing" + version + "libpng zlib" + ); + + imJp2Pc = builtins.toFile "im_jp2.pc" (makePc + "im_jp2" + "A toolkit for image representation, storage, capture and processing (JP2 support)" + version + "im" + ); + + imProcessPc = builtins.toFile "im_process.pc" (makePc + "im_process" + "A toolkit for image representation, storage, capture and processing (processing library)" + version + "im" + ); + + imProcessOmpPc = builtins.toFile "im_process_omp.pc" (makePc + "im_process_omp" + "A toolkit for image representation, storage, capture and processing (processing library)" + version + "im" + ); + + imFftw3Pc = builtins.toFile "im_fftw3.pc" (makePc + "im_fftw3" + "A toolkit for image representation, storage, capture and processing (Fourier transform operations)" + version + "im_process fftw3" + ); installPhase = '' runHook preInstall diff --git a/iup.nix b/iup.nix index 2c47b30..95dc9e3 100644 --- a/iup.nix +++ b/iup.nix @@ -74,16 +74,62 @@ in stdenv.mkDerivation rec { -Wno-implicit-function-declaration -Wno-incompatible-pointer-types ''; - - iupPc = builtins.toFile "iup.pc" (makePc "iup" version "gtk+-3.0"); - iupglPc = builtins.toFile "iupgl.pc" (makePc "iupgl" version "gl glu"); - iupcdPc = builtins.toFile "iupcd.pc" (makePc "iupcd" version "iup cd"); - iupcontrolsPc = builtins.toFile "iupcontrols.pc" (makePc "iupcontrols" version "iupcd"); - iupPlotPc = builtins.toFile "iup_plot.pc" (makePc "iup_plot" version "iupcd"); - iupimPc = builtins.toFile "iupim.pc" (makePc "iupim" version "iup im"); - iupimglibPc = builtins.toFile "iupimglib.pc" (makePc "iupimglib" version "iup"); - iupwebPc = builtins.toFile "iupweb.pc" (makePc "iupweb" version "webkit2gtk-4.1"); + iupPc = builtins.toFile "iup.pc" (makePc + "iup" + "A portable toolkit for building graphical user interfaces" + version + "gtk+-3.0" + ); + + iupglPc = builtins.toFile "iupgl.pc" (makePc + "iupgl" + "A portable toolkit for building graphical user interfaces (OpenGL support)" + version + "gl glu" + ); + + iupcdPc = builtins.toFile "iupcd.pc" (makePc + "iupcd" + "A portable toolkit for building graphical user interfaces (CD support)" + version + "iup cd" + ); + + iupcontrolsPc = builtins.toFile "iupcontrols.pc" (makePc + "iupcontrols" + "A portable toolkit for building graphical user interfaces (extra widgets)" + version + "iupcd" + ); + + iupPlotPc = builtins.toFile "iup_plot.pc" (makePc + "iup_plot" + "A portable toolkit for building graphical user interfaces (plotting support)" + version + "iupcd" + ); + + iupimPc = builtins.toFile "iupim.pc" (makePc + "iupim" + "A portable toolkit for building graphical user interfaces (IM support)" + version + "iup im" + ); + + iupimglibPc = builtins.toFile "iupimglib.pc" (makePc + "iupimglib" + "A portable toolkit for building graphical user interfaces (image support)" + version + "iup" + ); + + iupwebPc = builtins.toFile "iupweb.pc" (makePc + "iupweb" + "A portable toolkit for building graphical user interfaces (web view widget)" + version + "webkit2gtk-4.1" + ); installPhase = '' runHook preInstall diff --git a/make-pc.nix b/make-pc.nix index 69bed5d..9c31221 100644 --- a/make-pc.nix +++ b/make-pc.nix @@ -1,6 +1,6 @@ { lib, builtins }: -pkg: version: requires: +pkg: description: version: requires: let pcTemplate = '' prefix=${placeholder "out"} @@ -9,12 +9,13 @@ pkg: version: requires: includedir=${placeholder "out"}/include Name: @PKG@ + Description: @DESCRIPTION@ Version: @VERSION@ Libs: -L${placeholder "out"}/lib -l@PKG@ Cflags: -I${placeholder "out"}/include Requires: @REQUIRES@ ''; - from = [ "@PKG@" "@VERSION@" "@REQUIRES@" ]; - to = [ pkg version requires ]; + from = [ "@PKG@" "@DESCRIPTION" "@VERSION@" "@REQUIRES@" ]; + to = [ pkg description version requires ]; in builtins.replaceStrings from to pcTemplate