uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
44
pkgs/development/compilers/jasmin/default.nix
Normal file
44
pkgs/development/compilers/jasmin/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, unzip
|
||||
, jdk8
|
||||
, ant
|
||||
, makeWrapper
|
||||
, callPackage
|
||||
}:
|
||||
|
||||
let jre = jdk8.jre; jdk = jdk8; in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jasmin";
|
||||
version = "2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/jasmin/jasmin-${version}/jasmin-${version}.zip";
|
||||
sha256 = "17a41vr96glcdrdbk88805wwvv1r6w8wg7if23yhd0n6rrl0r8ga";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip jdk ant makeWrapper ];
|
||||
|
||||
buildPhase = "ant all";
|
||||
installPhase =
|
||||
''
|
||||
install -Dm644 jasmin.jar $out/share/java/jasmin.jar
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${jre}/bin/java $out/bin/jasmin \
|
||||
--add-flags "-jar $out/share/java/jasmin.jar"
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
minimal-module = callPackage ./test-assemble-hello-world {};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "An assembler for the Java Virtual Machine";
|
||||
homepage = "http://jasmin.sourceforge.net/";
|
||||
downloadPage = "https://sourceforge.net/projects/jasmin/files/latest/download";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
.class public HelloWorld
|
||||
.super java/lang/Object
|
||||
|
||||
;
|
||||
; standard initializer (calls java.lang.Object's initializer)
|
||||
;
|
||||
.method public <init>()V
|
||||
aload_0
|
||||
invokenonvirtual java/lang/Object/<init>()V
|
||||
return
|
||||
.end method
|
||||
|
||||
;
|
||||
; main() - prints out Hello World
|
||||
;
|
||||
.method public static main([Ljava/lang/String;)V
|
||||
.limit stack 2 ; up to two items can be pushed
|
||||
|
||||
; push System.out onto the stack
|
||||
getstatic java/lang/System/out Ljava/io/PrintStream;
|
||||
|
||||
; push a string onto the stack
|
||||
ldc "Hello World!"
|
||||
|
||||
; call the PrintStream.println() method.
|
||||
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
|
||||
|
||||
; done
|
||||
return
|
||||
.end method
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{ stdenv, jasmin, jre }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "jasmin-test-assemble-hello-world";
|
||||
meta.timeout = 60;
|
||||
buildCommand = ''
|
||||
${jasmin}/bin/jasmin ${./HelloWorld.j}
|
||||
${jre}/bin/java HelloWorld | grep "Hello World"
|
||||
touch $out
|
||||
'';
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue