- https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.1.11 Sponsored by: SkunkWerks, Gmbh
83 lines
3.0 KiB
Makefile
83 lines
3.0 KiB
Makefile
PORTNAME= tailwindcss4
|
|
DISTVERSION= 4.1.11
|
|
CATEGORIES= www devel
|
|
MASTER_SITES= LOCAL/dch/${PORTNAME}/:npm
|
|
DISTFILES= ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX}:npm
|
|
|
|
MAINTAINER= dch@FreeBSD.org
|
|
COMMENT= Utility-first CSS framework with npm dependencies
|
|
WWW= https://tailwindcss.com/
|
|
|
|
LICENSE= MIT
|
|
|
|
ONLY_FOR_ARCHS= amd64
|
|
|
|
BUILD_DEPENDS= npm-node24>0:www/npm-node24
|
|
USES= nodejs:24,build,run python:build tar:txz
|
|
|
|
CONFLICTS_INSTALL= tailwindcss*
|
|
|
|
_DAISYUI_VER= 5.0.46
|
|
_FORMS_VER= 0.5.10
|
|
_POSTCSS_VER= 8.5.5
|
|
_TWCLI_VER= ${DISTVERSION}
|
|
_TAILWIND_VER= ${DISTVERSION}
|
|
_WATCHER_VER= 2.5.1
|
|
|
|
_NPM_CACHE= ${WRKDIR}/cache
|
|
_NPM_ARCHIVE= ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX}
|
|
|
|
do-extract:
|
|
@${MKDIR} ${WRKDIR}/cache
|
|
${TAR} -xf ${DISTDIR}/${_NPM_ARCHIVE} -C ${_NPM_CACHE}
|
|
|
|
do-build:
|
|
${MKDIR} -p ${WRKDIR}
|
|
# because nodejs is fiddly we can't build & then install
|
|
.if !defined(MAINTAINER_MODE)
|
|
${ECHO_CMD} offline=true > ${WRKDIR}/.npmrc
|
|
.else
|
|
${ECHO_CMD} > ${WRKDIR}/.npmrc
|
|
.endif
|
|
|
|
do-install:
|
|
${ECHO_CMD} python=${PYTHON_CMD} >> ${WRKDIR}/.npmrc
|
|
(cd ${WRKDIR} && \
|
|
${SETENV} HOME=${WRKDIR} npm_config_cache=${_NPM_CACHE} \
|
|
npm_config_devdir=${_NPM_CACHE} npm_config_nodedir=${PREFIX} \
|
|
npm_config_node_gyp_include_dir=${PREFIX}/include/node \
|
|
npm install --global --no-audit --no-fund --no-prune --cache \
|
|
${_NPM_CACHE} --prefer-offline --verbose --no-progress \
|
|
--build-from-source --prefix=${STAGEDIR}${PREFIX} @parcel/watcher@${_WATCHER_VER} \
|
|
@tailwindcss/cli@${TWCLI_VER} @tailwindcss/forms@${FORMS_VER} \
|
|
autoprefixer@${_PREFIX_VER} postcss@${_POSTCSS_VER} \
|
|
tailwindcss@${_TAILWIND_VER} daisyui@${_DAISYUI_VER})
|
|
# strip .node files they are shared libraries
|
|
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/node_modules/@parcel/watcher/node_modules/@parcel/watcher-freebsd-*/watcher.node
|
|
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/node_modules/@parcel/watcher/build/Release/watcher.node
|
|
# create symlinks for the CLI tools
|
|
.for script in nanoid:../lib/node_modules/nanoid/bin/nanoid.cjs \
|
|
tailwind:../lib/node_modules/@tailwindcss/cli/dist/index.mjs \
|
|
tailwindcss:../lib/node_modules/@tailwindcss/cli/dist/index.mjs
|
|
${LN} -sf ${script:C/.*://} ${STAGEDIR}${PREFIX}/bin/${script:C/:.*//}
|
|
.endfor
|
|
# remove files already present in node, npm, or yarn packages
|
|
.for m in corepack npm
|
|
${RM} -rf ${STAGEDIR}${PREFIX}/lib/node_modules/${m}
|
|
.endfor
|
|
# remove build detritus
|
|
.for file in Release/.deps Release/obj.target Makefile binding.Makefile \
|
|
config.gypi watcher.target.mk
|
|
${RM} -rf ${STAGEDIR}${PREFIX}/lib/node_modules/@parcel/watcher/build/${file}
|
|
.endfor
|
|
|
|
# first, run `make -DMAINTAINER_MODE do-build`, then `make _tarball`
|
|
_tarball: do-install
|
|
${TAR} -caf ${DISTDIR}/${_NPM_ARCHIVE} -C ${_NPM_CACHE} _cacache
|
|
${CHMOD} 644 ${DISTDIR}/${_NPM_ARCHIVE}
|
|
@${ECHO_MSG} Ready to upload tarball to freefall distfiles directory:
|
|
@${ECHO_MSG} ${DISTDIR}/${_NPM_ARCHIVE}
|
|
@${ECHO_MSG} scp ${DISTDIR}/${_NPM_ARCHIVE} dch@freefall.freebsd.org:public_distfiles/${PORTNAME}/
|
|
|
|
.include <bsd.port.mk>
|