Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 May 2015 13:07:20 +0200
From:      Jan Beich <jbeich@FreeBSD.org>
To:        freebsd-mono@freebsd.org
Cc:        freebsd-ports@freebsd.org
Subject:   LOCAL/foo with prebuilt binaries vs. nuget vs. packaging separately
Message-ID:  <7fsc-68if-wny@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
--==-=-=
Content-Type: multipart/mixed; boundary="=-=-="

--=-=-=
Content-Type: text/plain

games/openra upstream stopped shipping third-party *.dll dependencies
within distfile and instead provieds a script which calls nuget. We don't
have a port for nuget nor a USES facility to handle anything other than
fetch(1)-like tool.

Packaging the mono libraries is possible but there're 11 of which only 1
is already available: devel/newtonsoft-json. It's also complicated by
AssemblyKeyFile sometimes not being provided by upstream. The key cannot
be generated within Makefile as it affects GAC hash used in install path.
And I'm not sure if signing with dowstream key is a good idea.

https://github.com/OpenRA/OpenRA/blob/bleed/thirdparty/fetch-thirdparty-deps.sh

Do you have better ideas?


--=-=-=
Content-Type: text/plain
Content-Disposition: attachment; filename=local.diff
Content-Transfer-Encoding: quoted-printable
Content-Description: LOCAL/foo workaround

Index: games/openra/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
=2D-- games/openra/Makefile	(revision 385731)
+++ games/openra/Makefile	(working copy)
@@ -1,10 +1,12 @@
 # $FreeBSD$
=20
 PORTNAME=3D	openra
=2DPORTVERSION=3D	20141029
+PORTVERSION=3D	20150424
 DISTVERSIONPREFIX=3D	release-
=2DPORTREVISION=3D	2
 CATEGORIES=3D	games
+MASTER_SITES=3D	LOCAL/jbeich:libs
+DISTFILES=3D	${DISTNAME}${EXTRACT_SUFX} \
+		${PORTNAME}-20150511.thirdparty.txz:libs
=20
 MAINTAINER=3D	jbeich@FreeBSD.org
 COMMENT=3D	Multiplayer re-envisioning of early RTS games by Westwood Studi=
os
@@ -43,9 +45,14 @@ ZENITY_DESC=3D	Use native crash dialog
=20
 .include <bsd.port.options.mk>
