commit:     f8251447a160931cbfcbb896fb0fa3e6ffe109f7
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 20 20:19:26 2024 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Jun 20 21:01:10 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8251447

net-misc/unison: misc fixes

Closes: https://bugs.gentoo.org/685776
Closes: https://bugs.gentoo.org/928589
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 ...nison-2.51.5.ebuild => unison-2.51.5-r1.ebuild} | 109 ++++++++++------
 net-misc/unison/unison-2.53.3-r1.ebuild            | 139 +++++++++++++++++++++
 net-misc/unison/unison-2.53.3.ebuild               |  99 ---------------
 3 files changed, 212 insertions(+), 135 deletions(-)

diff --git a/net-misc/unison/unison-2.51.5.ebuild 
b/net-misc/unison/unison-2.51.5-r1.ebuild
similarity index 53%
rename from net-misc/unison/unison-2.51.5.ebuild
rename to net-misc/unison/unison-2.51.5-r1.ebuild
index 914cd4876cd3..6c916a9fa788 100644
--- a/net-misc/unison/unison-2.51.5.ebuild
+++ b/net-misc/unison/unison-2.51.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -6,32 +6,67 @@ 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";
-SRC_URI="https://github.com/bcpierce00/unison/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+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/unison/archive/v${PV}.tar.gz
+               -> ${P}.tar.gz"
+
+       KEYWORDS="amd64 ~arm ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
 
 LICENSE="GPL-2"
 SLOT="$(ver_cut 1-2)"
-KEYWORDS="amd64 ~arm ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="debug doc gtk +ocamlopt threads"
+IUSE="debug doc gui +ocamlopt +threads"
+RESTRICT="!ocamlopt? ( strip )"
 
