Merge pull request #43865 from Infinisil/add/futhark

futhark: init at 0.6.2
This commit is contained in:
Silvan Mosberger 2018-10-12 14:42:35 +02:00 committed by GitHub
commit f3dd3b6afa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 119 additions and 8 deletions

View file

@ -0,0 +1,55 @@
# Generated using `cabal2nix --hpack .`, then replace src
{ mkDerivation, alex, array, base, bifunctors, binary, blaze-html
, bytestring, containers, data-binary-ieee754, directory
, directory-tree, dlist, extra, file-embed, filepath, gitrev, happy
, haskeline, hpack, HUnit, json, language-c-quote, mainland-pretty
, markdown, mtl, neat-interpolation, parallel, parsec, process
, process-extras, QuickCheck, random, raw-strings-qq, regex-tdfa
, srcloc, stdenv, template-haskell, temporary, test-framework
, test-framework-hunit, test-framework-quickcheck2, text
, th-lift-instances, transformers, vector, vector-binary-instances
, zlib, fetchFromGitHub
}:
mkDerivation {
pname = "futhark";
version = "0.6.2";
src = fetchFromGitHub {
owner = "diku-dk";
repo = "futhark";
rev = "v0.6.2";
sha256 = "0yj7n01swpvqblybdnks3mjf0mzf1gdg2b2cpxdpxnrjw5j0pnq2";
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
array base bifunctors binary blaze-html bytestring containers
data-binary-ieee754 directory directory-tree dlist extra file-embed
filepath gitrev language-c-quote mainland-pretty markdown mtl
neat-interpolation parallel parsec process raw-strings-qq
regex-tdfa srcloc template-haskell text th-lift-instances
transformers vector vector-binary-instances zlib
];
libraryToolDepends = [ alex happy hpack ];
executableHaskellDepends = [
array base bifunctors binary blaze-html bytestring containers
data-binary-ieee754 directory directory-tree dlist extra file-embed
filepath gitrev haskeline json language-c-quote mainland-pretty
markdown mtl neat-interpolation parallel parsec process
process-extras random raw-strings-qq regex-tdfa srcloc
template-haskell temporary text th-lift-instances transformers
vector vector-binary-instances zlib
];
testHaskellDepends = [
array base bifunctors binary blaze-html bytestring containers
data-binary-ieee754 directory directory-tree dlist extra file-embed
filepath gitrev HUnit language-c-quote mainland-pretty markdown mtl
neat-interpolation parallel parsec process QuickCheck
raw-strings-qq regex-tdfa srcloc template-haskell test-framework
test-framework-hunit test-framework-quickcheck2 text
th-lift-instances transformers vector vector-binary-instances zlib
];
preConfigure = "hpack";
homepage = "https://futhark-lang.org";
description = "An optimising compiler for a functional, array-oriented language";
license = stdenv.lib.licenses.isc;
}

View file

@ -704,9 +704,6 @@ self: super: {
then appendConfigureFlag super.gtk "-fhave-quartz-gtk"
else super.gtk;
# vaultenv is not available from Hackage.
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
# https://github.com/Philonous/hs-stun/pull/1
# Remove if a version > 0.1.0.1 ever gets released.
stunclient = overrideCabal super.stunclient (drv: {
@ -947,9 +944,6 @@ self: super: {
# Tries to read a file it is not allowed to in the test suite
load-env = dontCheck super.load-env;
# Add support for https://github.com/haskell-hvr/multi-ghc-travis.
multi-ghc-travis = self.callPackage ../tools/haskell/multi-ghc-travis {};
# https://github.com/yesodweb/Shelly.hs/issues/162
shelly = dontCheck super.shelly;

View file

@ -528,4 +528,19 @@ self: super: builtins.intersectAttrs super {
# The test-suite requires a running PostgreSQL server.
Frames-beam = dontCheck super.Frames-beam;
futhark = with pkgs;
let path = stdenv.lib.makeBinPath [ gcc ];
in overrideCabal (addBuildTool super.futhark makeWrapper) (_drv: {
postInstall = ''
wrapProgram $out/bin/futhark-c \
--prefix PATH : "${path}"
wrapProgram $out/bin/futhark-opencl \
--prefix PATH : "${path}" \
--set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \
--set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \
--set NIX_CFLAGS_LINK "-L${opencl-icd}/lib"
'';
});
}

View file

@ -4,6 +4,7 @@
, packageSetConfig ? (self: super: {})
, overrides ? (self: super: {})
, initialPackages ? import ./initial-packages.nix
, nonHackagePackages ? import ./non-hackage-packages.nix
, configurationCommon ? import ./configuration-common.nix
, configurationNix ? import ./configuration-nix.nix
}:
@ -26,7 +27,9 @@ let
(extends packageSetConfig
(extends compilerConfig
(extends commonConfiguration
(extends nixConfiguration haskellPackages)))));
(extends nixConfiguration
(extends nonHackagePackages
haskellPackages))))));
in

View file

@ -0,0 +1,18 @@
# EXTRA HASKELL PACKAGES NOT ON HACKAGE
#
# This file should only contain packages that are not in ./hackage-packages.nix.
# Attributes in this set should be nothing more than a callPackage call.
# Overrides to these packages should go to either configuration-nix.nix,
# configuration-common.nix or to one of the compiler specific configuration
# files.
self: super: {
multi-ghc-travis = throw ("haskellPackages.multi-ghc-travis has been renamed"
+ "to haskell-ci, which is now on hackage");
# https://github.com/channable/vaultenv/issues/1
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
# https://github.com/diku-dk/futhark/issues/614
futhark = self.callPackage ../compilers/futhark { };
}

View file

@ -0,0 +1,24 @@
{ stdenv, python2, fetchFromGitHub }:
with python2.pkgs;
stdenv.mkDerivation {
name = "mpdsync-2017-06-15";
src = fetchFromGitHub {
owner = "alphapapa";
repo = "mpdsync";
rev = "da90058f44dd9578cc5f2fb96a1fb2b26da40d07";
sha256 = "1mfg3ipqj5dvyyqbgp6ia6sc1ja5gmm2c9mfrwx0jw2dl182if6q";
};
pythonPath = [ mpd2 ];
nativeBuildInputs = [
wrapPython
];
dontBuild = true;
installPhase = "install -D mpdsync.py $out/bin/mpdsync";
postFixup = "wrapPythonPrograms";
}

View file

@ -1336,6 +1336,8 @@ with pkgs;
fsmark = callPackage ../tools/misc/fsmark { };
futhark = haskell.lib.justStaticExecutables haskellPackages.futhark;
fwup = callPackage ../tools/misc/fwup { };
fzf = callPackage ../tools/misc/fzf { };
@ -8600,7 +8602,7 @@ with pkgs;
msitools = callPackage ../development/tools/misc/msitools { };
multi-ghc-travis = haskell.lib.justStaticExecutables haskellPackages.multi-ghc-travis;
haskell-ci = haskell.lib.justStaticExecutables haskellPackages.haskell-ci;
neoload = callPackage ../development/tools/neoload {
licenseAccepted = (config.neoload.accept_license or false);