-
Notifications
You must be signed in to change notification settings - Fork 1
/
default.nix
156 lines (150 loc) · 4.77 KB
/
default.nix
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
with (import (import ./pinned-nixpkgs.nix) { });
let
pyhafas = python310.pkgs.buildPythonPackage rec {
pname = "pyhafas";
version = "0.4.0";
format = "setuptools";
src = python310.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-y0iUiodad50hR2FqdYgCDc0YbRGXpAo7AETU8AqVoCI=";
};
propagatedBuildInputs = with python310.pkgs; [ requests pytz ];
doCheck = false;
};
hafas-m = with perlPackages;
buildPerlModule {
pname = "Travel-Status-DE-DeutscheBahn";
version = "6.08";
src = fetchurl {
url =
"mirror://cpan/authors/id/D/DE/DERF/Travel-Status-DE-DeutscheBahn-6.08.tar.gz";
hash = "sha256-12B+WazUmvH+eIhO25YERnePoLRnKVAMRCeSB6yq+jU=";
};
doCheck = false;
buildInputs = [ FileSlurp TestCompile TestPod ];
propagatedBuildInputs = [
ClassAccessor
DateTime
DateTimeFormatStrptime
JSON
LWP
LWPProtocolhttps
ListMoreUtils
];
meta = {
description = "Interface to the online arrival/departure";
license = with lib.licenses; [ artistic1 gpl1Plus ];
};
};
GISDistance = with perlPackages;
buildPerlModule {
pname = "GIS-Distance";
version = "0.20";
src = fetchurl {
url = "mirror://cpan/authors/id/B/BL/BLUEFEET/GIS-Distance-0.20.tar.gz";
sha256 =
"b2b2f8774cddab6e3e49d34988efafe8fe0d500ff6d57b61f86614095bf1423e";
};
buildInputs = [ ModuleBuildTiny Test2Suite ];
propagatedBuildInputs =
[ ClassMeasure ConstFast namespaceclean strictures ];
meta = {
homepage = "https://github.com/bluefeet/GIS-Distance";
description = "Calculate geographic distances";
license = with lib.licenses; [ artistic1 gpl1Plus ];
};
};
ClassMeasure = with perlPackages;
buildPerlModule {
pname = "Class-Measure";
version = "0.10";
src = fetchurl {
url =
"mirror://cpan/authors/id/B/BL/BLUEFEET/Class-Measure-0.10.tar.gz";
sha256 =
"c0b79eb09a66cc41fb83aadbd24874372b465a74407b96e0722994eefbfd24ca";
};
buildInputs = [ ModuleBuildTiny Test2Suite ];
propagatedBuildInputs = [ SubExporter ];
meta = {
homepage = "https://github.com/bluefeet/Class-Measure";
description = "Create, compare, and convert units of measurement";
license = with lib.licenses; [ artistic1 gpl1Plus ];
};
};
TravelStatusDEIRIS = with perlPackages;
buildPerlModule {
pname = "Travel-Status-DE-IRIS";
version = "1.98";
src = fetchurl {
url =
"mirror://cpan/authors/id/D/DE/DERF/Travel-Status-DE-IRIS-1.98.tar.gz";
hash = "sha256-eIK8N0Duj7G10rzHGSkJK0tbAzN2j5mTDiqJsFMPc9A=";
};
buildInputs = [
FileSlurp
JSON
TestCompile
TestFatal
TestNumberDelta
TestPod
TextCSV
];
propagatedBuildInputs = [
ClassAccessor
DateTime
DateTimeFormatStrptime
GISDistance
LWP
LWPProtocolhttps
ListCompare
ListMoreUtils
ListUtilsBy
TextLevenshteinXS
XMLLibXML
];
meta = {
description = "Interface to IRIS based web departure monitors";
license = with lib.licenses; [ artistic1 gpl1Plus ];
};
};
TravelStatusDEDBWagenreihung = with perlPackages;
buildPerlModule {
pname = "Travel-Status-DE-DBWagenreihung";
version = "0.18";
src = fetchurl {
url =
"mirror://cpan/authors/id/D/DE/DERF/Travel-Status-DE-DBWagenreihung-0.18.tar.gz";
hash = "sha256-EHqIqsjbPUBcN3uFm/aimHyDQnHNty64ld26EZwGhmM=";
};
buildInputs = [ TestCompile TestPod ];
propagatedBuildInputs = [ ClassAccessor JSON LWP TravelStatusDEIRIS ];
meta = {
description = "Interface to Deutsche Bahn Wagon Order API";
license = with lib.licenses; [ artistic1 gpl1Plus ];
};
};
in python310Packages.buildPythonPackage {
src = builtins.path {
path = ./.;
name = "travelhook";
};
pname = "travelhook";
version = "0.13.3";
nativeBuildInputs = [ makeWrapper ];
postFixup = let
hafasperl = with perlPackages;
makeFullPerlPath [ JSON hafas-m TravelStatusDEDBWagenreihung ];
in ''
mkdir -p $out/bin
cp $src/*.pl $out/bin
wrapProgram $out/bin/json-hafas.pl --set PERL5LIB ${hafasperl}
wrapProgram $out/bin/json-hafas-stationboard.pl --set PERL5LIB ${hafasperl}
wrapProgram $out/bin/json-db-composition.pl --set PERL5LIB ${hafasperl}
'';
propagatedBuildInputs =
(with python310Packages; [ discordpy setuptools haversine tomli tomli-w ])
++ [ pyhafas ]
++ [ perl perlPackages.JSON hafas-m TravelStatusDEDBWagenreihung ];
format = "pyproject";
}