Cleaning up the java naming conventions

svn path=/nixpkgs/trunk/; revision=3871
This commit is contained in:
Martin Bravenboer 2005-09-17 23:58:51 +00:00
parent 3919e7593a
commit 4c70ef7e5d
27 changed files with 88 additions and 78 deletions

View file

@ -1,4 +1,4 @@
buildInputs="$openssl $zlib $db4 $httpd $swig $python $j2sdk $expat $patch" buildInputs="$openssl $zlib $db4 $httpd $swig $python $jdk $expat $patch"
. $stdenv/setup . $stdenv/setup
configureFlags="--without-gdbm --disable-static" configureFlags="--without-gdbm --disable-static"
@ -21,7 +21,7 @@ if test -n "$pythonBindings" -o -n "$javaSwigBindings"; then
fi fi
if test "$javahlBindings"; then if test "$javahlBindings"; then
configureFlags="--enable-javahl --with-jdk=$j2sdk $configureFlags" configureFlags="--enable-javahl --with-jdk=$jdk $configureFlags"
fi fi
installFlags="$makeFlags" installFlags="$makeFlags"
@ -48,7 +48,7 @@ postInstall() {
make javahl make javahl
make install-javahl make install-javahl
mkdir -p $out/share/doc/$name mkdir -p $out/share/doc/$name
$j2sdk/bin/javadoc -d $out/share/doc/$name \ $jdk/bin/javadoc -d $out/share/doc/$name \
-windowtitle "JavaHL Subversion Bindings" \ -windowtitle "JavaHL Subversion Bindings" \
-link http://java.sun.com/j2se/1.4.2/docs/api/ \ -link http://java.sun.com/j2se/1.4.2/docs/api/ \
subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/*.java subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/*.java

View file

@ -6,7 +6,7 @@
, javaSwigBindings ? false , javaSwigBindings ? false
, javahlBindings ? false , javahlBindings ? false
, stdenv, fetchurl , stdenv, fetchurl
, openssl ? null, httpd ? null, db4 ? null, expat, swig ? null, j2sdk ? null, zlib ? null , openssl ? null, httpd ? null, db4 ? null, expat, swig ? null, jdk ? null, zlib ? null
}: }:
assert expat != null; assert expat != null;
@ -15,7 +15,7 @@ assert httpServer -> httpd != null && httpd.expat == expat;
assert sslSupport -> openssl != null && (httpServer -> httpd.openssl == openssl); assert sslSupport -> openssl != null && (httpServer -> httpd.openssl == openssl);
assert pythonBindings -> swig != null && swig.pythonSupport; assert pythonBindings -> swig != null && swig.pythonSupport;
assert javaSwigBindings -> swig != null && swig.javaSupport; assert javaSwigBindings -> swig != null && swig.javaSupport;
assert javahlBindings -> j2sdk != null; assert javahlBindings -> jdk != null;
assert compressionSupport -> zlib != null; assert compressionSupport -> zlib != null;
stdenv.mkDerivation { stdenv.mkDerivation {
@ -38,8 +38,8 @@ stdenv.mkDerivation {
db4 = if localServer then db4 else null; db4 = if localServer then db4 else null;
swig = if pythonBindings || javaSwigBindings then swig else null; swig = if pythonBindings || javaSwigBindings then swig else null;
python = if pythonBindings then swig.python else null; python = if pythonBindings then swig.python else null;
j2sdk = if javaSwigBindings then swig.j2sdk else jdk = if javaSwigBindings then swig.jdk else
if javahlBindings then j2sdk else null; if javahlBindings then jdk else null;
inherit expat localServer httpServer sslSupport inherit expat localServer httpServer sslSupport
pythonBindings javaSwigBindings javahlBindings; pythonBindings javaSwigBindings javahlBindings;

View file

@ -1,4 +1,4 @@
buildInputs="$openssl $zlib $db4 $httpd $swig $python $j2sdk $expat $patch" buildInputs="$openssl $zlib $db4 $httpd $swig $python $jdk $expat $patch"
. $stdenv/setup . $stdenv/setup
configureFlags="--without-gdbm --disable-static" configureFlags="--without-gdbm --disable-static"
@ -23,7 +23,7 @@ if test -n "$pythonBindings"; then
fi fi
if test "$javahlBindings"; then if test "$javahlBindings"; then
configureFlags="--enable-javahl --with-jdk=$j2sdk $configureFlags" configureFlags="--enable-javahl --with-jdk=$jdk $configureFlags"
fi fi
installFlags="$makeFlags" installFlags="$makeFlags"
@ -39,7 +39,7 @@ postInstall() {
make javahl make javahl
make install-javahl make install-javahl
mkdir -p $out/share/doc/$name mkdir -p $out/share/doc/$name
$j2sdk/bin/javadoc -d $out/share/doc/$name \ $jdk/bin/javadoc -d $out/share/doc/$name \
-windowtitle "JavaHL Subversion Bindings" \ -windowtitle "JavaHL Subversion Bindings" \
-link http://java.sun.com/j2se/1.4.2/docs/api/ \ -link http://java.sun.com/j2se/1.4.2/docs/api/ \
subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/*.java subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/*.java

View file

@ -5,7 +5,7 @@
, pythonBindings ? false , pythonBindings ? false
, javahlBindings ? false , javahlBindings ? false
, stdenv, fetchurl , stdenv, fetchurl
, openssl ? null, httpd ? null, db4 ? null, expat, swig ? null, j2sdk ? null, zlib ? null , openssl ? null, httpd ? null, db4 ? null, expat, swig ? null, jdk ? null, zlib ? null
}: }:
assert expat != null; assert expat != null;
@ -13,7 +13,7 @@ assert localServer -> db4 != null;
assert httpServer -> httpd != null && httpd.expat == expat; assert httpServer -> httpd != null && httpd.expat == expat;
assert sslSupport -> openssl != null && (httpServer -> httpd.openssl == openssl); assert sslSupport -> openssl != null && (httpServer -> httpd.openssl == openssl);
assert pythonBindings -> swig != null && swig.pythonSupport; assert pythonBindings -> swig != null && swig.pythonSupport;
assert javahlBindings -> j2sdk != null; assert javahlBindings -> jdk != null;
assert compressionSupport -> zlib != null; assert compressionSupport -> zlib != null;
stdenv.mkDerivation { stdenv.mkDerivation {
@ -31,7 +31,7 @@ stdenv.mkDerivation {
db4 = if localServer then db4 else null; db4 = if localServer then db4 else null;
swig = if pythonBindings then swig else null; swig = if pythonBindings then swig else null;
python = if pythonBindings then swig.python else null; python = if pythonBindings then swig.python else null;
j2sdk = if javahlBindings then j2sdk else null; jdk = if javahlBindings then jdk else null;
inherit expat localServer httpServer sslSupport inherit expat localServer httpServer sslSupport
pythonBindings javahlBindings; pythonBindings javahlBindings;

View file

@ -0,0 +1,9 @@
{stdenv, fetchurl}:
if stdenv.system == "i686-linux"
then
(import ./j2sdk-1.4.x-sun-linux.nix) {
inherit stdenv fetchurl;
}
else
false

View file

@ -1,6 +1,6 @@
/** /**
* This Nix expression requires the user to download the j2sdk * This Nix expression requires the user to download the jdk
* distribution to /tmp. Please obtain j2sdk-1_5_0_05-linux-i586.bin * distribution to /tmp. Please obtain jdk-1_5_0_05-linux-i586.bin
* from java.sun.com by hand and place it in /tmp. Blame Sun, not me. * from java.sun.com by hand and place it in /tmp. Blame Sun, not me.
* *
* Note that this is not necessary if someone has already pushed a * Note that this is not necessary if someone has already pushed a
@ -19,6 +19,6 @@ derivation {
system = stdenv.system; system = stdenv.system;
builder = ./builder.sh; builder = ./builder.sh;
pathname = "/tmp/jdk-1_5_0_05-linux-i586.bin"; pathname = "/tmp/jdk-1_5_0_05-linux-i586.bin";
md5 = ""; md5 = "2f83bf2a38fff1f8ac51b02ec7391ca3";
stdenv = stdenv; stdenv = stdenv;
} }

View file

@ -12,10 +12,10 @@ mkdir -p $out/bin
cat >> $out/bin/ecj <<EOF cat >> $out/bin/ecj <<EOF
#! /bin/sh #! /bin/sh
export JAVA_HOME=$j2re export JAVA_HOME=$jre
export LANG="en_US" export LANG="en_US"
$j2re/bin/java -cp $out/share/ecj/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main \$@ $jre/bin/java -cp $out/share/ecj/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main \$@
EOF EOF
chmod u+x $out/bin/ecj chmod u+x $out/bin/ecj

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, unzip, ant, j2re}: {stdenv, fetchurl, unzip, ant, jre}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ecj-3.1"; name = "ecj-3.1";
@ -8,6 +8,6 @@ stdenv.mkDerivation {
md5 = "19ad65d52005da5eaa1d3687b3a50de2"; md5 = "19ad65d52005da5eaa1d3687b3a50de2";
}; };
inherit j2re; inherit jre;
buildInputs = [unzip ant j2re]; buildInputs = [unzip ant jre];
} }

View file

@ -2,7 +2,7 @@
if stdenv.system == "i686-linux" if stdenv.system == "i686-linux"
then then
(import ./j2re-sun-linux.nix) { (import ./jre-sun-linux.nix) {
inherit stdenv fetchurl; inherit stdenv fetchurl;
} }
else else

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, j2sdk, sharedobjects, jjtraveler}: {stdenv, fetchurl, jdk, sharedobjects, jjtraveler}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "aterm-java-1.6"; name = "aterm-java-1.6";
@ -6,5 +6,5 @@ stdenv.mkDerivation {
url = http://nix.cs.uu.nl/dist/tarballs/aterm-java-1.6.tar.gz; url = http://nix.cs.uu.nl/dist/tarballs/aterm-java-1.6.tar.gz;
md5 = "abf475dae2f5efca865fcdff871feb5e"; md5 = "abf475dae2f5efca865fcdff871feb5e";
}; };
buildInputs = [stdenv j2sdk sharedobjects jjtraveler]; buildInputs = [stdenv jdk sharedobjects jjtraveler];
} }

View file

@ -3,8 +3,8 @@ set -e
tar zxvf $src tar zxvf $src
$j2sdk/bin/javac java_cup/*.java $jdk/bin/javac java_cup/*.java
$j2sdk/bin/javac java_cup/runtime/*.java $jdk/bin/javac java_cup/runtime/*.java
mkdir -p $out/java_cup/runtime mkdir -p $out/java_cup/runtime

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, j2sdk} : {stdenv, fetchurl, jdk} :
stdenv.mkDerivation { stdenv.mkDerivation {
name = "java-cup-10k"; name = "java-cup-10k";
@ -9,5 +9,5 @@ stdenv.mkDerivation {
md5 = "8b11edfec13c590ea443d0f0ae0da479"; md5 = "8b11edfec13c590ea443d0f0ae0da479";
}; };
inherit j2sdk; inherit jdk;
} }

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, j2sdk}: {stdenv, fetchurl, jdk}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "jjtraveler-0.4.3"; name = "jjtraveler-0.4.3";
@ -6,5 +6,5 @@ stdenv.mkDerivation {
url = http://nix.cs.uu.nl/dist/tarballs/JJTraveler-0.4.3.tar.gz; url = http://nix.cs.uu.nl/dist/tarballs/JJTraveler-0.4.3.tar.gz;
md5 = "35bf801ee61f042513ae88247fe1bf1d"; md5 = "35bf801ee61f042513ae88247fe1bf1d";
}; };
buildInputs = [stdenv j2sdk]; buildInputs = [stdenv jdk];
} }

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, j2sdk}: {stdenv, fetchurl, jdk}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "shared-objects-1.4"; name = "shared-objects-1.4";
@ -6,5 +6,5 @@ stdenv.mkDerivation {
url = http://nix.cs.uu.nl/dist/tarballs/shared-objects-1.4.tar.gz; url = http://nix.cs.uu.nl/dist/tarballs/shared-objects-1.4.tar.gz;
md5 = "c1f2c58bd1a07be32da8a6b89354a11f"; md5 = "c1f2c58bd1a07be32da8a6b89354a11f";
}; };
buildInputs = [stdenv j2sdk]; buildInputs = [stdenv jdk];
} }

View file

@ -5,8 +5,8 @@ mkdir -p $out/bin || exit 1
cat >> $out/bin/ant <<EOF cat >> $out/bin/ant <<EOF
#! /bin/sh #! /bin/sh
export JAVA_HOME=$j2sdk export JAVA_HOME=$jdk
export JAVACMD=$j2sdk/bin/java export JAVACMD=$jdk/bin/java
export ANT_OPTS="" export ANT_OPTS=""
export ANT_ARGS="" export ANT_ARGS=""
export LANG="en_US" export LANG="en_US"

View file

@ -1,12 +1,12 @@
{stdenv, fetchurl, j2sdk, name}: {stdenv, fetchurl, jdk, name}:
let { let {
body = body =
stdenv.mkDerivation { stdenv.mkDerivation {
name = name; name = name;
builder = ./builder.sh; builder = ./builder.sh;
buildInputs = [ant j2sdk]; buildInputs = [ant jdk];
inherit ant j2sdk; inherit ant jdk;
}; };
ant = ant =

View file

@ -14,9 +14,9 @@ mv build/jclasslib.jar $out/bin/ || exit 1
cat >> $out/bin/jclasslib <<EOF cat >> $out/bin/jclasslib <<EOF
#! /bin/sh #! /bin/sh
export JAVA_HOME=$j2re export JAVA_HOME=$jre
$j2re/bin/java -jar $out/bin/jclasslib.jar \$@ $jre/bin/java -jar $out/bin/jclasslib.jar \$@
EOF EOF
chmod a+x $out/bin/jclasslib || exit 1 chmod a+x $out/bin/jclasslib || exit 1

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, xpf, j2re, ant}: {stdenv, fetchurl, xpf, jre, ant}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "jclasslib-2.0"; name = "jclasslib-2.0";
@ -8,6 +8,6 @@ stdenv.mkDerivation {
md5 = "31d91bb03fee23410689d2f1c4c439b1"; md5 = "31d91bb03fee23410689d2f1c4c439b1";
}; };
inherit j2re xpf ant; inherit jre xpf ant;
buildInputs = [xpf ant]; buildInputs = [xpf ant];
} }

View file

@ -1,3 +1,3 @@
buildInputs="$perl $python $j2sdk" buildInputs="$perl $python $jdk"
. $stdenv/setup . $stdenv/setup
genericBuild genericBuild

View file

@ -1,9 +1,9 @@
{ perlSupport, pythonSupport, javaSupport { perlSupport, pythonSupport, javaSupport
, stdenv, fetchurl, perl ? null, python ? null, j2sdk ? null}: , stdenv, fetchurl, perl ? null, python ? null, jdk ? null}:
assert perlSupport -> perl != null; assert perlSupport -> perl != null;
assert pythonSupport -> python != null; assert pythonSupport -> python != null;
assert javaSupport -> j2sdk != null; assert javaSupport -> jdk != null;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "swig-1.3.19"; name = "swig-1.3.19";
@ -18,5 +18,5 @@ stdenv.mkDerivation {
perl = if perlSupport then perl else null; perl = if perlSupport then perl else null;
python = if pythonSupport then python else null; python = if pythonSupport then python else null;
j2sdk = if javaSupport then j2sdk else null; jdk = if javaSupport then jdk else null;
} }

View file

@ -7,7 +7,7 @@ cd jakarta-tomcat*/bin
tar xvfz jsvc.tar.gz tar xvfz jsvc.tar.gz
cd jsvc-src cd jsvc-src
sh ./configure --with-java=$sdk sh ./configure --with-java=$jdk
make make
cp jsvc .. cp jsvc ..
cd .. cd ..

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, j2sdk}: {stdenv, fetchurl, jdk}:
stdenv.mkDerivation { stdenv.mkDerivation {
@ -11,7 +11,7 @@ stdenv.mkDerivation {
md5 = "b802ee042677e284bcf65738c7bdc3b6"; md5 = "b802ee042677e284bcf65738c7bdc3b6";
}; };
sdk = j2sdk; inherit jdk;
} }

