>From da5de704008e179e32eb582796f751e820b92efb Mon Sep 17 00:00:00 2001
From: Greg Steuck <g...@nest.cx>
Date: Mon, 24 Aug 2020 19:20:59 -0700
Subject: [PATCH 4/7] Use devel/cabal module for x11/xmonad (still the latest
 release)

---
 x11/xmonad/Makefile                  | 67 +++++++++-----------
 x11/xmonad/distinfo                  | 28 ++++++++-
 x11/xmonad/files/build               | 13 ++++
 x11/xmonad/files/xmonad-config.cabal | 13 ++++
 x11/xmonad/pkg/{DESCR-main => DESCR} |  0
 x11/xmonad/pkg/DESCR-lib             |  2 -
 x11/xmonad/pkg/MESSAGE               |  6 ++
 x11/xmonad/pkg/MESSAGE-main          |  4 --
 x11/xmonad/pkg/PLIST                 |  9 +++
 x11/xmonad/pkg/PLIST-lib             | 91 ----------------------------
 x11/xmonad/pkg/PLIST-main            |  4 --
 11 files changed, 96 insertions(+), 141 deletions(-)
 create mode 100644 x11/xmonad/files/build
 create mode 100644 x11/xmonad/files/xmonad-config.cabal
 rename x11/xmonad/pkg/{DESCR-main => DESCR} (100%)
 delete mode 100644 x11/xmonad/pkg/DESCR-lib
 create mode 100644 x11/xmonad/pkg/MESSAGE
 delete mode 100644 x11/xmonad/pkg/MESSAGE-main
 create mode 100644 x11/xmonad/pkg/PLIST
 delete mode 100644 x11/xmonad/pkg/PLIST-lib
 delete mode 100644 x11/xmonad/pkg/PLIST-main

diff --git a/x11/xmonad/Makefile b/x11/xmonad/Makefile
index 32408e28c60..e46d0e4e303 100644
--- a/x11/xmonad/Makefile
+++ b/x11/xmonad/Makefile
@@ -1,59 +1,50 @@
 # $OpenBSD: Makefile,v 1.58 2019/09/30 12:41:12 kili Exp $
 
-COMMENT-main =         tiling window manager
-COMMENT-lib =          libraries for runtime configuration
+COMMENT =              tiling window manager
 
-DISTNAME =             xmonad-0.15
+MODCABAL_STEM =                xmonad
+MODCABAL_VERSION =     0.15
+REVISION =             0
 
-PKGNAME-main =         ${DISTNAME}
-PKGNAME-lib =          ${DISTNAME:S,-,-lib-,}
+PKGNAME =              ${DISTNAME}
 CATEGORIES =           x11
 HOMEPAGE =             http://www.xmonad.org/
 
-MULTI_PACKAGES =               -main -lib
-
 # BSD3
 PERMIT_PACKAGE =       Yes
 
-WANTLIB-main =         X11 Xext Xinerama Xrandr Xss c charset ffi gmp \
+WANTLIB =              X11 Xext Xinerama Xrandr Xss c charset ffi gmp \
                        m iconv pthread util
-WANTLIB-lib =
-
-MODULES =              lang/ghc
-MODGHC_BUILD =         cabal hackage haddock register nort
-
-MODGHC_PACKAGE_KEY =   9L0IDbyIoHf7Mpz81NeFlT
 
-# Required because of the nort tag in MODGHC_BUILD
-SUBST_VARS +=          MODGHC_PACKAGE_KEY
-
-BUILD_DEPENDS =                ${RUN_DEPENDS-lib}
-RUN_DEPENDS-lib =      devel/hs-data-default \
-                       devel/hs-extensible-exceptions \
-                       devel/hs-utf8-string>=0.3,<1.1 \
-                       x11/hs-X11>=1.8,<1.9
-LIB_DEPENDS-main =     converters/libiconv \
+MODULES =              devel/cabal
+MODCABAL_MANIFEST = \
+       X11     1.9.2   0       \
+       data-default    0.7.1.1 0       \
+       data-default-class      0.1.2.0 0       \
+       data-default-instances-containers       0.0.1   0       \
+       data-default-instances-dlist    0.0.1   0       \
+       data-default-instances-old-locale       0.0.1   0       \
+       dlist   1.0     0       \
+       extensible-exceptions   0.1.1.4 0       \
+       old-locale      1.0.0.7 2       \
+       utf8-string     1.0.1.1 3       \
+
+LIB_DEPENDS =          converters/libiconv \
                        devel/gmp \
                        devel/libffi
 
