Skip to content

Commit

Permalink
Restore fix for clangml.4.6.0 and fix old Ubuntu and Debian
Browse files Browse the repository at this point in the history
  • Loading branch information
thierry-martinez committed May 23, 2024
1 parent 81f685a commit 4f286db
Show file tree
Hide file tree
Showing 18 changed files with 413 additions and 91 deletions.
41 changes: 35 additions & 6 deletions packages/conf-libclang/conf-libclang.10/files/configure.ml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,13 @@ main(int argc, char *argv[])
ignore);
Utils.with_open_process_in executable_file ignore)

type config = { llvm_config : string; llvm_version : string }
type variable = { name : string; value : string }

type config = {
llvm_config : string;
llvm_version : string;
variables : variable list;
}

let write_config_file config =
let checksum = Utils.hash_file config.llvm_config in
Expand All @@ -118,11 +124,22 @@ let write_config_file config =
{|opam-version: "2.0"
file-depends: [ "%s" "%s" ]
variables {
config: "%s"
version: "%s"
}
|}
config.llvm_config checksum config.llvm_config config.llvm_version))
config.llvm_config checksum);
let variables =
[
{ name = "config"; value = config.llvm_config };
{ name = "version"; value = config.llvm_version };
]
@ config.variables
in
variables
|> List.iter (fun { name; value } ->
Out_channel.output_string oc
(Printf.sprintf {| %s: "%s"
|} name value));
Out_channel.output_string oc {|}
|})

let check_version maximum_version find_llvm_config =
match find_llvm_config () with
Expand All @@ -136,7 +153,19 @@ let check_version maximum_version find_llvm_config =
let version_major = Scanf.sscanf llvm_version "%d." Fun.id in
if version_major <= maximum_version then
match check_llvm_usability version_major llvm_config with
| () -> Some { llvm_config; llvm_version }
| () ->
let variables =
match version_major with
| 14 ->
[
{
name = "clangml460_configure_options";
value = "--with-llvm-version=14.0.0";
};
]
| _ -> []
in
Some { llvm_config; llvm_version; variables }
| exception Failure _ -> None
else None)
| _ -> None
Expand Down
7 changes: 4 additions & 3 deletions packages/conf-libclang/conf-libclang.10/opam
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,17 @@ x-ci-accept-failures: [
"opensuse-15.3" # unavailable system package 'llvm-clang-devel'
"freebsd" # no devel/llvm10
"macos-homebrew" # llvm@n is not available
"ubuntu-22.04" "ubuntu-22.10" "ubuntu-23.04" "ubuntu-23.10" "ubuntu-24.04" # libclang-n-dev is not available
"debian-11" # libclang-n-dev is not available
"debian-12" # libclang-n-dev is not available
"debian-13" # libclang-n-dev is not available
"debian-12" "debian-unstable" # libclang-n-dev is not available
"debian-13" "debian-testing" # libclang-n-dev is not available
"fedora-38" "oraclelinux-8" # clang-devel is not available
"fedora-39" "oraclelinux-9" # clang-devel is not available
"fedora-40" # clang-devel is not available
]
extra-files: [
["utils.ml" "sha512=7c6fc56abc8ee9b85b787aaee8b28b54087c4af748b15c3c03de5dbcd253ade2e52930e0b180b883364c7302de000b2f37f9171b687868c7c52b77ced1cb00eb"]
["configure.ml" "sha512=86030d18858ef0bb7b904cb1d4ae5be04999e018de11d1332c1f71f7d4a5708449b548aba5dd6046354b64efb843e535731fd28310a08de44e215494657f1ea0"]
["configure.ml" "sha512=094741c35cb509803bf76307335b86ebb11a01563b3d3cb1a88091856381a553eadbd5dffa272a1fe9ad9c62eefc45cce97d598e575e877f0d5fe1c164b30b91"]
]
synopsis: "Virtual package relying on the installation of llvm and clang libraries (<= 10.0.x)"
flags: conf
41 changes: 35 additions & 6 deletions packages/conf-libclang/conf-libclang.11/files/configure.ml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,13 @@ main(int argc, char *argv[])
ignore);
Utils.with_open_process_in executable_file ignore)

