Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Jul 2021 08:22:35 -0700
From:      Chris <portmaster@bsdforge.com>
To:        Milan Obuch <freebsd-ports@dino.sk>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Port's Makefile with variable version?
Message-ID:  <b4d6a6165575b79eace3f1e93506a653@bsdforge.com>
In-Reply-To: <20210730144429.592f9b4d@zeta.dino.sk>
References:  <20210730144429.592f9b4d@zeta.dino.sk>

next in thread | previous in thread | raw e-mail | index | archive | help
--=_b2721eaadd25e74cd451de038f4540ec
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII;
 format=flowed

On 2021-07-30 05:44, Milan Obuch wrote:
> Hi,
> 
> is there any possibility for a port's Makefile to define variable
> version? I did some research and the answer seems to be 'no' currently,
> I'd like to ask, however.
> 
> My port of interest is mail/claws-mail. It was recently upgraded to
> version 3.18.0, uses GTK2 framework and upstream created first version
> using GTK3, numbered as 4.0.0. I tried and verify it builds with almost
> no changes to the port itself...
> 
> First change - Makefile:
> 
> --- Makefile.gtk2	2021-07-15 07:05:05.355402000 +0200
> +++ Makefile.gtk3	2021-07-15 07:09:42.161819000 +0200
> @@ -26,5 +26,5 @@
>  USE_XORG=	ice sm
> -USE_GNOME=	cairo gtk20 librsvg2
> +USE_GNOME=	cairo gtk30 librsvg2
>  SHEBANG_FILES=	tools/*.pl tools/*.py tools/tb2claws-mail
>  INSTALLS_ICONS=	yes
> 
> Second change - Makefile.claws:
> 
> --- Makefile.claws.gtk2	2021-07-15 07:06:03.491680000 +0200
> +++ Makefile.claws.gtk3	2021-07-15 07:09:23.416226000 +0200
> @@ -1,4 +1,4 @@
> -PORTVERSION=	3.18.0
> +PORTVERSION=	4.0.0
>  CATEGORIES?=	mail
>  MASTER_SITES=
>  http://www.claws-mail.org/download.php?file=releases/
> 
> Third change - distinfo:
> 
> --- distinfo.gtk2	2021-07-15 07:46:52.734820000 +0200
> +++ distinfo.gtk3	2021-07-15 07:47:22.478838000 +0200
> @@ -1,4 +1,3 @@
> -TIMESTAMP = 1626114302
> -SHA256 (claws-mail-3.18.0.tar.xz) =
> cb5819e66b4bb3bbd44eb79c58f516a932389367a7900554321c24b509ece6bb
> -SHA512 (claws-mail-3.18.0.tar.xz) =
> 3f73e11fc75234c44c0faf266a196c7f1c80b837fb920fc4a3979ede81f37efd180c006ab6436ae9c2dffde2d6c3bf6340a90d93e1e3fa8821fb09693d030811
> -SIZE (claws-mail-3.18.0.tar.xz) = 6517632
> +TIMESTAMP = 1626328037
> +SHA256 (claws-mail-4.0.0.tar.xz) =
> 4af2bd26a5d91eacb2a9c09f67a6a46c2222b40817c1f525dc050bdc7b0ee475
> +SIZE (claws-mail-4.0.0.tar.xz) = 6390300
> 
> Last change - pkg-plist (works for me, however, no guaranty for
> completness/correctness):
> 
> --- pkg-plist.gtk2	2021-07-15 07:05:30.162500000 +0200
> +++ pkg-plist.gtk3	2021-07-15 08:41:25.194732000 +0200
> @@ -105,7 +105,6 @@
>  include/claws-mail/gtk/gtkaspell.h
>  include/claws-mail/gtk/gtkcmclist.h
>  include/claws-mail/gtk/gtkcmctree.h
> -include/claws-mail/gtk/gtkcmoptionmenu.h
>  include/claws-mail/gtk/gtksctree.h
>  include/claws-mail/gtk/gtkshruler.h
>  include/claws-mail/gtk/gtkunit.h
> @@ -293,7 +292,6 @@
>  %%NLS%%share/locale/nl/LC_MESSAGES/claws-mail.mo
>  %%NLS%%share/locale/pl/LC_MESSAGES/claws-mail.mo
>  %%NLS%%share/locale/pt_BR/LC_MESSAGES/claws-mail.mo
> -%%NLS%%share/locale/pt_PT/LC_MESSAGES/claws-mail.mo
>  %%NLS%%share/locale/ro/LC_MESSAGES/claws-mail.mo
>  %%NLS%%share/locale/ru/LC_MESSAGES/claws-mail.mo
>  %%NLS%%share/locale/sk/LC_MESSAGES/claws-mail.mo
> 
> While first idea, create mail/claws-mail-gtk3 port, seems natural,
> there is one problem. In ports tree, we have 26 or so plugin ports
> (various claws-mail plugins have additional dependencies, that's the
> main reason they were done this way, I think). So there is need to
> create 26 basically identical plugin ports for this approach, difference
> being just the master port reference.
> 
> With all the above changes applied to normal claws-mail port, all
> plugin ports builds and works. Plugin ports get their version from
> master port and everything just works, both Claws Mail itself and all
> plugins as well. Important thing is, plugin ports require no change in
> their Makefile, thus I think this way has its advantage.
> 
> I am looking for some way to integrate both GTK2 and GTK3 versions into
> one port, using some OPTION to choose desired version. One problem is
> GTK2 and GTK3 version actually conflict with the other one, they could
> not be installed concurrently, at least with my current knowledge
> level. Maybe this port could be FLAVORed? I have no experiences in this
> area.
> 
> Anybody out there with any idea on this? Currently, I have *.gtk2 and
> *.gtk3 versions for files mentioned above and copy them over when I'd
> like to switch with simple script, but this is not ideal, and I like to
> offer simple way to test new version for anybody interested to test...
> In the long run, in future, GTK2 version will be obsolete and not
> developed anymore. When this time comes, mail/claws-mail port version
> would be 4.x.y. For the time being, GTK2 version is still the 'master'
> one.
I think what you're looking for, is to isolate GTK2 v GTK3 via OPTION(s)/
FLAVOR. At least this is the direction I am planning to take with it.
IOW

OPTIONS_DEFINE=	COMPFACE DEBUG DOCS ENCHANT GTK2 GTK3 IPV6 LDAP \
		NLS STARTUP THEMES
OPTIONS_DEFAULT= ...

BUT GTK2 && GTK3 will need to be either within a conditional. So that
only ONE will be acted upon. Or it can be chosen as a SUBoption, where
the user is only permitted to choose one of the 2.
As to the plugins; I don't see any exception to any of them being able
to use either of GTK(2|3). So that needn't be a consideration. In the
event that that should prove untrue. It'd be easy enough to isolate
and cure on a plugin-by-plugin basis.

--Chris
> 
> Regards,
> Milan

--=_b2721eaadd25e74cd451de038f4540ec
Content-Transfer-Encoding: 7bit
Content-Type: application/pgp-keys;
 name=0xBDE49540.asc
Content-Disposition: attachment;
 filename=0xBDE49540.asc;
 size=5028

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
1hJ30C8=
=aMQi
-----END PGP PUBLIC KEY BLOCK-----

--=_b2721eaadd25e74cd451de038f4540ec--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b4d6a6165575b79eace3f1e93506a653>