-# MODGHC_BUILD contains 'nort', an explicity dependency is needed for
-# the -lib subpackage (plus the tweaks to MODGHC_SETUP_CONF_ARGS below).
-RUN_DEPENDS-lib +=             lang/ghc=${MODGHC_VER}
-
 post-install:
-       @${INSTALL_MAN} ${WRKSRC}/man/xmonad.1 ${PREFIX}/man/man1
-       @${INSTALL_DATA} ${WRKSRC}/CONFIG ${PREFIX}/share/doc/hs-${DISTNAME}
-       @${INSTALL_DATA} ${WRKSRC}/man/xmonad.hs 
${PREFIX}/share/doc/hs-${DISTNAME}/xmonad.hs
-       @# Don't know why, but it installs the xmonad.hs into that directory:
-       @rm -rf ${PREFIX}/share/${DISTNAME}
+       ${INSTALL_MAN} ${WRKSRC}/man/xmonad.1 ${PREFIX}/man/man1
+       ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/${DISTNAME}
+       ${INSTALL_DATA} ${WRKSRC}/{CONFIG,man/xmonad.hs} \
+               ${PREFIX}/share/doc/${DISTNAME}
+       ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/${DISTNAME}
+       ${INSTALL_DATA} ${FILESDIR}/xmonad-config.cabal \
+               ${PREFIX}/share/examples/${DISTNAME}
+       ${INSTALL_SCRIPT} ${FILESDIR}/build \
+               ${PREFIX}/share/examples/${DISTNAME}
 
 # Needs to be built with different configuration.
 NO_TEST =      Yes
 
 .include <bsd.port.mk>