type config = { llvm_config : string; llvm_version : string }
type variable = { name : string; value : string }

type config = {
llvm_config : string;
llvm_version : string;
variables : variable list;
}

let write_config_file config =
let checksum = Utils.hash_file config.llvm_config in
Expand All @@ -118,11 +124,22 @@ let write_config_file config =
{|opam-version: "2.0"
file-depends: [ "%s" "%s" ]
variables {
config: "%s"
version: "%s"
}
|}
config.llvm_config checksum config.llvm_config config.llvm_version))
config.llvm_config checksum);
let variables =
[
{ name = "config"; value = config.llvm_config };
{ name = "version"; value = config.llvm_version };
]
@ config.variables
in
variables
|> List.iter (fun { name; value } ->
Out_channel.output_string oc
(Printf.sprintf {| %s: "%s"
|} name value));
Out_channel.output_string oc {|}
|})

let check_version maximum_version find_llvm_config =
match find_llvm_config () with
Expand All @@ -136,7 +153,19 @@ let check_version maximum_version find_llvm_config =
let version_major = Scanf.sscanf llvm_version "%d." Fun.id in
if version_major <= maximum_version then
match check_llvm_usability version_major llvm_config with
| () -> Some { llvm_config; llvm_version }
| () ->
let variables =
match version_major with
| 14 ->
[
{
name = "clangml460_configure_options";
value = "--with-llvm-version=14.0.0";
};
]
| _ -> []
in
Some { llvm_config; llvm_version; variables }
| exception Failure _ -> None
else None)
| _ -> None
Expand Down
7 changes: 4 additions & 3 deletions packages/conf-libclang/conf-libclang.11/opam
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,16 @@ x-ci-accept-failures: [
"alpine-3.16" # unavailable system package 'llvm-dev'
"opensuse-15.3" # unavailable system package 'llvm-clang-devel'
"macos-homebrew" # llvm@n is not available
"debian-12" # libclang-n-dev is not available
"debian-13" # libclang-n-dev is not available
"ubuntu-22.04" "ubuntu-22.10" "ubuntu-23.04" "ubuntu-23.10" "ubuntu-24.04" # libclang-n-dev is not available
"debian-12" "debian-unstable" # libclang-n-dev is not available
"debian-13" "debian-testing" # libclang-n-dev is not available
"fedora-38" "oraclelinux-8" # clang-devel is not available
"fedora-39" "oraclelinux-9" # clang-devel is not available
"fedora-40" # clang-devel is not available
]
extra-files: [
["utils.ml" "sha512=7c6fc56abc8ee9b85b787aaee8b28b54087c4af748b15c3c03de5dbcd253ade2e52930e0b180b883364c7302de000b2f37f9171b687868c7c52b77ced1cb00eb"]
["configure.ml" "sha512=86030d18858ef0bb7b904cb1d4ae5be04999e018de11d1332c1f71f7d4a5708449b548aba5dd6046354b64efb843e535731fd28310a08de44e215494657f1ea0"]
["configure.ml" "sha512=094741c35cb509803bf76307335b86ebb11a01563b3d3cb1a88091856381a553eadbd5dffa272a1fe9ad9c62eefc45cce97d598e575e877f0d5fe1c164b30b91"]
]
synopsis: "Virtual package relying on the installation of llvm and clang libraries (<= 11.0.x)"
flags: conf
41 changes: 35 additions & 6 deletions packages/conf-libclang/conf-libclang.12/files/configure.ml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,13 @@ main(int argc, char *argv[])
ignore);
Utils.with_open_process_in executable_file ignore)

type config = { llvm_config : string; llvm_version : string }
type variable = { name : string; value : string }

type config = {
llvm_config : string;
llvm_version : string;
variables : variable list;
}

let write_config_file config =
let checksum = Utils.hash_file config.llvm_config in
Expand All @@ -118,11 +124,22 @@ let write_config_file config =
{|opam-version: "2.0"
file-depends: [ "%s" "%s" ]
variables {
config: "%s"
version: "%s"
}
|}
config.llvm_config checksum config.llvm_config config.llvm_version))
config.llvm_config checksum);
let variables =
[
{ name = "config"; value = config.llvm_config };
{ name = "version"; value = config.llvm_version };
]
@ config.variables
in
variables
|> List.iter (fun { name; value } ->
Out_channel.output_string oc
(Printf.sprintf {| %s: "%s"
|} name value));
Out_channel.output_string oc {|}
|})

