1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5}:
6
7stdenv.mkDerivation (finalAttrs: {
8 pname = "ecos";
9 version = "2.0.10";
10
11 src = fetchFromGitHub {
12 owner = "embotech";
13 repo = "ecos";
14 tag = "v${finalAttrs.version}";
15 hash = "sha256-WMgqDc+XAY3g2wwlefjJ0ATxR5r/jL971FZKtxsunnU=";
16 };
17
18 buildPhase = ''
19 runHook preBuild
20
21 make all shared
22
23 runHook postBuild
24 '';
25
26 doCheck = true;
27
28 checkPhase = ''
29 runHook preCheck
30
31 make test
32 ./runecos
33
34 runHook postCheck
35 '';
36
37 installPhase = ''
38 runHook preInstall
39
40 mkdir -p $out/lib
41 cp lib*.a lib*.so $out/lib
42 cp -r include $out/
43
44 runHook postInstall
45 '';
46
47 meta = {
48 description = "Lightweight conic solver for second-order cone programming";
49 homepage = "https://www.embotech.com/ECOS";
50 downloadPage = "https://github.com/embotech/ecos/releases";
51 license = lib.licenses.gpl3;
52 platforms = lib.platforms.all;
53 maintainers = with lib.maintainers; [ bhipple ];
54 };
55})