=20
+post-extract:
+# XXX Convert to USES=3Dnuget or package dependencies instead
+	${MV} ${WRKDIR}/thirdparty/download/* ${WRKSRC}/thirdparty
+
 post-patch:
 	${REINPLACE_CMD} -e 's/Linux/${OPSYS}/' \
 		-e '/CP_R/s,hicolor/,hicolor,' \
+		-e '/fetch-thirdparty-deps/d' \
 		-e 's/crashdialog/gamemonitor/' \
 		-e '/^mods:/s/$$/ version/' \
 		-e '/^docs:/s/$$/ all/' \
Index: games/openra/distinfo
=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
=2D-- games/openra/distinfo	(revision 385731)
+++ games/openra/distinfo	(working copy)
@@ -1,2 +1,4 @@
=2DSHA256 (openra-OpenRA-release-20141029_GH0.tar.gz) =3D f9986bb0d8b5b0580=
56f012e547eab015da1e4f079414cb419661a833ce35920
=2DSIZE (openra-OpenRA-release-20141029_GH0.tar.gz) =3D 15336937
+SHA256 (openra-OpenRA-release-20150424_GH0.tar.gz) =3D b5837cc6b33ff804aa4=
5f25c77662d448828815b1b554eab38ed6bd2ae48dd07
+SIZE (openra-OpenRA-release-20150424_GH0.tar.gz) =3D 17110851
+SHA256 (openra-20150511.thirdparty.txz) =3D 53d1f4d642a85b7ddab5f9399cf290=
531cb81a2649868f0fa91bd722260a6e47
+SIZE (openra-20150511.thirdparty.txz) =3D 1156972
Index: games/openra/files/patch-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
=2D-- games/openra/files/patch-Makefile	(revision 385731)
+++ games/openra/files/patch-Makefile	(working copy)
@@ -2,7 +2,7 @@
=20
 --- Makefile~
 +++ Makefile
=2D@@ -357,10 +357,28 @@ install-linux-desktop:
+@@ -381,10 +381,28 @@ install-linux-mime:
  install-linux-scripts:
  	@echo "#!/bin/sh" > openra
  	@echo 'cd "$(gameinstalldir)"' >> openra
@@ -18,7 +18,7 @@
 +	@echo 'else' >> openra
 +	@echo '  mono OpenRA.Game.exe "$$@"' >> openra
 +	@echo 'fi' >> openra
=2D 	@echo 'if [ $$? !=3D 0 ]' >> openra
+ 	@echo 'if [ $$? !=3D 0 -a $$? !=3D 1 ]' >> openra
  	@echo 'then' >> openra
 -	@echo 'ZENITY=3D`which zenity` || echo "OpenRA needs zenity installed to=
 display a graphical error dialog. See ~/.openra. for log files."' >> openra
 +	@echo '  if [ -z "$$ZENITY" ]' >> openra
Index: games/openra/files/patch-xamarin-bug23319
=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
=2D-- games/openra/files/patch-xamarin-bug23319	(revision 385731)
+++ games/openra/files/patch-xamarin-bug23319	(working copy)
@@ -1,50 +0,0 @@
=2Dcommit 04cbea3
=2DAuthor: Gordon Martin <gordonhughmartin@gmail.com>
=2DDate:   Tue Nov 11 13:35:49 2014 +0000
=2D
=2D    Desugaring a couple of ternary expressions which prevented OpenRA bu=
ilding on Mono 3.10 and certain versions of the 3.8 series due to a bug in =
Mono: https://bugzilla.xamarin.com/show_bug.cgi?id=3D23319
=2D---
=2D OpenRA.Game/Exts.cs                      |  8 ++++++--
=2D OpenRA.Mods.RA/Render/WithMuzzleFlash.cs | 10 ++++++++--
=2D 2 files changed, 14 insertions(+), 4 deletions(-)
=2D
=2Ddiff --git OpenRA.Game/Exts.cs OpenRA.Game/Exts.cs
=2Dindex 19d177a..0faf5af 100644
=2D--- OpenRA.Game/Exts.cs
=2D+++ OpenRA.Game/Exts.cs
=2D@@ -374,8 +374,12 @@ public static T[] MakeArray<T>(int count, Func<int,=
 T> f)
=2D 			var result =3D new T[width, height];
=2D 			for (var i =3D 0; i < width; i++)
=2D 				for (var j =3D 0; j < height; j++)
=2D-					result[i, j] =3D i <=3D ts.GetUpperBound(0) && j <=3D ts.GetUpperB=
ound(1)
=2D-						? ts[i, j] : t;
=2D+					// Workaround for broken ternary operators in certain versions of =
mono (3.10 and=20=20
=2D+					// certain versions of the 3.8 series): https://bugzilla.xamarin.c=
om/show_bug.cgi?id=3D23319
=2D+					if (i <=3D ts.GetUpperBound(0) && j <=3D ts.GetUpperBound(1))
=2D+						result[i, j] =3D ts[i, j];
=2D+					else
=2D+						result[i, j] =3D t;
=2D 			return result;
=2D 		}
=2D=20
=2Ddiff --git OpenRA.Mods.RA/Render/WithMuzzleFlash.cs OpenRA.Mods.RA/Rende=
r/WithMuzzleFlash.cs
=2Dindex 2db391a..40a59d9 100644
=2D--- OpenRA.Mods.RA/Render/WithMuzzleFlash.cs
=2D+++ OpenRA.Mods.RA/Render/WithMuzzleFlash.cs
=2D@@ -51,8 +51,14 @@ public WithMuzzleFlash(Actor self, WithMuzzleFlashInf=
o info)
=2D 					var turreted =3D self.TraitsImplementing<Turreted>()
=2D 						.FirstOrDefault(t =3D> t.Name =3D=3D  arm.Info.Turret);
=2D=20
=2D-					getFacing =3D turreted !=3D null ? () =3D> turreted.TurretFacing :
=2D-						facing !=3D null ? (Func<int>)(() =3D> facing.Facing) : () =3D> 0;
=2D+					// Workaround for broken ternary operators in certain versions of =
mono (3.10 and=20=20
=2D+					// certain versions of the 3.8 series): https://bugzilla.xamarin.c=
om/show_bug.cgi?id=3D23319
=2D+					if (turreted !=3D null)
=2D+						getFacing =3D () =3D> turreted.TurretFacing;
=2D+					else if (facing !=3D null)
=2D+						getFacing =3D (Func<int>)(() =3D> facing.Facing);
=2D+					else
=2D+						getFacing =3D () =3D> 0;
=2D=20
=2D 					var muzzleFlash =3D new Animation(self.World, render.GetImage(self=
), getFacing);
=2D 					visible.Add(barrel, false);

--=-=-=--

--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQF8BAEBCgBmBQJVUzBoXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREQjQ0MzY3NEM3RDIzNTc4NkUxNDkyQ0VF
NEM3Nzg4MzQ3OURCRERCAAoJEOTHeINHnb3b/mcIAJLCN5A9n9ehSUN2YrRVH5PQ
Jz4seV8/5sfSgauKLRSgGkXit9lWjOwvzqWWa+ITdQt4LMvdCIHMyTeQAQqxtmdj
F8bxa/Iys5PIZtpN+FVpS2s42YoSlxusyT/a3nYGRkKu67o2jDKvR7smwxCwnRlD
uxczr3GZOl36PIdgR/qXqgvJczNHW0ITkb4+7exkPg3+7XL/t1YyqT3EXqRpRmzE
BIv1GRBiHyHQkOwgia/tsT+nUCr++t06FlhZzRmZAooCcz4BhQytkvt/uKFH7oXL
iTashSUOMOaV+RW+ueIjNP36qDXbuGqF5Ly3cvJEphox0xIvd6wJDNFpAgHum/I=
=xfoE
-----END PGP SIGNATURE-----
--==-=-=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7fsc-68if-wny>