From owner-freebsd-mono@FreeBSD.ORG Wed May 13 18:08:50 2015 Return-Path: Delivered-To: freebsd-mono@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A1F76C94 for ; Wed, 13 May 2015 18:08:50 +0000 (UTC) Received: from vfemail.net (ninezero.vfemail.net [96.30.253.190]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 66AD21048 for ; Wed, 13 May 2015 18:08:50 +0000 (UTC) Received: (qmail 45289 invoked by uid 89); 13 May 2015 18:08:37 -0000 Received: from localhost (HELO freequeue.vfemail.net) (127.0.0.1) by localhost with (DHE-RSA-AES256-SHA encrypted) SMTP; 13 May 2015 18:08:34 -0000 Received: (qmail 56819 invoked by uid 89); 13 May 2015 11:07:50 -0000 Received: by simscan 1.3.1 ppid: 56815, pid: 56817, t: 0.0033s scanners:none Received: from unknown (HELO smtp102-2.vfemail.net) (172.16.100.62) by FreeQueue with SMTP; 13 May 2015 11:07:50 -0000 Received: (qmail 28496 invoked by uid 89); 13 May 2015 11:07:50 -0000 Received: by simscan 1.4.0 ppid: 28487, pid: 28492, t: 1.0873s scanners:none Received: from unknown (HELO nil) (amJlaWNoQHZmZW1haWwubmV0@172.16.100.27) by 172.16.100.62 with ESMTPA; 13 May 2015 11:07:49 -0000 From: Jan Beich To: freebsd-mono@freebsd.org Cc: freebsd-ports@freebsd.org Subject: LOCAL/foo with prebuilt binaries vs. nuget vs. packaging separately Date: Wed, 13 May 2015 13:07:20 +0200 Message-ID: <7fsc-68if-wny@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: freebsd-mono@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Mono and C# applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 May 2015 18:08:50 -0000 --==-=-= 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 =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 =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(int count, Func 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() =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)(() =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)(() =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----- --==-=-=--