1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-03-06 23:31:34 +00:00
Commit graph

146 commits

Author SHA1 Message Date
Alyssa Ross 10f35ff05d meson.setupHook: prefer meson commands over ninja
Meson now comes with its own set of commands for building, testing,
installing etc., that by default wrap around Ninja.  The reason to
prefer using the Meson commands is that they take additional
options (e.g. setting custom timeouts for tests — my motivation for
this change).

Here, I've modified the Meson setup hook so that Meson's test and
install commands will be used instead of Ninja's when Meson's
configurePhase is used.  This restriction is to avoid starting to run
Meson directly when dealing with custom build systems that wrap around
Meson, like QEMU's.  We don't use meson's compile command, as it just
runs ninja, and that's handled fine by the existing Ninja setup hook.

Naturally the Meson commands don't support entirely the same set of
options that the Ninja ones did, but I checked through Nixpkgs to find
any packages using Meson that used any options that wouldn't be picked
up by this new system.  I only found one, and it was just setting
checkTarget = "test", which is the default value for Ninja and has no
Meson equivalent (because we directly tell Meson to run the tests
rather than going through a generic job system like Ninja).

Link: https://github.com/NixOS/nixpkgs/issues/113829
Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
2023-10-09 10:21:36 +00:00
Sergei Trofimovich 1e258e967e meson: 1.2.0 -> 1.2.1
Changes: https://github.com/mesonbuild/meson/compare/1.2.0...1.2.1
2023-09-18 14:16:24 +01:00
Nick Cao ce52bf9cc3
meson: 1.1.1 -> 1.2.0
Release Note: https://mesonbuild.com/Release-notes-for-1-2-0.html
Diff: https://github.com/mesonbuild/meson/compare/1.1.1...1.2.0
2023-07-17 20:17:14 +08:00
Alyssa Ross e6714f38f7
meson: 1.1.0 -> 1.1.1 2023-06-20 08:56:34 +00:00
Weijia Wang 6f02d8f9d0 meson: save out-of-tree patches locally 2023-05-26 17:30:19 +03:00
Randy Eckenrode a9b654ab35
meson: fix build with case-sensitive store on Darwin
Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com>
2023-05-26 08:16:45 -04:00
Weijia Wang d7619eff54 treewide: development: use top-level fetchPypi 2023-05-25 15:52:27 +03:00
figsoda 62447bf709
Merge pull request #233032 from jtojnar/reduce-me
treewide: Reduce jtojnar maintainership
2023-05-20 11:48:47 -04:00
Jan Tojnar a2f49342d8 treewide: Reduce jtojnar maintainership
Notably fwupd, pipewire and flatpak.
I want to focus on GNOME and other packages I still actually use.
Pipewire is still important but I have not touched the packaging in a while.
2023-05-20 16:40:17 +02:00
MaxHearnden 5d6f02349b meson: apply fix for detect_voidp_size
see https://github.com/mesonbuild/meson/pull/11761
2023-05-03 00:48:36 +01:00
Alyssa Ross 9a07540612 meson: 1.0.0 -> 1.1.0 2023-04-19 14:09:01 +00:00
Ivan Kozik 4ace88d63b python38Packages.meson: fix build with libxcrypt
This fixes:

```
Found ninja-1.11.1 at /nix/store/msnllnk5qn0nmwlwdz1kd2zc91w8b2da-ninja-1.11.1/bin/ninja
[1/2] Compiling C object ext/tachyon.cpython-38-x86_64-linux-gnu.so.p/tachyon_module.c.o
FAILED: ext/tachyon.cpython-38-x86_64-linux-gnu.so.p/tachyon_module.c.o
gcc -Iext/tachyon.cpython-38-x86_64-linux-gnu.so.p -Iext '-I../test cases/python/8 different python versions/ext' -I/nix/store/vpm9l2pqd7wkrlr6mzhakfqm93rx70j6-python3-3.8.16/include/python3.8 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -fPIC -MD -MQ ext/tachyon.cpython-38-x86_64-linux-gnu.so.p/tachyon_module.c.o -MF ext/tachyon.cpython-38-x86_64-linux-gnu.so.p/tachyon_module.c.o.d -o ext/tachyon.cpython-38-x86_64-linux-gnu.so.p/tachyon_module.c.o -c '../test cases/python/8 different python versions/ext/tachyon_module.c'
In file included from ../test cases/python/8 different python versions/ext/tachyon_module.c:19:
/nix/store/vpm9l2pqd7wkrlr6mzhakfqm93rx70j6-python3-3.8.16/include/python3.8/Python.h:44:10: fatal error: crypt.h: No such file or directory
   44 | #include <crypt.h>
      |          ^~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
```
2023-04-11 11:31:32 +00:00
Sergei Trofimovich 69cf5181c3 stdenv/generic/setup.sh: enable parallel installs by default
The primary motivating example is openssl:

