Merge branch 'hardened-stdenv' into staging
Closes #12895 Amazing work by @globin & @fpletz getting hardened compiler flags by enabled default on the whole package set
This commit is contained in:
@@ -5,7 +5,7 @@ let
|
||||
/* TODO: there are also MacOS, FreeBSD and Windows versions */
|
||||
x86_64-linux = {
|
||||
arch = "linuxx86";
|
||||
sha256 = "0d2vhp5n74yhwixnvlsnp7dzaf9aj6zd2894hr2728djyd8x9fx6";
|
||||
sha256 = "07cny2qkzc624bzpdsy4iakcln0p7v5rhf8bv0vnh6rhpvnahrnq";
|
||||
runtime = "lx86cl64";
|
||||
kernel = "linuxx8664";
|
||||
};
|
||||
|
||||
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
|
||||
})
|
||||
else throw "Architecture not supported";
|
||||
|
||||
hardeningDisable = [ "format" "pic" ];
|
||||
|
||||
# clm uses timestamps of dcl, icl, abc and o files to decide what must be rebuild
|
||||
# and for chroot builds all of the library files will have equal timestamps. This
|
||||
# makes clm try to rebuild the library modules (and fail due to absence of write permission
|
||||
|
||||
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "154dyr2ph4n0kwi8yx0n78j128kw29rk9r9f7s2gddzrdl712jr3";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
makeFlags = "PREFIX=$(out)";
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -23,9 +23,11 @@ in
|
||||
stdenv.mkDerivation {
|
||||
inherit (s) name version;
|
||||
inherit buildInputs propagatedBuildInputs;
|
||||
|
||||
src = fetchurl {
|
||||
inherit (s) url sha256;
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--enable-threads"
|
||||
"--with-gmp-prefix=${gmp.dev}"
|
||||
@@ -35,12 +37,16 @@ stdenv.mkDerivation {
|
||||
(stdenv.lib.optional (! noUnicode)
|
||||
"--enable-unicode")
|
||||
;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
postInstall = ''
|
||||
sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config
|
||||
wrapProgram "$out/bin/ecl" \
|
||||
--prefix NIX_LDFLAGS ' ' "-L${gmp.lib or gmp.out or gmp}/lib" \
|
||||
--prefix NIX_LDFLAGS ' ' "-L${libffi.lib or libffi.out or libffi}/lib"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit (s) version;
|
||||
description = "Lisp implementation aiming to be small, fast and easy to embed";
|
||||
|
||||
@@ -11,7 +11,7 @@ else
|
||||
|
||||
edk2 = stdenv.mkDerivation {
|
||||
name = "edk2-2014-12-10";
|
||||
|
||||
|
||||
src = fetchgit {
|
||||
url = git://github.com/tianocore/edk2;
|
||||
rev = "684a565a04";
|
||||
@@ -20,9 +20,9 @@ edk2 = stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ libuuid pythonFull ];
|
||||
|
||||
buildPhase = ''
|
||||
make -C BaseTools
|
||||
'';
|
||||
makeFlags = "-C BaseTools";
|
||||
|
||||
hardeningDisable = [ "format" "fortify" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -vp $out
|
||||
|
||||
@@ -134,6 +134,8 @@ stdenv.mkDerivation ({
|
||||
inherit langC langCC langFortran langJava langAda;
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ] ++ optional (name != "gnat") "all";
|
||||
|
||||
patches =
|
||||
[ ]
|
||||
++ optional (cross != null) ../libstdc++-target.patch
|
||||
@@ -207,7 +209,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
nativeBuildInputs = [ texinfo which gettext ]
|
||||
++ optional (perl != null) perl;
|
||||
|
||||
|
||||
buildInputs = [ gmp mpfr libmpc libelf ]
|
||||
++ (optional (ppl != null) ppl)
|
||||
++ (optional (cloogppl != null) cloogppl)
|
||||
|
||||
@@ -193,6 +193,8 @@ stdenv.mkDerivation ({
|
||||
|
||||
inherit patches enableMultilib;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
libc_dev = stdenv.cc.libc_dev;
|
||||
|
||||
postPatch =
|
||||
|
||||
@@ -217,6 +217,8 @@ stdenv.mkDerivation ({
|
||||
|
||||
inherit patches;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
outputs = [ "out" "lib" "doc" ];
|
||||
setOutputFlags = false;
|
||||
NIX_NO_SELF_RPATH = true;
|
||||
|
||||
@@ -221,6 +221,8 @@ stdenv.mkDerivation ({
|
||||
|
||||
inherit patches;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
outputs = if langJava || langGo then ["out" "man" "info"]
|
||||
else [ "out" "lib" "man" "info" ];
|
||||
setOutputFlags = false;
|
||||
|
||||
@@ -219,6 +219,9 @@ stdenv.mkDerivation ({
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
# FIXME stackprotector needs gcc 4.9 in bootstrap tools
|
||||
hardeningDisable = [ "stackprotector" "format" ];
|
||||
|
||||
inherit patches;
|
||||
|
||||
outputs = [ "out" "lib" "man" "info" ];
|
||||
|
||||
@@ -226,6 +226,8 @@ stdenv.mkDerivation ({
|
||||
|
||||
libc_dev = stdenv.cc.libc_dev;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
postPatch =
|
||||
if (stdenv.isGNU
|
||||
|| (libcCross != null # e.g., building `gcc.crossDrv'
|
||||
|
||||
@@ -7,12 +7,18 @@
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gfortran-${version}";
|
||||
version = "5.1.0";
|
||||
buildInputs = [gmp mpfr libmpc isl_0_14 cloog zlib];
|
||||
|
||||
buildInputs = [ gmp mpfr libmpc isl_0_14 cloog zlib ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
|
||||
sha256 = "1bd5vj4px3s8nlakbgrh38ynxq4s654m6nxz7lrj03mvkkwgvnmp";
|
||||
};
|
||||
|
||||
patches = ./gfortran-darwin.patch;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
configureFlags = ''
|
||||
--disable-bootstrap
|
||||
--disable-cloog-version-check
|
||||
@@ -28,11 +34,15 @@ stdenv.mkDerivation rec {
|
||||
--with-native-system-header-dir=${Libsystem}/include
|
||||
--with-system-zlib
|
||||
'';
|
||||
|
||||
postConfigure = ''
|
||||
export DYLD_LIBRARY_PATH=`pwd`/`uname -m`-apple-darwin`uname -r`/libgcc
|
||||
'';
|
||||
makeFlags = ["CC=clang"];
|
||||
|
||||
makeFlags = [ "CC=clang" ];
|
||||
|
||||
passthru.cc = stdenv.cc.cc;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GNU Fortran compiler, part of the GNU Compiler Collection";
|
||||
homepage = "https://gcc.gnu.org/fortran/";
|
||||
|
||||
@@ -32,24 +32,9 @@ stdenv.mkDerivation rec {
|
||||
"--enable-ansi"
|
||||
];
|
||||
|
||||
# Upstream bug submitted - http://savannah.gnu.org/bugs/index.php?30371
|
||||
# $TMPDIR must have no extension
|
||||
# setVars = a.noDepEntry ''
|
||||
# export TMPDIR="''${TMPDIR:-''${TMP:-''${TEMP}}}/tmp-for-gcl"
|
||||
# mkdir -p "$TMPDIR"
|
||||
# '';
|
||||
hardeningDisable = [ "pic" "bindnow" ];
|
||||
|
||||
preBuild = ''
|
||||
# sed -re "s@/bin/cat@$(which cat)@g" -i configure */configure
|
||||
# sed -re "s@if test -d /proc/self @if false @" -i configure
|
||||
# sed -re 's^([ \t])cpp ^\1cpp -I${stdenv.cc.cc}/include -I${stdenv.cc.libc}/include ^g' -i makefile
|
||||
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fgnu89-inline"
|
||||
'';
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
# phaseNames = ["setVars" "doUnpack" "preBuild"
|
||||
# "doConfigure" "doMakeInstall"];
|
||||
NIX_CFLAGS_COMPILE = "-fgnu89-inline";
|
||||
|
||||
meta = {
|
||||
description = "GNU Common Lisp compiler working via GCC";
|
||||
|
||||
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ghc libedit perl gmp];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-gmp-libraries=${gmp.out}/lib"
|
||||
"--with-gmp-includes=${gmp.dev}/include"
|
||||
|
||||
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ pcre ];
|
||||
propagatedBuildInputs = lib.optional stdenv.isDarwin Security;
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
|
||||
# I'm not sure what go wants from its 'src', but the go installation manual
|
||||
# describes an installation keeping the src.
|
||||
preUnpack = ''
|
||||
|
||||
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
|
||||
Security Foundation
|
||||
];
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
|
||||
# I'm not sure what go wants from its 'src', but the go installation manual
|
||||
# describes an installation keeping the src.
|
||||
preUnpack = ''
|
||||
|
||||
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
|
||||
Security Foundation
|
||||
];
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
|
||||
# I'm not sure what go wants from its 'src', but the go installation manual
|
||||
# describes an installation keeping the src.
|
||||
preUnpack = ''
|
||||
|
||||
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "13miyas47bmijmadm68cbvb21n4s156gjafz7kfx9brk9djfkh0q";
|
||||
};
|
||||
|
||||
hardeningDisable = stdenv.lib.optional stdenv.isi686 "pic";
|
||||
|
||||
patchPhase = ''
|
||||
sed -i -e "s|/tmp/make.log|$TMPDIR/make.log|g" src/Pl2Wam/check_boot
|
||||
'';
|
||||
|
||||
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ makeWrapper ];
|
||||
propagatedBuildInputs = [ gmp ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
configureFlags = [
|
||||
"GMP_CFLAGS=-I${gmp.dev}/include"
|
||||
"GMP_LDFLAGS=-L${gmp.out}/lib"
|
||||
|
||||
@@ -12,6 +12,8 @@ stdenv.mkDerivation {
|
||||
else if stdenv.system == "x86_64-linux" then "linux64"
|
||||
else throw "Unsupported system";
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
buildPhase = ''
|
||||
cd emu
|
||||
make -f Makefile.picat.$ARCH
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
configureFlags="--with-lua=$lua"
|
||||
|
||||
MKFLAGS="-w$lua/include/lauxlib.h,$lua/include/luadebug.h,$lua/include/lua.h,$lua/include/lualib.h"
|
||||
|
||||
buildPhase() {
|
||||
mk timestamps
|
||||
mk $MKFLAGS all.opt
|
||||
}
|
||||
|
||||
installPhase() {
|
||||
mk $MKFLAGS install.opt
|
||||
|
||||
for file in $out/bin/*.opt; do
|
||||
mv $file ${file%.opt}
|
||||
done
|
||||
|
||||
find $out/man -type f -exec gzip -9n {} \;
|
||||
|
||||
find $out -name \*.a -exec echo stripping {} \; \
|
||||
-exec strip -S {} \;
|
||||
|
||||
patchELF $out
|
||||
}
|
||||
|
||||
checkPhase="mk $MKFLAGS test.opt"
|
||||
|
||||
genericBuild
|
||||
@@ -1,12 +0,0 @@
|
||||
{stdenv, fetchurl, mk, ocaml, noweb, lua, groff }:
|
||||
stdenv.mkDerivation {
|
||||
name = "qcmm-2006-01-31";
|
||||
src = fetchurl {
|
||||
url = http://tarballs.nixos.org/qc--20060131.tar.gz;
|
||||
md5 = "9097830775bcf22c9bad54f389f5db23";
|
||||
};
|
||||
buildInputs = [ mk ocaml noweb groff ];
|
||||
patches = [ ./qcmm.patch ];
|
||||
builder = ./builder.sh;
|
||||
inherit lua;
|
||||
}
|
||||
@@ -1,121 +0,0 @@
|
||||
diff -ur qc--20060131.orig/configure qc--20060131/configure
|
||||
--- qc--20060131.orig/configure 2005-11-05 22:15:24.000000000 +0100
|
||||
+++ qc--20060131/configure 2006-02-02 14:29:07.000000000 +0100
|
||||
@@ -93,7 +93,22 @@
|
||||
# for file in dirs and return, full path, if found, and "" otherwise.
|
||||
#
|
||||
|
||||
-sub search { search_with( sub($) { return (-f shift) }, @_) }
|
||||
+sub combine {
|
||||
+ my $base = shift;
|
||||
+ my $file = shift;
|
||||
+ return ("$base/$file")
|
||||
+};
|
||||
+
|
||||
+sub search { search_with( sub($) { return (-f shift) }, \&combine, @_) }
|
||||
+
|
||||
+sub search_suffix {
|
||||
+ my $f = sub($) {
|
||||
+ my $suffix = shift;
|
||||
+ my $base = shift;
|
||||
+ return ($base . $suffix);
|
||||
+ };
|
||||
+ search_with(sub($) { return (-f shift) }, $f, @_)
|
||||
+}
|
||||
|
||||
sub searchx {
|
||||
my $f = sub($) {
|
||||
@@ -105,16 +120,17 @@
|
||||
}
|
||||
return (1==2); # how do you write false in perl?
|
||||
};
|
||||
- search_with($f, @_)
|
||||
+ search_with($f, \&combine, @_)
|
||||
}
|
||||
|
||||
sub search_with {
|
||||
my $p = shift;
|
||||
+ my $com = shift;
|
||||
my $file = shift;
|
||||
|
||||
- printf(LOG "searching for %-20s", $file);
|
||||
+ printf(LOG "searching for %-20s ", $file);
|
||||
while ($f = shift (@_)) {
|
||||
- my $x = "$f/$file";
|
||||
+ my $x = &$com($f, $file);
|
||||
if (&$p($x)) {
|
||||
print LOG "found $x\n";
|
||||
return $x
|
||||
@@ -124,6 +140,20 @@
|
||||
return "";
|
||||
}
|
||||
|
||||
+#configure lua based on some known installation prefix
|
||||
+sub config_lua {
|
||||
+ my $base = shift;
|
||||
+ @libsuffix = ( ".so", "40.so", ".a", "40.a" );
|
||||
+
|
||||
+ $x{lua_h} = "$base/include/lua.h";
|
||||
+ $x{lualib_h} = "$base/include/lualib.h";
|
||||
+ $x{liblua} = search_suffix("$base/lib/liblua", @libsuffix);
|
||||
+ $x{liblualib} = search_suffix("$base/lib/liblualib", @libsuffix);
|
||||
+ $x{lua_inc} = "-I$base/include";
|
||||
+ $x{lua_lib} = "-L$base/lib/";
|
||||
+ $x{lua_libs} = "-llua -llualib";
|
||||
+}
|
||||
+
|
||||
|
||||
#
|
||||
# compile and run a small C program to find out about architecture
|
||||
@@ -183,6 +213,8 @@
|
||||
|
||||
./configure [options]
|
||||
|
||||
+ --with-lua=/lua/path lua is installed in /lua/path the default
|
||||
+ is to search for standard locations
|
||||
--prefix=/usr/local install into the /usr/local hierarchy which
|
||||
is also the default
|
||||
-h, --help this summary
|
||||
@@ -224,15 +256,15 @@
|
||||
# We start from here with reading the command line
|
||||
# ------------------------------------------------------------------
|
||||
|
||||
+open (LOG, ">$configure_log") || die "cannot write configure.log: $!";
|
||||
+
|
||||
foreach (@ARGV) {
|
||||
if (/^--?prefix=(.*)$/) { $x{prefix}=$1 }
|
||||
elsif (/^--?h(elp?)$/) { usage(); exit 0 }
|
||||
+ elsif (/^--?with-lua=(.*)$/) { config_lua($1) }
|
||||
else { usage(); exit 1 }
|
||||
}
|
||||
|
||||
-
|
||||
-open (LOG, ">$configure_log") || die "cannot write configure.log: $!";
|
||||
-
|
||||
# check for various executables and versions. Only update variable if
|
||||
# it is not already set.
|
||||
#
|
||||
diff -ur qc--20060131.orig/doc/mkfile qc--20060131/doc/mkfile
|
||||
--- qc--20060131.orig/doc/mkfile 2005-11-07 01:41:21.000000000 +0100
|
||||
+++ qc--20060131/doc/mkfile 2006-02-02 00:38:00.000000000 +0100
|
||||
@@ -92,7 +92,7 @@
|
||||
# and accessible from Lua as This.manual.
|
||||
|
||||
qc--.man:D: qc--.1
|
||||
- GROFF_NO_SGR=1 nroff -man -Tascii qc--.1 | ul -t dump > $target
|
||||
+ GROFF_NO_SGR=1 nroff -man -Tascii qc--.1 > $target
|
||||
|
||||
release.tex:D: release.nw
|
||||
noweave -delay $prereq > $target
|
||||
diff -ur qc--20060131.orig/mkfile qc--20060131/mkfile
|
||||
--- qc--20060131.orig/mkfile 2005-07-01 22:29:52.000000000 +0200
|
||||
+++ qc--20060131/mkfile 2006-02-02 19:15:53.000000000 +0100
|
||||
@@ -97,7 +97,7 @@
|
||||
cd test2 && NPROC=1 mk $MKFLAGS all
|
||||
|
||||
test.opt:V: all.opt
|
||||
- cd test2 && NPROC=1 mk QC=../bin/qc--.opt $MKFLAGS all
|
||||
+ cd test2 && NPROC=1 mk $MKFLAGS QC=../bin/qc--.opt all
|
||||
|
||||
coverage: test2/ocamlprof.dump
|
||||
rm -f $target
|
||||
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Smalltalk programming language and environment";
|
||||
longDescription = ''
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
{stdenv, fetchurl, aterm, pkgconfig, getopt}:
|
||||
|
||||
rec {
|
||||
|
||||
inherit aterm;
|
||||
|
||||
|
||||
sdf = stdenv.mkDerivation rec {
|
||||
name = "sdf2-bundle-2.3.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.stratego-language.org/pub/stratego/sdf2/sdf2-bundle-2.3.3/sdf2-bundle-2.3.3.tar.gz;
|
||||
md5 = "62ecabe5fbb8bbe043ee18470107ef88";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm getopt];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace pgen/src/sdf2table.src \
|
||||
--replace getopt ${getopt}/bin/getopt
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.program-transformation.org/Sdf/SdfBundle;
|
||||
meta = "Tools for the SDF2 Syntax Definition Formalism, including the `pgen' parser generator and `sglr' parser";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
strategoxt = stdenv.mkDerivation {
|
||||
name = "strategoxt-0.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.strategoxt.org/pub/stratego/StrategoXT/strategoxt-0.16/strategoxt-0.16.tar.gz;
|
||||
md5 = "8b8eabbd785faa84ec20134b63d4829e";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm sdf getopt];
|
||||
|
||||
meta = {
|
||||
homepage = http://strategoxt.org/;
|
||||
meta = "A language and toolset for program transformation";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
{stdenv, fetchurl, aterm, pkgconfig, getopt, jdk, readline, ncurses}:
|
||||
|
||||
rec {
|
||||
|
||||
inherit aterm;
|
||||
|
||||
|
||||
sdf = stdenv.mkDerivation ( rec {
|
||||
name = "sdf2-bundle-2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.strategoxt.org/pub/stratego/StrategoXT/strategoxt-0.17/sdf2-bundle-2.4.tar.gz";
|
||||
sha256 = "2ec83151173378f48a3326e905d11049d094bf9f0c7cff781bc2fce0f3afbc11";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace pgen/src/sdf2table.src \
|
||||
--replace getopt ${getopt}/bin/getopt
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.program-transformation.org/Sdf/SdfBundle;
|
||||
meta = "Tools for the SDF2 Syntax Definition Formalism, including the `pgen' parser generator and `sglr' parser";
|
||||
};
|
||||
} // ( if stdenv.system == "i686-cygwin" then { CFLAGS = "-O2 -Wl,--stack=0x2300000"; } else {} ) ) ;
|
||||
|
||||
|
||||
strategoxt = stdenv.mkDerivation rec {
|
||||
name = "strategoxt-0.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.strategoxt.org/pub/stratego/StrategoXT/strategoxt-0.17/strategoxt-0.17.tar.gz";
|
||||
sha256 = "70355576c3ce3c5a8a26435705a49cf7d13e91eada974a654534d63e0d34acdb";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm sdf getopt];
|
||||
|
||||
meta = {
|
||||
homepage = http://strategoxt.org/;
|
||||
meta = "A language and toolset for program transformation";
|
||||
};
|
||||
};
|
||||
|
||||
strategoShell = stdenv.mkDerivation rec {
|
||||
name = "stratego-shell-0.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.strategoxt.org/pub/stratego/StrategoXT/strategoxt-0.17/stratego-shell-0.7.tar.gz";
|
||||
sha256 = "0q21vks9gaw9v4rxz90wb0pxzb19l7gwi4nbjvk4zb1imdk7znck";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm sdf strategoxt getopt readline ncurses];
|
||||
|
||||
meta = {
|
||||
homepage = http://strategoxt.org/;
|
||||
meta = "A language and toolset for program transformation";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
javafront = stdenv.mkDerivation (rec {
|
||||
name = "java-front-0.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.strategoxt.org/pub/stratego/java-front/java-front-0.9/java-front-0.9.tar.gz";
|
||||
sha256 = "96f40bf31486d3ced3ecebdcc0067e83ce6acbdbe57e3c847136ac3d7b62cc3c";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm sdf strategoxt];
|
||||
|
||||
# !!! The explicit `--with-strategoxt' is necessary; otherwise we
|
||||
# get an XTC registration that refers to "/share/strategoxt/XTC".
|
||||
configureFlags = "--enable-xtc --with-strategoxt=${strategoxt}";
|
||||
|
||||
meta = {
|
||||
homepage = http://strategoxt.org/Stratego/JavaFront;
|
||||
meta = "Tools for generating or transforming Java code";
|
||||
};
|
||||
} // ( if stdenv.system == "i686-cygwin" then { CFLAGS = "-O2"; } else {} ) ) ;
|
||||
|
||||
|
||||
dryad = stdenv.mkDerivation rec {
|
||||
name = "dryad-0.2pre18355";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://releases.strategoxt.org/dryad/${name}-zbqfh1rm/dryad-0.2pre18355.tar.gz";
|
||||
sha256 = "2c27b7f82f87ffc27b75969acc365560651275d348b3b5cbb530276d20ae83ab";
|
||||
};
|
||||
|
||||
buildInputs = [jdk pkgconfig aterm sdf strategoxt javafront];
|
||||
|
||||
meta = {
|
||||
homepage = http://strategoxt.org/Stratego/TheDryad;
|
||||
meta = "A collection of tools for developing transformation systems for Java source and bytecode";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
libraries = ... {
|
||||
configureFlags =
|
||||
if stdenv ? isMinGW && stdenv.isMinGW then "--with-std=C99" else "";
|
||||
|
||||
# avoids loads of warnings about too big description fields because of a broken debug format
|
||||
CFLAGS =
|
||||
if stdenv ? isMinGW && stdenv.isMinGW then "-O2" else null;
|
||||
};
|
||||
*/
|
||||
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
{stdenv, fetchurl, aterm, pkgconfig, getopt, jdk, makeStaticBinaries, readline, ncurses}:
|
||||
|
||||
rec {
|
||||
|
||||
inherit aterm;
|
||||
|
||||
sdf = stdenv.mkDerivation ( rec {
|
||||
name = "sdf2-bundle-2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.strategoxt.org/pub/stratego/StrategoXT/strategoxt-0.17/sdf2-bundle-2.4.tar.gz";
|
||||
sha256 = "2ec83151173378f48a3326e905d11049d094bf9f0c7cff781bc2fce0f3afbc11";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace pgen/src/sdf2table.src \
|
||||
--replace getopt ${getopt}/bin/getopt
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.program-transformation.org/Sdf/SdfBundle;
|
||||
meta = "Tools for the SDF2 Syntax Definition Formalism, including the `pgen' parser generator and `sglr' parser";
|
||||
};
|
||||
} // ( if stdenv.system == "i686-cygwin" then { CFLAGS = "-O2 -Wl,--stack=0x2300000"; } else {} ) ) ;
|
||||
|
||||
|
||||
strategoxt = stdenv.mkDerivation rec {
|
||||
name = "strategoxt-1.8pre24429";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://hydra.nixos.org/build/2175544/download/1/strategoxt-1.8pre24429.tar.gz;
|
||||
sha256 = "124f1d61a440b94c38b731c2e7015340dbbc1deb6d442b31dbecb46b0a00fa83";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm sdf getopt];
|
||||
|
||||
meta = {
|
||||
homepage = http://strategoxt.org/;
|
||||
meta = "A language and toolset for program transformation";
|
||||
};
|
||||
};
|
||||
|
||||
strategoShell = stdenv.mkDerivation rec {
|
||||
name = "stratego-shell-0.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.strategoxt.org/pub/stratego/StrategoXT/strategoxt-0.17/stratego-shell-0.7.tar.gz";
|
||||
sha256 = "0q21vks9gaw9v4rxz90wb0pxzb19l7gwi4nbjvk4zb1imdk7znck";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm sdf strategoxt getopt readline ncurses];
|
||||
|
||||
meta = {
|
||||
homepage = http://strategoxt.org/;
|
||||
meta = "A language and toolset for program transformation";
|
||||
broken = true;
|
||||
};
|
||||
};
|
||||
|
||||
javafront = stdenv.mkDerivation (rec {
|
||||
name = "java-front-0.9.1pre20122";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://hydra.nixos.org/build/766286/download/1/java-front-0.9.1pre20122.tar.gz";
|
||||
sha256 = "ef85d3af962fcd54e028ea501e64220b86af335a49143f2819bd3f4789bef7e6";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm sdf strategoxt];
|
||||
|
||||
# !!! The explicit `--with-strategoxt' is necessary; otherwise we
|
||||
# get an XTC registration that refers to "/share/strategoxt/XTC".
|
||||
configureFlags = "--enable-xtc --with-strategoxt=${strategoxt}";
|
||||
|
||||
meta = {
|
||||
homepage = http://strategoxt.org/Stratego/JavaFront;
|
||||
meta = "Tools for generating or transforming Java code";
|
||||
};
|
||||
} // ( if stdenv.system == "i686-cygwin" then { CFLAGS = "-O2"; } else {} ) ) ;
|
||||
|
||||
|
||||
aspectjfront = stdenv.mkDerivation (rec {
|
||||
name = "aspectj-front-0.2pre20035";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://hydra.nixos.org/build/175690/download/1/aspectj-front-0.2pre20035.tar.gz";
|
||||
sha256 = "48f6cda6f9f19436e9553e8d27e6bb42500d08370332e3ad214affb49851e58e";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm sdf strategoxt javafront];
|
||||
|
||||
} // ( if stdenv.system == "i686-cygwin" then { CFLAGS = "-O2"; } else {} ) ) ;
|
||||
|
||||
dryad = stdenv.mkDerivation rec {
|
||||
name = "dryad-0.2pre18355";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://releases.strategoxt.org/dryad/${name}-zbqfh1rm/dryad-0.2pre18355.tar.gz";
|
||||
sha256 = "2c27b7f82f87ffc27b75969acc365560651275d348b3b5cbb530276d20ae83ab";
|
||||
};
|
||||
|
||||
buildInputs = [jdk pkgconfig aterm sdf strategoxt javafront];
|
||||
|
||||
meta = {
|
||||
homepage = http://strategoxt.org/Stratego/TheDryad;
|
||||
meta = "A collection of tools for developing transformation systems for Java source and bytecode";
|
||||
broken = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
libraries = ... {
|
||||
configureFlags =
|
||||
if stdenv ? isMinGW && stdenv.isMinGW then "--with-std=C99" else "";
|
||||
|
||||
# avoids loads of warnings about too big description fields because of a broken debug format
|
||||
CFLAGS =
|
||||
if stdenv ? isMinGW && stdenv.isMinGW then "-O2" else null;
|
||||
};
|
||||
*/
|
||||
|
||||
}
|
||||
@@ -17,6 +17,8 @@ stdenv.mkDerivation {
|
||||
buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama
|
||||
libXft libXpm libSM libXt zlib freetype pkgconfig fontconfig ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
configureFlags = "--with-world --enable-gmp --enable-shared";
|
||||
|
||||
buildFlags = "world";
|
||||
|
||||
@@ -12,6 +12,8 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ omake ocaml flex bison ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
buildPhase = "omake all";
|
||||
|
||||
checkPhase = "omake check";
|
||||
|
||||
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ perl texinfo ];
|
||||
|
||||
hardeningDisable = [ "fortify" ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace "texi2pod.pl" \
|
||||
--replace "/usr/bin/perl" "${perl}/bin/perl"
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, strategoPackages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "webdsl-9.7pre4168";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://hydra.nixos.org/build/654196/download/1/${name}.tar.gz";
|
||||
sha256 = "08bec3ba02254ec7474ce70206b7be4390fe07456cfc57d927d96a21dd6dcb33";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig strategoPackages.aterm strategoPackages.sdf
|
||||
strategoPackages.strategoxt strategoPackages.javafront
|
||||
];
|
||||
|
||||
# This corrected a failing build on at least one 64 bit Linux system.
|
||||
# See the comment about this here: http://webdsl.org/selectpage/Download/WebDSLOnLinux
|
||||
preBuild = (if stdenv.system == "x86_64-linux" then "ulimit -s unlimited" else "");
|
||||
|
||||
meta = {
|
||||
homepage = http://webdsl.org/;
|
||||
description = "A domain-specific language for developing dynamic web applications with a rich data model";
|
||||
};
|
||||
}
|
||||
@@ -2,16 +2,21 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "wla-dx-git-2016-02-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vhelin";
|
||||
repo = "wla-dx";
|
||||
rev = "8189fe8d5620584ea16563875ff3c5430527c86a";
|
||||
sha256 = "02zgkcyfx7y8j6jvyi12lm29fydnd7m3rxv6g2psv23fyzmpkkir";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install binaries/* $out/bin
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
Reference in New Issue
Block a user