let check_version maximum_version find_llvm_config =
match find_llvm_config () with
Expand All @@ -136,7 +153,19 @@ let check_version maximum_version find_llvm_config =
let version_major = Scanf.sscanf llvm_version "%d." Fun.id in
if version_major <= maximum_version then
match check_llvm_usability version_major llvm_config with
| () -> Some { llvm_config; llvm_version }
| () ->
let variables =
match version_major with
| 14 ->
[
{
name = "clangml460_configure_options";
value = "--with-llvm-version=14.0.0";
};
]
| _ -> []
in
Some { llvm_config; llvm_version; variables }
| exception Failure _ -> None
else None)
| _ -> None
Expand Down
11 changes: 8 additions & 3 deletions packages/conf-libclang/conf-libclang.12/opam
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ depends: [
depexts: [
["llvm@12"] {os = "macos"}
["llvm12" "clang12"] {os-distribution = "arch"}
["libclang-12-dev" "libclang-cpp12-dev" "llvm-12-dev"]
{os-distribution = "ubuntu" & os-version >= "20.10"}
["libclang-12-dev" "libclang-cpp12-dev" "llvm-12-dev"]
{os-distribution = "ubuntu" & os-version >= "20.04"}
["libclang-11-dev" "libclang-cpp11-dev" "llvm-11-dev"] { os-distribution = "debian" & os-version = "11" }
["libclang-11-dev" "libclang-cpp11-dev" "llvm-11-dev"] { os-distribution = "debian" & os-version = "10" }
["clang-dev" "llvm-dev" "clang-static"] {os-distribution = "alpine"}
Expand All @@ -38,15 +42,16 @@ x-ci-accept-failures: [
"alpine-3.15" # unavailable system package 'llvm-dev'
"alpine-3.16" # unavailable system package 'llvm-dev'
"opensuse-15.3" # unavailable system package 'llvm-clang-devel'
"debian-12" # libclang-n-dev is not available
"debian-13" # libclang-n-dev is not available
"ubuntu-22.04" "ubuntu-22.10" "ubuntu-23.04" "ubuntu-23.10" "ubuntu-24.04" # libclang-n-dev is not available
"debian-12" "debian-unstable" # libclang-n-dev is not available
"debian-13" "debian-testing" # libclang-n-dev is not available
"fedora-38" "oraclelinux-8" # clang-devel is not available
"fedora-39" "oraclelinux-9" # clang-devel is not available
"fedora-40" # clang-devel is not available
]
extra-files: [
["utils.ml" "sha512=7c6fc56abc8ee9b85b787aaee8b28b54087c4af748b15c3c03de5dbcd253ade2e52930e0b180b883364c7302de000b2f37f9171b687868c7c52b77ced1cb00eb"]
["configure.ml" "sha512=86030d18858ef0bb7b904cb1d4ae5be04999e018de11d1332c1f71f7d4a5708449b548aba5dd6046354b64efb843e535731fd28310a08de44e215494657f1ea0"]
["configure.ml" "sha512=094741c35cb509803bf76307335b86ebb11a01563b3d3cb1a88091856381a553eadbd5dffa272a1fe9ad9c62eefc45cce97d598e575e877f0d5fe1c164b30b91"]
]
synopsis: "Virtual package relying on the installation of llvm and clang libraries (<= 12.0.x)"
flags: conf
41 changes: 35 additions & 6 deletions packages/conf-libclang/conf-libclang.13/files/configure.ml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,13 @@ main(int argc, char *argv[])
ignore);
Utils.with_open_process_in executable_file ignore)

type config = { llvm_config : string; llvm_version : string }
type variable = { name : string; value : string }

type config = {
llvm_config : string;
llvm_version : string;
variables : variable list;
}

