1{
2 lib,
3 qttools,
4 qmake,
5 qtwebkit,
6 wrapQtAppsHook,
7 readline,
8 openmodelica,
9 mkOpenModelicaDerivation,
10}:
11
12mkOpenModelicaDerivation {
13 pname = "omshell";
14 omdir = "OMShell";
15 omdeps = [ openmodelica.omcompiler ];
16 omautoconf = true;
17
18 nativeBuildInputs = [
19 qmake
20 wrapQtAppsHook
21 ];
22
23 buildInputs = [
24 readline
25 qtwebkit
26 ];
27
28 postPatch = with openmodelica; ''
29 sed -i ''$(find -name qmake.m4) -e '/^\s*LRELEASE=/ s|LRELEASE=.*$|LRELEASE=${lib.getDev qttools}/bin/lrelease|'
30 sed -i OMShell/OMShell/OMShellGUI/*.pro -e '
31 s|\$\$\[QT_INSTALL_BINS\]/lrelease|${lib.getDev qttools}/bin/lrelease|
32 /^\s*OMCLIBS =/ s|\$\$(OMBUILDDIR)|${omcompiler}|
33 /^\s*OMCINC =/ s|\$\$(OMBUILDDIR)|${omcompiler}|
34 '
35 sed -i OMShell/OMShell/OMShellGUI/OMShell.config.in -e '
36 s|@OMBUILDDIR@|${omcompiler}|
37 s|@OPENMODELICAHOME@|${omcompiler}|
38 '
39 sed -i OMShell/mosh/src/Makefile.in -e '
40 /^CFLAGS =/ s|-I../../../build|-I${omcompiler}|
41 /^LIBS =/ s|-L@OMBUILDDIR@|-L${omcompiler}|
42 '
43 '';
44
45 dontUseQmakeConfigure = true;
46 QMAKESPEC = "linux-clang";
47
48 meta = with lib; {
49 description = "Interactive OpenModelica session shell";
50 homepage = "https://openmodelica.org";
51 license = licenses.gpl3Only;
52 maintainers = with maintainers; [
53 balodja
54 smironov
55 ];
56 platforms = platforms.linux;
57 };
58}