commit:     8b29fa8a93a18065ae7e86655bbe216d3d6b6347
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 14 19:33:49 2024 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Nov 14 23:40:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b29fa8a

net-misc/unison: bump to 2.53.7

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 net-misc/unison/Manifest             |   1 +
 net-misc/unison/unison-2.53.7.ebuild | 145 +++++++++++++++++++++++++++++++++++
 2 files changed, 146 insertions(+)

diff --git a/net-misc/unison/Manifest b/net-misc/unison/Manifest
index dc2a9b0c8fad..4a613eac31b5 100644
--- a/net-misc/unison/Manifest
+++ b/net-misc/unison/Manifest
@@ -1 +1,2 @@
 DIST unison-2.53.5.tar.gz 1408926 BLAKE2B 
e7e3db458a485fca8820508a964df5877aed0a2d6a3ea8305298d0c6516591323f3cacdd86c4e057585c0f3b2da8a03a5a3653f543d6f1acb20701f23a81f470
 SHA512 
eabeed7b428f1985610b47ce8bc7faac515fd24937727612aa45435da3e38d40b6cd6d227eb3b65dc370d46458cecfca9d0e9e1712b2b7fa41b76675f8115c4c
+DIST unison-2.53.7.gh.tar.gz 1412694 BLAKE2B 
abc7b37256f760f862c63a8f6715b1d66ce4526146fd1e24146a18afe3944e6438a5474547ccb851739ebac7b02e6bfa4c46832f96e3c50ef036dff20c40a2b7
 SHA512 
11bd1d2792fb84fa2b29426516d7b91a2295febcb84052118d492a29d9ddaa23265b66cc88113019ec6782f3edcf596f7a37c8637e673b2928188248b9d63d60

diff --git a/net-misc/unison/unison-2.53.7.ebuild 
b/net-misc/unison/unison-2.53.7.ebuild
new file mode 100644
index 000000000000..b7cb3a039129
--- /dev/null
+++ b/net-misc/unison/unison-2.53.7.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop xdg-utils
+
+DESCRIPTION="Two-way cross-platform file synchronizer"
+HOMEPAGE="https://www.seas.upenn.edu/~bcpierce/unison/
+       https://github.com/bcpierce00/unison/";
+
+if [[ "${PV}" == *9999* ]] ; then
+       inherit git-r3
+
+       EGIT_REPO_URI="https://github.com/bcpierce00/${PN}.git";
+else
+       
SRC_URI="https://github.com/bcpierce00/${PN}/archive/refs/tags/v${PV}.tar.gz
+               -> ${P}.gh.tar.gz"
+
+       KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+LICENSE="GPL-2"
+SLOT="$(ver_cut 1-2)"
+IUSE="doc gui +ocamlopt"
+
+BDEPEND="
+       dev-lang/ocaml:=[ocamlopt?]
+       doc? (
+               app-text/dvipsk
+               app-text/ghostscript-gpl
+               dev-texlive/texlive-latex
+       )
+"
+DEPEND="
+       gui? (
+               dev-ml/lablgtk:3=[ocamlopt?]
+       )
+"
+RDEPEND="
+       >=dev-lang/ocaml-4.08:=
+       gui? (
+               dev-ml/lablgtk:3=[ocamlopt?]
+               || (
+                       net-misc/ssh-askpass-fullscreen
+                       net-misc/x11-ssh-askpass
+               )
+       )
+"
+IDEPEND="
+       >=app-eselect/eselect-unison-0.4
+"
+
+DOCS=( CONTRIBUTING.md README.md src/FEATURES.md src/ROADMAP.txt src/TODO.txt )
+
+QA_FLAGS_IGNORED="usr/bin/${PN}-fsmonitor-${SLOT}"
+
+gui_cache_update() {
+       if use gui ; then
+               xdg_icon_cache_update
+               xdg_desktop_database_update
+       fi
+}
+
+src_compile() {
+       local -a myconf=()
+
+       if ! use ocamlopt ; then
+               myconf+=( NATIVE=false )
+       fi
+
+       # Discard cflags as it will try to pass them to ocamlc...
+       emake "${myconf[@]}" CFLAGS="" -j1 tui fsmonitor manpage
+
+       if use gui ; then
+               emake "${myconf[@]}" CFLAGS="" -j1 gui
+       fi
+
+       if use doc ; then
+               VARTEXFONTS="${T}/fonts" emake "${myconf[@]}" CFLAGS="" 
HEVEA=false docs
+       fi
+}
+
+src_test() {
+       emake test CFLAGS=""
+}
+
+src_install() {
+       # OCaml generates textrels on 32-bit arches
+       if use arm || use ppc || use x86 ; then
+               export QA_TEXTRELS='.*'
+       fi
+
+       # install manually, since it's just too much
+       # work to force the Makefile to do the right thing.
+       cd "${S}/src" || die
+
+       local -a bins=(
+               unison-fsmonitor
+       )
+
+       # Unison GUI is a CLI + GTK GUI in one binary, no need to install both,
+       # see bug https://bugs.gentoo.org/941780
+       if use gui ; then
+               bins+=( unison-gui )
+       else
+               bins+=( unison )
+       fi
+
+       local binname
+       for binname in "${bins[@]}" ; do
+               exeinto /usr/bin
+               newexe "${binname}" "${binname/-gui/}-${SLOT}"
+       done
+
+       cd "${S}" || die
+
+       if use gui ; then
+               newicon -s scalable icons/U.svg "${PN}-${SLOT}.svg"
+               make_desktop_entry "${PN}-gui-${SLOT}" "${PN^} GUI (${SLOT})" 
"${PN}-${SLOT}"
+       fi
+
+       if use doc ; then
+               DOCS+=( doc/unison-manual.pdf )
+       fi
+
+       doman "man/${PN}.1"
+       einstalldocs
+}
+
+pkg_postinst() {
+       elog "Unison now uses SLOTs, so you can specify 
servercmd=/usr/bin/unison-${SLOT}"
+       elog "in your profile files to access exactly this version over ssh."
+       elog "Or you can use 'eselect unison' to set the version."
+
+       eselect unison update
+
+       gui_cache_update
+}
+
+pkg_postrm() {
+       eselect unison update
+
+       gui_cache_update
+}

Reply via email to