lol

coqPackages.validsdp: init at 1.1.0 (#443419)

authored by

Vincent Laporte and committed by
GitHub
9fdd26ca e58d2cf1

+170
+120
pkgs/development/coq-modules/validsdp/default.nix
··· 1 + { 2 + coq, 3 + mkCoqDerivation, 4 + mathcomp, 5 + bignums, 6 + flocq, 7 + coquelicot, 8 + interval, 9 + mathcomp-reals-stdlib, 10 + multinomials, 11 + coqeal, 12 + lib, 13 + version ? null, 14 + }: 15 + 16 + let 17 + repo = "validsdp"; 18 + owner = "validsdp"; 19 + 20 + inherit version; 21 + defaultVersion = 22 + let 23 + case = coq: mc: out: { 24 + cases = [ 25 + coq 26 + mc 27 + ]; 28 + inherit out; 29 + }; 30 + in 31 + with lib.versions; 32 + lib.switch 33 + [ coq.coq-version mathcomp.version ] 34 + [ 35 + (case (range "9.0" "9.1") (isGe "2.3.0") "1.1.0") 36 + ] 37 + null; 38 + release = { 39 + "1.1.0".sha256 = "sha256-lbESAFBEBpOShNFh6RZQYPLRhdqYvdKBrxJOMy2L+Ws="; 40 + }; 41 + releaseRev = v: "v${v}"; 42 + 43 + # list of packages sorted by dependency order 44 + packages = { 45 + "libvalidsdp" = [ ]; 46 + "validsdp" = [ "libvalidsdp" ]; 47 + }; 48 + 49 + validsdp_ = 50 + package: 51 + let 52 + libvalidsdp-deps = [ 53 + mathcomp.field 54 + bignums 55 + flocq 56 + coquelicot 57 + interval 58 + mathcomp-reals-stdlib 59 + ]; 60 + validsdp-deps = [ 61 + mathcomp.field 62 + bignums 63 + flocq 64 + interval 65 + mathcomp-reals-stdlib 66 + multinomials 67 + coqeal 68 + coq.ocamlPackages.osdp 69 + coq.ocamlPackages.ocplib-simplex 70 + ]; 71 + intra-deps = map validsdp_ packages.${package}; 72 + pkgpath = lib.switch package [ 73 + { 74 + case = "libvalidsdp"; 75 + out = "libvalidsdp"; 76 + } 77 + { 78 + case = "validsdp"; 79 + out = "."; 80 + } 81 + ] package; 82 + pname = package; 83 + 84 + derivation = mkCoqDerivation ({ 85 + inherit 86 + version 87 + pname 88 + defaultVersion 89 + release 90 + releaseRev 91 + repo 92 + owner 93 + ; 94 + 95 + namePrefix = [ 96 + "coq" 97 + ]; 98 + 99 + mlPlugin = package == "validsdp"; 100 + 101 + propagatedBuildInputs = 102 + intra-deps 103 + ++ lib.optionals (package == "libvalidsdp") libvalidsdp-deps 104 + ++ lib.optionals (package == "validsdp") validsdp-deps; 105 + 106 + preBuild = '' 107 + cd ${pkgpath} 108 + ''; 109 + 110 + meta = { 111 + description = "ValidSDP"; 112 + license = lib.licenses.lgpl21Plus; 113 + }; 114 + 115 + passthru = lib.mapAttrs (package: deps: validsdp_ package) packages; 116 + }); 117 + in 118 + derivation; 119 + in 120 + validsdp_ "validsdp"
+46
pkgs/development/ocaml-modules/osdp/default.nix
··· 1 + { 2 + lib, 3 + buildDunePackage, 4 + fetchurl, 5 + ocaml, 6 + findlib, 7 + zarith, 8 + ocplib-simplex, 9 + csdp, 10 + autoconf, 11 + }: 12 + 13 + lib.throwIf (lib.versionAtLeast ocaml.version "5.0") 14 + "osdp is not available for OCaml ${ocaml.version}" 15 + 16 + buildDunePackage 17 + { 18 + pname = "osdp"; 19 + version = "1.1.1"; 20 + 21 + src = fetchurl { 22 + url = "https://github.com/Embedded-SW-VnV/osdp/releases/download/v1.1.1/osdp-1.1.1.tgz"; 23 + hash = "sha256-X7CS2g+MyQPDjhUCvFS/DoqcCXTEw8SCsSGED64TGKQ="; 24 + }; 25 + 26 + preConfigure = '' 27 + autoconf 28 + ''; 29 + 30 + nativeBuildInputs = [ 31 + autoconf 32 + findlib 33 + csdp 34 + ]; 35 + propagatedBuildInputs = [ 36 + zarith 37 + ocplib-simplex 38 + csdp 39 + ]; 40 + 41 + meta = { 42 + description = "OCaml Interface to SDP solvers"; 43 + homepage = "https://github.com/Embedded-SW-VnV/osdp"; 44 + license = lib.licenses.lgpl3Plus; 45 + }; 46 + }
+2
pkgs/top-level/coq-packages.nix
··· 128 128 json = callPackage ../development/coq-modules/json { }; 129 129 lemma-overloading = callPackage ../development/coq-modules/lemma-overloading { }; 130 130 LibHyps = callPackage ../development/coq-modules/LibHyps { }; 131 + libvalidsdp = self.validsdp.libvalidsdp; 131 132 ltac2 = callPackage ../development/coq-modules/ltac2 { }; 132 133 math-classes = callPackage ../development/coq-modules/math-classes { }; 133 134 mathcomp = callPackage ../development/coq-modules/mathcomp { }; ··· 211 212 topology = callPackage ../development/coq-modules/topology { }; 212 213 trakt = callPackage ../development/coq-modules/trakt { }; 213 214 unicoq = callPackage ../development/coq-modules/unicoq { }; 215 + validsdp = callPackage ../development/coq-modules/validsdp { }; 214 216 vcfloat = callPackage ../development/coq-modules/vcfloat ( 215 217 lib.optionalAttrs (lib.versions.range "8.16" "8.18" self.coq.version) { 216 218 interval = self.interval.override { version = "4.9.0"; };
+2
pkgs/top-level/ocaml-packages.nix
··· 1590 1590 1591 1591 ordering = callPackage ../development/ocaml-modules/ordering { }; 1592 1592 1593 + osdp = callPackage ../development/ocaml-modules/osdp { }; 1594 + 1593 1595 oseq = callPackage ../development/ocaml-modules/oseq { }; 1594 1596 1595 1597 otfed = callPackage ../development/ocaml-modules/otfed { };