Merge pull request #75857 from NixOS/haskell-updates
Update Haskell Package Set
This commit is contained in:
commit
4ba505b887
232
pkgs/development/compilers/ghc/8.10.1.nix
Normal file
232
pkgs/development/compilers/ghc/8.10.1.nix
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
{ stdenv, pkgsBuildTarget, targetPackages
|
||||||
|
|
||||||
|
# build-tools
|
||||||
|
, bootPkgs
|
||||||
|
, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
|
||||||
|
, bash
|
||||||
|
|
||||||
|
, libiconv ? null, ncurses
|
||||||
|
|
||||||
|
, # GHC can be built with system libffi or a bundled one.
|
||||||
|
libffi ? null
|
||||||
|
|
||||||
|
, useLLVM ? !stdenv.targetPlatform.isx86
|
||||||
|
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||||
|
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||||
|
# build-time dependency too.
|
||||||
|
buildLlvmPackages, llvmPackages
|
||||||
|
|
||||||
|
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
|
||||||
|
# library instead of the faster but GPLed integer-gmp library.
|
||||||
|
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
|
||||||
|
|
||||||
|
, # If enabled, use -fPIC when compiling static libs.
|
||||||
|
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||||
|
|
||||||
|
, # Whether to build dynamic libs for the standard library (on the target
|
||||||
|
# platform). Static libs are always built.
|
||||||
|
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
|
||||||
|
|
||||||
|
, # Whetherto build terminfo.
|
||||||
|
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||||
|
|
||||||
|
, # What flavour to build. An empty string indicates no
|
||||||
|
# specific flavour and falls back to ghc default values.
|
||||||
|
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
|
||||||
|
(if useLLVM then "perf-cross" else "perf-cross-ncg")
|
||||||
|
|
||||||
|
, # Whether to disable the large address space allocator
|
||||||
|
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||||
|
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert !enableIntegerSimple -> gmp != null;
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
inherit (bootPkgs) ghc;
|
||||||
|
|
||||||
|
# TODO(@Ericson2314) Make unconditional
|
||||||
|
targetPrefix = stdenv.lib.optionalString
|
||||||
|
(targetPlatform != hostPlatform)
|
||||||
|
"${targetPlatform.config}-";
|
||||||
|
|
||||||
|
buildMK = ''
|
||||||
|
BuildFlavour = ${ghcFlavour}
|
||||||
|
ifneq \"\$(BuildFlavour)\" \"\"
|
||||||
|
include mk/flavours/\$(BuildFlavour).mk
|
||||||
|
endif
|
||||||
|
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
|
||||||
|
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
|
||||||
|
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
|
||||||
|
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
|
||||||
|
CrossCompilePrefix = ${targetPrefix}
|
||||||
|
HADDOCK_DOCS = NO
|
||||||
|
BUILD_SPHINX_HTML = NO
|
||||||
|
BUILD_SPHINX_PDF = NO
|
||||||
|
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
|
||||||
|
GhcLibHcOpts += -fPIC
|
||||||
|
GhcRtsHcOpts += -fPIC
|
||||||
|
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||||
|
EXTRA_CC_OPTS += -std=gnu99
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Splicer will pull out correct variations
|
||||||
|
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
|
||||||
|
++ [libffi]
|
||||||
|
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||||
|
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||||
|
|
||||||
|
toolsForTarget = [
|
||||||
|
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||||
|
] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
|
||||||
|
|
||||||
|
targetCC = builtins.head toolsForTarget;
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation (rec {
|
||||||
|
version = "8.10.0.20191210";
|
||||||
|
name = "${targetPrefix}ghc-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://downloads.haskell.org/ghc/8.10.1-alpha2/ghc-${version}-src.tar.xz";
|
||||||
|
sha256 = "1mmv8s9cs41kp7wh1qqnzin5wv32cvs3lmzgda7njz0ssqb0mmvj";
|
||||||
|
};
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
outputs = [ "out" "doc" ];
|
||||||
|
|
||||||
|
postPatch = "patchShebangs .";
|
||||||
|
|
||||||
|
# GHC is a bit confused on its cross terminology.
|
||||||
|
preConfigure = ''
|
||||||
|
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||||
|
export "''${env#TARGET_}=''${!env}"
|
||||||
|
done
|
||||||
|
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||||
|
# the *host* tools.
|
||||||
|
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
|
||||||
|
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
|
||||||
|
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||||
|
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
|
||||||
|
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
|
||||||
|
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
|
||||||
|
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
|
||||||
|
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||||
|
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||||
|
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||||
|
|
||||||
|
echo -n "${buildMK}" > mk/build.mk
|
||||||
|
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||||
|
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
||||||
|
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
|
||||||
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
|
export NIX_LDFLAGS+=" -no_dtrace_dof"
|
||||||
|
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||||
|
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
|
||||||
|
'' + stdenv.lib.optionalString targetPlatform.isMusl ''
|
||||||
|
echo "patching llvm-targets for musl targets..."
|
||||||
|
echo "Cloning these existing '*-linux-gnu*' targets:"
|
||||||
|
grep linux-gnu llvm-targets | sed 's/^/ /'
|
||||||
|
echo "(go go gadget sed)"
|
||||||
|
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
|
||||||
|
echo "llvm-targets now contains these '*-linux-musl*' targets:"
|
||||||
|
grep linux-musl llvm-targets | sed 's/^/ /'
|
||||||
|
|
||||||
|
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
|
||||||
|
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
|
||||||
|
for x in configure aclocal.m4; do
|
||||||
|
substituteInPlace $x \
|
||||||
|
--replace '*-android*|*-gnueabi*)' \
|
||||||
|
'*-android*|*-gnueabi*|*-musleabi*)'
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||||
|
configurePlatforms = [ "build" "host" ]
|
||||||
|
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
|
||||||
|
# `--with` flags for libraries needed for RTS linker
|
||||||
|
configureFlags = [
|
||||||
|
"--datadir=$doc/share/doc/ghc"
|
||||||
|
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
||||||
|
] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||||
|
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
||||||
|
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||||
|
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||||
|
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
|
||||||
|
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
|
||||||
|
"--enable-bootstrap-with-devel-snapshot"
|
||||||
|
] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
|
||||||
|
"CFLAGS=-fuse-ld=gold"
|
||||||
|
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
|
||||||
|
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||||
|
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
|
||||||
|
"--disable-large-address-space"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Make sure we never relax`$PATH` and hooks support for compatability.
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
||||||
|
dontAddExtraLibs = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
perl autoconf automake m4 python3 sphinx
|
||||||
|
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||||
|
];
|
||||||
|
|
||||||
|
# For building runtime libs
|
||||||
|
depsBuildTarget = toolsForTarget;
|
||||||
|
|
||||||
|
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
|
||||||
|
++ stdenv.lib.optional useLLVM llvmPackages.llvm;
|
||||||
|
|
||||||
|
depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
|
||||||
|
depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
|
||||||
|
|
||||||
|
# required, because otherwise all symbols from HSffi.o are stripped, and
|
||||||
|
# that in turn causes GHCi to abort
|
||||||
|
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
|
||||||
|
|
||||||
|
checkTarget = "test";
|
||||||
|
|
||||||
|
hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# Install the bash completion file.
|
||||||
|
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||||
|
|
||||||
|
# Patch scripts to include "readelf" and "cat" in $PATH.
|
||||||
|
for i in "$out/bin/"*; do
|
||||||
|
test ! -h $i || continue
|
||||||
|
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||||
|
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit bootPkgs targetPrefix;
|
||||||
|
|
||||||
|
inherit llvmPackages;
|
||||||
|
inherit enableShared;
|
||||||
|
|
||||||
|
# Our Cabal compiler name
|
||||||
|
haskellCompilerName = "ghc-${version}";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://haskell.org/ghc;
|
||||||
|
description = "The Glasgow Haskell Compiler";
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
|
||||||
|
inherit (ghc.meta) license platforms;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||||
|
dontStrip = true;
|
||||||
|
dontPatchELF = true;
|
||||||
|
noAuditTmpdir = true;
|
||||||
|
})
|
232
pkgs/development/compilers/ghc/8.8.2.nix
Normal file
232
pkgs/development/compilers/ghc/8.8.2.nix
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
{ stdenv, pkgsBuildTarget, targetPackages
|
||||||
|
|
||||||
|
# build-tools
|
||||||
|
, bootPkgs
|
||||||
|
, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
|
||||||
|
, bash
|
||||||
|
|
||||||
|
, libiconv ? null, ncurses
|
||||||
|
|
||||||
|
, # GHC can be built with system libffi or a bundled one.
|
||||||
|
libffi ? null
|
||||||
|
|
||||||
|
, useLLVM ? !stdenv.targetPlatform.isx86
|
||||||
|
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||||
|
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
|
||||||
|
# build-time dependency too.
|
||||||
|
buildLlvmPackages, llvmPackages
|
||||||
|
|
||||||
|
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
|
||||||
|
# library instead of the faster but GPLed integer-gmp library.
|
||||||
|
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
|
||||||
|
|
||||||
|
, # If enabled, use -fPIC when compiling static libs.
|
||||||
|
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||||
|
|
||||||
|
, # Whether to build dynamic libs for the standard library (on the target
|
||||||
|
# platform). Static libs are always built.
|
||||||
|
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
|
||||||
|
|
||||||
|
, # Whetherto build terminfo.
|
||||||
|
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||||
|
|
||||||
|
, # What flavour to build. An empty string indicates no
|
||||||
|
# specific flavour and falls back to ghc default values.
|
||||||
|
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
|
||||||
|
(if useLLVM then "perf-cross" else "perf-cross-ncg")
|
||||||
|
|
||||||
|
, # Whether to disable the large address space allocator
|
||||||
|
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||||
|
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
|
||||||
|
}:
|
||||||
|
|
||||||
|
assert !enableIntegerSimple -> gmp != null;
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||||
|
|
||||||
|
inherit (bootPkgs) ghc;
|
||||||
|
|
||||||
|
# TODO(@Ericson2314) Make unconditional
|
||||||
|
targetPrefix = stdenv.lib.optionalString
|
||||||
|
(targetPlatform != hostPlatform)
|
||||||
|
"${targetPlatform.config}-";
|
||||||
|
|
||||||
|
buildMK = ''
|
||||||
|
BuildFlavour = ${ghcFlavour}
|
||||||
|
ifneq \"\$(BuildFlavour)\" \"\"
|
||||||
|
include mk/flavours/\$(BuildFlavour).mk
|
||||||
|
endif
|
||||||
|
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
|
||||||
|
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
|
||||||
|
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
|
||||||
|
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
|
||||||
|
CrossCompilePrefix = ${targetPrefix}
|
||||||
|
HADDOCK_DOCS = NO
|
||||||
|
BUILD_SPHINX_HTML = NO
|
||||||
|
BUILD_SPHINX_PDF = NO
|
||||||
|
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
|
||||||
|
GhcLibHcOpts += -fPIC
|
||||||
|
GhcRtsHcOpts += -fPIC
|
||||||
|
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||||
|
EXTRA_CC_OPTS += -std=gnu99
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Splicer will pull out correct variations
|
||||||
|
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
|
||||||
|
++ [libffi]
|
||||||
|
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||||
|
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
|
||||||
|
|
||||||
|
toolsForTarget = [
|
||||||
|
pkgsBuildTarget.targetPackages.stdenv.cc
|
||||||
|
] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
|
||||||
|
|
||||||
|
targetCC = builtins.head toolsForTarget;
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation (rec {
|
||||||
|
version = "8.8.1.20191211";
|
||||||
|
name = "${targetPrefix}ghc-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://downloads.haskell.org/ghc/8.8.2-rc1/ghc-${version}-src.tar.xz";
|
||||||
|
sha256 = "1gl4fzakjbhd94v1saxmr9sfzgk22m1b95jq51rxm93b2g4cixl4";
|
||||||
|
};
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
outputs = [ "out" "doc" ];
|
||||||
|
|
||||||
|
postPatch = "patchShebangs .";
|
||||||
|
|
||||||
|
# GHC is a bit confused on its cross terminology.
|
||||||
|
preConfigure = ''
|
||||||
|
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||||
|
export "''${env#TARGET_}=''${!env}"
|
||||||
|
done
|
||||||
|
# GHC is a bit confused on its cross terminology, as these would normally be
|
||||||
|
# the *host* tools.
|
||||||
|
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
|
||||||
|
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
|
||||||
|
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
|
||||||
|
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
|
||||||
|
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
|
||||||
|
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
|
||||||
|
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
|
||||||
|
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
|
||||||
|
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
|
||||||
|
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||||
|
|
||||||
|
echo -n "${buildMK}" > mk/build.mk
|
||||||
|
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||||
|
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
||||||
|
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
|
||||||
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
|
export NIX_LDFLAGS+=" -no_dtrace_dof"
|
||||||
|
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
|
||||||
|
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
|
||||||
|
'' + stdenv.lib.optionalString targetPlatform.isMusl ''
|
||||||
|
echo "patching llvm-targets for musl targets..."
|
||||||
|
echo "Cloning these existing '*-linux-gnu*' targets:"
|
||||||
|
grep linux-gnu llvm-targets | sed 's/^/ /'
|
||||||
|
echo "(go go gadget sed)"
|
||||||
|
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
|
||||||
|
echo "llvm-targets now contains these '*-linux-musl*' targets:"
|
||||||
|
grep linux-musl llvm-targets | sed 's/^/ /'
|
||||||
|
|
||||||
|
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
|
||||||
|
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
|
||||||
|
for x in configure aclocal.m4; do
|
||||||
|
substituteInPlace $x \
|
||||||
|
--replace '*-android*|*-gnueabi*)' \
|
||||||
|
'*-android*|*-gnueabi*|*-musleabi*)'
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||||
|
configurePlatforms = [ "build" "host" ]
|
||||||
|
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
|
||||||
|
# `--with` flags for libraries needed for RTS linker
|
||||||
|
configureFlags = [
|
||||||
|
"--datadir=$doc/share/doc/ghc"
|
||||||
|
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
||||||
|
] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||||
|
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
||||||
|
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||||
|
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||||
|
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
|
||||||
|
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
|
||||||
|
"--enable-bootstrap-with-devel-snapshot"
|
||||||
|
] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
|
||||||
|
"CFLAGS=-fuse-ld=gold"
|
||||||
|
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
|
||||||
|
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||||
|
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
|
||||||
|
"--disable-large-address-space"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Make sure we never relax`$PATH` and hooks support for compatability.
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
||||||
|
dontAddExtraLibs = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
perl autoconf automake m4 python3 sphinx
|
||||||
|
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||||
|
];
|
||||||
|
|
||||||
|
# For building runtime libs
|
||||||
|
depsBuildTarget = toolsForTarget;
|
||||||
|
|
||||||
|
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
|
||||||
|
++ stdenv.lib.optional useLLVM llvmPackages.llvm;
|
||||||
|
|
||||||
|
depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
|
||||||
|
depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
|
||||||
|
|
||||||
|
# required, because otherwise all symbols from HSffi.o are stripped, and
|
||||||
|
# that in turn causes GHCi to abort
|
||||||
|
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
|
||||||
|
|
||||||
|
checkTarget = "test";
|
||||||
|
|
||||||
|
hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# Install the bash completion file.
|
||||||
|
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
|
||||||
|
|
||||||
|
# Patch scripts to include "readelf" and "cat" in $PATH.
|
||||||
|
for i in "$out/bin/"*; do
|
||||||
|
test ! -h $i || continue
|
||||||
|
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||||
|
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit bootPkgs targetPrefix;
|
||||||
|
|
||||||
|
inherit llvmPackages;
|
||||||
|
inherit enableShared;
|
||||||
|
|
||||||
|
# Our Cabal compiler name
|
||||||
|
haskellCompilerName = "ghc-${version}";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://haskell.org/ghc;
|
||||||
|
description = "The Glasgow Haskell Compiler";
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
|
||||||
|
inherit (ghc.meta) license platforms;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
|
||||||
|
dontStrip = true;
|
||||||
|
dontPatchELF = true;
|
||||||
|
noAuditTmpdir = true;
|
||||||
|
})
|
@ -74,7 +74,7 @@ self: super: {
|
|||||||
name = "git-annex-${super.git-annex.version}-src";
|
name = "git-annex-${super.git-annex.version}-src";
|
||||||
url = "git://git-annex.branchable.com/";
|
url = "git://git-annex.branchable.com/";
|
||||||
rev = "refs/tags/" + super.git-annex.version;
|
rev = "refs/tags/" + super.git-annex.version;
|
||||||
sha256 = "04l1yrjq7n4nlzkmkg73xp6p7vpw1iq53mrmyb8162wqb7zapg4f";
|
sha256 = "1i4arhwbc05iz8hl7kk843m2f49i3ysby1kxcm9qfhpk7z9nyzj4";
|
||||||
};
|
};
|
||||||
}).override {
|
}).override {
|
||||||
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
||||||
@ -1048,7 +1048,30 @@ self: super: {
|
|||||||
generateOptparseApplicativeCompletion "dhall" (
|
generateOptparseApplicativeCompletion "dhall" (
|
||||||
dontCheck super.dhall
|
dontCheck super.dhall
|
||||||
);
|
);
|
||||||
dhall_1_28_0 = dontCheck super.dhall_1_28_0;
|
# https://github.com/dhall-lang/dhall-haskell/commit/dedd5e0ea6fd12f87d887af3d2220eebc61ee8af
|
||||||
|
# This raises the lower bound on prettyprinter to 1.5.1 since
|
||||||
|
# `removeTrailingWhitespace` is buggy in earlier versions.
|
||||||
|
# This will probably be able to be removed when we update to LTS-15.
|
||||||
|
dhall_1_28_0 =
|
||||||
|
dontCheck (super.dhall_1_28_0.override {
|
||||||
|
prettyprinter = self.prettyprinter_1_5_1;
|
||||||
|
prettyprinter-ansi-terminal =
|
||||||
|
self.prettyprinter-ansi-terminal.override {
|
||||||
|
prettyprinter = self.prettyprinter_1_5_1;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
dhall-bash_1_0_25 = super.dhall-bash_1_0_25.override { dhall = self.dhall_1_28_0; };
|
||||||
|
dhall-json_1_6_0 = super.dhall-json_1_6_0.override {
|
||||||
|
dhall = self.dhall_1_28_0;
|
||||||
|
prettyprinter = self.prettyprinter_1_5_1;
|
||||||
|
prettyprinter-ansi-terminal =
|
||||||
|
self.prettyprinter-ansi-terminal.override {
|
||||||
|
prettyprinter = self.prettyprinter_1_5_1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Tests for dhall access the network.
|
||||||
|
dhall_1_27_0 = dontCheck super.dhall_1_27_0;
|
||||||
|
|
||||||
# Missing test files in source distribution, fixed once 1.4.0 is bumped
|
# Missing test files in source distribution, fixed once 1.4.0 is bumped
|
||||||
# https://github.com/dhall-lang/dhall-haskell/pull/997
|
# https://github.com/dhall-lang/dhall-haskell/pull/997
|
||||||
@ -1313,9 +1336,29 @@ self: super: {
|
|||||||
# needs newer version of the systemd package
|
# needs newer version of the systemd package
|
||||||
spacecookie = super.spacecookie.override { systemd = self.systemd_2_2_0; };
|
spacecookie = super.spacecookie.override { systemd = self.systemd_2_2_0; };
|
||||||
|
|
||||||
# ghcide needs the latest versions of haskell-lsp.
|
# 2019-12-19 - glirc wants regex-tdfa >=1.3 which results in errors with regex-base which errors more
|
||||||
ghcide = super.ghcide.override { haskell-lsp = self.haskell-lsp_0_18_0_0; lsp-test = self.lsp-test_0_8_2_0; };
|
# hoping to make a proper derivation with plugins enabled and more reliable building -- kiwi
|
||||||
haskell-lsp_0_18_0_0 = super.haskell-lsp_0_18_0_0.override { haskell-lsp-types = self.haskell-lsp-types_0_18_0_0; };
|
glirc = doJailbreak super.glirc;
|
||||||
lsp-test_0_8_2_0 = (dontCheck super.lsp-test_0_8_2_0).override { haskell-lsp = self.haskell-lsp_0_18_0_0; };
|
|
||||||
|
# apply patches from https://github.com/snapframework/snap-server/pull/126
|
||||||
|
# manually until they are accepted upstream
|
||||||
|
snap-server = overrideCabal super.snap-server (drv: {
|
||||||
|
patches = [(pkgs.fetchpatch {
|
||||||
|
# allow compilation with network >= 3
|
||||||
|
url = https://github.com/snapframework/snap-server/pull/126/commits/4338fe15d68e11e3c7fd0f9862f818864adc1d45.patch;
|
||||||
|
sha256 = "1nlw9lckm3flzkmhkzwc7zxhdh9ns33w8p8ds8nf574nqr5cr8bv";
|
||||||
|
})
|
||||||
|
(pkgs.fetchpatch {
|
||||||
|
# prefer fdSocket over unsafeFdSocket
|
||||||
|
url = https://github.com/snapframework/snap-server/pull/126/commits/410de2df123b1d56b3093720e9c6a1ad79fe9de6.patch;
|
||||||
|
sha256 = "08psvw0xny64q4bw1nwg01pkzh01ak542lw6k1ps7cdcwaxk0n94";
|
||||||
|
})];
|
||||||
|
});
|
||||||
|
|
||||||
|
# https://github.com/haskell-servant/servant-blaze/issues/17
|
||||||
|
servant-blaze = doJailbreak super.servant-blaze;
|
||||||
|
|
||||||
|
# https://github.com/haskell-servant/servant-ekg/issues/15
|
||||||
|
servant-ekg = doJailbreak super.servant-ekg;
|
||||||
|
|
||||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
{ pkgs, haskellLib }:
|
||||||
|
|
||||||
|
with haskellLib;
|
||||||
|
|
||||||
|
self: super: {
|
||||||
|
|
||||||
|
# This compiler version needs llvm 9.x.
|
||||||
|
llvmPackages = pkgs.llvmPackages_9;
|
||||||
|
|
||||||
|
# Disable GHC 8.10.x core libraries.
|
||||||
|
array = null;
|
||||||
|
base = null;
|
||||||
|
binary = null;
|
||||||
|
bytestring = null;
|
||||||
|
Cabal = null;
|
||||||
|
containers = null;
|
||||||
|
deepseq = null;
|
||||||
|
directory = null;
|
||||||
|
filepath = null;
|
||||||
|
ghc-boot = null;
|
||||||
|
ghc-boot-th = null;
|
||||||
|
ghc-compact = null;
|
||||||
|
ghc-heap = null;
|
||||||
|
ghc-prim = null;
|
||||||
|
ghci = null;
|
||||||
|
haskeline = null;
|
||||||
|
hpc = null;
|
||||||
|
integer-gmp = null;
|
||||||
|
libiserv = null;
|
||||||
|
mtl = null;
|
||||||
|
parsec = null;
|
||||||
|
pretty = null;
|
||||||
|
process = null;
|
||||||
|
rts = null;
|
||||||
|
stm = null;
|
||||||
|
template-haskell = null;
|
||||||
|
terminfo = null;
|
||||||
|
text = null;
|
||||||
|
time = null;
|
||||||
|
transformers = null;
|
||||||
|
unix = null;
|
||||||
|
xhtml = null;
|
||||||
|
|
||||||
|
}
|
@ -91,7 +91,7 @@ self: super: {
|
|||||||
microlens-th = self.microlens-th_0_4_3_2;
|
microlens-th = self.microlens-th_0_4_3_2;
|
||||||
network = self.network_3_1_1_1;
|
network = self.network_3_1_1_1;
|
||||||
optparse-applicative = self.optparse-applicative_0_15_1_0;
|
optparse-applicative = self.optparse-applicative_0_15_1_0;
|
||||||
pandoc = self.pandoc_2_9;
|
pandoc = self.pandoc_2_9_1;
|
||||||
pandoc-types = self.pandoc-types_1_20;
|
pandoc-types = self.pandoc-types_1_20;
|
||||||
prettyprinter = self.prettyprinter_1_5_1;
|
prettyprinter = self.prettyprinter_1_5_1;
|
||||||
primitive = dontCheck super.primitive_0_7_0_0; # evaluating the test suite gives an infinite recursion
|
primitive = dontCheck super.primitive_0_7_0_0; # evaluating the test suite gives an infinite recursion
|
||||||
|
@ -43,7 +43,7 @@ core-packages:
|
|||||||
- ghcjs-base-0
|
- ghcjs-base-0
|
||||||
|
|
||||||
default-package-overrides:
|
default-package-overrides:
|
||||||
# LTS Haskell 14.17
|
# LTS Haskell 14.18
|
||||||
- abstract-deque ==0.3
|
- abstract-deque ==0.3
|
||||||
- abstract-deque-tests ==0.3
|
- abstract-deque-tests ==0.3
|
||||||
- abstract-par ==0.3.3
|
- abstract-par ==0.3.3
|
||||||
@ -73,7 +73,7 @@ default-package-overrides:
|
|||||||
- alarmclock ==0.7.0.2
|
- alarmclock ==0.7.0.2
|
||||||
- alerts ==0.1.2.0
|
- alerts ==0.1.2.0
|
||||||
- alex ==3.2.5
|
- alex ==3.2.5
|
||||||
- alg ==0.2.12.0
|
- alg ==0.2.13.0
|
||||||
- algebraic-graphs ==0.4
|
- algebraic-graphs ==0.4
|
||||||
- Allure ==0.9.5.0
|
- Allure ==0.9.5.0
|
||||||
- almost-fix ==0.0.2
|
- almost-fix ==0.0.2
|
||||||
@ -202,7 +202,7 @@ default-package-overrides:
|
|||||||
- bitcoin-types ==0.9.2
|
- bitcoin-types ==0.9.2
|
||||||
- bits ==0.5.2
|
- bits ==0.5.2
|
||||||
- bitset-word8 ==0.1.1.1
|
- bitset-word8 ==0.1.1.1
|
||||||
- bits-extra ==0.0.1.4
|
- bits-extra ==0.0.1.5
|
||||||
- bitvec ==1.0.2.0
|
- bitvec ==1.0.2.0
|
||||||
- bitx-bitcoin ==0.12.0.0
|
- bitx-bitcoin ==0.12.0.0
|
||||||
- blake2 ==0.3.0
|
- blake2 ==0.3.0
|
||||||
@ -235,7 +235,7 @@ default-package-overrides:
|
|||||||
- bower-json ==1.0.0.1
|
- bower-json ==1.0.0.1
|
||||||
- boxes ==0.1.5
|
- boxes ==0.1.5
|
||||||
- brick ==0.47.1
|
- brick ==0.47.1
|
||||||
- brittany ==0.12.1.0
|
- brittany ==0.12.1.1
|
||||||
- bsb-http-chunked ==0.0.0.4
|
- bsb-http-chunked ==0.0.0.4
|
||||||
- bson ==0.3.2.8
|
- bson ==0.3.2.8
|
||||||
- bson-lens ==0.1.1
|
- bson-lens ==0.1.1
|
||||||
@ -266,8 +266,8 @@ default-package-overrides:
|
|||||||
- cabal2spec ==2.2.2.1
|
- cabal2spec ==2.2.2.1
|
||||||
- cabal-doctest ==1.0.8
|
- cabal-doctest ==1.0.8
|
||||||
- cabal-file-th ==0.2.6
|
- cabal-file-th ==0.2.6
|
||||||
- cabal-rpm ==1.0.1
|
- cabal-rpm ==1.0.2
|
||||||
- cache ==0.1.2.0
|
- cache ==0.1.3.0
|
||||||
- cacophony ==0.10.1
|
- cacophony ==0.10.1
|
||||||
- calendar-recycling ==0.0.0.1
|
- calendar-recycling ==0.0.0.1
|
||||||
- call-stack ==0.1.0
|
- call-stack ==0.1.0
|
||||||
@ -371,7 +371,7 @@ default-package-overrides:
|
|||||||
- concurrent-split ==0.0.1.1
|
- concurrent-split ==0.0.1.1
|
||||||
- concurrent-supply ==0.1.8
|
- concurrent-supply ==0.1.8
|
||||||
- cond ==0.4.1.1
|
- cond ==0.4.1.1
|
||||||
- conduit ==1.3.1.1
|
- conduit ==1.3.1.2
|
||||||
- conduit-algorithms ==0.0.11.0
|
- conduit-algorithms ==0.0.11.0
|
||||||
- conduit-combinators ==1.3.0
|
- conduit-combinators ==1.3.0
|
||||||
- conduit-concurrent-map ==0.1.1
|
- conduit-concurrent-map ==0.1.1
|
||||||
@ -523,9 +523,9 @@ default-package-overrides:
|
|||||||
- diagrams-core ==1.4.2
|
- diagrams-core ==1.4.2
|
||||||
- diagrams-lib ==1.4.3
|
- diagrams-lib ==1.4.3
|
||||||
- diagrams-postscript ==1.4.1
|
- diagrams-postscript ==1.4.1
|
||||||
- diagrams-rasterific ==1.4.1.1
|
- diagrams-rasterific ==1.4.2
|
||||||
- diagrams-solve ==0.1.1
|
- diagrams-solve ==0.1.1
|
||||||
- diagrams-svg ==1.4.2
|
- diagrams-svg ==1.4.3
|
||||||
- di-core ==1.0.4
|
- di-core ==1.0.4
|
||||||
- dictionary-sharing ==0.1.0.0
|
- dictionary-sharing ==0.1.0.0
|
||||||
- Diff ==0.3.4
|
- Diff ==0.3.4
|
||||||
@ -595,7 +595,6 @@ default-package-overrides:
|
|||||||
- elm-bridge ==0.5.2
|
- elm-bridge ==0.5.2
|
||||||
- elm-core-sources ==1.0.0
|
- elm-core-sources ==1.0.0
|
||||||
- elm-export ==0.6.0.1
|
- elm-export ==0.6.0.1
|
||||||
- elm-street ==0.0.1
|
|
||||||
- emacs-module ==0.1.1
|
- emacs-module ==0.1.1
|
||||||
- email-validate ==2.3.2.12
|
- email-validate ==2.3.2.12
|
||||||
- emd ==0.1.5.1
|
- emd ==0.1.5.1
|
||||||
@ -662,7 +661,7 @@ default-package-overrides:
|
|||||||
- fgl ==5.7.0.1
|
- fgl ==5.7.0.1
|
||||||
- fib ==0.1
|
- fib ==0.1
|
||||||
- filecache ==0.4.1
|
- filecache ==0.4.1
|
||||||
- file-embed ==0.0.11
|
- file-embed ==0.0.11.1
|
||||||
- file-embed-lzma ==0
|
- file-embed-lzma ==0
|
||||||
- filelock ==0.1.1.4
|
- filelock ==0.1.1.4
|
||||||
- filemanip ==0.3.6.3
|
- filemanip ==0.3.6.3
|
||||||
@ -670,8 +669,8 @@ default-package-overrides:
|
|||||||
- filepattern ==0.1.1
|
- filepattern ==0.1.1
|
||||||
- fileplow ==0.1.0.0
|
- fileplow ==0.1.0.0
|
||||||
- filter-logger ==0.6.0.0
|
- filter-logger ==0.6.0.0
|
||||||
- filtrable ==0.1.2.0
|
- filtrable ==0.1.3.0
|
||||||
- fin ==0.1
|
- fin ==0.1.1
|
||||||
- FindBin ==0.0.5
|
- FindBin ==0.0.5
|
||||||
- fingertree ==0.1.4.2
|
- fingertree ==0.1.4.2
|
||||||
- finite-typelits ==0.1.4.2
|
- finite-typelits ==0.1.4.2
|
||||||
@ -718,7 +717,7 @@ default-package-overrides:
|
|||||||
- free-vl ==0.1.4
|
- free-vl ==0.1.4
|
||||||
- friendly-time ==0.4.1
|
- friendly-time ==0.4.1
|
||||||
- frisby ==0.2.2
|
- frisby ==0.2.2
|
||||||
- from-sum ==0.2.1.0
|
- from-sum ==0.2.2.0
|
||||||
- frontmatter ==0.1.0.2
|
- frontmatter ==0.1.0.2
|
||||||
- fsnotify ==0.3.0.1
|
- fsnotify ==0.3.0.1
|
||||||
- fsnotify-conduit ==0.1.1.1
|
- fsnotify-conduit ==0.1.1.1
|
||||||
@ -854,7 +853,7 @@ default-package-overrides:
|
|||||||
- HandsomeSoup ==0.4.2
|
- HandsomeSoup ==0.4.2
|
||||||
- hapistrano ==0.3.10.0
|
- hapistrano ==0.3.10.0
|
||||||
- happy ==1.19.12
|
- happy ==1.19.12
|
||||||
- hasbolt ==0.1.3.6
|
- hasbolt ==0.1.4.0
|
||||||
- hashable ==1.2.7.0
|
- hashable ==1.2.7.0
|
||||||
- hashable-time ==0.2.0.2
|
- hashable-time ==0.2.0.2
|
||||||
- hashids ==1.0.2.4
|
- hashids ==1.0.2.4
|
||||||
@ -895,7 +894,7 @@ default-package-overrides:
|
|||||||
- hedgehog ==1.0.1
|
- hedgehog ==1.0.1
|
||||||
- hedgehog-corpus ==0.1.0
|
- hedgehog-corpus ==0.1.0
|
||||||
- hedgehog-fn ==1.0
|
- hedgehog-fn ==1.0
|
||||||
- hedis ==0.12.10
|
- hedis ==0.12.11
|
||||||
- hedn ==0.2.0.1
|
- hedn ==0.2.0.1
|
||||||
- here ==1.2.13
|
- here ==1.2.13
|
||||||
- heredoc ==0.2.0.0
|
- heredoc ==0.2.0.0
|
||||||
@ -1005,7 +1004,7 @@ default-package-overrides:
|
|||||||
- html-entities ==1.1.4.3
|
- html-entities ==1.1.4.3
|
||||||
- html-entity-map ==0.1.0.0
|
- html-entity-map ==0.1.0.0
|
||||||
- htoml ==1.0.0.3
|
- htoml ==1.0.0.3
|
||||||
- http2 ==1.6.5
|
- http2 ==2.0.3
|
||||||
- HTTP ==4000.3.14
|
- HTTP ==4000.3.14
|
||||||
- http-api-data ==0.4.1.1
|
- http-api-data ==0.4.1.1
|
||||||
- http-client ==0.6.4
|
- http-client ==0.6.4
|
||||||
@ -1376,7 +1375,8 @@ default-package-overrides:
|
|||||||
- mono-traversable ==1.0.13.0
|
- mono-traversable ==1.0.13.0
|
||||||
- mono-traversable-instances ==0.1.0.0
|
- mono-traversable-instances ==0.1.0.0
|
||||||
- mono-traversable-keys ==0.1.0
|
- mono-traversable-keys ==0.1.0
|
||||||
- more-containers ==0.2.1.2
|
- more-containers ==0.2.2.0
|
||||||
|
- morpheus-graphql ==0.8.0
|
||||||
- mountpoints ==1.0.2
|
- mountpoints ==1.0.2
|
||||||
- mpi-hs ==0.5.3.0
|
- mpi-hs ==0.5.3.0
|
||||||
- msgpack ==1.0.1.0
|
- msgpack ==1.0.1.0
|
||||||
@ -1387,12 +1387,12 @@ default-package-overrides:
|
|||||||
- multiarg ==0.30.0.10
|
- multiarg ==0.30.0.10
|
||||||
- multimap ==1.2.1
|
- multimap ==1.2.1
|
||||||
- multipart ==0.1.3
|
- multipart ==0.1.3
|
||||||
- multiset ==0.3.4.1
|
- multiset ==0.3.4.3
|
||||||
- multistate ==0.8.0.2
|
- multistate ==0.8.0.2
|
||||||
- murmur3 ==1.0.3
|
- murmur3 ==1.0.3
|
||||||
- murmur-hash ==0.1.0.9
|
- murmur-hash ==0.1.0.9
|
||||||
- MusicBrainz ==0.4.1
|
- MusicBrainz ==0.4.1
|
||||||
- mustache ==2.3.0
|
- mustache ==2.3.1
|
||||||
- mutable-containers ==0.3.4
|
- mutable-containers ==0.3.4
|
||||||
- mwc-probability ==2.1.0
|
- mwc-probability ==2.1.0
|
||||||
- mwc-probability-transition ==0.4
|
- mwc-probability-transition ==0.4
|
||||||
@ -1558,7 +1558,7 @@ default-package-overrides:
|
|||||||
- persistable-record ==0.6.0.4
|
- persistable-record ==0.6.0.4
|
||||||
- persistable-types-HDBC-pg ==0.0.3.5
|
- persistable-types-HDBC-pg ==0.0.3.5
|
||||||
- persistent ==2.9.2
|
- persistent ==2.9.2
|
||||||
- persistent-iproute ==0.2.3
|
- persistent-iproute ==0.2.4
|
||||||
- persistent-mysql ==2.9.0
|
- persistent-mysql ==2.9.0
|
||||||
- persistent-mysql-haskell ==0.5.2
|
- persistent-mysql-haskell ==0.5.2
|
||||||
- persistent-pagination ==0.1.1.0
|
- persistent-pagination ==0.1.1.0
|
||||||
@ -1681,10 +1681,11 @@ default-package-overrides:
|
|||||||
- pure-zlib ==0.6.6
|
- pure-zlib ==0.6.6
|
||||||
- pushbullet-types ==0.4.1.0
|
- pushbullet-types ==0.4.1.0
|
||||||
- pusher-http-haskell ==1.5.1.11
|
- pusher-http-haskell ==1.5.1.11
|
||||||
|
- PyF ==0.8.1.2
|
||||||
- qchas ==1.1.0.1
|
- qchas ==1.1.0.1
|
||||||
- qm-interpolated-string ==0.3.0.0
|
- qm-interpolated-string ==0.3.0.0
|
||||||
- qnap-decrypt ==0.3.5
|
- qnap-decrypt ==0.3.5
|
||||||
- qrcode-core ==0.9.1
|
- qrcode-core ==0.9.2
|
||||||
- qrcode-juicypixels ==0.8.0
|
- qrcode-juicypixels ==0.8.0
|
||||||
- quadratic-irrational ==0.1.0
|
- quadratic-irrational ==0.1.0
|
||||||
- QuasiText ==0.1.2.6
|
- QuasiText ==0.1.2.6
|
||||||
@ -1858,7 +1859,6 @@ default-package-overrides:
|
|||||||
- serialise ==0.2.1.0
|
- serialise ==0.2.1.0
|
||||||
- servant ==0.16.2
|
- servant ==0.16.2
|
||||||
- servant-auth ==0.3.2.0
|
- servant-auth ==0.3.2.0
|
||||||
- servant-auth-client ==0.4.0.0
|
|
||||||
- servant-auth-docs ==0.2.10.0
|
- servant-auth-docs ==0.2.10.0
|
||||||
- servant-auth-server ==0.4.4.0
|
- servant-auth-server ==0.4.4.0
|
||||||
- servant-auth-swagger ==0.2.10.0
|
- servant-auth-swagger ==0.2.10.0
|
||||||
@ -1923,7 +1923,7 @@ default-package-overrides:
|
|||||||
- silently ==1.2.5.1
|
- silently ==1.2.5.1
|
||||||
- simple ==0.11.3
|
- simple ==0.11.3
|
||||||
- simple-cabal ==0.1.1
|
- simple-cabal ==0.1.1
|
||||||
- simple-cmd ==0.2.0.1
|
- simple-cmd ==0.2.1
|
||||||
- simple-cmd-args ==0.1.4
|
- simple-cmd-args ==0.1.4
|
||||||
- simple-log ==0.9.12
|
- simple-log ==0.9.12
|
||||||
- simple-reflect ==0.3.3
|
- simple-reflect ==0.3.3
|
||||||
@ -1986,7 +1986,7 @@ default-package-overrides:
|
|||||||
- StateVar ==1.2
|
- StateVar ==1.2
|
||||||
- static-text ==0.2.0.4
|
- static-text ==0.2.0.4
|
||||||
- statistics ==0.15.1.1
|
- statistics ==0.15.1.1
|
||||||
- stb-image-redux ==0.2.1.2
|
- stb-image-redux ==0.2.1.3
|
||||||
- step-function ==0.2
|
- step-function ==0.2
|
||||||
- stm-chans ==3.0.0.4
|
- stm-chans ==3.0.0.4
|
||||||
- stm-conduit ==4.0.1
|
- stm-conduit ==4.0.1
|
||||||
@ -2148,6 +2148,7 @@ default-package-overrides:
|
|||||||
- th-test-utils ==1.0.1
|
- th-test-utils ==1.0.1
|
||||||
- th-utilities ==0.2.3.1
|
- th-utilities ==0.2.3.1
|
||||||
- thyme ==0.3.5.5
|
- thyme ==0.3.5.5
|
||||||
|
- tidal ==1.4.5
|
||||||
- tile ==0.3.0.0
|
- tile ==0.3.0.0
|
||||||
- time-compat ==1.9.2.2
|
- time-compat ==1.9.2.2
|
||||||
- timeit ==2.0
|
- timeit ==2.0
|
||||||
@ -2278,7 +2279,7 @@ default-package-overrides:
|
|||||||
- users-test ==0.5.0.1
|
- users-test ==0.5.0.1
|
||||||
- utf8-light ==0.4.2
|
- utf8-light ==0.4.2
|
||||||
- utf8-string ==1.0.1.1
|
- utf8-string ==1.0.1.1
|
||||||
- util ==0.1.14.1
|
- util ==0.1.15.0
|
||||||
- utility-ht ==0.0.14
|
- utility-ht ==0.0.14
|
||||||
- uuid ==1.3.13
|
- uuid ==1.3.13
|
||||||
- uuid-types ==1.0.3
|
- uuid-types ==1.0.3
|
||||||
@ -2341,8 +2342,8 @@ default-package-overrides:
|
|||||||
- wai-slack-middleware ==0.2.0
|
- wai-slack-middleware ==0.2.0
|
||||||
- wai-transformers ==0.1.0
|
- wai-transformers ==0.1.0
|
||||||
- wai-websockets ==3.0.1.2
|
- wai-websockets ==3.0.1.2
|
||||||
- warp ==3.2.28
|
- warp ==3.3.5
|
||||||
- warp-tls ==3.2.8
|
- warp-tls ==3.2.9
|
||||||
- warp-tls-uid ==0.2.0.6
|
- warp-tls-uid ==0.2.0.6
|
||||||
- wave ==0.2.0
|
- wave ==0.2.0
|
||||||
- wcwidth ==0.0.2
|
- wcwidth ==0.0.2
|
||||||
@ -2367,7 +2368,6 @@ default-package-overrides:
|
|||||||
- windns ==0.1.0.1
|
- windns ==0.1.0.1
|
||||||
- winery ==1.1.3
|
- winery ==1.1.3
|
||||||
- wire-streams ==0.1.1.0
|
- wire-streams ==0.1.1.0
|
||||||
- witherable ==0.3.4
|
|
||||||
- with-location ==0.1.0
|
- with-location ==0.1.0
|
||||||
- witness ==0.4
|
- witness ==0.4
|
||||||
- wizards ==1.0.3
|
- wizards ==1.0.3
|
||||||
@ -2489,6 +2489,7 @@ extra-packages:
|
|||||||
- control-monad-free < 0.6 # newer versions don't compile with anything but GHC 7.8.x
|
- control-monad-free < 0.6 # newer versions don't compile with anything but GHC 7.8.x
|
||||||
- dbus <1 # for xmonad-0.26
|
- dbus <1 # for xmonad-0.26
|
||||||
- deepseq == 1.3.0.1 # required to build Cabal with GHC 6.12.3
|
- deepseq == 1.3.0.1 # required to build Cabal with GHC 6.12.3
|
||||||
|
- dhall == 1.27.0 # required for spago 0.13.0. Probably can be removed when next version of spago is available.
|
||||||
- generic-deriving == 1.10.5.* # new versions don't compile with GHC 7.10.x
|
- generic-deriving == 1.10.5.* # new versions don't compile with GHC 7.10.x
|
||||||
- gloss < 1.9.3 # new versions don't compile with GHC 7.8.x
|
- gloss < 1.9.3 # new versions don't compile with GHC 7.8.x
|
||||||
- haddock == 2.22.* # required on GHC 8.0.x
|
- haddock == 2.22.* # required on GHC 8.0.x
|
||||||
@ -2575,6 +2576,8 @@ package-maintainers:
|
|||||||
- elm-export-persistent
|
- elm-export-persistent
|
||||||
- pipes-mongodb
|
- pipes-mongodb
|
||||||
- streaming-wai
|
- streaming-wai
|
||||||
|
kiwi:
|
||||||
|
- glirc
|
||||||
psibi:
|
psibi:
|
||||||
- path-pieces
|
- path-pieces
|
||||||
- persistent
|
- persistent
|
||||||
@ -5080,7 +5083,6 @@ broken-packages:
|
|||||||
- gli
|
- gli
|
||||||
- glicko
|
- glicko
|
||||||
- glider-nlp
|
- glider-nlp
|
||||||
- glirc
|
|
||||||
- GLMatrix
|
- GLMatrix
|
||||||
- glob-posix
|
- glob-posix
|
||||||
- global
|
- global
|
||||||
@ -6438,6 +6440,7 @@ broken-packages:
|
|||||||
- ip2proxy
|
- ip2proxy
|
||||||
- ipatch
|
- ipatch
|
||||||
- ipc
|
- ipc
|
||||||
|
- ipfs
|
||||||
- ipld-cid
|
- ipld-cid
|
||||||
- ipopt-hs
|
- ipopt-hs
|
||||||
- ipprint
|
- ipprint
|
||||||
@ -6530,6 +6533,7 @@ broken-packages:
|
|||||||
- jmonkey
|
- jmonkey
|
||||||
- jni
|
- jni
|
||||||
- jobqueue
|
- jobqueue
|
||||||
|
- jobs-ui
|
||||||
- join
|
- join
|
||||||
- join-api
|
- join-api
|
||||||
- joinlist
|
- joinlist
|
||||||
@ -7247,6 +7251,8 @@ broken-packages:
|
|||||||
- mmsyn2
|
- mmsyn2
|
||||||
- mmsyn4
|
- mmsyn4
|
||||||
- mmsyn6ukr
|
- mmsyn6ukr
|
||||||
|
- mmsyn7h
|
||||||
|
- mmsyn7ukr
|
||||||
- mmtf
|
- mmtf
|
||||||
- mmtl
|
- mmtl
|
||||||
- mmtl-base
|
- mmtl-base
|
||||||
@ -8063,7 +8069,6 @@ broken-packages:
|
|||||||
- postgresql-simple-queue
|
- postgresql-simple-queue
|
||||||
- postgresql-simple-sop
|
- postgresql-simple-sop
|
||||||
- postgresql-simple-typed
|
- postgresql-simple-typed
|
||||||
- postgresql-simple-url
|
|
||||||
- postgresql-typed
|
- postgresql-typed
|
||||||
- postgresql-typed-lifted
|
- postgresql-typed-lifted
|
||||||
- postgrest
|
- postgrest
|
||||||
@ -9199,7 +9204,6 @@ broken-packages:
|
|||||||
- stack-run-auto
|
- stack-run-auto
|
||||||
- stack-type
|
- stack-type
|
||||||
- stack-wrapper
|
- stack-wrapper
|
||||||
- stack2cabal
|
|
||||||
- stack2nix
|
- stack2nix
|
||||||
- stackage
|
- stackage
|
||||||
- stackage-build-plan
|
- stackage-build-plan
|
||||||
|
@ -592,12 +592,19 @@ self: super: builtins.intersectAttrs super {
|
|||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
# On Darwin, git-annex mis-detects options to `cp`, so we wrap the binary to
|
|
||||||
# ensure it uses Nixpkgs' coreutils.
|
|
||||||
git-annex = with pkgs;
|
git-annex = with pkgs;
|
||||||
if (!stdenv.isLinux) then
|
if (!stdenv.isLinux) then
|
||||||
let path = stdenv.lib.makeBinPath [ coreutils ];
|
let path = stdenv.lib.makeBinPath [ coreutils ];
|
||||||
in overrideCabal (addBuildTool super.git-annex makeWrapper) (_drv: {
|
in overrideCabal (addBuildTool super.git-annex makeWrapper) (_drv: {
|
||||||
|
# This is an instance of https://github.com/NixOS/nix/pull/1085
|
||||||
|
# Fails with:
|
||||||
|
# gpg: can't connect to the agent: File name too long
|
||||||
|
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
|
substituteInPlace Test.hs \
|
||||||
|
--replace ', testCase "crypto" test_crypto' ""
|
||||||
|
'';
|
||||||
|
# On Darwin, git-annex mis-detects options to `cp`, so we wrap the
|
||||||
|
# binary to ensure it uses Nixpkgs' coreutils.
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
wrapProgram $out/bin/git-annex \
|
wrapProgram $out/bin/git-annex \
|
||||||
--prefix PATH : "${path}"
|
--prefix PATH : "${path}"
|
||||||
@ -644,8 +651,8 @@ self: super: builtins.intersectAttrs super {
|
|||||||
# we can safely jailbreak spago and use the older directory package from
|
# we can safely jailbreak spago and use the older directory package from
|
||||||
# LTS-14.
|
# LTS-14.
|
||||||
spagoWithOverrides = doJailbreak (super.spago.override {
|
spagoWithOverrides = doJailbreak (super.spago.override {
|
||||||
# spago requires the latest version of dhall.
|
# spago requires dhall_1_27_0.
|
||||||
directory = self.dhall_1_28_0;
|
dhall = self.dhall_1_27_0;
|
||||||
});
|
});
|
||||||
|
|
||||||
docsSearchAppJsFile = pkgs.fetchurl {
|
docsSearchAppJsFile = pkgs.fetchurl {
|
||||||
@ -683,13 +690,9 @@ self: super: builtins.intersectAttrs super {
|
|||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
# Haddock generation is broken for spago.
|
|
||||||
# https://github.com/spacchetti/spago/issues/511
|
|
||||||
spagoWithoutHaddocks = dontHaddock spagoFixHpack;
|
|
||||||
|
|
||||||
# Because of the problem above with pulling in hspec defaults to the
|
# Because of the problem above with pulling in hspec defaults to the
|
||||||
# package.yaml file, the tests are disabled.
|
# package.yaml file, the tests are disabled.
|
||||||
spagoWithoutChecks = dontCheck spagoWithoutHaddocks;
|
spagoWithoutChecks = dontCheck spagoFixHpack;
|
||||||
in
|
in
|
||||||
spagoWithoutChecks;
|
spagoWithoutChecks;
|
||||||
}
|
}
|
||||||
|
2737
pkgs/development/haskell-modules/hackage-packages.nix
generated
2737
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -15,5 +15,5 @@ self: super: {
|
|||||||
|
|
||||||
# spago is not released to Hackage.
|
# spago is not released to Hackage.
|
||||||
# https://github.com/spacchetti/spago/issues/512
|
# https://github.com/spacchetti/spago/issues/512
|
||||||
spago = self.callPackage ../tools/purescript/spago { };
|
spago = self.callPackage ../tools/purescript/spago/spago.nix { };
|
||||||
}
|
}
|
||||||
|
@ -1,47 +1,14 @@
|
|||||||
{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
|
{ haskellPackages
|
||||||
, base, bower-json, bytestring, Cabal, containers, dhall, directory
|
, haskell
|
||||||
, either, exceptions, extra, fetchgit, file-embed, filepath, foldl
|
, lib
|
||||||
, fsnotify, github, Glob, hpack, hspec, hspec-discover
|
|
||||||
, hspec-megaparsec, http-client, http-conduit, lens-family-core
|
|
||||||
, megaparsec, mtl, network-uri, open-browser, optparse-applicative
|
|
||||||
, prettyprinter, process, QuickCheck, retry, rio, rio-orphans, safe
|
|
||||||
, semver-range, stdenv, stm, tar, template-haskell, temporary, text
|
|
||||||
, time, transformers, turtle, unliftio, unordered-containers
|
|
||||||
, vector, versions, zlib
|
|
||||||
}:
|
}:
|
||||||
mkDerivation {
|
|
||||||
pname = "spago";
|
haskell.lib.justStaticExecutables (haskell.lib.overrideCabal haskellPackages.spago (oldAttrs: {
|
||||||
version = "0.12.1.0";
|
maintainers = (oldAttrs.maintainers or []) ++ [
|
||||||
src = fetchgit {
|
lib.maintainers.cdepillabout
|
||||||
url = "https://github.com/spacchetti/spago";
|
];
|
||||||
sha256 = "17xgp75yxangmb65sv3raysad31kmc109c4q4aj9dgcdqz23fcn2";
|
|
||||||
rev = "a4679880402ead320f8be2f091b25d30e27b62df";
|
passthru = (oldAttrs.passthru or {}) // {
|
||||||
fetchSubmodules = true;
|
updateScript = ./update.sh;
|
||||||
};
|
};
|
||||||
isLibrary = true;
|
}))
|
||||||
isExecutable = true;
|
|
||||||
libraryHaskellDepends = [
|
|
||||||
aeson aeson-pretty ansi-terminal async-pool base bower-json
|
|
||||||
bytestring Cabal containers dhall directory either exceptions
|
|
||||||
file-embed filepath foldl fsnotify github Glob http-client
|
|
||||||
http-conduit lens-family-core megaparsec mtl network-uri
|
|
||||||
open-browser prettyprinter process retry rio rio-orphans safe
|
|
||||||
semver-range stm tar template-haskell temporary text time
|
|
||||||
transformers turtle unliftio unordered-containers vector versions
|
|
||||||
zlib
|
|
||||||
];
|
|
||||||
libraryToolDepends = [ hpack ];
|
|
||||||
executableHaskellDepends = [
|
|
||||||
aeson-pretty async-pool base bytestring containers dhall filepath
|
|
||||||
github lens-family-core megaparsec optparse-applicative process
|
|
||||||
retry stm temporary text time turtle vector
|
|
||||||
];
|
|
||||||
testHaskellDepends = [
|
|
||||||
base containers directory extra hspec hspec-megaparsec megaparsec
|
|
||||||
process QuickCheck temporary text turtle versions
|
|
||||||
];
|
|
||||||
testToolDepends = [ hspec-discover ];
|
|
||||||
prePatch = "hpack";
|
|
||||||
homepage = "https://github.com/spacchetti/spago#readme";
|
|
||||||
license = stdenv.lib.licenses.bsd3;
|
|
||||||
}
|
|
||||||
|
47
pkgs/development/tools/purescript/spago/spago.nix
Normal file
47
pkgs/development/tools/purescript/spago/spago.nix
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
|
||||||
|
, base, bower-json, bytestring, Cabal, containers, dhall, directory
|
||||||
|
, either, exceptions, extra, fetchgit, file-embed, filepath, foldl
|
||||||
|
, fsnotify, github, Glob, hpack, hspec, hspec-discover
|
||||||
|
, hspec-megaparsec, http-client, http-conduit, lens-family-core
|
||||||
|
, megaparsec, mtl, network-uri, open-browser, optparse-applicative
|
||||||
|
, prettyprinter, process, QuickCheck, retry, rio, rio-orphans, safe
|
||||||
|
, semver-range, stdenv, stm, tar, template-haskell, temporary, text
|
||||||
|
, time, transformers, turtle, unliftio, unordered-containers
|
||||||
|
, vector, versions, zlib
|
||||||
|
}:
|
||||||
|
mkDerivation {
|
||||||
|
pname = "spago";
|
||||||
|
version = "0.13.0";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/spacchetti/spago.git";
|
||||||
|
sha256 = "158xq5zn32iwswxmpma92763hl6kzq7kb01cyvphmmlilx55b6yk";
|
||||||
|
rev = "426838670ba9de4593f4c533a6947efb2d8ad4ba";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
isLibrary = true;
|
||||||
|
isExecutable = true;
|
||||||
|
libraryHaskellDepends = [
|
||||||
|
aeson aeson-pretty ansi-terminal async-pool base bower-json
|
||||||
|
bytestring Cabal containers dhall directory either exceptions
|
||||||
|
file-embed filepath foldl fsnotify github Glob http-client
|
||||||
|
http-conduit lens-family-core megaparsec mtl network-uri
|
||||||
|
open-browser prettyprinter process retry rio rio-orphans safe
|
||||||
|
semver-range stm tar template-haskell temporary text time
|
||||||
|
transformers turtle unliftio unordered-containers vector versions
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
libraryToolDepends = [ hpack ];
|
||||||
|
executableHaskellDepends = [
|
||||||
|
aeson-pretty async-pool base bytestring containers dhall filepath
|
||||||
|
github lens-family-core megaparsec optparse-applicative process
|
||||||
|
retry stm temporary text time turtle vector
|
||||||
|
];
|
||||||
|
testHaskellDepends = [
|
||||||
|
base containers directory extra hspec hspec-megaparsec megaparsec
|
||||||
|
process QuickCheck temporary text turtle versions
|
||||||
|
];
|
||||||
|
testToolDepends = [ hspec-discover ];
|
||||||
|
prePatch = "hpack";
|
||||||
|
homepage = "https://github.com/spacchetti/spago#readme";
|
||||||
|
license = stdenv.lib.licenses.bsd3;
|
||||||
|
}
|
30
pkgs/development/tools/purescript/spago/update.sh
Executable file
30
pkgs/development/tools/purescript/spago/update.sh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell -i bash -p cabal2nix curl jq
|
||||||
|
#
|
||||||
|
# This script will update the spago derivation to the latest version using
|
||||||
|
# cabal2nix.
|
||||||
|
#
|
||||||
|
# Note that you should always try building spago after updating it here, since
|
||||||
|
# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
|
||||||
|
# need to be updated/changed.
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
# This is the directory of this update.sh script.
|
||||||
|
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
# Spago derivation created with cabal2nix.
|
||||||
|
spago_derivation_file="${script_dir}/spago.nix"
|
||||||
|
|
||||||
|
# This is the current revision of spago in Nixpkgs.
|
||||||
|
old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$spago_derivation_file")"
|
||||||
|
|
||||||
|
# This is the latest release version of spago on GitHub.
|
||||||
|
new_version=$(curl --silent "https://api.github.com/repos/spacchetti/spago/releases" | jq '.[0].tag_name' --raw-output)
|
||||||
|
|
||||||
|
echo "Updating spago from old version $old_version to new version $new_version."
|
||||||
|
echo "Running cabal2nix and outputting to ${spago_derivation_file}..."
|
||||||
|
|
||||||
|
cabal2nix --revision "$new_version" "https://github.com/spacchetti/spago.git" > "$spago_derivation_file"
|
||||||
|
|
||||||
|
echo "Finished."
|
@ -8154,7 +8154,7 @@ in
|
|||||||
|
|
||||||
purescript-psa = nodePackages.purescript-psa;
|
purescript-psa = nodePackages.purescript-psa;
|
||||||
|
|
||||||
spago = haskell.lib.justStaticExecutables haskellPackages.spago;
|
spago = callPackage ../development/tools/purescript/spago { };
|
||||||
|
|
||||||
pulp = nodePackages.pulp;
|
pulp = nodePackages.pulp;
|
||||||
|
|
||||||
@ -11663,6 +11663,8 @@ in
|
|||||||
|
|
||||||
glib-networking = callPackage ../development/libraries/glib-networking {};
|
glib-networking = callPackage ../development/libraries/glib-networking {};
|
||||||
|
|
||||||
|
glirc = haskell.lib.justStaticExecutables haskellPackages.glirc;
|
||||||
|
|
||||||
gom = callPackage ../development/libraries/gom { };
|
gom = callPackage ../development/libraries/gom { };
|
||||||
|
|
||||||
ace = callPackage ../development/libraries/ace { };
|
ace = callPackage ../development/libraries/ace { };
|
||||||
|
@ -62,6 +62,18 @@ in {
|
|||||||
buildLlvmPackages = buildPackages.llvmPackages_7;
|
buildLlvmPackages = buildPackages.llvmPackages_7;
|
||||||
llvmPackages = pkgs.llvmPackages_7;
|
llvmPackages = pkgs.llvmPackages_7;
|
||||||
};
|
};
|
||||||
|
ghc882 = callPackage ../development/compilers/ghc/8.8.2.nix {
|
||||||
|
bootPkgs = packages.ghc863Binary;
|
||||||
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
|
buildLlvmPackages = buildPackages.llvmPackages_7;
|
||||||
|
llvmPackages = pkgs.llvmPackages_7;
|
||||||
|
};
|
||||||
|
ghc8101 = callPackage ../development/compilers/ghc/8.10.1.nix {
|
||||||
|
bootPkgs = packages.ghc863Binary;
|
||||||
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
|
buildLlvmPackages = buildPackages.llvmPackages_9;
|
||||||
|
llvmPackages = pkgs.llvmPackages_9;
|
||||||
|
};
|
||||||
ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
|
ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
|
||||||
bootPkgs = packages.ghc863Binary;
|
bootPkgs = packages.ghc863Binary;
|
||||||
inherit (buildPackages.python3Packages) sphinx;
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
@ -120,6 +132,16 @@ in {
|
|||||||
ghc = bh.compiler.ghc881;
|
ghc = bh.compiler.ghc881;
|
||||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
|
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
|
||||||
};
|
};
|
||||||
|
ghc882 = callPackage ../development/haskell-modules {
|
||||||
|
buildHaskellPackages = bh.packages.ghc882;
|
||||||
|
ghc = bh.compiler.ghc882;
|
||||||
|
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
|
||||||
|
};
|
||||||
|
ghc8101 = callPackage ../development/haskell-modules {
|
||||||
|
buildHaskellPackages = bh.packages.ghc8101;
|
||||||
|
ghc = bh.compiler.ghc8101;
|
||||||
|
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
|
||||||
|
};
|
||||||
ghcHEAD = callPackage ../development/haskell-modules {
|
ghcHEAD = callPackage ../development/haskell-modules {
|
||||||
buildHaskellPackages = bh.packages.ghcHEAD;
|
buildHaskellPackages = bh.packages.ghcHEAD;
|
||||||
ghc = bh.compiler.ghcHEAD;
|
ghc = bh.compiler.ghcHEAD;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user