diff options
Diffstat (limited to 'pkgs/development/tools/build-managers/meson/default.nix')
-rw-r--r-- | pkgs/development/tools/build-managers/meson/default.nix | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix deleted file mode 100644 index 8758afea8211e..0000000000000 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ /dev/null @@ -1,148 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, installShellFiles -, ninja -, pkg-config -, python3 -, zlib -, coreutils -, substituteAll -, Foundation -, OpenGL -, AppKit -, Cocoa -, libxcrypt -}: - -python3.pkgs.buildPythonApplication rec { - pname = "meson"; - version = "1.2.1"; - - src = fetchFromGitHub { - owner = "mesonbuild"; - repo = "meson"; - rev = "refs/tags/${version}"; - hash = "sha256-x2VN/6Kg/n6BW5S4nLKfG67dYrSR/G+Aowf6d2Vbc+0="; - }; - - patches = [ - # Meson is currently inspecting fewer variables than autoconf does, which - # makes it harder for us to use setup hooks, etc. Taken from - # https://github.com/mesonbuild/meson/pull/6827 - ./more-env-vars.patch - - # Unlike libtool, vanilla Meson does not pass any information - # about the path library will be installed to to g-ir-scanner, - # breaking the GIR when path other than ${!outputLib}/lib is used. - # We patch Meson to add a --fallback-library-path argument with - # library install_dir to g-ir-scanner. - ./gir-fallback-path.patch - - # In common distributions, RPATH is only needed for internal libraries so - # meson removes everything else. With Nix, the locations of libraries - # are not as predictable, therefore we need to keep them in the RPATH. - # At the moment we are keeping the paths starting with /nix/store. - # https://github.com/NixOS/nixpkgs/issues/31222#issuecomment-365811634 - (substituteAll { - src = ./fix-rpath.patch; - inherit (builtins) storeDir; - }) - - # When Meson removes build_rpath from DT_RUNPATH entry, it just writes - # the shorter NUL-terminated new rpath over the old one to reduce - # the risk of potentially breaking the ELF files. - # But this can cause much bigger problem for Nix as it can produce - # cut-in-half-by-\0 store path references. - # Let’s just clear the whole rpath and hope for the best. - ./clear-old-rpath.patch - - # Patch out default boost search paths to avoid impure builds on - # unsandboxed non-NixOS builds, see: - # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774 - ./boost-Do-not-add-system-paths-on-nix.patch - - # Nixpkgs cctools does not have bitcode support. - ./disable-bitcode.patch - - # Fix passing multiple --define-variable arguments to pkg-config. - # https://github.com/mesonbuild/meson/pull/10670 - (fetchpatch { - url = "https://github.com/mesonbuild/meson/commit/d5252c5d4cf1c1931fef0c1c98dd66c000891d21.patch"; - sha256 = "GiUNVul1N5Fl8mfqM7vA/r1FdKqImiDYLXMVDt77gvw="; - excludes = [ - "docs/yaml/objects/dep.yaml" - ]; - }) - ]; - - setupHook = ./setup-hook.sh; - - nativeCheckInputs = [ ninja pkg-config ]; - checkInputs = [ zlib ] - ++ lib.optionals stdenv.isDarwin [ Foundation OpenGL AppKit Cocoa ]; - checkPhase = '' - runHook preCheck - - patchShebangs 'test cases' - substituteInPlace 'test cases/native/8 external program shebang parsing/script.int.in' \ - --replace /usr/bin/env ${coreutils}/bin/env - # requires git, creating cyclic dependency - rm -r 'test cases/common/66 vcstag' - # requires glib, creating cyclic dependency - rm -r 'test cases/linuxlike/6 subdir include order' - rm -r 'test cases/linuxlike/9 compiler checks with dependencies' - # requires static zlib, see #66461 - rm -r 'test cases/linuxlike/14 static dynamic linkage' - # Nixpkgs cctools does not have bitcode support. - rm -r 'test cases/osx/7 bitcode' - HOME="$TMPDIR" python ./run_project_tests.py - - runHook postCheck - ''; - - postFixup = '' - pushd $out/bin - # undo shell wrapper as meson tools are called with python - for i in *; do - mv ".$i-wrapped" "$i" - done - popd - - # Do not propagate Python - rm $out/nix-support/propagated-build-inputs - - substituteInPlace "$out/share/bash-completion/completions/meson" \ - --replace "python3 -c " "${python3.interpreter} -c " - ''; - - buildInputs = lib.optionals (python3.pythonOlder "3.9") [ - libxcrypt - ]; - - nativeBuildInputs = [ installShellFiles ]; - - postInstall = '' - installShellCompletion --zsh data/shell-completions/zsh/_meson - installShellCompletion --bash data/shell-completions/bash/meson - ''; - - meta = with lib; { - homepage = "https://mesonbuild.com"; - description = "An open source, fast and friendly build system made in Python"; - longDescription = '' - Meson is an open source build system meant to be both extremely fast, and, - even more importantly, as user friendly as possible. - - The main design point of Meson is that every moment a developer spends - writing or debugging build definitions is a second wasted. So is every - second spent waiting for the build system to actually start compiling - code. - ''; - license = licenses.asl20; - maintainers = with maintainers; [ mbe AndersonTorres ]; - inherit (python3.meta) platforms; - }; -} -# TODO: a more Nixpkgs-tailoired test suite |