api docs: Use mkMesonDerivation

This commit is contained in:
Robert Hensing 2024-07-06 17:41:05 +02:00
parent b7e5446b81
commit 4d0c55ae55
2 changed files with 37 additions and 45 deletions

View file

@ -1,5 +1,5 @@
{ lib { lib
, stdenv , mkMesonDerivation
, meson , meson
, ninja , ninja
@ -14,27 +14,27 @@ let
inherit (lib) fileset; inherit (lib) fileset;
in in
stdenv.mkDerivation (finalAttrs: { mkMesonDerivation (finalAttrs: {
pname = "nix-external-api-docs"; pname = "nix-external-api-docs";
version = lib.fileContents ./.version + versionSuffix; version = lib.fileContents ./.version + versionSuffix;
src = fileset.toSource { workDir = ./.;
root = ../..; fileset =
fileset = let
let cpp = fileset.fileFilter (file: file.hasExt "cc" || file.hasExt "h");
cpp = fileset.fileFilter (file: file.hasExt "cc" || file.hasExt "h"); in
in fileset.unions [
fileset.unions [ ./.version
./meson.build ../../.version
./doxygen.cfg.in ./meson.build
./README.md ./doxygen.cfg.in
# Source is not compiled, but still must be available for Doxygen ./README.md
# to gather comments. # Source is not compiled, but still must be available for Doxygen
(cpp ../libexpr-c) # to gather comments.
(cpp ../libstore-c) (cpp ../libexpr-c)
(cpp ../libutil-c) (cpp ../libstore-c)
]; (cpp ../libutil-c)
}; ];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
@ -42,14 +42,10 @@ stdenv.mkDerivation (finalAttrs: {
doxygen doxygen
]; ];
postUnpack = ''
sourceRoot=$sourceRoot/src/external-api-docs
'';
preConfigure = preConfigure =
# "Inline" .version so it's not a symlink, and includes the suffix
'' ''
echo ${finalAttrs.version} > .version chmod u+w ./.version
echo ${finalAttrs.version} > ./.version
''; '';
postInstall = '' postInstall = ''

View file

@ -1,5 +1,5 @@
{ lib { lib
, stdenv , mkMesonDerivation
, meson , meson
, ninja , ninja
@ -14,22 +14,22 @@ let
inherit (lib) fileset; inherit (lib) fileset;
in in
stdenv.mkDerivation (finalAttrs: { mkMesonDerivation (finalAttrs: {
pname = "nix-internal-api-docs"; pname = "nix-internal-api-docs";
version = lib.fileContents ./.version + versionSuffix; version = lib.fileContents ./.version + versionSuffix;
src = fileset.toSource { workDir = ./.;
root = ../..; fileset = let
fileset = let cpp = fileset.fileFilter (file: file.hasExt "cc" || file.hasExt "hh");
cpp = fileset.fileFilter (file: file.hasExt "cc" || file.hasExt "hh"); in fileset.unions [
in fileset.unions [ ./.version
./meson.build ../../.version
./doxygen.cfg.in ./meson.build
# Source is not compiled, but still must be available for Doxygen ./doxygen.cfg.in
# to gather comments. # Source is not compiled, but still must be available for Doxygen
(cpp ../.) # to gather comments.
]; (cpp ../.)
}; ];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
@ -37,14 +37,10 @@ stdenv.mkDerivation (finalAttrs: {
doxygen doxygen
]; ];
postUnpack = ''
sourceRoot=$sourceRoot/src/internal-api-docs
'';
preConfigure = preConfigure =
# "Inline" .version so it's not a symlink, and includes the suffix
'' ''
echo ${finalAttrs.version} > .version chmod u+w ./.version
echo ${finalAttrs.version} > ./.version
''; '';
postInstall = '' postInstall = ''