nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 jdk,
6 makeWrapper,
7 copyDesktopItems,
8 makeDesktopItem,
9}:
10
11stdenv.mkDerivation (finalAttrs: {
12 pname = "stegsolve";
13 version = "1.3.1";
14
15 src = fetchFromGitHub {
16 owner = "fee1-dead";
17 repo = "Stegsolve";
18 rev = finalAttrs.version;
19 hash = "sha256-WiIZymeYnub0JilWGLXKhQKEoO1hce5DarbEjp+rTGQ==";
20 };
21
22 nativeBuildInputs = [
23 makeWrapper
24 copyDesktopItems
25 ];
26 buildInputs = [ jdk ];
27
28 buildPhase = ''
29 runHook preBuild
30
31 mkdir -p out/
32 javac -d out/ -sourcepath src/ -classpath out/ -encoding utf8 src/**/*.java
33
34 runHook postBuild
35 '';
36
37 installPhase = ''
38 runHook preInstall
39
40 mkdir -p $out/lib/
41 mv out $out/lib/stegsolve
42
43 makeWrapper ${jdk}/bin/java $out/bin/stegsolve \
44 --add-flags "-classpath $out/lib/stegsolve stegsolve.StegSolve"
45
46 runHook postInstall
47 '';
48
49 desktopItems = [
50 (makeDesktopItem {
51 type = "Application";
52 name = "stegsolve";
53 desktopName = "Stegsolve";
54 comment = "A steganographic image analyzer, solver and data extractor for challanges";
55 exec = "stegsolve";
56 categories = [ "Graphics" ];
57 })
58 ];
59
60 meta = {
61 description = "Steganographic image analyzer, solver and data extractor for challanges";
62 homepage = "https://www.wechall.net/forum/show/thread/527/Stegsolve_1.3/";
63 license = lib.licenses.mit;
64 maintainers = with lib.maintainers; [
65 emilytrau
66 fee1-dead
67 ];
68 platforms = lib.platforms.all;
69 mainProgram = "stegsolve";
70 };
71})