Skip to content
Snippets Groups Projects
Commit 48f01eae authored by Allan Blanchard's avatar Allan Blanchard
Browse files

Merge branch 'feature/ci/llvm-15' into 'master'

bump nixpkgs revision

See merge request frama-c/frama-c!4079
parents e2f09bda fb19f081
No related branches found
No related tags found
No related merge requests found
......@@ -19,7 +19,7 @@ There are several ways to participate in the Frama-C project:
- [Developing external plug-ins](#developing-external-plug-ins)
and sharing it with us through a Gitlab merge request;
- Joining the [Frama-C team](http://frama-c.com/about.html) (as an intern, a PhD
- Joining the [Frama-C team](https://frama-c.com/about.html) (as an intern, a PhD
student, a postdoctoral researcher, or a research engineer).
We give below some guidelines in order to ease the submission of a merge request
......@@ -57,7 +57,7 @@ The detailed steps to submit a contribution to Frama-C are:
6. (Optional) Locally add non-regression test cases to the appropriate
subdirectory in `./tests/` or `./src/plugins/<plugin>/tests/`.
Consult the [plug-in developer manual](http://frama-c.com/download/frama-c-plugin-development-guide.pdf)
Consult the [plug-in developer manual](https://frama-c.com/download/frama-c-plugin-development-guide.pdf)
for details on how to run tests inside Frama-C.
You can also provide the non-regression test case in the Gitlab issue
discussion and we will integrate it.
......@@ -65,7 +65,7 @@ The detailed steps to submit a contribution to Frama-C are:
7. Check for unexpected changes.
Use the command `make check-lint`
in your terminal from the Frama-C root directory to detect trailing spaces,
tabulations or incorrect indentation (ocp-indent = 1.8.1, camomile,
tabulations or incorrect indentation (ocp-indent = 1.8.2, camomile,
clang-format and black (Python linter) are needed), and `make lint` to fix
problems if any.
......@@ -113,7 +113,7 @@ Developing external plug-ins
Frama-C is a modular platform for which it is possible to develop external
plug-ins as documented in the
[Plug-In development guide](http://frama-c.com/download/frama-c-plugin-development-guide.pdf).
[Plug-In development guide](https://frama-c.com/download/frama-c-plugin-development-guide.pdf).
Such plug-ins normally do not require changes to the Frama-C source code and can
be developed completely independently, for instance in a separate Git
repository.
......@@ -122,17 +122,17 @@ However, to make it easier for your users to compile and use your plug-in, even
as newer releases are made available, we recommend the following workflow:
1. Write your external plug-in as indicated in the
[Plug-In development guide](http://frama-c.com/download/frama-c-plugin-development-guide.pdf);
[Plug-In development guide](https://frama-c.com/download/frama-c-plugin-development-guide.pdf);
2. Create an `opam` package by
[pinning your local plug-in](http://opam.ocaml.org/doc/Packaging.html#Opam-pin) and
[editing the `opam` file](http://opam.ocaml.org/doc/Packaging.html#The-quot-opam-quot-file).
[pinning your local plug-in](https://opam.ocaml.org/doc/Packaging.html#Opam-pin) and
[editing the `opam` file](https://opam.ocaml.org/doc/Packaging.html#The-quot-opam-quot-file).
You can have a look at the
[`opam` file of the Hello plug-in](https://github.com/Frama-C/frama-c-hello/blob/master/opam)
if necessary.
3. Optionally
[publish your plug-in](http://opam.ocaml.org/doc/Packaging.html#Publishing)
[publish your plug-in](https://opam.ocaml.org/doc/Packaging.html#Publishing)
in the official OPAM packages repository.
4. Announce your contribution to the Frama-C ecosystem on the
......
{lib, stdenv, fetchurl, zlib, ocaml, findlib}:
let
param =
if lib.versionAtLeast ocaml.version "4.07"
then {
version = "1.11";
url = "https://github.com/xavierleroy/camlzip/archive/rel111.tar.gz";
sha256 = "0dzdspqp9nzx8wyhclbm68dykvfj6b97c8r7b47dq4qw7vgcbfzz";
patches = [];
postPatchInit = ''
true
'';
} else if lib.versionAtLeast ocaml.version "4.02"
then {
version = "1.10";
url = "https://github.com/xavierleroy/camlzip/archive/rel110.tar.gz";
sha256 = "X0YcczaQ3lFeJEiTIgjSSZ1zi32KFMtmZsP0FFpyfbI=";
patches = [];
postPatchInit = ''
cp META-zip META-camlzip
echo 'directory="../zip"' >> META-camlzip
'';
} else {
version = "1.05";
download_id = "1037";
url = "http://forge.ocamlcore.org/frs/download.php/${param.download_id}/camlzip-${param.version}.tar.gz";
sha256 = "930b70c736ab5a7ed1b05220102310a0a2241564786657abe418e834a538d06b";
patches = [./makefile_1_05.patch];
postPatchInit = ''
substitute ${./META} META --subst-var-by VERSION "${param.version}"
'';
};
in
stdenv.mkDerivation {
pname = "camlzip";
version = param.version;
src = fetchurl {
inherit (param) url;
inherit (param) sha256;
};
buildInputs = [ ocaml findlib ];
propagatedBuildInputs = [zlib];
inherit (param) patches;
createFindlibDestdir = true;
postPatch = param.postPatchInit + ''
substituteInPlace Makefile \
--subst-var-by ZLIB_LIBDIR "${zlib.out}/lib" \
--subst-var-by ZLIB_INCLUDE "${zlib.dev}/include"
'';
buildFlags = [ "all" "allopt" ];
postInstall = ''
ln -s $out/lib/ocaml/${ocaml.version}/site-lib/{,caml}zip
'';
meta = with lib; {
homepage = "http://cristal.inria.fr/~xleroy/software.html#camlzip";
description = "A library for handling ZIP and GZIP files in OCaml";
longDescription = ''
This Objective Caml library provides easy access to compressed files in
ZIP and GZIP format, as well as to Java JAR files. It provides functions
for reading from and writing to compressed files in these formats.
'';
license = "LGPL+linking exceptions";
platforms = ocaml.meta.platforms or [];
maintainers = with maintainers; [ maggesi ];
};
}
{ lib
, fetchFromGitHub
, findlib
, buildDunePackage
, cmdliner
}:
buildDunePackage rec {
version = "1.8.1";
pname = "ocp-indent";
src = fetchFromGitHub {
owner = "OCamlPro";
repo = pname;
rev = version;
sha256 = "0h4ysh36q1fxc40inhsdq2swqpfm15lpilqqcafs5ska42pn7s68";
};
minimumOCamlVersion = "4.02";
useDune2 = true;
buildInputs = [ cmdliner findlib ];
meta = with lib; {
homepage = http://typerex.ocamlpro.com/ocp-indent.html;
description = "A customizable tool to indent OCaml code";
license = licenses.gpl3;
maintainers = [ maintainers.jirkamarsik ];
};
}
......@@ -4,13 +4,10 @@ let
# External Packages
alt-ergo = oself.callPackage ./alt-ergo.nix {};
camlp5 = oself.callPackage ./camlp5.nix {};
camlzip = oself.callPackage ./camlzip.nix {};
headache = oself.callPackage ./headache.nix {};
menhirLib = oself.callPackage ./menhirLib.nix {};
mlmpfr = oself.callPackage ./mlmpfr.nix {};
ocp-indent = oself.callPackage ./ocp-indent.nix {};
psmt2-frontend = oself.callPackage ./psmt2-frontend.nix {};
yojson = oself.callPackage ./yojson.nix {};
why3 = oself.callPackage ./why3.nix {};
# Helpers
......@@ -68,7 +65,6 @@ let
) super.ocaml-ng;
inherit (super.callPackage sources."gitignore.nix" {}) gitignoreSource;
why3 = throw "don't use pkgs.why3 but ocaml-ng.ocamlPackages_4_XX.why3";
camlzip = throw "don't use pkgs.camlzip but ocaml-ng.ocamlPackages_4_XX.camlzip";
framac = throw "don't use pkgs.framac but ocaml-ng.ocamlPackages_4_XX.frama-c";
frama-c = throw "don't use pkgs.framac but ocaml-ng.ocamlPackages_4_XX.frama-c";
};
......
......@@ -29,10 +29,10 @@
"homepage": "https://github.com/NixOS/nixpkgs",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5f326e2a403e1cebaec378e72ceaf5725983376d",
"sha256": "01lfac9zr1sx0whkd25d3jww3y3wcbyv4dck684k774p5gfx1wjy",
"rev": "d231d18e4aa5e1d00f86b4f484f9e4344538e3ea",
"sha256": "1ks9h2m6ns6b0wbw6x4cqaqwgfac1n51v3a8vygnm7ynq34ka2l1",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5f326e2a403e1cebaec378e72ceaf5725983376d.tar.gz",
"url": "https://github.com/NixOS/nixpkgs/archive/d231d18e4aa5e1d00f86b4f484f9e4344538e3ea.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"why3": {
......
{ lib, fetchurl, buildDunePackage, cppo, seq }:
buildDunePackage rec {
pname = "yojson";
version = "2.0.2";
useDune2 = true;
src = fetchurl {
url = "https://github.com/ocaml-community/yojson/releases/download/${version}/yojson-${version}.tbz";
sha256 = "sha256-h2u284r3OoSilDij2jXkhXxgoUVWpgZSWxSMb9vlRhs=";
};
nativeBuildInputs = [ cppo ];
propagatedBuildInputs = [ seq ];
meta = with lib; {
description = "An optimized parsing and printing library for the JSON format";
homepage = "https://github.com/ocaml-community/${pname}";
license = licenses.bsd3;
maintainers = [ maintainers.vbgl ];
mainProgram = "ydump";
};
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment