Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Mar 2016 21:00:12 -0800
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        John Marino <marino@FreeBSD.org>, ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   Re: svn commit: r410612 - head/devel/libc++
Message-ID:  <56DFADDC.1050204@FreeBSD.org>
In-Reply-To: <201603081248.u28Cmpw6061510@repo.freebsd.org>
References:  <201603081248.u28Cmpw6061510@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--a55iF9TVwUgFgKEnQB2np1MHtNc0OXwRU
Content-Type: multipart/mixed; boundary="Dpk42sBH0EQ4mRfIUaIcGjGX1UsdK89Xp"
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: John Marino <marino@FreeBSD.org>, ports-committers@freebsd.org,
 svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Message-ID: <56DFADDC.1050204@FreeBSD.org>
Subject: Re: svn commit: r410612 - head/devel/libc++
References: <201603081248.u28Cmpw6061510@repo.freebsd.org>
In-Reply-To: <201603081248.u28Cmpw6061510@repo.freebsd.org>

--Dpk42sBH0EQ4mRfIUaIcGjGX1UsdK89Xp
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 3/8/2016 4:48 AM, John Marino wrote:
> Author: marino
> Date: Tue Mar  8 12:48:51 2016
> New Revision: 410612
> URL: https://svnweb.freebsd.org/changeset/ports/410612
>=20
> Log:
>   devel/libc++: specific libcxxrt LIB_DEPENDS conditionally
>  =20
>   The libcxxrt was unconditionally specified, but pkg(8) would not
>   register it on FreeBSD 10+ because the libcxxrt.so requirement of the=

>   specification was satisfied by the base libraries.
>  =20
>   As a result, Synth would rebuild the libc++ each time becaues there
>   were more dependency requirements in the port Makefile than the resul=
ting
>   package, leading Synth to consider the package obsolete.
>  =20
>   Since there are already existence tests for setting flags, the soluti=
on
>   is trivial: move LIB_DEPENDS definition inside the conditional blocks=
=2E
>   The resulting package is the same everywhere, and Synth is happy too.=

>  =20
>   PR:		207756
>   Submitted by:	Andrew Terekhov
>   Discussed with:	dim@, bapt@ (no conclusion, I fixed it myself)
>=20
> Modified:
>   head/devel/libc++/Makefile
>=20
> Modified: head/devel/libc++/Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/devel/libc++/Makefile	Tue Mar  8 11:20:23 2016	(r410611)
> +++ head/devel/libc++/Makefile	Tue Mar  8 12:48:51 2016	(r410612)
> @@ -18,22 +18,21 @@ LICENSE_GROUP=3D	MIT UIUC
>  LICENSE_NAME_UIUC=3D	University of Illinois/NCSA Open Source License
>  LICENSE_PERMS_UIUC=3D	dist-mirror dist-sell pkg-mirror pkg-sell auto-a=
ccept
> =20
> -LIB_DEPENDS=3D	libcxxrt.so:${PORTSDIR}/devel/libcxxrt
> -
>  USES+=3D		cmake:outsource compiler:c++11-lang
>  USE_LDCONFIG=3D	yes
>  LDFLAGS+=3D	-L${LOCALBASE}/lib
> =20
> -.include <bsd.port.options.mk>
> -
>  .if exists(/usr/lib/libcxxrt.so)
>  CXXRT_INCS=3D	/usr/include/c++/v1/
>  CXXRT_LIB=3D	/usr/lib/libcxxrt.so
>  .else
>  CXXRT_INCS=3D	${LOCALBASE}/include/cxxrt/
>  CXXRT_LIB=3D	${LOCALBASE}/lib/libcxxrt.so
> +LIB_DEPENDS+=3D	libcxxrt.so:${PORTSDIR}/devel/libcxxrt

This is a synth bug and should be reverted.

LIB_DEPENDS is already conditional on the specified library being
missing.  The tool should only add the dependency if the library is not
present because that is the behavior of LIB_DEPENDS (and *_DEPENDS) in
ports without tools, meaning it is the intended behavior.  This was
broken in portupgrade until r387621
(https://github.com/freebsd/portupgrade/issues/62), still broken in
portmaster (https://github.com/freebsd/portmaster/issues/44), and fine
in poudriere.

See the Poudriere code for this, it handles the issue by checking if the
library exists (in base) before adding it as an "expected" dependency
for a rebuild. CHECK_CHANGED_DEPS in common.sh.


>  .endif
> =20
> +.include <bsd.port.options.mk>
> +
>  CMAKE_ARGS=3D	-DLIBCXX_CXX_ABI=3Dlibcxxrt -DLIBCXX_LIBCXXRT_INCLUDE_PA=
THS=3D${CXXRT_INCS}
> =20
>  .if !defined(SVN_REV)
>=20


--=20
Regards,
Bryan Drewery


--Dpk42sBH0EQ4mRfIUaIcGjGX1UsdK89Xp--

--a55iF9TVwUgFgKEnQB2np1MHtNc0OXwRU
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJW363dAAoJEDXXcbtuRpfPO2cH/RGm4BxjIqa8VROECaDYY1T2
ZKMNJeb53xFZH9Q4NX54gGSwEFAs/a0n6s8Lerkpclo7ictqFARTIBfmlOxjEnsg
FibxTtgCZVUE8rWEKKAwlVtfb5DSMgEicMWxyd6z0TJBDJAAx92FaJT2h9RUV64p
LGtyn0/Kp+6XuuhuwTbFfcYCh5gxPss7wNBoVIjuVwQXOK5IK6h4dGBOZFkcse2i
GMhHqi/vtpwkDD0NDbwV/G00n20aQJ7J5HKBbtm57Cp1T0W322UgD/YCpt9rU8Rb
FFZsb9JZp9TufZ0exVROeavyCNaFTVCk4Kg8nvy8tnsCQrUHtYkoH26FLSwcIGc=
=sDjs
-----END PGP SIGNATURE-----

--a55iF9TVwUgFgKEnQB2np1MHtNc0OXwRU--



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