Changeset View
Standalone View
devel/msbuild/Makefile
# Created by: David Naylor <dbn@dragon.local> | |||||
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= msbuild | PORTNAME= msbuild | ||||
DISTVERSIONPREFIX= v | PORTVERSION= 16.5 | ||||
DISTVERSION= 15.8-preview | PORTREVISION= 0 | ||||
CATEGORIES= devel | CATEGORIES= devel | ||||
MASTER_SITES= https://github.com/mono/msbuild/releases/download/0.06/:bootstrap | MASTER_SITES= http://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/ | ||||
DISTFILES= mono_msbuild_xplat-master-3c930fa8.zip:bootstrap | DISTFILES= msbuild_16.5+xamarinxplat.2020.02.20.11.54-0xamarin2+ubuntu2004b1_all.deb | ||||
MAINTAINER= mono@FreeBSD.org | MAINTAINER= mono@FreeBSD.org | ||||
COMMENT= Build platform for .NET and Visual Studio | COMMENT= Build platform for .NET and Visual Studio | ||||
LICENSE= MIT | LICENSE= MIT | ||||
LICENSE_FILE= ${WRKSRC}/LICENSE | |||||
BUILD_DEPENDS= bash:shells/bash | RUN_DEPENDS= mono>6:lang/mono | ||||
mikael: Why is it commented? | |||||
NUGET_FEEDS= DOTNET_CORE NUGET ROSLYN ROSLYN_TOOLS SYMREADER_CONVERTER | NO_BUILD= yes | ||||
NUGET_LAYOUT= dotnet | NO_ARCH= yes | ||||
NO_WRKSUBDIR= yes | |||||
USES= mono:nuget shebangfix | do-extract: | ||||
USE_GITHUB= yes | @${DO_NADA} | ||||
GH_ACCOUNT= mono | |||||
GH_TAGNAME= 0.06 | |||||
SHEBANG_FILES= *.sh artifacts/mono-msbuild/msbuild build.sh build/*.sh | |||||
MAKE_ENV= GIT_COMMIT=3c930fa8721935cf0e381fd349f6f50cf2bc223d | |||||
MAKE_JOBS_UNSAFE=MSBuild has not implemented concurrent builds on non Windows platforms | |||||
ALL_TARGET= all-mono | |||||
TEST_TARGET= test-mono | |||||
post-extract: | |||||
${MKDIR} ${WRKSRC}/artifacts | |||||
${MV} ${WRKDIR}/msbuild ${WRKSRC}/artifacts/mono-msbuild | |||||
do-build: | |||||
(cd ${WRKSRC}; \ | |||||
${SETENV} ${MAKE_ENV} ./build/build.sh -host mono -configuration Release -skipTests build) | |||||
do-install: | do-install: | ||||
Not Done Inline Actions@${DO_NADA} mikael: @${DO_NADA} | |||||
(cd ${WRKSRC}; \ | ${MKDIR} ${STAGEDIR}${PREFIX} | ||||
${SETENV} ${MAKE_ENV} DESTDIR=${STAGEDIR} PATH=${WRKSRC}/artifacts/mono-msbuild:$$PATH ./install-mono-prefix.sh ${PREFIX}) | (cd ${STAGEDIR}${PREFIX}; ${TAR} -xOf ${_DISTDIR}/${DISTFILES} data.tar.xz | ${TAR} --strip-components 2 -xf -) | ||||
${REINPLACE_CMD} -e "s#/usr#${PREFIX}#g" ${STAGEDIR}${PREFIX}/bin/msbuild | |||||
Not Done Inline Actionsdon't hardcode /usr/local, use ${LOCALBASE} instead (or it has to live in /usr/local?) Is /usr/local/bin/msbuild a binary or a shell script (I haven't looked, it seems weird to SED a string in a binary). Also why not REINPLACE_CMD? ${TAR} -xOf ${_DISTDIR}/${DISTFILES} data.tar.xz | ... mikael: don't hardcode /usr/local, use ${LOCALBASE} instead (or it has to live in /usr/local?)
Is… | |||||
Done Inline ActionsIt's a shell script that invokes mono. I didn't know about REINPLACE_CMD.
I'm not sure what you mean. Are you telling me to extract the deb file with tar instead of ar? Because ar is also what net-mgmt/unifi-lts uses (I used it as a template). noah.bergbauer_tum.de: It's a shell script that invokes mono. I didn't know about REINPLACE_CMD.
> ${TAR} -xOf… | |||||
Not Done Inline Actionsyes, it seems weird to use 'ar' and then 'tar' mikael: yes, it seems weird to use 'ar' and then 'tar' | |||||
do-test: | OPTIONS_DEFINE= DOCS | ||||
(cd ${WRKSRC}; \ | OPTIONS_DEFAULT= DOCS | ||||
Not Done Inline ActionsWhy not a pkg-plist? mikael: Why not a pkg-plist? | |||||
Done Inline ActionsI'm under the impression that the point of a pkg-plist file is to select what files you actually want to add. In this case the selection was already made when upstream built their debian package. AFAICS repeating the exact list of files from inside the tar archive in a plist file over here is essentially just creating busywork. I copied this find-tmpplist construction from net-mgmt/unifi-lts which I used as a template. noah.bergbauer_tum.de: I'm under the impression that the point of a pkg-plist file is to select what files you… | |||||
Not Done Inline Actionsthe pkg-plist is explained in porters handbook section 3.2.2. pkg-plist mikael: the pkg-plist is explained in [[ https://www.freebsd.org/doc/en/books/porters-handbook/book. | |||||
${SETENV} ${MAKE_ENV} ./build/build.sh -host mono -configuration Release build) | |||||
.include <bsd.port.mk> | .include <bsd.port.mk> |
Why is it commented?