-BDEPEND="dev-lang/ocaml:=[ocamlopt?]
-       doc? ( app-text/dvipsk
+BDEPEND="
+       dev-lang/ocaml:=[ocamlopt?]
+       doc? (
+               app-text/dvipsk
                app-text/ghostscript-gpl
-               dev-texlive/texlive-latex
                dev-tex/hevea
+               dev-texlive/texlive-latex
                www-client/lynx
-               )"
-DEPEND="gtk? ( dev-ml/lablgtk:2=[ocamlopt?] )"
-RDEPEND="gtk? ( dev-ml/lablgtk:2=[ocamlopt?]
-       || ( net-misc/x11-ssh-askpass net-misc/ssh-askpass-fullscreen ) )
-       >=app-eselect/eselect-unison-0.4"
+       )
+"
+DEPEND="
+       gui? (
+               dev-ml/lablgtk:2=[ocamlopt?]
+       )
+"
+RDEPEND="
+       gui? (
+               dev-ml/lablgtk:2=[ocamlopt?]
+               || (
+                       net-misc/ssh-askpass-fullscreen
+                       net-misc/x11-ssh-askpass
+               )
+       )
+"
+IDEPEND="
+       >=app-eselect/eselect-unison-0.4
+"
 
 DOCS=( CONTRIB INSTALL NEWS README ROADMAP.txt 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_prepare() {
        default
+
        # https://github.com/bcpierce00/unison/issues/416
        sed -e "/ifdef\ HEVEA/,/endif/d" -i doc/Makefile || die
        # https://github.com/bcpierce00/unison/pull/415
@@ -39,26 +74,28 @@ src_prepare() {
 }
 
 src_compile() {
-       local myconf
+       local -a myconf=()
 
-       if use threads; then
-               myconf+=( THREADS=true )
+       if use debug ; then
+               myconf+=( DEBUGGING=true )
        fi
 
-       if use debug; then
-               myconf+=( DEBUGGING=true )
+       if use doc; then
+               VARTEXFONTS="${T}/fonts" emake "${myconf[@]}" CFLAGS="" 
HEVEA=true docs
        fi
 
-       if use gtk; then
+       if use gui ; then
                myconf+=( UISTYLE=gtk2 )
        else
                myconf+=( UISTYLE=text )
        fi
 
-       use ocamlopt || myconf+=( NATIVE=false )
+       if ! use ocamlopt ; then
+               myconf+=( NATIVE=false )
+       fi
 
-       if use doc; then
-               VARTEXFONTS="${T}/fonts" emake "${myconf[@]}" CFLAGS="" 
HEVEA=true docs
+       if use threads ; then
+               myconf+=( THREADS=true )
        fi
 
        # Discard cflags as it will try to pass them to ocamlc...
@@ -72,18 +109,19 @@ src_test() {
 src_install() {
        # install manually, since it's just too much
        # work to force the Makefile to do the right thing.
-       local binname
        cd src || die
-       for binname in unison unison-fsmonitor; do
-               newbin ${binname} ${binname}-${SLOT}
+       local binname
+       for binname in unison unison-fsmonitor ; do
+               exeinto /usr/bin
+               newexe "${binname}" "${binname}-${SLOT}"
        done
 
-       if use gtk; then
-               newicon -s scalable ../icons/U.svg ${PN}-${SLOT}.svg
-               make_desktop_entry ${PN}-${SLOT} "${PN} (${SLOT})" 
"${PN}-${SLOT}"
+       if use gui ; then
+               newicon -s scalable ../icons/U.svg "${PN}-${SLOT}.svg"
+               make_desktop_entry "${PN}-${SLOT}" "${PN} (${SLOT})" 
"${PN}-${SLOT}"
        fi
 
-       if use doc; then
+       if use doc ; then
                DOCS+=( ../doc/unison-manual.pdf )
                HTML_DOCS=( "../doc/unison-manual.html" )
        fi
@@ -95,15 +133,14 @@ 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 || die
 
-       if use gtk; then
-               xdg_icon_cache_update
-       fi
+       eselect unison update
+
+       gui_cache_update
 }
 
 pkg_postrm() {
-       if use gtk; then
-               xdg_icon_cache_update
-       fi
+       eselect unison update
+
+       gui_cache_update
 }

diff --git a/net-misc/unison/unison-2.53.3-r1.ebuild 
b/net-misc/unison/unison-2.53.3-r1.ebuild
new file mode 100644
index 000000000000..1b149dccc0c0
--- /dev/null
+++ b/net-misc/unison/unison-2.53.3-r1.ebuild
@@ -0,0 +1,139 @@
+# 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/unison/archive/v${PV}.tar.gz
+               -> ${P}.tar.gz"
+
+       KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+LICENSE="GPL-2"
+SLOT="$(ver_cut 1-2)"
+IUSE="debug doc gui +ocamlopt +threads"
+
+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=( src/CONTRIB src/README 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 debug ; then
+               myconf+=( DEBUGGING=true )
+       fi
+
+       if use doc ; then
+               VARTEXFONTS="${T}/fonts" emake "${myconf[@]}" CFLAGS="" 
HEVEA=false docs
+       fi
+
+       if use gui ; then
+               myconf+=( UISTYLE=gtk3 )
+       else
+               myconf+=( UISTYLE=text )
+       fi
+
+       if ! use ocamlopt ; then
+               myconf+=( NATIVE=false )
+       fi
+
+       if use threads ; then
+               myconf+=( THREADS=true )
+       fi
+
+       # Discard cflags as it will try to pass them to ocamlc...
+       emake "${myconf[@]}" CFLAGS="" -j1 src manpage
+}
+
+src_test() {
+       emake test CFLAGS=""
+}
+
+src_install() {
+       # install manually, since it's just too much
+       # work to force the Makefile to do the right thing.
+       cd "${S}/src" || die
+
+       local binname
+       for binname in unison unison-fsmonitor ; do
+               exeinto /usr/bin
+               newexe "${binname}" "${binname}-${SLOT}"
+       done
+
+       cd "${S}" || die
+
+       doman "man/${PN}.1"
+
+       if use gui ; then
+               newicon -s scalable icons/U.svg "${PN}-${SLOT}.svg"
+               make_desktop_entry "${PN}-${SLOT}" "${PN} (${SLOT})" 
"${PN}-${SLOT}"
+       fi
+
+       if use doc ; then
+               DOCS+=( doc/unison-manual.pdf )
+       fi
+
+       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
+}

diff --git a/net-misc/unison/unison-2.53.3.ebuild 
b/net-misc/unison/unison-2.53.3.ebuild
deleted file mode 100644
index 0de016690ac1..000000000000
--- a/net-misc/unison/unison-2.53.3.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# 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://github.com/bcpierce00/unison";
-SRC_URI="https://github.com/bcpierce00/unison/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="debug doc gtk +ocamlopt threads"
-
-BDEPEND="dev-lang/ocaml:=[ocamlopt?]
-       doc? ( app-text/dvipsk
-               app-text/ghostscript-gpl
-               dev-texlive/texlive-latex )"
-DEPEND="gtk? ( dev-ml/lablgtk:3=[ocamlopt?] )"
-RDEPEND="gtk? ( dev-ml/lablgtk:3=[ocamlopt?]
-       || ( net-misc/x11-ssh-askpass net-misc/ssh-askpass-fullscreen ) )
-       >=app-eselect/eselect-unison-0.4
-       >=dev-lang/ocaml-4.08"
-
-DOCS=( CONTRIB README ROADMAP.txt TODO.txt )
-
-src_compile() {
-       local myconf
-
-       if use threads; then
-               myconf+=( THREADS=true )
-       fi
-
-       if use debug; then
-               myconf+=( DEBUGGING=true )
-       fi
-
-       if use gtk; then
-               myconf+=( UISTYLE=gtk3 )
-       else
-               myconf+=( UISTYLE=text )
-       fi
-
-       use ocamlopt || myconf+=( NATIVE=false )
-
-       if use doc; then
-               VARTEXFONTS="${T}/fonts" emake "${myconf[@]}" CFLAGS="" 
HEVEA=false docs
-       fi
-
-       # Discard cflags as it will try to pass them to ocamlc...
-       emake "${myconf[@]}" CFLAGS="" src
-
-       emake manpage
-}
-
-src_test() {
-       emake test CFLAGS=""
-}
-
-src_install() {
-       # install manually, since it's just too much
-       # work to force the Makefile to do the right thing.
-       local binname
-       cd src || die
-       for binname in unison unison-fsmonitor; do
-               newbin ${binname} ${binname}-${SLOT}
-       done
-       doman ../man/unison.1
-
-       if use gtk; then
-               newicon -s scalable ../icons/U.svg ${PN}-${SLOT}.svg
-               make_desktop_entry ${PN}-${SLOT} "${PN} (${SLOT})" 
"${PN}-${SLOT}"
-       fi
-
-       if use doc; then
-               DOCS+=( ../doc/unison-manual.pdf )
-       fi
-
-       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 || die
-
-       if use gtk; then
-               xdg_icon_cache_update
-       fi
-}
-
-pkg_postrm() {
-       if use gtk; then
-               xdg_icon_cache_update
-       fi
-}

Reply via email to