>From da5de704008e179e32eb582796f751e820b92efb Mon Sep 17 00:00:00 2001
From: Greg Steuck <[email protected]>
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: [email protected]
+
+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