fork
Configure Feed
Select the types of activity you want to include in your feed.
nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
fork
Configure Feed
Select the types of activity you want to include in your feed.
1{ fetchurl, lib, stdenv, jre, makeWrapper, coreutils }:
2
3stdenv.mkDerivation rec {
4 pname = "jmeter";
5 version = "5.5";
6 src = fetchurl {
7 url = "https://archive.apache.org/dist/jmeter/binaries/apache-${pname}-${version}.tgz";
8 sha256 = "sha256-YOicfEUjcxRn/bcX8z1hQIbBDwMWNpy6pFZQrhxALh8=";
9 };
10
11 nativeBuildInputs = [ makeWrapper jre ];
12
13 installPhase = ''
14 mkdir $out
15
16 rm bin/*.bat bin/*.cmd
17
18 cp -R * $out/
19
20 substituteInPlace $out/bin/create-rmi-keystore.sh --replace \
21 "keytool -genkey" \
22 "${jre}/lib/openjdk/jre/bin/keytool -genkey"
23
24 # Prefix some scripts with jmeter to avoid clobbering the namespace
25 for i in heapdump.sh mirror-server mirror-server.sh shutdown.sh stoptest.sh create-rmi-keystore.sh; do
26 mv $out/bin/$i $out/bin/jmeter-$i
27 wrapProgram $out/bin/jmeter-$i \
28 --prefix PATH : "${jre}/bin"
29 done
30
31 wrapProgram $out/bin/jmeter --set JAVA_HOME "${jre}"
32 wrapProgram $out/bin/jmeter.sh --set JAVA_HOME "${jre}"
33 '';
34
35 doInstallCheck = false; #NoClassDefFoundError: org/apache/logging/log4j/Level for tests
36
37 nativeCheckInputs = [ coreutils ];
38
39 installCheckPhase = ''
40 $out/bin/jmeter --version 2>&1 | grep -q "${version}"
41 $out/bin/jmeter-heapdump.sh > /dev/null
42 $out/bin/jmeter-shutdown.sh > /dev/null
43 $out/bin/jmeter-stoptest.sh > /dev/null
44 timeout --kill=1s 1s $out/bin/jmeter-mirror-server.sh || test "$?" = "124"
45 '';
46
47 meta = with lib; {
48 description = "A 100% pure Java desktop application designed to load test functional behavior and measure performance";
49 longDescription = ''
50 The Apache JMeter desktop application is open source software, a 100%
51 pure Java application designed to load test functional behavior and
52 measure performance. It was originally designed for testing Web
53 Applications but has since expanded to other test functions.
54 '';
55 license = licenses.asl20;
56 maintainers = [ maintainers.bryanasdev000 ];
57 priority = 1;
58 platforms = platforms.unix;
59 };
60}