@@ -0,0 +1,57 @@
1+{ stdenv
2+, lib
3+, fetchFromGitLab
4+, fetchpatch
5+, autoreconfHook
6+, pkgconfig
7+, pcsclite
8+, PCSC
9+, xcbuild
10+}:
11+
12+stdenv.mkDerivation rec {
13+ pname = "aribb25";
14+ # FIXME: change the rev for fetchFromGitLab in next release
15+ version = "0.2.7";
16+
17+ src = fetchFromGitLab {
18+ domain = "code.videolan.org";
19+ owner = "videolan";
20+ repo = pname;
21+ # rev = version; FIXME: uncomment in next release
22+ rev = "c14938692b313b5ba953543fd94fd1cad0eeef18"; # 0.2.7 with build fixes
23+ sha256 = "1kb9crfqib0npiyjk4zb63zqlzbhqm35nz8nafsvdjd71qbd2amp";
24+ };
25+
26+ nativeBuildInputs = [
27+ autoreconfHook
28+ pkgconfig
29+ ] ++ lib.optional stdenv.isDarwin xcbuild;
30+ buildInputs = if stdenv.isDarwin then [ PCSC ] else [ pcsclite ];
31+
32+ patches = let
33+ url = commit: "https://code.videolan.org/videolan/${pname}/-/commit/${commit}.diff";
34+ in [
35+ (fetchpatch {
36+ name = "make-cli-pipes-work-1.patch";
37+ url = url "0425184dbf3fdaf59854af5f530da88b2196a57b";
38+ sha256 = "0ysm2jivpnqxz71vw1102616qxww2gx005i0c5lhi6jbajqsa1cd";
39+ })
40+ (fetchpatch {
41+ name = "make-cli-pipes-work-2.patch";
42+ url = url "cebabeab2bda065dca1c9f033b42d391be866d86";
43+ sha256 = "1283kqv1r4rbaba0sv2hphkhcxgjkmh8ndlcd24fhx43nn63hd28";
44+ })
45+ ];
46+
47+ buildFlags =
48+ lib.optional stdenv.isDarwin "pcsclite_CFLAGS=-I${PCSC}/Library/Frameworks/PCSC.framework/Headers";
49+
50+ meta = with stdenv.lib; {
51+ homepage = "https://code.videolan.org/videolan/aribb25";
52+ description = "Sample implementation of the ARIB STD-B25 standard";
53+ platforms = platforms.all;
54+ license = licenses.isc;
55+ maintainers = with maintainers; [ midchildan ];
56+ };
57+}