Merge master into x-updates
This commit is contained in:
@@ -13,9 +13,6 @@ cabal.mkDerivation (self: {
|
||||
description = "Command-line program for type-checking and compiling Agda programs";
|
||||
license = "unknown";
|
||||
platforms = self.ghc.meta.platforms;
|
||||
maintainers = [
|
||||
self.stdenv.lib.maintainers.andres
|
||||
self.stdenv.lib.maintainers.simons
|
||||
];
|
||||
maintainers = [ self.stdenv.lib.maintainers.andres ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -14,9 +14,6 @@ cabal.mkDerivation (self: {
|
||||
description = "Compiler for a simple functional language";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
maintainers = [
|
||||
self.stdenv.lib.maintainers.andres
|
||||
self.stdenv.lib.maintainers.simons
|
||||
];
|
||||
maintainers = [ self.stdenv.lib.maintainers.andres ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -7,11 +7,11 @@ let
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "go-1.1rc1";
|
||||
name = "go-1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://go.googlecode.com/files/go1.1rc1.src.tar.gz;
|
||||
sha1 = "c999c36e7bb5c9ef05d309b0bb4275feb62c44e3";
|
||||
url = http://go.googlecode.com/files/go1.1.src.tar.gz;
|
||||
sha1 = "a464704ebbbdd552a39b5f9429b059c117d165b3";
|
||||
};
|
||||
|
||||
buildInputs = [ bison glibc bash makeWrapper ];
|
||||
@@ -49,7 +49,7 @@ stdenv.mkDerivation {
|
||||
sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go
|
||||
# Disable the hostname test
|
||||
sed -i '/TestHostname/areturn' src/pkg/os/os_test.go
|
||||
# Disable a failing icmp test
|
||||
# Disable a failing icmp test (maybe because not being root?)
|
||||
sed -i '/ip[46]:.*icmp.*nil/d' src/pkg/net/ipraw_test.go
|
||||
'';
|
||||
|
||||
|
||||
@@ -1,34 +1,27 @@
|
||||
{ stdenv, fetchsvn, ocaml, zlib, neko }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "haxe-2.10";
|
||||
name = "haxe-3.00";
|
||||
|
||||
buildInputs = [ocaml zlib neko];
|
||||
|
||||
srcs = fetchsvn {
|
||||
url = "http://haxe.googlecode.com/svn/tags/v2-10";
|
||||
sha256 = "0vwdlj0vmmf97bg6cish7yah36aca2q599vwzbr1m0jpjbvindkh";
|
||||
ignoreExternals = true;
|
||||
};
|
||||
|
||||
ocamllibs = fetchsvn {
|
||||
url = "http://ocamllibs.googlecode.com/svn/trunk";
|
||||
sha256 = "143s320xn2xalm0lnw46h1fvy48qg7my3j8cf66f0wwzv2fisr1q";
|
||||
rev = 256;
|
||||
ignoreExternals = true;
|
||||
src = fetchsvn {
|
||||
url = "http://haxe.googlecode.com/svn/trunk";
|
||||
sha256 = "0hg8qailhgrcdk7r4k9kmwfl9d9ds0vy0l7wbv5wdrrc34qzifm4";
|
||||
rev = 6706;
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
cp -r "$ocamllibs" libs
|
||||
chmod -R u+w libs
|
||||
sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
find std/tools -name '*.n' -delete
|
||||
rm std/tools/haxedoc/haxedoc std/tools/haxelib/haxelib
|
||||
rm -f std/tools/haxedoc/haxedoc std/tools/haxelib/haxelib
|
||||
'';
|
||||
|
||||
buildFlags = [ "all" "tools" ];
|
||||
|
||||
installPhase = ''
|
||||
install -vd "$out/bin" "$out/lib/haxe/std"
|
||||
install -vt "$out/bin" haxe haxelib haxedoc
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ swingSupport ? true
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, requireFile
|
||||
, unzip
|
||||
, makeWrapper
|
||||
, xlibs ? null
|
||||
@@ -32,13 +32,15 @@ stdenv.mkDerivation {
|
||||
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
url = http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45-linux-i586.bin;
|
||||
requireFile {
|
||||
name = "jdk-6u45-linux-i586.bin";
|
||||
url = http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html;
|
||||
sha256 = "0mx3d2qlal5zyz1a7ld1yk2rs8pf9sjxs2jzasais3nq30jmlfym";
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin;
|
||||
requireFile {
|
||||
name = "jdk-6u45-linux-x64.bin";
|
||||
url = http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html;
|
||||
sha256 = "1s0j1pdr6y8c816d9i86rx4zp12nbhmas1rxksp0r53cn7m3ljbb";
|
||||
}
|
||||
else
|
||||
|
||||
75
pkgs/development/compilers/mentor/default.nix
Normal file
75
pkgs/development/compilers/mentor/default.nix
Normal file
@@ -0,0 +1,75 @@
|
||||
# Sourcery CodeBench Lite toolchain(s) (GCC) from Mentor Graphics
|
||||
|
||||
{ stdenv, fetchurl, patchelf, ncurses }:
|
||||
|
||||
let
|
||||
|
||||
buildToolchain =
|
||||
{ name, src, description }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit name src;
|
||||
|
||||
buildInputs = [ patchelf ];
|
||||
|
||||
buildCommand = ''
|
||||
# Unpack tarball
|
||||
mkdir -p "$out"
|
||||
tar --strip-components=1 -xjf "$src" -C "$out"
|
||||
|
||||
# Patch binaries
|
||||
interpreter="$(cat "$NIX_GCC"/nix-support/dynamic-linker)"
|
||||
for file in "$out"/bin/* "$out"/libexec/gcc/*/*/* "$out"/*/bin/*; do
|
||||
# Skip non-executable files
|
||||
case "$file" in
|
||||
*README.txt) echo "skipping $file"; continue;;
|
||||
*liblto_plugin.so*) echo "skipping $file"; continue;;
|
||||
esac
|
||||
|
||||
# Skip directories
|
||||
test -d "$file" && continue
|
||||
|
||||
echo "patchelf'ing $file"
|
||||
patchelf --set-interpreter "$interpreter" "$file"
|
||||
|
||||
# GDB needs ncurses
|
||||
case "$file" in
|
||||
*gdb) patchelf --set-rpath "${ncurses}/lib" "$file";;
|
||||
esac
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
inherit description;
|
||||
homepage = http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/;
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
armLinuxGnuEabi = let version = "2013.05-24"; in buildToolchain rec {
|
||||
name = "sourcery-codebench-lite-arm-linux-gnueabi-${version}";
|
||||
description = "Sourcery CodeBench Lite toolchain (GCC) for ARM GNU/Linux, from Mentor Graphics";
|
||||
src = fetchurl {
|
||||
url = "http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-${version}-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2";
|
||||
sha256 = "1xb075ia61c59cya2jl8zp4fvqpfnwkkc5330shvgdlg9981qprr";
|
||||
};
|
||||
};
|
||||
|
||||
armEabi = let version = "2013.05-23"; in buildToolchain rec {
|
||||
name = "sourcery-codebench-lite-arm-eabi-${version}";
|
||||
description = "Sourcery CodeBench Lite toolchain (GCC) for ARM EABI, from Mentor Graphics";
|
||||
src = fetchurl {
|
||||
url = "http://sourcery.mentor.com/public/gnu_toolchain/arm-none-eabi/arm-${version}-arm-none-eabi-i686-pc-linux-gnu.tar.bz2";
|
||||
sha256 = "0nbvdwj3kcv9scx808gniqp0ncdiy2i7afmdvribgkz1lsfin923";
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: Sourcery CodeBench is also available for MIPS, Power, SuperH,
|
||||
# ColdFire (and more).
|
||||
}
|
||||
44
pkgs/development/compilers/pakcs/adjust-buildsystem.patch
Normal file
44
pkgs/development/compilers/pakcs/adjust-buildsystem.patch
Normal file
@@ -0,0 +1,44 @@
|
||||
diff -Naur pakcs-1.11.2-upstream/Makefile pakcs-1.11.2/Makefile
|
||||
--- pakcs-1.11.2-upstream/Makefile 2013-03-21 04:58:38.000000000 -0430
|
||||
+++ pakcs-1.11.2/Makefile 2013-05-09 15:04:48.035646127 -0430
|
||||
@@ -55,7 +55,6 @@
|
||||
#
|
||||
.PHONY: install
|
||||
install: installscripts
|
||||
- $(MAKE) frontend
|
||||
# pre-compile all libraries:
|
||||
@cd lib && $(MAKE) fcy
|
||||
# install the Curry2Prolog compiler as a saved system:
|
||||
@@ -66,11 +65,6 @@
|
||||
@cd lib && $(MAKE) acy
|
||||
# prepare for separate compilation by compiling all librariers to Prolog code:
|
||||
@if [ -r bin/pakcs ] ; then cd lib && $(MAKE) pl ; fi
|
||||
- # compile the Curry Port Name Server demon:
|
||||
- @if [ -r bin/pakcs ] ; then cd cpns && $(MAKE) ; fi
|
||||
- # compile the event handler demon for dynamic web pages:
|
||||
- @if [ -r bin/pakcs ] ; then cd www && $(MAKE) ; fi
|
||||
- $(MAKE) tools
|
||||
$(MAKE) docs
|
||||
chmod -R go+rX .
|
||||
|
||||
diff -Naur pakcs-1.11.2-upstream/scripts/pakcs.sh pakcs-1.11.2/scripts/pakcs.sh
|
||||
--- pakcs-1.11.2-upstream/scripts/pakcs.sh 2013-03-21 04:52:59.000000000 -0430
|
||||
+++ pakcs-1.11.2/scripts/pakcs.sh 2013-05-09 03:14:23.500876628 -0430
|
||||
@@ -16,7 +16,7 @@
|
||||
# use readline wrapper rlwrap if it is installed and we have tty as stdin:
|
||||
USERLWRAP=no
|
||||
if tty -s ; then
|
||||
- RLWRAP=`which rlwrap`
|
||||
+ RLWRAP=`type -P rlwrap`
|
||||
if [ -x "$RLWRAP" ] ; then
|
||||
USERLWRAP=yes
|
||||
fi
|
||||
@@ -29,7 +29,7 @@
|
||||
done
|
||||
|
||||
if [ $USERLWRAP = yes ] ; then
|
||||
- exec rlwrap -c -f "$PAKCSHOME/tools/rlwrap" "$REPL" ${1+"$@"}
|
||||
+ exec rlwrap -a -c -f "$PAKCSHOME/tools/rlwrap" "$REPL" ${1+"$@"}
|
||||
else
|
||||
exec "$REPL" ${1+"$@"}
|
||||
fi
|
||||
@@ -1,62 +1,101 @@
|
||||
{ stdenv, fetchurl, ghc, swiProlog, syb, mtl, makeWrapper, rlwrap, tk }:
|
||||
{ stdenv, fetchurl, cabal, swiProlog, mtl, syb, makeWrapper, rlwrap, tk }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "pakcs-1.10.0";
|
||||
let
|
||||
fname = "pakcs-1.11.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.informatik.uni-kiel.de/~pakcs/download/pakcs_src.tar.gz";
|
||||
sha256 = "6a4a45c9f3d0b61cfec8414943c2a852bec3665a7e2638b039193dd43e9802c4";
|
||||
fsrc = fetchurl {
|
||||
url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz";
|
||||
sha256 = "1x23kn91v44my4rd8j3247pj8i2myz82rzgbq07asi1x21bpvvmy";
|
||||
};
|
||||
|
||||
buildInputs = [ ghc swiProlog syb mtl makeWrapper rlwrap tk ];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
prePatch = ''
|
||||
# Remove copying pakcsrc into $HOME.
|
||||
sed -i '/update-pakcsrc/d' Makefile
|
||||
name = fname;
|
||||
|
||||
# Remove copying pakcsinitrc into $HOME
|
||||
sed -i '68d' configure-pakcs
|
||||
curryBase = cabal.mkDerivation(self: {
|
||||
pname = "curryBase";
|
||||
version = "local";
|
||||
src = fsrc;
|
||||
sourceRoot = "${name}/frontend/curry-base";
|
||||
isLibrary = true;
|
||||
buildDepends = [ mtl syb ];
|
||||
});
|
||||
|
||||
curryFront = cabal.mkDerivation(self: {
|
||||
pname = "curryFront";
|
||||
version = "local";
|
||||
src = fsrc;
|
||||
sourceRoot = "${name}/frontend/curry-frontend";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
buildDepends = [ mtl syb curryBase ];
|
||||
});
|
||||
|
||||
src = fsrc;
|
||||
|
||||
buildInputs = [ swiProlog makeWrapper rlwrap tk ];
|
||||
|
||||
patches = [ ./adjust-buildsystem.patch ];
|
||||
|
||||
configurePhase = ''
|
||||
# Phony HOME.
|
||||
mkdir phony-home
|
||||
export HOME=$(pwd)/phony-home
|
||||
|
||||
# SWI Prolog
|
||||
sed -i 's@SWIPROLOG=@SWIPROLOG='${swiProlog}/bin/swipl'@' pakcsinitrc
|
||||
'';
|
||||
|
||||
patches = [ ./pakcs-ghc741.patch ];
|
||||
|
||||
preConfigure = ''
|
||||
# Path to GHC and SWI Prolog
|
||||
sed -i 's@GHC=@GHC=${ghc}/bin/ghc@' bin/.pakcs_variables
|
||||
sed -i 's@SWIPROLOG=@SWIPROLOG=${swiProlog}/bin/swipl@' bin/.pakcs_variables
|
||||
preBuild = ''
|
||||
# Set up link to cymake, which has been built already.
|
||||
ensureDir bin/.local
|
||||
ln -s ${curryFront}/bin/cymake bin/.local/
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
cp pakcsrc $out/
|
||||
cp update-pakcsrc $out/
|
||||
cp -r bin/ $out/
|
||||
cp -r cpns/ $out/
|
||||
cp -r curry2prolog/ $out/
|
||||
cp -r docs/ $out/
|
||||
cp -r examples/ $out/
|
||||
cp -r include/ $out/
|
||||
cp -r lib/ $out/
|
||||
cp -r mccparser/ $out/
|
||||
cp -r tools/ $out/
|
||||
cp -r www/ $out/
|
||||
installPhase = ''
|
||||
# Prepare PAKCSHOME directory.
|
||||
ensureDir $out/pakcs
|
||||
for d in bin curry2prolog currytools lib tools cpns include www examples docs ; do
|
||||
cp -r $d $out/pakcs ;
|
||||
done
|
||||
cp pakcsrc.default $out/pakcs
|
||||
cp pakcsinitrc $out/pakcs
|
||||
|
||||
# The Prolog sources must be built in their final directory.
|
||||
(cd $out/curry2prolog/ ; make)
|
||||
# Fixing PAKCSHOME and related paths.
|
||||
sed -i 's@PAKCSHOME=/tmp/.*@PAKCSHOME='$out/pakcs'@' $out/pakcs/bin/{pakcs,makecurrycgi,parsecurry,.makesavedstate}
|
||||
|
||||
mkdir -p $out/share/emacs/site-lisp/curry-pakcs
|
||||
for e in "$out/tools/emacs/"*.el ; do
|
||||
ln -s $e $out/share/emacs/site-lisp/curry-pakcs/;
|
||||
# Fix symbolic links into the tmp build dir.
|
||||
ln -s ../currytools/CASS/cass $out/pakcs/bin/cass
|
||||
ln -s ../currytools/currydoc/CurryDoc $out/pakcs/bin/currydoc
|
||||
|
||||
# The Prolog sources must be rebuilt in their final directory,
|
||||
# to switch the embedded references to the tmp build directory.
|
||||
export TEMP=/tmp
|
||||
(cd $out/pakcs/curry2prolog/ ; rm c2p.state ; make)
|
||||
cp Makefile $out/pakcs
|
||||
(cd $out/pakcs ; make tools)
|
||||
(cd $out/pakcs/cpns ; make)
|
||||
(cd $out/pakcs/www ; make)
|
||||
|
||||
# Install bin.
|
||||
ensureDir $out/bin
|
||||
for b in makecurrycgi .makesavedstate pakcs parsecurry cleancurry \
|
||||
addtypes cass currybrowse currycreatemake currydoc currytest \
|
||||
dataToXml erd2curry ; do
|
||||
ln -s $out/pakcs/bin/$b $out/bin/ ;
|
||||
done
|
||||
|
||||
sed -i 's@which@type -P@' $out/bin/.pakcs_wrapper
|
||||
# Place emacs lisp files in expected locations.
|
||||
ensureDir $out/share/emacs/site-lisp/curry-pakcs
|
||||
for e in "tools/emacs/"*.el ; do
|
||||
cp $e $out/share/emacs/site-lisp/curry-pakcs/ ;
|
||||
done
|
||||
|
||||
# Get the program name from the environment instead of the calling wrapper (for rlwrap).
|
||||
sed -i 's@progname=`basename "$0"`@progname=$PAKCS_PROGNAME@' $out/bin/.pakcs_wrapper
|
||||
|
||||
wrapProgram $out/bin/.pakcs_wrapper \
|
||||
# Wrap for rlwrap and tk support.
|
||||
wrapProgram $out/pakcs/bin/pakcs \
|
||||
--prefix PATH ":" "${rlwrap}/bin" \
|
||||
--prefix PATH ":" "${tk}/bin" \
|
||||
--run 'export PAKCS_PROGNAME=`basename "$0"`'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
@@ -77,6 +116,6 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.kkallio ];
|
||||
#platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
rm "bin/"*.bat
|
||||
rm bin/*.bat
|
||||
rm lib/scalacheck.jar
|
||||
mv * $out
|
||||
'';
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
${if gputils == null then "--disable-pic14-port --disable-pic16-port" else ""}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "Small Device C Compiler";
|
||||
longDescription = ''
|
||||
SDCC is a retargettable, optimizing ANSI - C compiler suite that targets
|
||||
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
|
||||
PIC18 targets. It can be retargeted for other microprocessors.
|
||||
'';
|
||||
homepage = http://sdcc.sourceforge.net/;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [maintainers.bjornfor];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "yasm-1.1.0";
|
||||
|
||||
name = "yasm-1.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.tortall.net/projects/yasm/releases/${name}.tar.gz";
|
||||
sha256 = "e5d56b582f3d0c30ed5c4fc221063e4175602307ea645520889458133671c232";
|
||||
sha256 = "0cfg7ji3ia2in628w42wrfvw2ixmmm4rghwmv2k202mraysgm3vn";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
Reference in New Issue
Block a user