blob: 2c18f29bbf335ec90d8e1615803fd8b4e8d8f76e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
{ stdenv
, lib
, fetchFromGitHub
, jdk
/*
* jPSXdec needs to be built with no later than JDK8, but
* should be run with the latest to get HiDPI fixes, etc.
*/
, jre ? jdk
, ant
, unoconv
, makeWrapper
, makeDesktopItem
}:
let
pname = "jpsxdec";
version = "1.05";
description = "Cross-platform PlayStation 1 audio and video converter";
desktopItem = makeDesktopItem {
name = pname;
exec = pname;
icon = pname;
comment = description;
desktopName = "jPSXdec";
categories = "AudioVideo;Utility;";
};
in
stdenv.mkDerivation rec {
inherit pname version;
src = fetchFromGitHub {
owner = "m35";
repo = pname;
rev = "v${version}";
sha256 = "0wnfvvcyldf699b08lzlc0gshl7rn09a6q4i7jmr41izlcdszdbz";
};
nativeBuildInputs = [ ant jdk unoconv makeWrapper ];
buildInputs = [ jre ];
patches = [
./0001-jpsxdec-hackfix-build-with-newer-JDKs.patch
];
buildPhase = ''
runHook preBuild
cd jpsxdec
mkdir -p _ant/release/doc/
unoconv -d document -f pdf -o _ant/release/doc/jPSXdec-manual.pdf doc/jPSXdec-manual.odt
ant release
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/pixmaps}
mv _ant/release $out/jpsxdec
makeWrapper ${jre}/bin/java $out/bin/jpsxdec \
--add-flags "-jar $out/jpsxdec/jpsxdec.jar"
cp ${src}/jpsxdec/src/jpsxdec/gui/icon48.png $out/share/pixmaps/${pname}.png
ln -s ${desktopItem}/share/applications $out/share
runHook postInstall
'';
meta = with lib; {
inherit description;
homepage = "https://jpsxdec.blogspot.com/";
platforms = platforms.all;
license = {
url = "https://raw.githubusercontent.com/m35/jpsxdec/readme/.github/LICENSE.md";
free = true;
};
maintainers = with maintainers; [ zane ];
};
}
|