Before the change full package build took 1m54s minutes.
After the change full package build takes 59s.

About a 2x speedup.

The difference is visible because openssl builds hundreds of manpages
spawning a perl process per manual in `install` phase. Such a workload
is very easy to parallelize.

Another example would be `autotools`+`libtool` based build system where
install step requires relinking. The more binaries there are to relink
the more gain it will be to do it in parallel.

The change enables parallel installs by default only for buiilds that
already have parallel builds enabled. There is a high chance those build
systems already handle parallelism well but some packages will fail.

Consistently propagated the enableParallelBuilding to:
- cmake (enabled by default, similar to builds)
- ninja (set parallelism explicitly, don't rely on default)
- bmake (enable when requested)
- scons (enable when requested)
- meson (set parallelism explicitly, don't rely on default)
- waf (set parallelism explicitly, don't rely on default)
- qmake-4/5/6 (enable by default, similar to builds)
- xorg (always enable, similar to builds)
2023-02-26 22:02:09 +00:00
Nick Cao 3daee4c5ee
meson: cleanup after https://github.com/NixOS/nixpkgs/pull/214046 2023-02-03 14:02:22 +08:00
Stéphan Kochen 9ac97a794f meson: fix checks on darwin 2023-02-02 13:20:21 +01:00
Nick Cao 022c01aa39
meson: run project tests 2023-01-26 13:53:26 +08:00
Nick Cao 333ffb5d4a
meson: 0.64.1 -> 1.0.0 2023-01-26 11:09:49 +08:00
Anderson Torres ff3a815398
Merge pull request #211730 from ShamrockLee/meson-wrap
meson: patch bash completion file to access python3 (resumed)
2023-01-24 13:41:59 -03:00
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00
Shamrock Lee 610256a6c3 meson.src: use hash instead of sha256 as its input parameter 2023-01-20 05:10:03 +08:00
Shamrock Lee 5f0b4eb01e meson: patch bash completion file to access python3 2023-01-20 05:10:03 +08:00
Arnout Engelen 6165976b7d meson: 0.63.1 -> 0.64.1 2022-11-24 16:18:36 +02:00
Jan Tojnar dd86663a26
Merge pull request #197754 from jtojnar/gnome-staging
More GNOME updates (staging)
2022-10-29 14:57:36 +02:00
Jan Tojnar 9629c0577a Revert "meson: expose python3 in passthru"
IMO Meson’s Python should not be exposed at all.

This reverts commit 38f48cfc4f.
2022-10-26 08:49:26 +02:00
Jan Tojnar 0b5be61ca1 glib: 2.74.0 → 2.74.1
https://gitlab.gnome.org/GNOME/glib/-/compare/2.74.0...2.74.1

- Docs no longer can be generated in static builds.
- Drop merged patches.
- Add a comment to an undocumented patch.
- Drop huge with statement.
- Drop meson override not needed since a4a300dfff

Changelog-Reviewed-By: Jan Tojnar <jtojnar@gmail.com>
2022-10-25 18:16:48 +02:00
Jan Tojnar d83a3d03a3 meson: Use explicit setup subcommand
Fix the following warning in Meson 0.64:

WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.

Introduced in 3c7ab542c0
2022-09-28 03:20:51 +02:00
Robert Scott 38f48cfc4f meson: expose python3 in passthru 2022-09-17 00:14:01 +01:00
Jan Tojnar e442c9084b meson: 0.63.0 → 0.63.1
https://github.com/mesonbuild/meson/compare/0.63.0...0.63.1
2022-08-15 19:45:28 +02:00
Jan Tojnar e474134ea0 meson: 0.62.2 → 0.63.0
https://mesonbuild.com/Release-notes-for-0-63-0.html
https://github.com/mesonbuild/meson/compare/0.62.2...0.63.0
2022-08-12 20:55:15 +02:00
Ryan Burns a4a300dfff meson: 0.61.2 → 0.62.2
https://mesonbuild.com/Release-notes-for-0-62-0.html
https://github.com/mesonbuild/meson/compare/0.61.2...0.62.0
https://github.com/mesonbuild/meson/compare/0.62.0...0.62.1
https://github.com/mesonbuild/meson/compare/0.62.1...0.62.2
2022-08-12 20:55:15 +02:00
Artturin 596a678b7f meson: pull patch to use more binutils variables
meson did not use these

therefore some packages had to do things
like this

```
    substituteInPlace meson.build --replace \
      "find_program('nm')" \
      "find_program('${stdenv.cc.targetPrefix}nm')"
```
2022-08-01 20:03:47 +03:00
Artturin 6e6292279e meson: add mesonEmulatorHook
fixes building documentation while cross-compiling and other issues
Exec format error: './gdk3-scan'

added some simple documentation
2022-06-11 04:51:04 +03:00
Rick van Schijndel e91229bf25 meson: apply patch fixing exception during cross-compilation
Fixes a traceback where you get the following error:
- AttributeError: 'NoneType' object has no attribute 'get_command'

This happened when cross-compiling e.g. harfbuzz.
2022-04-19 16:53:35 +02:00
Jan Tojnar a6fcd7b301 glib: Fix conflicts in Meson patch on Darwin
Now based onto 0.61.2.
2022-03-26 09:50:05 +01:00
Vladimír Čunát a42ca0678b
Merge branch 'master' into staging-next 2022-03-26 09:20:38 +01:00
Jan Tojnar 0e78d578e6 glib: Fix docs on Darwin
They are failing due to a Meson bug.

Doing it this hacky way to avoid rebuilding the world.
2022-03-26 03:50:26 +01:00
Nick Cao b5fde728ee
meson: 0.60.3 -> 0.61.2 2022-03-12 22:41:14 +08:00
Nick Cao 3c984f9fe1
meson: do not update ldconfig cache 2022-01-15 11:57:24 +08:00
Las Safin 41d9dfb619 meson: Remove 0.57, use 0.60 everywhere 2022-01-11 12:51:09 +00:00
AndersonTorres bf547b254f meson: 0.60.2 -> 0.60.3 2022-01-03 23:02:43 -03:00
AndersonTorres 650c249d8f meson: document the failed tests issue
The comment should be self-explaining now.
2021-12-14 16:37:41 -03:00
AndersonTorres 5dc14c358c meson: add myself as maintainer 2021-12-14 16:37:41 -03:00
AndersonTorres c401c98393 meson 0.60: Fix more-env-vars.patch
Concatenation of lists in Python is done by the `+` operator.
2021-12-14 16:37:40 -03:00
AndersonTorres fac4c247ca meson: 0.57.1 -> 0.60.2 2021-12-14 16:37:40 -03:00
AndersonTorres e9c8925d1b meson: copy 0.57 to 0.60
A very ugly decision: in order to register the diff between 0.57 and 0.60
releases of Meson in Nixpkgs, I copied the whole directory before actually write
it by hand.
2021-12-14 16:37:40 -03:00
AndersonTorres 1a53eeda71 meson: put 0.57 in a subdirectory
Meson is a delicate package. It needs some patches to properly work in Nixpkgs
and many packages have it as a dependency, from many small applications to
systemd (yay, mass rebuilds in sight!). Updating it is not a trivial and
harmless task.

Therefore, I took the paranoid way and encapsulate the current version in a
subdir, instead of the regular write-over procedure. This way, at the best we
can just remove the whole dir in the future, and at the worse we just maintain
duplicated code.
2021-12-14 16:37:25 -03:00
Jan Tojnar 3242c2f8ae
meson: 0.56.0 → 0.57.1
- https://mesonbuild.com/Release-notes-for-0-57-0.html
- https://github.com/mesonbuild/meson/releases/tag/0.57.0
- https://github.com/mesonbuild/meson/releases/tag/0.57.1
2021-02-20 15:27:20 +01:00
Pavol Rusnak a6ce00c50c
treewide: remove stdenv where not needed 2021-01-25 18:31:47 +01:00
Jonathan Ringer 9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00
Dylan Baker 1bf598874f meson: install shell completions
meson ships with both bash and zsh completions, the zsh completions are
more complete than the bash ones.
2020-12-23 11:50:38 -08:00