1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-26 20:01:15 +02:00

Merge pull request #11054 from NixOS/meson-fixes

Meson fixes
This commit is contained in:
John Ericson 2024-07-06 17:11:11 -04:00 committed by GitHub
commit 41b6c735eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 64 additions and 60 deletions

View file

@ -205,4 +205,6 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main - uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main - uses: DeterminateSystems/magic-nix-cache-action@main
- run: nix build -L .#hydraJobs.build.{nix-fetchers,nix-store,nix-util}.$(nix-instantiate --eval --expr builtins.currentSystem | sed -e 's/"//g') # Only meson packages that don't have a tests.run derivation.
# Those that have it are already built and tested as part of nix flake check.
- run: nix build -L .#hydraJobs.build.{nix-cmd,nix-main}.$(nix-instantiate --eval --expr builtins.currentSystem | sed -e 's/"//g')

View file

@ -25,7 +25,6 @@
let let
inherit (nixpkgs) lib; inherit (nixpkgs) lib;
inherit (lib) fileset;
officialRelease = false; officialRelease = false;

View file

@ -1,5 +1,5 @@
{ lib { lib
, stdenv , mkMesonDerivation
, meson , meson
, ninja , ninja
@ -14,17 +14,18 @@ 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
../../.version
./meson.build ./meson.build
./doxygen.cfg.in ./doxygen.cfg.in
./README.md ./README.md
@ -34,7 +35,6 @@ stdenv.mkDerivation (finalAttrs: {
(cpp ../libstore-c) (cpp ../libstore-c)
(cpp ../libutil-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
../../.version
./meson.build ./meson.build
./doxygen.cfg.in ./doxygen.cfg.in
# Source is not compiled, but still must be available for Doxygen # Source is not compiled, but still must be available for Doxygen
# to gather comments. # to gather comments.
(cpp ../.) (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 = ''

View file

@ -7,6 +7,8 @@
, ninja , ninja
, pkg-config , pkg-config
, openssl
, nix-util , nix-util
, nix-store , nix-store
@ -47,6 +49,7 @@ mkMesonDerivation (finalAttrs: {
propagatedBuildInputs = [ propagatedBuildInputs = [
nix-util nix-util
nix-store nix-store
openssl
]; ];
preConfigure = preConfigure =

View file

@ -1,5 +1,6 @@
{ lib { lib
, stdenv , stdenv
, mkMesonDerivation
, perl , perl
, perlPackages , perlPackages
, meson , meson
@ -8,19 +9,23 @@
, nix-store , nix-store
, darwin , darwin
, versionSuffix ? "" , versionSuffix ? ""
, curl
, bzip2
, libsodium
}: }:
let let
inherit (lib) fileset; inherit (lib) fileset;
in in
perl.pkgs.toPerlModule (stdenv.mkDerivation (finalAttrs: { perl.pkgs.toPerlModule (mkMesonDerivation (finalAttrs: {
pname = "nix-perl"; pname = "nix-perl";
version = lib.fileContents ./.version + versionSuffix; version = lib.fileContents ./.version + versionSuffix;
src = fileset.toSource { workDir = ./.;
root = ./.;
fileset = fileset.unions ([ fileset = fileset.unions ([
./.version
../../.version
./MANIFEST ./MANIFEST
./lib ./lib
./meson.build ./meson.build
@ -29,17 +34,19 @@ perl.pkgs.toPerlModule (stdenv.mkDerivation (finalAttrs: {
./.yath.rc.in ./.yath.rc.in
./t ./t
]); ]);
};
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja
pkg-config pkg-config
perl perl
curl
]; ];
buildInputs = [ buildInputs = [
nix-store nix-store
bzip2
libsodium
]; ];
# `perlPackages.Test2Harness` is marked broken for Darwin # `perlPackages.Test2Harness` is marked broken for Darwin
@ -52,6 +59,7 @@ perl.pkgs.toPerlModule (stdenv.mkDerivation (finalAttrs: {
preConfigure = preConfigure =
# "Inline" .version so its not a symlink, and includes the suffix # "Inline" .version so its not a symlink, and includes the suffix
'' ''
chmod u+w .version
echo ${finalAttrs.version} > .version echo ${finalAttrs.version} > .version
''; '';