[Git][haskell-team/DHG_packages][master] haskell-futhark: Initial release (Closes: #906850)

Kari Pahula (@kaol) gitlab at salsa.debian.org
Mon Apr 22 15:04:59 BST 2024



Kari Pahula pushed to branch master at Debian Haskell Group / DHG_packages


Commits:
0a2f7374 by Kari Pahula at 2024-04-22T17:03:58+03:00
haskell-futhark: Initial release (Closes: #906850)

- - - - -


16 changed files:

- + p/haskell-futhark/debian/changelog
- + p/haskell-futhark/debian/compat
- + p/haskell-futhark/debian/control
- + p/haskell-futhark/debian/copyright
- + p/haskell-futhark/debian/futhark-doc.doc-base
- + p/haskell-futhark/debian/futhark-doc.docs
- + p/haskell-futhark/debian/futhark.install
- + p/haskell-futhark/debian/futhark.manpages
- + p/haskell-futhark/debian/patches/disable-lsp
- + p/haskell-futhark/debian/patches/hiprtc
- + p/haskell-futhark/debian/patches/lts-zlib
- + p/haskell-futhark/debian/patches/series
- + p/haskell-futhark/debian/patches/test-line-output
- + p/haskell-futhark/debian/rules
- + p/haskell-futhark/debian/source/format
- + p/haskell-futhark/debian/watch


Changes:

=====================================
p/haskell-futhark/debian/changelog
=====================================
@@ -0,0 +1,5 @@
+haskell-futhark (0.25.15-1) unstable; urgency=low
+
+  * Initial release (Closes: #906850)
+
+ -- Kari Pahula <kaol at debian.org>  Mon, 22 Apr 2024 15:01:57 +0300


=====================================
p/haskell-futhark/debian/compat
=====================================
@@ -0,0 +1 @@
+10


=====================================
p/haskell-futhark/debian/control
=====================================
@@ -0,0 +1,208 @@
+Source: haskell-futhark
+Maintainer: Debian Haskell Group <pkg-haskell-maintainers at lists.alioth.debian.org>
+Uploaders:
+ Kari Pahula <kaol at debian.org>,
+Priority: optional
+Section: haskell
+Rules-Requires-Root: no
+Build-Depends: debhelper (>= 10),
+ haskell-devscripts-minimal | haskell-devscripts (>= 0.13),
+ python3-sphinx,
+ cdbs,
+ ghc,
+ ghc-prof,
+ libghc-aeson-dev (>= 2.0.0.0),
+ libghc-aeson-prof,
+ libghc-ansi-terminal-dev (>= 0.6.3.1),
+ libghc-ansi-terminal-prof,
+ libghc-base16-bytestring-dev,
+ libghc-base16-bytestring-prof,
+ libghc-blaze-html-dev (>= 0.9.0.1),
+ libghc-blaze-html-prof,
+ libghc-bmp-dev (>= 1.2.6.3),
+ libghc-bmp-prof,
+ libghc-bytestring-to-vector-dev (>= 0.3.0.1),
+ libghc-bytestring-to-vector-prof,
+ libghc-cmark-gfm-dev (>= 0.2.1),
+ libghc-cmark-gfm-prof,
+ libghc-cryptohash-md5-dev,
+ libghc-cryptohash-md5-prof,
+ libghc-directory-tree-dev (>= 0.12.1),
+ libghc-directory-tree-prof,
+ libghc-dlist-dev (>= 0.6.0.1),
+ libghc-dlist-prof,
+ libghc-fgl-dev,
+ libghc-fgl-prof,
+ libghc-fgl-visualize-dev,
+ libghc-fgl-visualize-prof,
+ libghc-file-embed-dev (>= 0.0.14.0),
+ libghc-file-embed-prof,
+ libghc-free-dev (>= 5.1.10),
+ libghc-free-prof,
+ libghc-futhark-data-dev (>= 1.1.0.0),
+ libghc-futhark-data-prof,
+ libghc-futhark-manifest-dev (>= 1.4.0.0),
+ libghc-futhark-manifest-prof,
+ libghc-futhark-server-dev (>= 1.2.2.1),
+ libghc-futhark-server-prof,
+ libghc-githash-dev (>= 0.1.6.1),
+ libghc-githash-prof,
+ libghc-half-dev (>= 0.3),
+ libghc-half-prof,
+ libghc-language-c-quote-dev (>= 0.12),
+ libghc-language-c-quote-prof,
+ libghc-lens-dev,
+ libghc-lens-prof,
+ libghc-mainland-pretty-dev (>= 0.7.1),
+ libghc-mainland-pretty-prof,
+ libghc-megaparsec-dev (>= 9.0.0),
+ libghc-megaparsec-prof,
+ libghc-mwc-random-dev,
+ libghc-mwc-random-prof,
+ libghc-neat-interpolation-dev (>= 0.3),
+ libghc-neat-interpolation-prof,
+ libghc-parallel-dev (>= 3.2.1.0),
+ libghc-parallel-prof,
+ libghc-prettyprinter-dev (>= 1.7),
+ libghc-prettyprinter-prof,
+ libghc-prettyprinter-ansi-terminal-dev (>= 1.1),
+ libghc-prettyprinter-ansi-terminal-prof,
+ libghc-process-extras-dev (>= 0.7.2),
+ libghc-process-extras-prof,
+ libghc-random-dev (>= 1.2.0),
+ libghc-random-prof,
+ libghc-regex-tdfa-dev (>= 1.2),
+ libghc-regex-tdfa-prof,
+ libghc-srcloc-dev (>= 0.4),
+ libghc-srcloc-prof,
+ libghc-statistics-dev,
+ libghc-statistics-prof,
+ libghc-temporary-dev,
+ libghc-temporary-prof,
+ libghc-terminal-size-dev (>= 0.3),
+ libghc-terminal-size-prof,
+ libghc-vector-dev (>= 0.12),
+ libghc-vector-prof,
+ libghc-versions-dev (>= 6.0.0),
+ libghc-versions-prof,
+ libghc-zlib-dev (>= 0.6.3.0),
+ libghc-zlib-prof,
+ hipcc [amd64 arm64 ppc64el] <!nocheck>,
+Build-Depends-Indep: ghc-doc,
+ libghc-aeson-doc,
+ libghc-ansi-terminal-doc,
+ libghc-base16-bytestring-doc,
+ libghc-blaze-html-doc,
+ libghc-bmp-doc,
+ libghc-bytestring-to-vector-doc,
+ libghc-cmark-gfm-doc,
+ libghc-cryptohash-md5-doc,
+ libghc-directory-tree-doc,
+ libghc-dlist-doc,
+ libghc-fgl-doc,
+ libghc-fgl-visualize-doc,
+ libghc-file-embed-doc,
+ libghc-free-doc,
+ libghc-futhark-data-doc,
+ libghc-futhark-manifest-doc,
+ libghc-futhark-server-doc,
+ libghc-githash-doc,
+ libghc-half-doc,
+ libghc-language-c-quote-doc,
+ libghc-lens-doc,
+ libghc-mainland-pretty-doc,
+ libghc-megaparsec-doc,
+ libghc-mwc-random-doc,
+ libghc-neat-interpolation-doc,
+ libghc-parallel-doc,
+ libghc-prettyprinter-doc,
+ libghc-prettyprinter-ansi-terminal-doc,
+ libghc-process-extras-doc,
+ libghc-random-doc,
+ libghc-regex-tdfa-doc,
+ libghc-srcloc-doc,
+ libghc-statistics-doc,
+ libghc-temporary-doc,
+ libghc-terminal-size-doc,
+ libghc-vector-doc,
+ libghc-versions-doc,
+ libghc-zlib-doc,
+Standards-Version: 4.7.0
+Homepage: https://futhark-lang.org
+Vcs-Browser: https://salsa.debian.org/haskell-team/DHG_packages/tree/master/p/haskell-futhark
+Vcs-Git: https://salsa.debian.org/haskell-team/DHG_packages.git [p/haskell-futhark]
+X-Description: library files for for Futhark programming language
+ Futhark is a small programming language designed to be compiled to
+ efficient parallel code. It is a statically typed, data-parallel, and
+ purely functional array language in the ML family, and comes with a
+ heavily optimising ahead-of-time compiler that presently generates
+ GPU code via CUDA, HIP and OpenCL, although the language itself is
+ hardware-agnostic.
+
+Package: libghc-futhark-dev
+Architecture: any
+Depends: ${haskell:Depends},
+ ${misc:Depends},
+ ${shlibs:Depends},
+Recommends: ${haskell:Recommends},
+Suggests: ${haskell:Suggests},
+Conflicts: ${haskell:Conflicts},
+Provides: ${haskell:Provides},
+Description: ${haskell:ShortDescription}${haskell:ShortBlurb}
+ ${haskell:LongDescription}
+ .
+ ${haskell:Blurb}
+
+Package: libghc-futhark-prof
+Architecture: any
+Depends: ${haskell:Depends},
+ ${misc:Depends},
+Recommends: ${haskell:Recommends},
+Suggests: ${haskell:Suggests},
+Conflicts: ${haskell:Conflicts},
+Provides: ${haskell:Provides},
+Description: ${haskell:ShortDescription}${haskell:ShortBlurb}
+ ${haskell:LongDescription}
+ .
+ ${haskell:Blurb}
+
+Package: libghc-futhark-doc
+Architecture: all
+Section: doc
+Depends: ${haskell:Depends},
+ ${misc:Depends},
+Recommends: ${haskell:Recommends},
+Suggests: ${haskell:Suggests},
+Conflicts: ${haskell:Conflicts},
+Description: ${haskell:ShortDescription}${haskell:ShortBlurb}
+ ${haskell:LongDescription}
+ .
+ ${haskell:Blurb}
+
+Package: futhark
+Architecture: any
+Section: devel
+Depends: ${haskell:Depends},
+ ${misc:Depends},
+ ${shlibs:Depends},
+Recommends:
+ ${haskell:Recommends},
+ futhark-doc,
+Suggests:
+ ${haskell:Suggests},
+ hipcc,
+Conflicts: ${haskell:Conflicts},
+Provides: ${haskell:Provides},
+Description: optimising compiler for Futhark programming language
+ ${haskell:LongDescription}
+ .
+ ${haskell:Blurb}
+
+Package: futhark-doc
+Architecture: all
+Section: doc
+Depends: ${misc:Depends},
+Description: Futhark User's Guide
+ ${haskell:LongDescription}
+ .
+ HTML documentation for the Futhark programming language.


=====================================
p/haskell-futhark/debian/copyright
=====================================
@@ -0,0 +1,27 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: futhark
+Upstream-Contact: Troels Henriksen <athas at sigkill.dk>
+Source: https://github.com/diku-dk/futhark
+
+Files: *
+Copyright: 2013-2024 DIKU, University of Copenhagen
+License: ISC
+
+Files: debian/*
+Copyright: held by the contributors mentioned in debian/changelog
+License: ISC
+
+License: ISC
+ Permission to use, copy, modify, and/or distribute this software for
+ any purpose with or without fee is hereby granted, provided that the
+ above copyright notice and this permission notice appear in all
+ copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.


=====================================
p/haskell-futhark/debian/futhark-doc.doc-base
=====================================
@@ -0,0 +1,8 @@
+Document: futhark
+Title: Futhark User's Guide
+Abstract: Documentation for the Futhark compiler and language.
+Section: Programming/Futhark
+
+Format: HTML
+Index: /usr/share/doc/futhark-doc/html/index.html
+Files: /usr/share/doc/futhark-doc/html/*.html /usr/share/doc/futhark-doc/html/man/*.html


=====================================
p/haskell-futhark/debian/futhark-doc.docs
=====================================
@@ -0,0 +1 @@
+docs/_build/html


=====================================
p/haskell-futhark/debian/futhark.install
=====================================
@@ -0,0 +1 @@
+dist-ghc/build/futhark/futhark usr/bin


=====================================
p/haskell-futhark/debian/futhark.manpages
=====================================
@@ -0,0 +1 @@
+docs/_build/man/*


=====================================
p/haskell-futhark/debian/patches/disable-lsp
=====================================
@@ -0,0 +1,61 @@
+--- a/src/Futhark/CLI/Main.hs
++++ b/src/Futhark/CLI/Main.hs
+@@ -18,7 +18,6 @@
+ import Futhark.CLI.Doc qualified as Doc
+ import Futhark.CLI.Eval qualified as Eval
+ import Futhark.CLI.HIP qualified as HIP
+-import Futhark.CLI.LSP qualified as LSP
+ import Futhark.CLI.Literate qualified as Literate
+ import Futhark.CLI.Misc qualified as Misc
+ import Futhark.CLI.Multicore qualified as Multicore
+@@ -81,7 +80,6 @@
+       ("query", (Query.main, "Query semantic information about program.")),
+       ("literate", (Literate.main, "Process a literate Futhark program.")),
+       ("script", (Script.main, "Run FutharkScript expressions.")),
+-      ("lsp", (LSP.main, "Run LSP server.")),
+       ("thanks", (Misc.mainThanks, "Express gratitude.")),
+       ("tokens", (Misc.mainTokens, "Print tokens from Futhark file.")),
+       ("benchcmp", (Benchcmp.main, "Compare two benchmark results.")),
+--- a/futhark.cabal
++++ b/futhark.cabal
+@@ -156,7 +156,6 @@
+       Futhark.CLI.Eval
+       Futhark.CLI.HIP
+       Futhark.CLI.Literate
+-      Futhark.CLI.LSP
+       Futhark.CLI.Main
+       Futhark.CLI.Misc
+       Futhark.CLI.Multicore
+@@ -297,12 +296,6 @@
+       Futhark.Internalise.Monomorphise
+       Futhark.Internalise.ReplaceRecords
+       Futhark.Internalise.TypesValues
+-      Futhark.LSP.Compile
+-      Futhark.LSP.Diagnostic
+-      Futhark.LSP.Handlers
+-      Futhark.LSP.Tool
+-      Futhark.LSP.State
+-      Futhark.LSP.PositionMapping
+       Futhark.MonadFreshNames
+       Futhark.Optimise.BlkRegTiling
+       Futhark.Optimise.CSE
+@@ -441,10 +434,8 @@
+     , bytestring >=0.11.2
+     , bytestring-to-vector >=0.3.0.1
+     , bmp >=1.2.6.3
+-    , co-log-core
+     , containers >=0.6.2.1
+     , cryptohash-md5
+-    , Diff >=0.4.1
+     , directory >=1.3.0.0
+     , directory-tree >=0.12.1
+     , dlist >=0.6.0.1
+@@ -461,8 +452,6 @@
+     , haskeline
+     , language-c-quote >= 0.12
+     , lens
+-    , lsp >= 2.2.0.0
+-    , lsp-types >= 2.0.1.0
+     , mainland-pretty >=0.7.1
+     , cmark-gfm >=0.2.1
+     , megaparsec >=9.0.0


=====================================
p/haskell-futhark/debian/patches/hiprtc
=====================================
@@ -0,0 +1,11 @@
+--- a/src/Futhark/Actions.hs
++++ b/src/Futhark/Actions.hs
+@@ -385,7 +385,7 @@
+           jsonpath = outpath `addExtension` "json"
+           extra_options =
+             [ "-lamdhip64",
+-              "-lhiprtc"
++              "-lhiprtc-builtins"
+             ]
+       case mode of
+         ToLibrary -> do


=====================================
p/haskell-futhark/debian/patches/lts-zlib
=====================================
@@ -0,0 +1,21 @@
+--- a/futhark.cabal
++++ b/futhark.cabal
+@@ -470,7 +470,7 @@
+     , transformers >=0.3
+     , vector >=0.12
+     , versions >=6.0.0
+-    , zlib >=0.7.0.0
++    , zlib >=0.6.3.0
+     , statistics
+     , mwc-random
+     , prettyprinter >= 1.7
+--- a/src/Futhark/Test.hs
++++ b/src/Futhark/Test.hs
+@@ -27,6 +27,7 @@
+ where
+ 
+ import Codec.Compression.GZip
++import Codec.Compression.Zlib.Internal (DecompressError)
+ import Control.Applicative
+ import Control.Exception (catch)
+ import Control.Exception.Base qualified as E


=====================================
p/haskell-futhark/debian/patches/series
=====================================
@@ -0,0 +1,4 @@
+test-line-output
+disable-lsp
+lts-zlib
+hiprtc


=====================================
p/haskell-futhark/debian/patches/test-line-output
=====================================
@@ -0,0 +1,24 @@
+--- a/src/Futhark/CLI/Test.hs
++++ b/src/Futhark/CLI/Test.hs
+@@ -509,6 +509,12 @@
+     running = labelstr <> (T.unwords . reverse . map (T.pack . testCaseProgram) . testStatusRun) ts
+     labelstr = "Now testing: "
+ 
++reportLine :: TestStatus -> IO ()
++reportLine ts =
++  case reverse . map (T.pack . testCaseProgram) . testStatusRun $ ts of
++    [] -> pure ()
++    xs -> T.putStrLn $ T.unwords xs
++
+ moveCursorToTableTop :: IO ()
+ moveCursorToTableTop = cursorUpLine tableLines
+ 
+@@ -535,7 +541,7 @@
+ 
+       report
+         | fancy = reportTable
+-        | otherwise = const (pure ())
++        | otherwise = reportLine
+       clear
+         | fancy = clearFromCursorToScreenEnd
+         | otherwise = pure ()


=====================================
p/haskell-futhark/debian/rules
=====================================
@@ -0,0 +1,31 @@
+#!/usr/bin/make -f
+
+DEB_SETUP_BIN_NAME = debian/hlibrary.setup
+DEB_CABAL_PACKAGE = futhark
+DEB_DEFAULT_COMPILER = ghc
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/hlibrary.mk
+
+build/futhark:: build-ghc-stamp
+	cd docs; make man
+
+build/futhark-doc::
+	cd docs; make html
+
+common-binary-arch::
+# TODO test other backends (CPU is always available)
+# --concurrency=1 is rather excessive but too much parallelism risks GPU OOM
+# Idea: Use a runner that checks that GPU has a reasonable amount of memory available
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+	set -e\
+	; if [ -r /dev/kfd -a -x /usr/bin/hipcc ]\
+	; then cp -r tests debian\
+	;      dist-ghc/build/futhark/futhark test --backend=hip --concurrency=1 --notty debian/tests\
+	; else echo "W: /dev/kfd unreadable: no available AMD GPU, or hipcc not found"\
+	;      echo "W: tests skipped."\
+	; fi
+endif
+
+cleanbuilddir::
+	rm -rf debian/tests docs/_build


=====================================
p/haskell-futhark/debian/source/format
=====================================
@@ -0,0 +1 @@
+3.0 (quilt)


=====================================
p/haskell-futhark/debian/watch
=====================================
@@ -0,0 +1,3 @@
+# The hackage release doesn't include test files or Python setup
+version=4
+https://github.com/diku-dk/futhark/tags .*/v?(\d.*)@ARCHIVE_EXT@



View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/-/commit/0a2f737425cc455f8c5ab34ad62cca38ab62c789

-- 
View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/-/commit/0a2f737425cc455f8c5ab34ad62cca38ab62c789
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-haskell-commits/attachments/20240422/88b3a645/attachment-0001.htm>


More information about the Pkg-haskell-commits mailing list