Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions .github/opam-repository/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@
This repository contains narrowly scoped dependency fixes needed by CI before
they are available from the main opam repository.

The Luv 0.5.14 override preserves the ARM64 musl compiler's
`-mno-outline-atomics` requirement while building vendored libuv. Without it,
the static executable fails to link because libuv refers to glibc's internal
`__getauxval` symbol. The patch should be contributed upstream and this
override removed once a fixed Luv release is available.

Luv 0.5.14 also vendors libuv 1.48.0. Evaluating and contributing an update to
a current libuv 1.x release is a separate upstream follow-up; changing the
vendored library is intentionally outside the OCaml rewatch port.
The Luv override builds Luv from a commit of the
[rescript-lang/luv](https://github.com/rescript-lang/luv) fork. The fork
vendors libuv 1.53.0 (upstream Luv 0.5.14 vendors 1.48.0) and preserves the
ARM64 musl compiler's `-mno-outline-atomics` requirement, without which the
static executable fails to link because libuv refers to glibc's internal
`__getauxval` symbol. Remove the override once a Luv release with these
changes is available.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
opam-version: "2.0"
name: "luv"
version: "0.5.14"
version: "0.5.14+rescript.1"
synopsis: "Binding to libuv: cross-platform asynchronous I/O"
description: """\
Luv is a binding to libuv, the cross-platform C library that does
Expand All @@ -13,30 +13,23 @@ alternative to the standard module Unix."""
maintainer: "Anton Bachin <antonbachin@yahoo.com>"
authors: "Anton Bachin <antonbachin@yahoo.com>"
license: "MIT"
homepage: "https://github.com/aantron/luv"
homepage: "https://github.com/rescript-lang/luv"
doc: "https://aantron.github.io/luv"
bug-reports: "https://github.com/aantron/luv/issues"
bug-reports: "https://github.com/rescript-lang/luv/issues"
depends: [
"base-unix" {build}
"conf-linux-libc-dev" {build & os = "linux"}
"ctypes" {>= "0.14.0"}
"dune" {>= "2.7.0"}
"integers" {>= "0.3.0"}
"ocaml" {>= "4.03.0"}
"alcotest" {with-test & >= "0.8.1"}
"base-unix" {with-test}
"odoc" {with-doc & = "2.4.0"}
]
build: ["dune" "build" "-p" name "-j" jobs]
patches: ["arm64-musl-outline-atomics.patch"]
extra-files: [
[
"arm64-musl-outline-atomics.patch"
"sha256=c15c4c4d34c9b545197c5160e19c69a128cc186b65a54e0e9a779c2543528a4f"
]
]
dev-repo: "git+https://github.com/aantron/luv.git"
dev-repo: "git+https://github.com/rescript-lang/luv.git"
url {
src:
"https://github.com/aantron/luv/releases/download/0.5.14/luv-0.5.14.tar.gz"
checksum:
"sha256=8e01b4a50c8876cdd98d8e245c0687c4dc4d883aed161ad9c5ace1fb1fdaae99"
"git+https://github.com/rescript-lang/luv.git#2094c025da82482a8b71118a87e609f82666a2f6"
}

This file was deleted.

1 change: 1 addition & 0 deletions changes/luv-libuv-1-53.internal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Build the OCaml rewatch against libuv 1.53.0 via the rescript-lang/luv fork. https://github.com/rescript-lang/rescript/pull/8883
2 changes: 1 addition & 1 deletion dune-project
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
(cmdliner
(= 2.1.1))
(luv
(= 0.5.14))
(= 0.5.14+rescript.1))
(re
(= 1.14.0))
(ounit2
Expand Down
2 changes: 1 addition & 1 deletion rescript.opam
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ depends: [
"yojson" {= "3.0.0"}
"spawn" {= "v0.17.0"}
"cmdliner" {= "2.1.1"}
"luv" {= "0.5.14"}
"luv" {= "0.5.14+rescript.1"}
"re" {= "1.14.0"}
"ounit2" {with-test & = "2.2.7"}
"odoc" {with-doc}
Expand Down
Loading