Greg Steuck <[email protected]> writes: > I took this a bit further and I get a working devel/happy package now. > > This is still a complete WIP but I wanted to get some early feedback on > the implementation choices as this is my first foray into port-modules.
Converting devel/alex is straightforward which further validates the approach (though still doesn't touch any of the existing limitations).
>From 6e1020d085e778f65dc672ee356e26d129e5d174 Mon Sep 17 00:00:00 2001 From: Greg Steuck <[email protected]> Date: Sat, 22 Aug 2020 15:27:27 -0700 Subject: [PATCH] Use devel/cabal module for devel/alex --- devel/alex/Makefile | 23 +++++++++++------------ devel/alex/distinfo | 4 ++-- devel/alex/pkg/PLIST | 5 ++++- devel/cabal/cabal.port.mk | 4 ++-- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git devel/alex/Makefile devel/alex/Makefile index 7b8b5d667a3..d72571f1be2 100644 --- devel/alex/Makefile +++ devel/alex/Makefile @@ -2,13 +2,8 @@ COMMENT = lexical analyser generator for Haskell -# Dependency of meta/haskell-platform. -# Please do *not* update without thinking. -PORTROACH = ignore:1 - -DISTNAME = alex-3.1.7 +DISTNAME = alex-3.2.5 CATEGORIES = devel -REVISION = 0 HOMEPAGE = http://www.haskell.org/alex/ @@ -17,8 +12,10 @@ PERMIT_PACKAGE = Yes WANTLIB = c charset ffi gmp iconv m pthread util -MODULES = lang/ghc -MODGHC_BUILD = cabal hackage nort +MODULES = devel/cabal +MODCABAL_EXECUTABLES= alex +MODCABAL_BUILD= hackage +MODCABAL_DATA_DIRS= data LIB_DEPENDS = converters/libiconv \ devel/gmp \ @@ -31,8 +28,7 @@ AUTOCONF_VERSION = 2.61 AUTOCONF_DIR = ${WRKSRC}/doc WRKCONF = ${AUTOCONF_DIR} -BUILD_DEPENDS += devel/hs-QuickCheck>=2 \ - textproc/docbook-xsl +BUILD_DEPENDS += textproc/docbook-xsl post-build: @cd ${WRKBUILD}/doc && exec ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} html @@ -42,7 +38,10 @@ post-install: cd ${WRKBUILD}/doc && umask 022 && pax -rw alex ${PREFIX}/share/doc do-test: - cd ${WRKBUILD}/tests && exec ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} \ - all + cd ${WRKBUILD}/tests && exec ${SETENV} ${MAKE_ENV} \ + ${MAKE_PROGRAM} ALEX=${MODCABAL_BUILT_EXECUTABLE_alex} \ + TEST_ALEX_OPTS=--template=../data \ + -j ${MAKE_JOBS} all + .include <bsd.port.mk> diff --git devel/alex/distinfo devel/alex/distinfo index d3ce2e457cf..0dbe0647154 100644 --- devel/alex/distinfo +++ devel/alex/distinfo @@ -1,2 +1,2 @@ -SHA256 (ghc/alex-3.1.7.tar.gz) = iaGhPabMvrAGSI2VdDguiRz3wFZ3UrMwzIYW10i/KNE= -SIZE (ghc/alex-3.1.7.tar.gz) = 103624 +SHA256 (hackage/alex-3.2.5.tar.gz) = t3yKEnB2fGTirbIabpHufNkEuhftrhe8IP0D2lJW4OM= +SIZE (hackage/alex-3.2.5.tar.gz) = 108531 diff --git devel/alex/pkg/PLIST devel/alex/pkg/PLIST index 2e8e08fd666..e128b76c59d 100644 --- devel/alex/pkg/PLIST +++ devel/alex/pkg/PLIST @@ -1,5 +1,7 @@ @comment $OpenBSD: PLIST,v 1.6 2013/07/18 21:58:00 kili Exp $ -@bin bin/alex +bin/alex +libexec/cabal/ +@bin libexec/cabal/alex share/${DISTNAME}/ share/${DISTNAME}/AlexTemplate share/${DISTNAME}/AlexTemplate-debug @@ -35,4 +37,5 @@ share/doc/alex/relnotes-20.html share/doc/alex/relnotes-210.html share/doc/alex/relnotes-22.html share/doc/alex/syntax.html +share/doc/alex/types.html share/doc/alex/wrappers.html diff --git devel/cabal/cabal.port.mk devel/cabal/cabal.port.mk index d48c4a29c14..292e3773f94 100644 --- devel/cabal/cabal.port.mk +++ devel/cabal/cabal.port.mk @@ -40,14 +40,14 @@ MODCABAL_post-extract += \ .endfor .endif -CABAL = ${SETENV} ${MAKE_ENV} HOME=${_MODCABAL_HOME} ${LOCALBASE}/bin/cabal +MODCABAL_CABAL = ${SETENV} ${MAKE_ENV} HOME=${_MODCABAL_HOME} ${LOCALBASE}/bin/cabal MODCABAL_BUILD_ARGS = --datadir=${PREFIX}/share/${PKGNAME} _MODCABAL_BUILD_TARGETS ?= ${MODCABAL_EXECUTABLES:C/^/exe:&/} MODCABAL_BUILD_TARGET = \ cd ${WRKBUILD} \ - && ${CABAL} v2-build --offline --disable-benchmarks --disable-tests \ + && ${MODCABAL_CABAL} v2-build --offline --disable-benchmarks --disable-tests \ --flags "${MODCABAL_FLAGS}" ${MODCABAL_BUILD_ARGS} ${MODCABAL_BUILD_TARGETS} _MODCABAL_LIBEXEC = libexec/cabal -- 2.28.0
