Package Details: hlint-static-git 3.8.r68.g7dfba720-3

Git Clone URL: https://aur.archlinux.org/hlint-static-git.git (read-only, click to copy)
Package Base: hlint-static-git
Description: Haskell source code suggestions
Upstream URL: https://github.com/ndmitchell/hlint
Keywords: haskell
Licenses: BSD-3-Clause
Conflicts: hlint
Provides: hlint
Submitter: gesh
Maintainer: gesh
Last Packager: gesh
Votes: 0
Popularity: 0.000000
First Submitted: 2021-02-07 00:05 (UTC)
Last Updated: 2025-01-19 19:52 (UTC)

Dependencies (4)

Required by (1)

Sources (1)

Pinned Comments

gesh commented on 2025-01-15 13:16 (UTC)

To clarify -- the goal of this package is to statically link against the Haskell dependencies. The non-Haskell libraries (glibc, gmp) could be worked around in theory, but need a musl-based toolchain to do so. I both haven't managed to make such a toolchain work, and doubt it is useful in Arch in practice, given the binaries aren't meant for redistribution to other distros.

If someone wants to try their hand at removing these deps (and so making of them makedepends), the build invocation must be passed --enable-executable-static, and (though I haven't managed to track down how to do this) GHC must be told to compile with musl-gcc instead of gcc (this might require installing a musl-based GHC).

This might not even be easily supported with current cabal, though, see https://github.com/haskell/cabal/issues/1325

See also https://hasufell.github.io/posts/2024-04-21-static-linking.html

(This investigation was sparked by the realization that hledger-bin is fully statically linked)

gesh commented on 2024-12-04 16:35 (UTC)

Note: when I wrote the commit message pushing for using ghc-9.6.5 I was under the mistaken impression that --disable-ld-override had been made the default for ghc's bindists. This is not the case -- ghc now only provides this as a build configuration option, see https://gitlab.haskell.org/ghc/ghc/-/issues/24565#note_570439 So to build this, the easiest way is to use a ghc provided by ghcup -- see https://www.haskell.org/ghcup/guide/#strategy-1-stack-hooks-new-recommended for how to get stack to use ghcup to fetch its compiler.

Latest Comments

gesh commented on 2025-01-15 13:16 (UTC)

To clarify -- the goal of this package is to statically link against the Haskell dependencies. The non-Haskell libraries (glibc, gmp) could be worked around in theory, but need a musl-based toolchain to do so. I both haven't managed to make such a toolchain work, and doubt it is useful in Arch in practice, given the binaries aren't meant for redistribution to other distros.

If someone wants to try their hand at removing these deps (and so making of them makedepends), the build invocation must be passed --enable-executable-static, and (though I haven't managed to track down how to do this) GHC must be told to compile with musl-gcc instead of gcc (this might require installing a musl-based GHC).

This might not even be easily supported with current cabal, though, see https://github.com/haskell/cabal/issues/1325

See also https://hasufell.github.io/posts/2024-04-21-static-linking.html

(This investigation was sparked by the realization that hledger-bin is fully statically linked)

gesh commented on 2024-12-04 16:35 (UTC)

Note: when I wrote the commit message pushing for using ghc-9.6.5 I was under the mistaken impression that --disable-ld-override had been made the default for ghc's bindists. This is not the case -- ghc now only provides this as a build configuration option, see https://gitlab.haskell.org/ghc/ghc/-/issues/24565#note_570439 So to build this, the easiest way is to use a ghc provided by ghcup -- see https://www.haskell.org/ghcup/guide/#strategy-1-stack-hooks-new-recommended for how to get stack to use ghcup to fetch its compiler.

gesh commented on 2022-03-21 23:38 (UTC)

upstream merged patch, build works now

gesh commented on 2022-03-13 18:35 (UTC)

Build is broken, filed PR upstream as #1356 Below is a patch to build off that PR branch in the meantime:

diff --git a/.SRCINFO b/.SRCINFO
index d3590aa..58d1162 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -11,7 +11,7 @@ pkgbase = hlint-static-git
        provides = hlint
        conflicts = hlint
        conflicts = hlint-bin
-       source = hlint-static-git::git+https://github.com/ndmitchell/hlint
+       source = hlint-static-git::git+https://github.com/hseg/hlint/tree/patch-2
        sha256sums = SKIP

 pkgname = hlint-static-git
diff --git a/PKGBUILD b/PKGBUILD
index e8d5173..c545b0d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,7 +12,8 @@ makedepends=('git' 'stack')
 depends=('gmp')
 provides=('hlint')
 conflicts=('hlint' 'hlint-bin')
-source=("${pkgname}::git+${url}")
+#source=("${pkgname}::git+${url}")
+source=("${pkgname}::git+https://github.com/hseg/hlint/tree/patch-2")
 sha256sums=('SKIP')

 pkgver() {