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>