legends-of-equestria: init at 2024.05.01 (#296316)
[NixPkgs.git] / pkgs / by-name / gl / glm / package.nix
blob675d215cb8633fd76f3e9594566b8b946c405b69
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6 }:
8 stdenv.mkDerivation rec {
9   version = "1.0.1";
10   pname = "glm";
12   src = fetchFromGitHub {
13     owner = "g-truc";
14     repo = pname;
15     rev = version;
16     sha256 = "sha256-GnGyzNRpzuguc3yYbEFtYLvG+KiCtRAktiN+NvbOICE=";
17   };
19   outputs = [
20     "out"
21     "doc"
22   ];
24   nativeBuildInputs = [ cmake ];
26   env.NIX_CFLAGS_COMPILE =
27     # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102823
28     if (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") then
29       "-fno-ipa-modref"
30     # Fix compilation errors on darwin
31     else if (stdenv.cc.isClang) then
32       "-Wno-error"
33     else
34       "";
36   cmakeFlags = [
37     (lib.cmakeBool "BUILD_SHARED_LIBS" false)
38     (lib.cmakeBool "BUILD_STATIC_LIBS" false)
39     (lib.cmakeBool "GLM_TEST_ENABLE" doCheck)
40   ];
42   doCheck = true;
44   postInstall = ''
45     # Install pkg-config file
46     mkdir -p $out/lib/pkgconfig
47     substituteAll ${./glm.pc.in} $out/lib/pkgconfig/glm.pc
49     # Install docs
50     mkdir -p $doc/share/doc/glm
51     cp -rv ../doc/api $doc/share/doc/glm/html
52     cp -v ../doc/manual.pdf $doc/share/doc/glm
53   '';
55   meta = with lib; {
56     description = "OpenGL Mathematics library for C++";
57     longDescription = ''
58       OpenGL Mathematics (GLM) is a header only C++ mathematics library for
59       graphics software based on the OpenGL Shading Language (GLSL)
60       specification and released under the MIT license.
61     '';
62     homepage = "https://github.com/g-truc/glm";
63     license = licenses.mit;
64     platforms = platforms.unix;
65     maintainers = with maintainers; [ smancill ];
66   };