chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / qu / quickjs-ng / package.nix
blob92c0aaa57b5207a42cc80f9477c4d75be6ac8ce4
2   lib,
3   cmake,
4   fetchFromGitHub,
5   stdenv,
6   testers,
7   texinfo,
8 }:
10 stdenv.mkDerivation (finalAttrs: {
11   pname = "quickjs-ng";
12   version = "0.6.1";
14   src = fetchFromGitHub {
15     owner = "quickjs-ng";
16     repo = "quickjs";
17     rev = "v${finalAttrs.version}";
18     hash = "sha256-7IAkmlzgiPVd8yRv7LU5a7HWCB+eQk1Ur1KwZupwty0=";
19   };
21   outputs = [
22     "out"
23     "bin"
24     "dev"
25     "doc"
26     "info"
27   ];
29   nativeBuildInputs = [
30     cmake
31     texinfo
32   ];
34   cmakeFlags = [
35     (lib.cmakeBool "BUILD_SHARED_LIBS" true)
36     (lib.cmakeBool "BUILD_STATIC_QJS_EXE" stdenv.hostPlatform.isStatic)
37   ];
39   env.NIX_CFLAGS_COMPILE = toString (
40     lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
41       "-Wno-error=stringop-overflow"
42     ]
43   );
45   strictDeps = true;
47   postBuild = ''
48     pushd ../doc
49     makeinfo *texi
50     popd
51   '';
53   postInstall = ''
54     pushd ../doc
55     install -Dm644 -t ''${!outputInfo}/share/info *info
56     popd
57   '';
59   passthru.tests = {
60     version = testers.testVersion {
61       package = finalAttrs.finalPackage;
62       command = "qjs --help || true";
63     };
64   };
66   meta = {
67     homepage = "https://github.com/quickjs-ng/quickjs";
68     description = "Mighty JavaScript engine";
69     license = lib.licenses.mit;
70     mainProgram = "qjs";
71     maintainers = with lib.maintainers; [ AndersonTorres ];
72     platforms = lib.platforms.all;
73   };