diff options
Diffstat (limited to 'dev-ml/cairo-ocaml')
-rw-r--r-- | dev-ml/cairo-ocaml/Manifest | 2 | ||||
-rw-r--r-- | dev-ml/cairo-ocaml/cairo-ocaml-1.2.0-r1.ebuild | 85 | ||||
-rw-r--r-- | dev-ml/cairo-ocaml/files/ocaml406.patch | 20 |
3 files changed, 107 insertions, 0 deletions
diff --git a/dev-ml/cairo-ocaml/Manifest b/dev-ml/cairo-ocaml/Manifest index fa4b0ecd1443..252bd9f18b36 100644 --- a/dev-ml/cairo-ocaml/Manifest +++ b/dev-ml/cairo-ocaml/Manifest @@ -2,6 +2,8 @@ AUX 0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch 769 BLAKE2B AUX 0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch 742 BLAKE2B a388b82271137f9d578cde618d63f52ddf93c5901ef892db143ce21469bfd9fcc0c45f4208aca10f6fe4556bec75fc18e4ccbe2782f2d4ba2d9a70f27a814c8c SHA512 8305da294c9e69ac56a9250afc3d70afe70ba9229ecde320767019df51b84fc9c09a753f10f0b189ab537b6e8fc5ef8c17d6179bca51fba3138122ccbae223a3 AUX 0003-Fix-FTBFS-on-bytecode-architectures.patch 1135 BLAKE2B 90847d27617c1c63e77f294cbcec28c42a923aad1fd24a58f9a46739b23ce49038449e9f4618e608cb7bed721b0d9d3c67e3606c2d545a5a34380bb0b9ae2a4b SHA512 e4550c4c9315ce3c2a16361541ad2b3acccaa6d36d922c5361d1c26e1af22491e46713fe58291b6345d832fdf78466a1937c2327acfeaeb070508fddedfdb206 AUX 0004-no-automagic.patch 1041 BLAKE2B 8cc95aabf25e768cbb03ea608b74a45aa36f7e86f72da7875bb19973512165a1e6ece9f80093ec887e49ffdbd86df23ae585317d2f65b791c186335b86fc2b50 SHA512 53bfa4cbc40b3725fa40454fb6e8521f21aaf61135dd6da1ec9fd3f1df256ceec1901022aa70dabd568c0291e37008b7c122d1d654856a13fe632f3bf2c271b8 +AUX ocaml406.patch 830 BLAKE2B 662bc72ae0f51e6b6b11a475930847fb18a34c1a812c758b0d00fe156a0b1872dd0eb3d590a3be744ef7c4231aa637571631f0d3d61e9401a1b2164a8434e6ac SHA512 d2fc42aaaac76311cc78ee5c53df6e4c029534f424430465f18acb57988169ea240af2c1d08d84fefd5c8e64e5342e8e721e72eab2e1cf240507fcf0324aff72 DIST cairo-ocaml-1.2.0.tar.bz2 44483 BLAKE2B 49a8c811100e3167a8c32ca87a0a6c256862d276c3703082b944aa55f8def7b56d478c0ed44b9d7f5de9194603b688daa5e42949db00417b71daa7376e17410b SHA512 5cac319cf27b94d31e955885ae89b40342c2ae4ffd1aca7c52366f7c3679185f74e513e0c73bd01260f89da29d43bb420dadd059fa1cf5509997db8f935704b4 +EBUILD cairo-ocaml-1.2.0-r1.ebuild 1952 BLAKE2B bfcd8312395d9f90f096d9caae515a772bcc9919ae0b8445ec4200d6dd3fe61cf435a5d28170f5f72135d0b6c2dad8bf66203f0a50c68425e733e5a0b3c8d8a3 SHA512 b0d0c3a46db06aee8b1ddfe94643fa22888bee2a1a5c85cef24c4536c81880d38f82fdcd7194ca482e9f4aafe9f2a351573f976264b08a46de75c3e84b2dae82 EBUILD cairo-ocaml-1.2.0.ebuild 1896 BLAKE2B 50549894df7f733d386d7611fa9adde2325e20acb0731adc5b1eb760c385f6292acb0ffefabcd2a0bece62c7de481997fb1dd937f68fdc216d90b92319f5dfe3 SHA512 b1ce1ed398e94271e9a608b1abd3d3be2543065111c1d6826e19db71022f3b898de1c97d524884a460de9ba841b4c7074f68561d353c5142cb2bb7b83d569707 MISC metadata.xml 572 BLAKE2B 55d9ae52f939a260daa0e05c073fb0e574a44383414e04274d58ded73bc68ae6713039ed1f51998a307c166313d93755066a9d06f7fea3525a154de856854ad0 SHA512 7ca7f4c88e7343d1ac5acbacef33cde7a437c5e70df3bede08ee893c7bea317b444585f4d4e9e010509b2ebae9586bbe5d94a5229f656b6ce996cabb895a60d2 diff --git a/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0-r1.ebuild b/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0-r1.ebuild new file mode 100644 index 000000000000..1a9969c60bee --- /dev/null +++ b/dev-ml/cairo-ocaml/cairo-ocaml-1.2.0-r1.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit findlib autotools + +DESCRIPTION="Ocaml bindings for the cairo vector graphics library" +HOMEPAGE="https://www.cairographics.org/cairo-ocaml/" +SRC_URI="https://cgit.freedesktop.org/cairo-ocaml/snapshot/${P}.tar.bz2" + +LICENSE="LGPL-2.1" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" +IUSE="doc examples gtk pango" + +RDEPEND="dev-lang/ocaml:= + x11-libs/cairo + gtk? ( dev-ml/lablgtk:2= ) + pango? ( x11-libs/pango )" +DEPEND="${RDEPEND}" + +# 3 patches from debian and one for automagic on libsvg-cairo +PATCHES=( + "${FILESDIR}"/0001-Add-missing-libraries-used-by-the-stubs-to-CAIRO_LIB.patch \ + "${FILESDIR}"/0002-Fix-Makefile-to-avoid-recompiling-files-in-usr.patch \ + "${FILESDIR}"/0003-Fix-FTBFS-on-bytecode-architectures.patch \ + "${FILESDIR}"/0004-no-automagic.patch +) + +src_prepare() { + default + has_version '>=dev-lang/ocaml-4.06.0' && eapply "${FILESDIR}"/ocaml406.patch + AT_M4DIR=support eautoreconf +} + +src_configure() { + econf \ + $(use_with gtk) \ + $(use_with pango pango-cairo) \ + --without-svg-cairo +} + +src_compile() { + emake -j1 + use doc && emake doc +} + +src_install() { + findlib_src_install + dodoc README ChangeLog + if use examples; then + docinto examples + dodoc test/*.ml + fi + # ocamlfind support + cat <<-EOF > META + name = "${PN}" + description = "${DESCRIPTION}" + requires = "bigarray" + version = "${PV}" + archive(byte) = "cairo.cma" + archive(native) = "cairo.cmxa" + EOF + if use gtk; then + cat <<-EOF >> META + package "lablgtk2" ( + requires = "cairo lablgtk2" + archive(byte) = "cairo_lablgtk.cma" + archive(native) = "cairo_lablgtk.cmxa" + ) + EOF + fi + if use pango; then + cat <<-EOF >> META + package "pango" ( + requires = "cairo" + archive(byte) = "pango_cairo.cma" + archive(native) = "pango_cairo.cmxa" + ) + EOF + fi + insinto /usr/$(get_libdir)/ocaml/cairo + doins META +} diff --git a/dev-ml/cairo-ocaml/files/ocaml406.patch b/dev-ml/cairo-ocaml/files/ocaml406.patch new file mode 100644 index 000000000000..2ef9931463b0 --- /dev/null +++ b/dev-ml/cairo-ocaml/files/ocaml406.patch @@ -0,0 +1,20 @@ +Index: cairo-ocaml-1.2.0/src/cairo_png.ml +=================================================================== +--- cairo-ocaml-1.2.0.orig/src/cairo_png.ml ++++ cairo-ocaml-1.2.0/src/cairo_png.ml +@@ -7,13 +7,13 @@ + (**************************************************************************) + + external image_surface_create_from_stream_unsafe : +- (string -> int -> unit) -> Cairo.image_surface = "ml_cairo_image_surface_create_from_png_stream_unsafe" ++ (bytes -> int -> unit) -> Cairo.image_surface = "ml_cairo_image_surface_create_from_png_stream_unsafe" + + let image_surface_create_from_channel ic = + image_surface_create_from_stream_unsafe + (fun s n -> + for i = 0 to n - 1 do +- String.unsafe_set s i (input_char ic) ++ Bytes.unsafe_set s i (input_char ic) + done) + + let image_surface_create_from_file fname = |