-
-# Override the 'nort' settings from ghc.port.mk, to get the correct
-# flags and directories for the -lib subpackage.
-MODGHC_SETUP_CONF_ARGS +=      --enable-library-profiling
-MODGHC_SETUP_CONF_ARGS +=      --docdir=\$$datadir/doc/hs-\$$pkgid
-MODGHC_SETUP_CONF_ARGS +=      --libsubdir=ghc/\$$pkgid
diff --git a/x11/xmonad/distinfo b/x11/xmonad/distinfo
index 03764be53e6..6fd50cc4e3a 100644
--- a/x11/xmonad/distinfo
+++ b/x11/xmonad/distinfo
@@ -1,2 +1,26 @@
-SHA256 (ghc/xmonad-0.15.tar.gz) = SnlI5u7l40on0VREWJreOz+hreytvze5Q8/4NIOA+Sg=
-SIZE (ghc/xmonad-0.15.tar.gz) = 68822
+SHA256 (hackage/X11-1.9.2.tar.gz) = 
BbDZo3n0arihcDoLyxsLl8CAdkOyEHHuREkv3oi3fgQ=
+SHA256 (hackage/data-default-0.7.1.1.tar.gz) = 
sPldJ5zXXKyqgVKgFZDcNGD3E09oQLNwUquzujyypRE=
+SHA256 (hackage/data-default-class-0.1.2.0.tar.gz) = 
TwG0I/AAw+BpqvUqNIVkplNnl/MUmLuFw9tL0tCXPlY=
+SHA256 (hackage/data-default-instances-containers-0.0.1.tar.gz) = 
pV4HrwBcmBXYLz/JXhJduCmUN3yfSnaUKIeHAdTsCBo=
+SHA256 (hackage/data-default-instances-dlist-0.0.1.tar.gz) = 
fWg3Ecvwir163NWsK+glOBMI0iA5cxWlVw/mG3GbWVk=
+SHA256 (hackage/data-default-instances-old-locale-0.0.1.tar.gz) = 
YNOwKSKVjEkI178rJN32FRFmV0X3hCJ9IGdFeEsMCAI=
+SHA256 (hackage/dlist-1.0.tar.gz) = 
Fz1jcyi7Fz/MNl8w0p/0qUKSoeDlVYrrPfwR3oFRARU=
+SHA256 (hackage/extensible-exceptions-0.1.1.4.tar.gz) = 
bOXogBdgOFpAjatxtTVQ+HYp5mGyYL3CzUHGpDm244g=
+SHA256 (hackage/old-locale-1.0.0.7.tar.gz) = 
26+L9riI+5iEVwUHkpaiPD9A7i9EnfcxL39/HeGNe1A=
+SHA256 (hackage/old-locale-1.0.0.7_2.cabal) = 
+pmL4sfgDNJqbpB1vqeQyq85Msqj6Ul61pvCA4DdaRE=
+SHA256 (hackage/utf8-string-1.0.1.1.tar.gz) = 
+wueOsvgYFvNHGPlHykKe7vmYo36MpT/RT5CNfuu8UA=
+SHA256 (hackage/utf8-string-1.0.1.1_3.cabal) = 
aMxs9mXnISM0pRtj1pNtrqygI7LP6GN9EwrP6V+RcAs=
+SHA256 (hackage/xmonad-0.15.tar.gz) = 
SnlI5u7l40on0VREWJreOz+hreytvze5Q8/4NIOA+Sg=
+SIZE (hackage/X11-1.9.2.tar.gz) = 190757
+SIZE (hackage/data-default-0.7.1.1.tar.gz) = 1627
+SIZE (hackage/data-default-class-0.1.2.0.tar.gz) = 2522
+SIZE (hackage/data-default-instances-containers-0.0.1.tar.gz) = 1659
+SIZE (hackage/data-default-instances-dlist-0.0.1.tar.gz) = 1503
+SIZE (hackage/data-default-instances-old-locale-0.0.1.tar.gz) = 1519
+SIZE (hackage/dlist-1.0.tar.gz) = 18667
+SIZE (hackage/extensible-exceptions-0.1.1.4.tar.gz) = 8531
+SIZE (hackage/old-locale-1.0.0.7.tar.gz) = 3384
+SIZE (hackage/old-locale-1.0.0.7_2.cabal) = 1071
+SIZE (hackage/utf8-string-1.0.1.1.tar.gz) = 8667
+SIZE (hackage/utf8-string-1.0.1.1_3.cabal) = 1151
+SIZE (hackage/xmonad-0.15.tar.gz) = 68822
diff --git a/x11/xmonad/files/build b/x11/xmonad/files/build
new file mode 100644
index 00000000000..3897cf5e499
--- /dev/null
+++ b/x11/xmonad/files/build
@@ -0,0 +1,13 @@
+#!/bin/ksh -eu
+
+output_file="${1}"
+
+if [ "${output_file}" -nt xmonad.hs ]; then
+    echo "${output_file}" is newer than xmonad.hs
+    exit 0
+fi
+
+cabal v2-install exe:xmonad-config --overwrite-policy=always 
--install-method=copy
+
+[ -e "${output_file}" ] && mv -f "${output_file}" "${output_file}.old"
+install "${HOME}/.cabal/bin/xmonad-config" "${output_file}"
diff --git a/x11/xmonad/files/xmonad-config.cabal 
b/x11/xmonad/files/xmonad-config.cabal
new file mode 100644
index 00000000000..7615dd89677
--- /dev/null
+++ b/x11/xmonad/files/xmonad-config.cabal
@@ -0,0 +1,13 @@
+cabal-version:      2.4
+
+name:               xmonad-config
+version:            0.1.0.0
+synopsis:           XMonad config
+author:             Greg Steuck
+maintainer:         xmo...@nest.cx
+
+executable xmonad-config
+  main-is:            xmonad.hs
+  build-depends:      base, xmonad, data-default, xmonad-contrib
+  hs-source-dirs:     .
+  default-language:   Haskell2010
diff --git a/x11/xmonad/pkg/DESCR-main b/x11/xmonad/pkg/DESCR
similarity index 100%
rename from x11/xmonad/pkg/DESCR-main
rename to x11/xmonad/pkg/DESCR
diff --git a/x11/xmonad/pkg/DESCR-lib b/x11/xmonad/pkg/DESCR-lib
deleted file mode 100644
index 16398b7e317..00000000000
--- a/x11/xmonad/pkg/DESCR-lib
+++ /dev/null
@@ -1,2 +0,0 @@
-The xmonad libraries are required for runtime configuration of
-xmonad.
diff --git a/x11/xmonad/pkg/MESSAGE b/x11/xmonad/pkg/MESSAGE
new file mode 100644
index 00000000000..47ff859c35f
--- /dev/null
+++ b/x11/xmonad/pkg/MESSAGE
@@ -0,0 +1,6 @@
+XMonad is now compiled using `cabal v2-build`. If you rely on a custom
+xmonad.hs configuration file, you should switch to using
+~/.xmonad/build script. An example is included in
+${PREFIX}/share/examples/${PKGNAME}
+
+See https://github.com/xmonad/xmonad-testing/ for more information.
diff --git a/x11/xmonad/pkg/MESSAGE-main b/x11/xmonad/pkg/MESSAGE-main
deleted file mode 100644
index 1b8d41101fa..00000000000
--- a/x11/xmonad/pkg/MESSAGE-main
+++ /dev/null
@@ -1,4 +0,0 @@
-For a configurable xmonad (using ~/.xmonad/xmonad.hs), you should
-also install the xmonad-lib package. For even more fun (like the
-spiral layout), you may want to install the hs-xmonad-contrib
-package.
diff --git a/x11/xmonad/pkg/PLIST b/x11/xmonad/pkg/PLIST
new file mode 100644
index 00000000000..277710f69cf
--- /dev/null
+++ b/x11/xmonad/pkg/PLIST
@@ -0,0 +1,9 @@
+@comment $OpenBSD: PLIST,v$
+@bin bin/${MODCABAL_STEM}
+@man man/man1/${MODCABAL_STEM}.1
+share/doc/${PKGNAME}/
+share/doc/${PKGNAME}/CONFIG
+share/doc/${PKGNAME}/${MODCABAL_STEM}.hs
+share/examples/${PKGNAME}/
+share/examples/${PKGNAME}/build
+share/examples/${PKGNAME}/${MODCABAL_STEM}-config.cabal
diff --git a/x11/xmonad/pkg/PLIST-lib b/x11/xmonad/pkg/PLIST-lib
deleted file mode 100644
index a98d52cec3b..00000000000
--- a/x11/xmonad/pkg/PLIST-lib
+++ /dev/null
@@ -1,91 +0,0 @@
-@comment $OpenBSD: PLIST-lib,v 1.18 2019/09/30 12:41:13 kili Exp $
-@tag ghc-pkg-recache
-lib/ghc/package.conf.d/${DISTNAME}.conf
-lib/ghc/${DISTNAME}/
-lib/ghc/${DISTNAME}/Paths_xmonad.dyn_hi
-lib/ghc/${DISTNAME}/Paths_xmonad.hi
-lib/ghc/${DISTNAME}/Paths_xmonad.p_hi
-lib/ghc/${DISTNAME}/XMonad/
-lib/ghc/${DISTNAME}/XMonad.dyn_hi
-lib/ghc/${DISTNAME}/XMonad.hi
-lib/ghc/${DISTNAME}/XMonad.p_hi
-lib/ghc/${DISTNAME}/XMonad/Config.dyn_hi
-lib/ghc/${DISTNAME}/XMonad/Config.hi
-lib/ghc/${DISTNAME}/XMonad/Config.p_hi
-lib/ghc/${DISTNAME}/XMonad/Core.dyn_hi
-lib/ghc/${DISTNAME}/XMonad/Core.hi
-lib/ghc/${DISTNAME}/XMonad/Core.p_hi
-lib/ghc/${DISTNAME}/XMonad/Layout.dyn_hi
-lib/ghc/${DISTNAME}/XMonad/Layout.hi
-lib/ghc/${DISTNAME}/XMonad/Layout.p_hi
-lib/ghc/${DISTNAME}/XMonad/Main.dyn_hi
-lib/ghc/${DISTNAME}/XMonad/Main.hi
-lib/ghc/${DISTNAME}/XMonad/Main.p_hi
-lib/ghc/${DISTNAME}/XMonad/ManageHook.dyn_hi
-lib/ghc/${DISTNAME}/XMonad/ManageHook.hi
-lib/ghc/${DISTNAME}/XMonad/ManageHook.p_hi
-lib/ghc/${DISTNAME}/XMonad/Operations.dyn_hi
-lib/ghc/${DISTNAME}/XMonad/Operations.hi
-lib/ghc/${DISTNAME}/XMonad/Operations.p_hi
-lib/ghc/${DISTNAME}/XMonad/StackSet.dyn_hi
-lib/ghc/${DISTNAME}/XMonad/StackSet.hi
-lib/ghc/${DISTNAME}/XMonad/StackSet.p_hi
-lib/ghc/${DISTNAME}/libHS${DISTNAME}-${MODGHC_PACKAGE_KEY}-ghc${MODGHC_VER}.so
-lib/ghc/${DISTNAME}/libHS${DISTNAME}-${MODGHC_PACKAGE_KEY}.a
-lib/ghc/${DISTNAME}/libHS${DISTNAME}-${MODGHC_PACKAGE_KEY}_p.a
-share/doc/hs-${DISTNAME}/
-share/doc/hs-${DISTNAME}/CONFIG
-@comment share/doc/hs-${DISTNAME}/LICENSE
-share/doc/hs-${DISTNAME}/html/
-share/doc/hs-${DISTNAME}/html/XMonad-Config.html
-share/doc/hs-${DISTNAME}/html/XMonad-Core.html
-share/doc/hs-${DISTNAME}/html/XMonad-Layout.html
-share/doc/hs-${DISTNAME}/html/XMonad-Main.html
-share/doc/hs-${DISTNAME}/html/XMonad-ManageHook.html
-share/doc/hs-${DISTNAME}/html/XMonad-Operations.html
-share/doc/hs-${DISTNAME}/html/XMonad-StackSet.html
-share/doc/hs-${DISTNAME}/html/XMonad.html
-share/doc/hs-${DISTNAME}/html/doc-index-124.html
-share/doc/hs-${DISTNAME}/html/doc-index-45.html
-share/doc/hs-${DISTNAME}/html/doc-index-46.html
-share/doc/hs-${DISTNAME}/html/doc-index-60.html
-share/doc/hs-${DISTNAME}/html/doc-index-61.html
-share/doc/hs-${DISTNAME}/html/doc-index-95.html
-share/doc/hs-${DISTNAME}/html/doc-index-A.html
-share/doc/hs-${DISTNAME}/html/doc-index-All.html
-share/doc/hs-${DISTNAME}/html/doc-index-B.html
-share/doc/hs-${DISTNAME}/html/doc-index-C.html
-share/doc/hs-${DISTNAME}/html/doc-index-D.html
-share/doc/hs-${DISTNAME}/html/doc-index-E.html
-share/doc/hs-${DISTNAME}/html/doc-index-F.html
-share/doc/hs-${DISTNAME}/html/doc-index-G.html
-share/doc/hs-${DISTNAME}/html/doc-index-H.html
-share/doc/hs-${DISTNAME}/html/doc-index-I.html
-share/doc/hs-${DISTNAME}/html/doc-index-J.html
-share/doc/hs-${DISTNAME}/html/doc-index-K.html
-share/doc/hs-${DISTNAME}/html/doc-index-L.html
-share/doc/hs-${DISTNAME}/html/doc-index-M.html
-share/doc/hs-${DISTNAME}/html/doc-index-N.html
-share/doc/hs-${DISTNAME}/html/doc-index-O.html
-share/doc/hs-${DISTNAME}/html/doc-index-P.html
-share/doc/hs-${DISTNAME}/html/doc-index-Q.html
-share/doc/hs-${DISTNAME}/html/doc-index-R.html
-share/doc/hs-${DISTNAME}/html/doc-index-S.html
-share/doc/hs-${DISTNAME}/html/doc-index-T.html
-share/doc/hs-${DISTNAME}/html/doc-index-U.html
-share/doc/hs-${DISTNAME}/html/doc-index-V.html
-share/doc/hs-${DISTNAME}/html/doc-index-W.html
-share/doc/hs-${DISTNAME}/html/doc-index-X.html
-share/doc/hs-${DISTNAME}/html/doc-index-Z.html
-share/doc/hs-${DISTNAME}/html/doc-index.html
-share/doc/hs-${DISTNAME}/html/haddock-bundle.min.js
-share/doc/hs-${DISTNAME}/html/hslogo-16.png
-share/doc/hs-${DISTNAME}/html/index.html
-share/doc/hs-${DISTNAME}/html/meta.json
-share/doc/hs-${DISTNAME}/html/minus.gif
-share/doc/hs-${DISTNAME}/html/ocean.css
-share/doc/hs-${DISTNAME}/html/plus.gif
-share/doc/hs-${DISTNAME}/html/quick-jump.css
-share/doc/hs-${DISTNAME}/html/synopsis.png
-share/doc/hs-${DISTNAME}/html/xmonad.haddock
-share/doc/hs-${DISTNAME}/xmonad.hs
diff --git a/x11/xmonad/pkg/PLIST-main b/x11/xmonad/pkg/PLIST-main
deleted file mode 100644
index 481e12b3e46..00000000000
--- a/x11/xmonad/pkg/PLIST-main
+++ /dev/null
@@ -1,4 +0,0 @@
-@comment $OpenBSD: PLIST-main,v 1.4 2012/01/12 11:11:58 dcoppa Exp $
-@pkgpath x11/xmonad
-@bin bin/xmonad
-@man man/man1/xmonad.1
-- 
2.30.1

Reply via email to