aboutsummaryrefslogtreecommitdiff
path: root/games/hs-scroll
diff options
context:
space:
mode:
authorGleb Popov <arrowd@FreeBSD.org>2019-05-09 14:39:30 +0000
committerGleb Popov <arrowd@FreeBSD.org>2019-05-09 14:39:30 +0000
commit6dc2e22e2d89226195d89002a02b431dee6e0e67 (patch)
tree9a88fb63bb22aa2eb4215ec6bb8c45c1aaa2ce61 /games/hs-scroll
parent3b35676c7a812c761975d0e15315c26513895a78 (diff)
downloadports-6dc2e22e2d89226195d89002a02b431dee6e0e67.tar.gz
ports-6dc2e22e2d89226195d89002a02b431dee6e0e67.zip
Introduce USES=cabal and use it to build Haskell applications.
PR: 230186 Reviewed by: mat, tcberner Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D19730
Notes
Notes: svn path=/head/; revision=501101
Diffstat (limited to 'games/hs-scroll')
-rw-r--r--games/hs-scroll/Makefile21
-rw-r--r--games/hs-scroll/distinfo68
-rw-r--r--games/hs-scroll/files/patch-lib_UI_NCurses.chs26
3 files changed, 107 insertions, 8 deletions
diff --git a/games/hs-scroll/Makefile b/games/hs-scroll/Makefile
index 63f43d5a3094..3af5b064dfd7 100644
--- a/games/hs-scroll/Makefile
+++ b/games/hs-scroll/Makefile
@@ -3,7 +3,7 @@
PORTNAME= scroll
PORTVERSION= 1.20180421
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= games haskell
MAINTAINER= haskell@FreeBSD.org
@@ -11,12 +11,19 @@ COMMENT= A roguelike game
LICENSE= GPLv2
-PKGNAMEPREFIX=
+BUILD_DEPENDS= happy:devel/hs-happy
-USE_CABAL= IfElse case-insensitive data-default monad-loops mtl \
- optparse-applicative ncurses random vector
-STANDALONE= yes
-EXECUTABLE= scroll
+USES= cabal
+
+USE_CABAL= IfElse-0.85 alex-3.2.4 ansi-terminal-0.9 ansi-wl-pprint-0.6.8.2_1 \
+ c2hs-0.28.6 case-insensitive-1.2.0.11 colour-2.3.4 data-default-0.7.1.1 \
+ data-default-class-0.1.2.0 \
+ data-default-instances-containers-0.0.1 \
+ data-default-instances-dlist-0.0.1 \
+ data-default-instances-old-locale-0.0.1 dlist-0.8.0.5 hashable-1.2.7.0_1 \
+ happy-1.19.9_3 language-c-0.8.2_1 monad-loops-0.4.3 ncurses-0.2.16_1 \
+ old-locale-1.0.0.7_2 optparse-applicative-0.14.3.0 \
+ primitive-0.6.4.0_1 random-1.1_1 syb-0.7 transformers-compat-0.6.2 \
+ vector-0.12.0.2
-.include "${.CURDIR}/../../lang/ghc/bsd.cabal.mk"
.include <bsd.port.mk>
diff --git a/games/hs-scroll/distinfo b/games/hs-scroll/distinfo
index 261ad92aced0..736f41f6ef94 100644
--- a/games/hs-scroll/distinfo
+++ b/games/hs-scroll/distinfo
@@ -1,3 +1,69 @@
-TIMESTAMP = 1525090021
+TIMESTAMP = 1553452102
SHA256 (cabal/scroll-1.20180421.tar.gz) = 9203353457c53550524d40216d069129389dbb94a7d8ba1a9153e794dcceff2a
SIZE (cabal/scroll-1.20180421.tar.gz) = 266900
+SHA256 (cabal/IfElse-0.85/IfElse-0.85.tar.gz) = 8ad3bfc3e2c867e6330d9bff874b3105476c35b2e1638fd448f233e9f80addcd
+SIZE (cabal/IfElse-0.85/IfElse-0.85.tar.gz) = 2865
+SHA256 (cabal/alex-3.2.4/alex-3.2.4.tar.gz) = d58e4d708b14ff332a8a8edad4fa8989cb6a9f518a7c6834e96281ac5f8ff232
+SIZE (cabal/alex-3.2.4/alex-3.2.4.tar.gz) = 110688
+SHA256 (cabal/ansi-terminal-0.9/ansi-terminal-0.9.tar.gz) = d755c2c0f2819cd7fe198a6aa58e60a88ae532cd69467e1111c8839b83c0ac03
+SIZE (cabal/ansi-terminal-0.9/ansi-terminal-0.9.tar.gz) = 34424
+SHA256 (cabal/ansi-wl-pprint-0.6.8.2/ansi-wl-pprint-0.6.8.2.tar.gz) = a630721bd57678c3bfeb6c703f8249e434cbf85f40daceec4660fb8c6725cb3e
+SIZE (cabal/ansi-wl-pprint-0.6.8.2/ansi-wl-pprint-0.6.8.2.tar.gz) = 16491
+SHA256 (cabal/ansi-wl-pprint-0.6.8.2/revision/1.cabal) = 08d938b6b1a61690063b12dad47f899ce3f8d8f179480948b98af8e733016701
+SIZE (cabal/ansi-wl-pprint-0.6.8.2/revision/1.cabal) = 2178
+SHA256 (cabal/c2hs-0.28.6/c2hs-0.28.6.tar.gz) = 91dd121ac565009f2fc215c50f3365ed66705071a698a545e869041b5d7ff4da
+SIZE (cabal/c2hs-0.28.6/c2hs-0.28.6.tar.gz) = 204988
+SHA256 (cabal/case-insensitive-1.2.0.11/case-insensitive-1.2.0.11.tar.gz) = a7ce6d17e50caaa0f19ad8e67361499022860554c521b1e57993759da3eb37e3
+SIZE (cabal/case-insensitive-1.2.0.11/case-insensitive-1.2.0.11.tar.gz) = 53581
+SHA256 (cabal/colour-2.3.4/colour-2.3.4.tar.gz) = 0f439f00b322ce3d551f28a4dd1520aa2c91d699de4cdc6d485b9b04be0dc5eb
+SIZE (cabal/colour-2.3.4/colour-2.3.4.tar.gz) = 20418
+SHA256 (cabal/data-default-0.7.1.1/data-default-0.7.1.1.tar.gz) = b0f95d279cd75cacaa8152a01590dc3460f7134f6840b37052abb3ba3cb2a511
+SIZE (cabal/data-default-0.7.1.1/data-default-0.7.1.1.tar.gz) = 1627
+SHA256 (cabal/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz) = 4f01b423f000c3e069aaf52a348564a6536797f31498bb85c3db4bd2d0973e56
+SIZE (cabal/data-default-class-0.1.2.0/data-default-class-0.1.2.0.tar.gz) = 2522
+SHA256 (cabal/data-default-instances-containers-0.0.1/data-default-instances-containers-0.0.1.tar.gz) = a55e07af005c9815d82f3fc95e125db82994377c9f4a769428878701d4ec081a
+SIZE (cabal/data-default-instances-containers-0.0.1/data-default-instances-containers-0.0.1.tar.gz) = 1659
+SHA256 (cabal/data-default-instances-dlist-0.0.1/data-default-instances-dlist-0.0.1.tar.gz) = 7d683711cbf08abd7adcd5ac2be825381308d220397315a5570fe61b719b5959
+SIZE (cabal/data-default-instances-dlist-0.0.1/data-default-instances-dlist-0.0.1.tar.gz) = 1503
+SHA256 (cabal/data-default-instances-old-locale-0.0.1/data-default-instances-old-locale-0.0.1.tar.gz) = 60d3b02922958c4908d7bf2b24ddf61511665745f784227d206745784b0c0802
+SIZE (cabal/data-default-instances-old-locale-0.0.1/data-default-instances-old-locale-0.0.1.tar.gz) = 1519
+SHA256 (cabal/dlist-0.8.0.5/dlist-0.8.0.5.tar.gz) = 98a88aa839b40d4aee8b08880030d282d627b63de311f5414dca6e831a951b43
+SIZE (cabal/dlist-0.8.0.5/dlist-0.8.0.5.tar.gz) = 8987
+SHA256 (cabal/happy-1.19.9/happy-1.19.9.tar.gz) = 3e81a3e813acca3aae52721c412cde18b7b7c71ecbacfaeaa5c2f4b35abf1d8d
+SIZE (cabal/happy-1.19.9/happy-1.19.9.tar.gz) = 179328
+SHA256 (cabal/happy-1.19.9/revision/3.cabal) = f8c774230735a390c287b2980cfcd2703d24d8dde85a01ea721b7b4b4c82944f
+SIZE (cabal/happy-1.19.9/revision/3.cabal) = 4667
+SHA256 (cabal/hashable-1.2.7.0/hashable-1.2.7.0.tar.gz) = ecb5efc0586023f5a0dc861100621c1dbb4cbb2f0516829a16ebac39f0432abf
+SIZE (cabal/hashable-1.2.7.0/hashable-1.2.7.0.tar.gz) = 30182
+SHA256 (cabal/hashable-1.2.7.0/revision/1.cabal) = 03b6836ca9cd3ad0e5a2f3cce989b001dd0e05f306a873db3196037adb30e0a4
+SIZE (cabal/hashable-1.2.7.0/revision/1.cabal) = 5215
+SHA256 (cabal/language-c-0.8.2/language-c-0.8.2.tar.gz) = b729d3b2263b0f029a66c37ae1c05b86b68bad1cde6c0b407bfd5201b91fce15
+SIZE (cabal/language-c-0.8.2/language-c-0.8.2.tar.gz) = 193533
+SHA256 (cabal/language-c-0.8.2/revision/1.cabal) = 5559b4e3744e84ac99fc491d861bd9448f8cbee7c55412a8a9ed4dbf884ce4f5
+SIZE (cabal/language-c-0.8.2/revision/1.cabal) = 5048
+SHA256 (cabal/monad-loops-0.4.3/monad-loops-0.4.3.tar.gz) = 7eaaaf6bc43661e9e86e310ff8c56fbea16eb6bf13c31a2e28103138ac164c18
+SIZE (cabal/monad-loops-0.4.3/monad-loops-0.4.3.tar.gz) = 4996
+SHA256 (cabal/ncurses-0.2.16/ncurses-0.2.16.tar.gz) = e50fb7b1f700d6fa60b4040623b7e0249ae6af2ef2729801fb2917e8b1f25e3f
+SIZE (cabal/ncurses-0.2.16/ncurses-0.2.16.tar.gz) = 29115
+SHA256 (cabal/ncurses-0.2.16/revision/1.cabal) = 8ad9fe6562a80d28166d76adbac1eb4d40c6511fe4e9272ed6e1166dc2f1cdf1
+SIZE (cabal/ncurses-0.2.16/revision/1.cabal) = 3575
+SHA256 (cabal/old-locale-1.0.0.7/old-locale-1.0.0.7.tar.gz) = dbaf8bf6b888fb98845705079296a23c3f40ee2f449df7312f7f7f1de18d7b50
+SIZE (cabal/old-locale-1.0.0.7/old-locale-1.0.0.7.tar.gz) = 3384
+SHA256 (cabal/old-locale-1.0.0.7/revision/2.cabal) = fa998be2c7e00cd26a6e9075bea790caaf3932caa3e9497ad69bc20380dd6911
+SIZE (cabal/old-locale-1.0.0.7/revision/2.cabal) = 1071
+SHA256 (cabal/optparse-applicative-0.14.3.0/optparse-applicative-0.14.3.0.tar.gz) = 72476302fe555a508917b2d7d6121c7b58ea5434cdc08aeb5d4b652e8f0e7663
+SIZE (cabal/optparse-applicative-0.14.3.0/optparse-applicative-0.14.3.0.tar.gz) = 53480
+SHA256 (cabal/primitive-0.6.4.0/primitive-0.6.4.0.tar.gz) = 4cbeaf7924dd79221f327ea101a29bf35c4976dc3319df157ff46ea68e6a0c64
+SIZE (cabal/primitive-0.6.4.0/primitive-0.6.4.0.tar.gz) = 45937
+SHA256 (cabal/primitive-0.6.4.0/revision/1.cabal) = 5b6a2c3cc70a35aabd4565fcb9bb1dd78fe2814a36e62428a9a1aae8c32441a1
+SIZE (cabal/primitive-0.6.4.0/revision/1.cabal) = 2079
+SHA256 (cabal/random-1.1/random-1.1.tar.gz) = b718a41057e25a3a71df693ab0fe2263d492e759679b3c2fea6ea33b171d3a5a
+SIZE (cabal/random-1.1/random-1.1.tar.gz) = 10870
+SHA256 (cabal/random-1.1/revision/1.cabal) = 7b67624fd76ddf97c206de0801dc7e888097e9d572974be9b9ea6551d76965df
+SIZE (cabal/random-1.1/revision/1.cabal) = 1777
+SHA256 (cabal/syb-0.7/syb-0.7.tar.gz) = b8757dce5ab4045c49a0ae90407d575b87ee5523a7dd5dfa5c9d54fcceff42b5
+SIZE (cabal/syb-0.7/syb-0.7.tar.gz) = 39566
+SHA256 (cabal/transformers-compat-0.6.2/transformers-compat-0.6.2.tar.gz) = dc06228b7b8a546f9d257b4fe2b369fc2cb279240bbe4312aa8f47bb2752e4be
+SIZE (cabal/transformers-compat-0.6.2/transformers-compat-0.6.2.tar.gz) = 39711
+SHA256 (cabal/vector-0.12.0.2/vector-0.12.0.2.tar.gz) = 52e89dacaff10bedb8653181963cae928f9674a099bb706713dae83994bbc0f3
+SIZE (cabal/vector-0.12.0.2/vector-0.12.0.2.tar.gz) = 124743
diff --git a/games/hs-scroll/files/patch-lib_UI_NCurses.chs b/games/hs-scroll/files/patch-lib_UI_NCurses.chs
new file mode 100644
index 000000000000..a1045151d627
--- /dev/null
+++ b/games/hs-scroll/files/patch-lib_UI_NCurses.chs
@@ -0,0 +1,26 @@
+--- ncurses-0.2.16/lib/UI/NCurses.chs.orig 2016-08-29 01:09:37 UTC
++++ ncurses-0.2.16/lib/UI/NCurses.chs
+@@ -435,12 +435,12 @@ setColor (ColorID pair) = withWindow_ "s
+ -- | Add some text to the window, at the current cursor position.
+ drawString :: String -> Update ()
+ drawString str = withWindow_ "drawString" $ \win ->
+- withCWString str ({# call waddwstr #} win)
++ withCWString str $ \s -> ({# call waddwstr #} win) (castPtr s)
+
+ -- | Add some text to the window, at the current cursor position.
+ drawText :: T.Text -> Update ()
+ drawText txt = withWindow_ "drawText" $ \win ->
+- withCWString (T.unpack txt) ({# call waddwstr #} win)
++ withCWString (T.unpack txt) $ \s -> ({# call waddwstr #} win) (castPtr s)
+
+ drawGlyph :: Glyph -> Update ()
+ drawGlyph glyph = withWindow_ "drawGlyph" $ \win ->
+@@ -718,7 +718,7 @@ withGlyph (Glyph char attrs) io =
+ let cAttrs = foldl' (\acc a -> acc .|. attrToInt a) 0 attrs in
+ withCWStringLen [char] $ \(cChars, cCharsLen) ->
+ allocaBytes {# sizeof cchar_t #} $ \pBuf -> do
+- {# call hsncurses_init_cchar_t #} (CCharT pBuf) cAttrs cChars (fromIntegral cCharsLen)
++ {# call hsncurses_init_cchar_t #} (CCharT pBuf) cAttrs (castPtr cChars) (fromIntegral cCharsLen)
+ io (CCharT pBuf)
+
+ -- | Upper left corner