this repo has no description

Merge pull request #24344 from vprevosto/frama-clang-2

Add Frama-Clang package, take 2

Kate 57e2bdd7 83bc7080

Changed files
+116 -3
packages
conf-libclang
conf-libclang.15
conf-llvm
conf-llvm.14.0.6
conf-llvm.15
frama-clang
frama-clang.0.0.14
+1 -1
packages/conf-libclang/conf-libclang.15/opam
···
]
depexts: [
["llvm@15"] {os = "macos"}
-
["llvm" "clang"] {os-distribution = "arch"}
["libclang-15-dev" "libclang-cpp15-dev" "llvm-15-dev"]
{(os-distribution = "ubuntu" & os-version >= "22.10")}
["libclang-14-dev" "libclang-cpp14-dev" "llvm-14-dev"]
···
]
depexts: [
["llvm@15"] {os = "macos"}
+
["llvm15" "clang15"] {os-distribution = "arch"}
["libclang-15-dev" "libclang-cpp15-dev" "llvm-15-dev"]
{(os-distribution = "ubuntu" & os-version >= "22.10")}
["libclang-14-dev" "libclang-cpp14-dev" "llvm-14-dev"]
+1 -1
packages/conf-llvm/conf-llvm.14.0.6/opam
···
["llvm-14"] {os-distribution = "macports" & os = "macos"}
["llvm-14-dev"] {os-family = "debian"}
["llvm14-dev"] {os-distribution = "alpine"}
-
["llvm"] {os-family = "arch"}
["llvm14-devel"] {os-family = "suse" | os-family = "opensuse"}
["llvm14-devel"] {os-distribution = "fedora"}
["llvm14-devel" "epel-release"] {os-distribution = "centos"}
···
["llvm-14"] {os-distribution = "macports" & os = "macos"}
["llvm-14-dev"] {os-family = "debian"}
["llvm14-dev"] {os-distribution = "alpine"}
+
["llvm14"] {os-family = "arch"}
["llvm14-devel"] {os-family = "suse" | os-family = "opensuse"}
["llvm14-devel"] {os-distribution = "fedora"}
["llvm14-devel" "epel-release"] {os-distribution = "centos"}
+1 -1
packages/conf-llvm/conf-llvm.15/opam
···
["llvm-15"] {os-distribution = "macports" & os = "macos"}
["llvm-15-dev" "zlib1g-dev" "libzstd-dev"] {os-family = "debian"}
["llvm15-dev"] {os-distribution = "alpine"}
-
["llvm"] {os-family = "arch"}
["llvm15-devel"] {os-family = "suse"}
["llvm15-devel"] {os-distribution = "fedora"}
["llvm15-devel" "epel-release"] {os-distribution = "centos"}
···
["llvm-15"] {os-distribution = "macports" & os = "macos"}
["llvm-15-dev" "zlib1g-dev" "libzstd-dev"] {os-family = "debian"}
["llvm15-dev"] {os-distribution = "alpine"}
+
["llvm15"] {os-family = "arch"}
["llvm15-devel"] {os-family = "suse"}
["llvm15-devel"] {os-distribution = "fedora"}
["llvm15-devel" "epel-release"] {os-distribution = "centos"}
+31
packages/frama-clang/frama-clang.0.0.14/files/CMakeLists.txt.patch
···
···
+
diff --git a/framaCIRGen_src/CMakeLists.txt b/framaCIRGen_src/CMakeLists.txt
+
index 6ba2fd3c..b4e9aa32 100644
+
--- a/framaCIRGen_src/CMakeLists.txt
+
+++ b/framaCIRGen_src/CMakeLists.txt
+
@@ -20,7 +20,7 @@
+
# #
+
##########################################################################
+
+
-cmake_minimum_required(VERSION 3.6)
+
+cmake_minimum_required(VERSION 3.20)
+
+
project(FramaCIRGen C CXX)
+
+
@@ -28,6 +28,17 @@ set(CMAKE_CXX_STANDARD 17)
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
set(CMAKE_CXX_EXTENSIONS OFF)
+
+
+find_program(LLVM_CONFIG
+
+ NAMES $ENV{OPAM_LLVM_CONFIG} llvm-config llvm-config-15 llvm-config-14
+
+ llvm-config-13 llvm-config-12 llvm-config-11
+
+ REQUIRED)
+
+
+
+execute_process(COMMAND ${LLVM_CONFIG} --cmakedir OUTPUT_VARIABLE CMAKE_LLVM_PREFIX)
+
+
+
+cmake_path(GET CMAKE_LLVM_PREFIX PARENT_PATH CMAKE_LLVM_CLANG_PREFIX)
+
+set(Clang_DIR ${CMAKE_LLVM_CLANG_PREFIX}/clang)
+
+set(LLVM_DIR ${CMAKE_LLVM_CLANG_PREFIX}/llvm)
+
+
+
find_package(Clang REQUIRED)
+
find_package(LLVM REQUIRED)
+
+17
packages/frama-clang/frama-clang.0.0.14/files/build.sh.patch.in
···
···
+
diff --git a/framaCIRGen_src/build.sh b/framaCIRGen_src/build.sh
+
index cdd9fcd0..d20fcbfb 100755
+
--- a/framaCIRGen_src/build.sh
+
+++ b/framaCIRGen_src/build.sh
+
@@ -1,4 +1,4 @@
+
-#! /usr/bin/bash
+
+#! /bin/sh
+
##########################################################################
+
# #
+
# This file is part of Frama-Clang #
+
@@ -21,5 +21,5 @@
+
# #
+
##########################################################################
+
+
-cmake .
+
+OPAM_LLVM_CONFIG=%{conf-llvm:config}% cmake .
+
make -j
+65
packages/frama-clang/frama-clang.0.0.14/opam
···
···
+
opam-version: "2.0"
+
synopsis: "Frama-C plug-in based on Clang for parsing C++ files"
+
description: """
+
This Frama-C plug-in parse C++ files that may content ACSL++ annotations.
+
"""
+
maintainer: "Virgile.Prevosto@cea.fr"
+
authors: [
+
"David Cok"
+
"Virgile Prevosto"
+
"Franck Védrine"
+
]
+
license: "LGPL-2.1-only"
+
homepage: "https://frama-c.com/frama-clang.html"
+
dev-repo: "git+https://git.frama-c.com/pub/frama-clang.git"
+
bug-reports: "https://git.frama-c.com/pub/frama-clang/-/issues"
+
tags: ["Frama-C" "formal specification" "C++" "plugins" "ACSL" "ACSL++"]
+
+
depends: [
+
"dune" {>= "3.2"}
+
"frama-c" {>= "27.0~" & < "28.0~"}
+
"zarith" {>= "1.5"}
+
"camlp5"
+
"camlp-streams"
+
"conf-llvm" {>= "11.0.0"}
+
"conf-libclang" {>= "11.0.0"}
+
"conf-clang" { os-family = "debian" }
+
"conf-cmake"
+
"odoc" {with-doc}
+
]
+
build: [
+
["dune" "subst"] {dev}
+
[
+
"dune"
+
"build"
+
"-p"
+
name
+
"-j"
+
jobs
+
"--promote-install-files=false"
+
"@install"
+
"@runtest" {with-test}
+
"@doc" {with-doc}
+
]
+
["dune" "install" "-p" name "--create-install-files" name]
+
]
+
+
url {
+
src: "https://git.frama-c.com/pub/frama-clang/-/archive/0.0.14/frama-clang-0.0.14.tar.bz2"
+
checksum: [ "sha256=fa6b471814007322fcb4ea56addbe94cd49c570e17b1f33d633bc5e3fc8e0913" ]
+
}
+
+
substs: [ "build.sh.patch" ]
+
patches: [ "CMakeLists.txt.patch" "build.sh.patch" ]
+
+
extra-files: [
+
["CMakeLists.txt.patch" "sha256=6b69ba205c2277b921546322f0997fb6765c7fb553410a3e5b579230aa9f3202"]
+
["build.sh.patch.in" "sha256=6a780e39eb21f37852c9aef8da6ff25e548bf1745ec1a4b91a36297d416187f8"]
+
]
+
+
x-ci-accept-failures: [
+
# cmake version too old
+
"debian-10"
+
"debian-11"
+
"ubuntu-20.04"
+
]