mirror of
https://github.com/ivabus/pantry
synced 2024-11-29 19:55:06 +03:00
update(haskell) (#869)
* update(haskell) * add PIC for x86-64 * ChatGPT says this will work * so annoying * maybe this * let's goooo
This commit is contained in:
parent
e36f971356
commit
e2f503c0d4
1 changed files with 21 additions and 7 deletions
|
@ -4,6 +4,7 @@ distributable:
|
||||||
strip-components: 1
|
strip-components: 1
|
||||||
|
|
||||||
versions:
|
versions:
|
||||||
|
- 9.4.4
|
||||||
- 9.2.4
|
- 9.2.4
|
||||||
#TODO
|
#TODO
|
||||||
# github: ghc/ghc/tags
|
# github: ghc/ghc/tags
|
||||||
|
@ -64,14 +65,20 @@ build:
|
||||||
rm -r $HOME/.cabal/bin
|
rm -r $HOME/.cabal/bin
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cabal update
|
|
||||||
cabal install alex happy
|
|
||||||
|
|
||||||
export PATH="$HOME/.cabal/bin:$PATH"
|
export PATH="$HOME/.cabal/bin:$PATH"
|
||||||
GHC="$HOME/.ghcup/bin/ghc"
|
GHC="$HOME/.ghcup/bin/ghc"
|
||||||
|
|
||||||
|
# We need PIC on linux-x86_64 (it's already on the other
|
||||||
|
# platforms). This does that.
|
||||||
|
# https://www.hobson.space/posts/haskell-foreign-library/
|
||||||
|
|
||||||
|
sed -i.bak \
|
||||||
|
's/\((OSLinux, ArchAArch64) -> \[Opt_PIC, Opt_ExternalDynamicRefs\]\)/\1\n (OSLinux, ArchX86_64) -> \[Opt_PIC, Opt_ExternalDynamicRefs\]/' \
|
||||||
|
compiler/GHC/Driver/Session.hs
|
||||||
|
rm compiler/GHC/Driver/Session.hs.bak
|
||||||
|
|
||||||
./configure $ARGS
|
./configure $ARGS
|
||||||
hadrian/build -j --docs=none --prefix="{{prefix}}" install
|
hadrian/build $HADRIAN_ARGS install
|
||||||
|
|
||||||
for shim in $(find "{{prefix}}/bin" -type f); do
|
for shim in $(find "{{prefix}}/bin" -type f); do
|
||||||
sed -i.bak -e 's_="{{prefix}}_="$(dirname $(dirname $0))_' $shim
|
sed -i.bak -e 's_="{{prefix}}_="$(dirname $(dirname $0))_' $shim
|
||||||
|
@ -84,18 +91,25 @@ build:
|
||||||
BOOTSTRAP_HASKELL_NONINTERACTIVE: 1
|
BOOTSTRAP_HASKELL_NONINTERACTIVE: 1
|
||||||
BOOTSTRAP_HASKELL_ADJUST_BASHRC: 0
|
BOOTSTRAP_HASKELL_ADJUST_BASHRC: 0
|
||||||
BOOTSTRAP_HASKELL_GHC_VERSION: ${{version}}
|
BOOTSTRAP_HASKELL_GHC_VERSION: ${{version}}
|
||||||
CONF_CC_OPTS_STAGE0: $LDFLAGS
|
CONF_CC_OPTS_STAGE0: $CFLAGS
|
||||||
CONF_CC_OPTS_STAGE1: $LDFLAGS
|
CONF_CC_OPTS_STAGE1: $CFLAGS
|
||||||
CONF_CC_OPTS_STAGE2: $LDFLAGS
|
CONF_CC_OPTS_STAGE2: $CFLAGS
|
||||||
CONF_GCC_LINKER_OPTS_STAGE0: $LDFLAGS
|
CONF_GCC_LINKER_OPTS_STAGE0: $LDFLAGS
|
||||||
CONF_GCC_LINKER_OPTS_STAGE1: $LDFLAGS
|
CONF_GCC_LINKER_OPTS_STAGE1: $LDFLAGS
|
||||||
CONF_GCC_LINKER_OPTS_STAGE2: $LDFLAGS
|
CONF_GCC_LINKER_OPTS_STAGE2: $LDFLAGS
|
||||||
|
# ChatGPT
|
||||||
|
GHC_OPTIONS: -fPIC
|
||||||
ARGS:
|
ARGS:
|
||||||
- --prefix={{prefix}}
|
- --prefix={{prefix}}
|
||||||
- --disable-numa
|
- --disable-numa
|
||||||
- --with-curses-includes={{deps.invisible-island.net/ncurses.prefix}}/include/ncursesw
|
- --with-curses-includes={{deps.invisible-island.net/ncurses.prefix}}/include/ncursesw
|
||||||
- --with-intree-gmp
|
- --with-intree-gmp
|
||||||
- --with-system-libffi
|
- --with-system-libffi
|
||||||
|
HADRIAN_ARGS:
|
||||||
|
- -j
|
||||||
|
- --docs=none
|
||||||
|
- --flavour=release
|
||||||
|
- --prefix="{{prefix}}"
|
||||||
linux:
|
linux:
|
||||||
C_INCLUDE_PATH: ${{deps.invisible-island.net/ncurses.prefix}}/include/ncursesw
|
C_INCLUDE_PATH: ${{deps.invisible-island.net/ncurses.prefix}}/include/ncursesw
|
||||||
# ^^ yep telling `./configure` about it just aint enough
|
# ^^ yep telling `./configure` about it just aint enough
|
||||||
|
|
Loading…
Reference in a new issue