summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2024-11-14 20:33:49 +0100
committerMaciej Barć <xgqt@gentoo.org>2024-11-15 00:40:52 +0100
commit8b29fa8a93a18065ae7e86655bbe216d3d6b6347 (patch)
tree61b461226eb7f562daa74b7c2d81f5647d0b82f6 /net-misc
parentsci-mathematics/eclib: add 20241112 (diff)
downloadgentoo-8b29fa8a93a18065ae7e86655bbe216d3d6b6347.tar.gz
gentoo-8b29fa8a93a18065ae7e86655bbe216d3d6b6347.tar.bz2
gentoo-8b29fa8a93a18065ae7e86655bbe216d3d6b6347.zip
net-misc/unison: bump to 2.53.7
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/unison/Manifest1
-rw-r--r--net-misc/unison/unison-2.53.7.ebuild145
2 files changed, 146 insertions, 0 deletions
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
+}