View file

@ -121,7 +121,7 @@ rec {
jing_tools = (import ../tools/text/xml/jing/jing-script.nix) { jing_tools = (import ../tools/text/xml/jing/jing-script.nix) {
inherit fetchurl stdenv unzip; inherit fetchurl stdenv unzip;
j2re = blackdown; jre = blackdown;
}; };
cpio = (import ../tools/archivers/cpio) { cpio = (import ../tools/archivers/cpio) {
@ -332,7 +332,7 @@ rec {
swigWithJava = (import ../development/tools/misc/swig) { swigWithJava = (import ../development/tools/misc/swig) {
inherit fetchurl stdenv; inherit fetchurl stdenv;
j2sdk = blackdown; jdk = blackdown;
perlSupport = false; perlSupport = false;
pythonSupport = false; pythonSupport = false;
javaSupport = true; javaSupport = true;
@ -485,7 +485,7 @@ rec {
}; };
ecj = (import ../development/eclipse/ecj) { ecj = (import ../development/eclipse/ecj) {
inherit fetchurl stdenv unzip j2re; inherit fetchurl stdenv unzip jre;
ant = apacheAntBlackdown14; ant = apacheAntBlackdown14;
}; };
@ -497,11 +497,11 @@ rec {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
j2sdk = (import ../development/compilers/j2sdk) { jdk = (import ../development/compilers/jdk) {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
j2sdk15 = (import ../development/compilers/j2sdk/default-1.5.nix) { j2sdk14x = (import ../development/compilers/jdk/default-1.4.nix) {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
@ -614,7 +614,7 @@ rec {
inherit fetchurl stdenv ncurses readline; inherit fetchurl stdenv ncurses readline;
}; };
j2re = (import ../development/interpreters/j2re) { jre = (import ../development/interpreters/jre) {
inherit fetchurl stdenv; inherit fetchurl stdenv;
}; };
@ -623,20 +623,19 @@ rec {
}; };
apacheAnt14 = (import ../development/tools/build-managers/apache-ant) { apacheAnt14 = (import ../development/tools/build-managers/apache-ant) {
inherit fetchurl stdenv j2sdk; inherit fetchurl stdenv jdk;
name = "ant-j2sdk-1.4.2"; name = "ant-jdk-1.4.2";
}; };
apacheAntBlackdown14 = (import ../development/tools/build-managers/apache-ant) { apacheAntBlackdown14 = (import ../development/tools/build-managers/apache-ant) {
inherit fetchurl stdenv; inherit fetchurl stdenv;
j2sdk = blackdown; jdk = blackdown;
name = "ant-blackdown-1.4.2"; name = "ant-blackdown-1.4.2";
}; };
apacheAnt15 = (import ../development/tools/build-managers/apache-ant) { apacheAnt = (import ../development/tools/build-managers/apache-ant) {
inherit fetchurl stdenv; inherit fetchurl stdenv jdk;
name = "ant-j2sdk-1.5.0"; name = "ant-jdk-1.5.0";
j2sdk = j2sdk15;
}; };
dovecot = (import ../servers/mail/dovecot) { dovecot = (import ../servers/mail/dovecot) {
@ -649,7 +648,7 @@ rec {
tomcat5 = (import ../servers/http/tomcat) { tomcat5 = (import ../servers/http/tomcat) {
inherit fetchurl stdenv ; inherit fetchurl stdenv ;
j2sdk = blackdown; jdk = blackdown;
}; };
cil = (import ../development/libraries/cil) { cil = (import ../development/libraries/cil) {
@ -939,18 +938,15 @@ rec {
}; };
sharedobjects = (import ../development/libraries/java/shared-objects) { sharedobjects = (import ../development/libraries/java/shared-objects) {
j2sdk = j2sdk15; inherit fetchurl stdenv jdk;
inherit fetchurl stdenv;
}; };
jjtraveler = (import ../development/libraries/java/jjtraveler) { jjtraveler = (import ../development/libraries/java/jjtraveler) {
j2sdk = j2sdk15; inherit fetchurl stdenv jdk;
inherit fetchurl stdenv;
}; };
atermjava = (import ../development/libraries/java/aterm) { atermjava = (import ../development/libraries/java/aterm) {
j2sdk = j2sdk15; inherit fetchurl stdenv sharedobjects jjtraveler jdk;
inherit fetchurl stdenv sharedobjects jjtraveler;
}; };
jakartaregexp = (import ../development/libraries/java/jakarta-regexp) { jakartaregexp = (import ../development/libraries/java/jakarta-regexp) {
@ -963,8 +959,7 @@ rec {
}; };
jclasslib = (import ../development/tools/java/jclasslib) { jclasslib = (import ../development/tools/java/jclasslib) {
inherit fetchurl stdenv xpf; inherit fetchurl stdenv xpf jre;
j2re = j2sdk15;
ant = apacheAnt14; ant = apacheAnt14;
}; };
@ -977,8 +972,7 @@ rec {
}; };
javaCup = import ../development/libraries/java/cup { javaCup = import ../development/libraries/java/cup {
inherit stdenv fetchurl; inherit stdenv fetchurl jdk;
j2sdk = j2sdk15;
}; };
jflex = import ../development/libraries/java/jflex { jflex = import ../development/libraries/java/jflex {
@ -1354,7 +1348,7 @@ rec {
sslSupport = true; sslSupport = true;
httpd = apacheHttpd; httpd = apacheHttpd;
javahlBindings = true; javahlBindings = true;
j2sdk = blackdown; jdk = blackdown;
}; };
rcs = (import ../applications/version-management/rcs) { rcs = (import ../applications/version-management/rcs) {
@ -1392,6 +1386,13 @@ rec {
inherit (xlibs) libXi; inherit (xlibs) libXi;
}; };
firefoxbeta = (import ../applications/networking/browsers/firefox-1.5beta) {
inherit fetchurl stdenv pkgconfig perl zip;
inherit (gtkLibs) gtk;
inherit (gnome) libIDL;
inherit (xlibs) libXi;
};
firefoxWrapper = (import ../applications/networking/browsers/firefox-wrapper) { firefoxWrapper = (import ../applications/networking/browsers/firefox-wrapper) {
inherit stdenv firefox; inherit stdenv firefox;
plugins = [ plugins = [

View file

@ -114,7 +114,7 @@ let {
apacheAntBlackdown14 apacheAntBlackdown14
jikes jikes
ecj ecj
j2re jre
jetty jetty
;}; ;};

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, j2re, unzip} : {stdenv, fetchurl, jre, unzip} :
stdenv.mkDerivation { stdenv.mkDerivation {
name = "jing-tools-20030619"; name = "jing-tools-20030619";
@ -8,5 +8,5 @@ stdenv.mkDerivation {
inherit stdenv fetchurl unzip; inherit stdenv fetchurl unzip;
}; };
inherit j2re; inherit jre;
} }

View file

@ -5,10 +5,10 @@ mkdir -p $out/bin || exit 1
cat >> $out/bin/jing <<EOF cat >> $out/bin/jing <<EOF
#! /bin/sh #! /bin/sh
export JAVA_HOME=$j2re export JAVA_HOME=$jre
export LANG="en_US" export LANG="en_US"
$j2re/bin/java -jar $jing/bin/jing.jar \$@ $jre/bin/java -jar $jing/bin/jing.jar \$@
EOF EOF
chmod a+x $out/bin/jing || exit 1 chmod a+x $out/bin/jing || exit 1