let write_config_file config =
let checksum = Utils.hash_file config.llvm_config in
Expand All @@ -118,11 +124,22 @@ let write_config_file config =
{|opam-version: "2.0"
file-depends: [ "%s" "%s" ]
variables {
config: "%s"
version: "%s"
}
|}
config.llvm_config checksum config.llvm_config config.llvm_version))
config.llvm_config checksum);
let variables =
[
{ name = "config"; value = config.llvm_config };
{ name = "version"; value = config.llvm_version };
]
@ config.variables
in
variables
|> List.iter (fun { name; value } ->
Out_channel.output_string oc
(Printf.sprintf {| %s: "%s"
|} name value));
Out_channel.output_string oc {|}
|})

let check_version maximum_version find_llvm_config =
match find_llvm_config () with
Expand All @@ -136,7 +153,19 @@ let check_version maximum_version find_llvm_config =
let version_major = Scanf.sscanf llvm_version "%d." Fun.id in
if version_major <= maximum_version then
match check_llvm_usability version_major llvm_config with
| () -> Some { llvm_config; llvm_version }
| () ->
let variables =
match version_major with
| 14 ->
[
{
name = "clangml460_configure_options";
value = "--with-llvm-version=14.0.0";
};
]
| _ -> []
in
Some { llvm_config; llvm_version; variables }
| exception Failure _ -> None
else None)
| _ -> None
Expand Down
15 changes: 12 additions & 3 deletions packages/conf-libclang/conf-libclang.13/opam
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ depends: [
depexts: [
["llvm@13"] {os = "macos"}
["llvm13" "clang13"] {os-distribution = "arch"}
["libclang-13-dev" "libclang-cpp13-dev" "llvm-13-dev"]
{os-distribution = "ubuntu" & os-version >= "21.10"}
["libclang-13-dev" "libclang-cpp13-dev" "llvm-13-dev"]
{os-distribution = "ubuntu" & os-version >= "21.04"}
["libclang-12-dev" "libclang-cpp12-dev" "llvm-12-dev"]
{os-distribution = "ubuntu" & os-version = "20.10"}
["libclang-12-dev" "libclang-cpp12-dev" "llvm-12-dev"]
{os-distribution = "ubuntu" & os-version = "20.04"}
["libclang-13-dev" "libclang-cpp13-dev" "llvm-13-dev"] { os-distribution = "debian" & os-version = "11" }
["libclang-13-dev" "libclang-cpp13-dev" "llvm-13-dev"] { os-distribution = "debian" & os-version = "10" }
["clang-dev" "llvm-dev" "clang-static"] {os-distribution = "alpine"}
Expand All @@ -38,15 +46,16 @@ x-ci-accept-failures: [
"alpine-3.15" # unavailable system package 'llvm-dev'
"alpine-3.16" # unavailable system package 'llvm-dev'
"opensuse-15.3" # unavailable system package 'llvm-clang-devel'
"debian-12" # libclang-n-dev is not available
"debian-13" # libclang-n-dev is not available
"ubuntu-22.04" "ubuntu-22.10" "ubuntu-23.04" "ubuntu-23.10" "ubuntu-24.04" # libclang-n-dev is not available
"debian-12" "debian-unstable" # libclang-n-dev is not available
"debian-13" "debian-testing" # libclang-n-dev is not available
"fedora-38" "oraclelinux-8" # clang-devel is not available
"fedora-39" "oraclelinux-9" # clang-devel is not available
"fedora-40" # clang-devel is not available
]
extra-files: [
["utils.ml" "sha512=7c6fc56abc8ee9b85b787aaee8b28b54087c4af748b15c3c03de5dbcd253ade2e52930e0b180b883364c7302de000b2f37f9171b687868c7c52b77ced1cb00eb"]
["configure.ml" "sha512=86030d18858ef0bb7b904cb1d4ae5be04999e018de11d1332c1f71f7d4a5708449b548aba5dd6046354b64efb843e535731fd28310a08de44e215494657f1ea0"]
["configure.ml" "sha512=094741c35cb509803bf76307335b86ebb11a01563b3d3cb1a88091856381a553eadbd5dffa272a1fe9ad9c62eefc45cce97d598e575e877f0d5fe1c164b30b91"]
]
synopsis: "Virtual package relying on the installation of llvm and clang libraries (<= 13.0.x)"
flags: conf
Loading

0 comments on commit 4f286db

Please sign in to comment.