1{ stdenv, lib, fetchFromGitHub, fetchzip, p7zip }:
2
3stdenv.mkDerivation rec {
4 pname = "snap7";
5 version = "1.4.2";
6
7 src = fetchzip {
8 url = "mirror://sourceforge/snap7/${version}/snap7-full-${version}.7z";
9 sha256 = "1n5gs8bwb6g9vfllf3x12r5yzqzapmlq1bmc6hl854b8vkg30y8c";
10 postFetch = ''
11 ${p7zip}/bin/7z x $downloadedFile
12 mkdir $out
13 cp -r snap7-full-${version}/* $out/
14 '';
15 };
16
17 outputs = [ "out" "dev" "doc" ];
18
19 makefile = "x86_64_linux.mk";
20 makeFlags = [ "LibInstall=$(out)/lib" ];
21
22 preBuild = "cd build/unix";
23 preInstall = ''
24 mkdir -p $out/lib
25 mkdir -p $dev/include
26 mkdir -p $doc/share
27 cp $src/examples/cpp/snap7.h $dev/include
28 cp -r $src/doc $doc/share/
29 '';
30
31 meta = with lib; {
32 homepage = "https://snap7.sourceforge.net/";
33 description = "Step7 Open Source Ethernet Communication Suite";
34 license = licenses.lgpl3;
35 maintainers = with maintainers; [ freezeboy ];
36 platforms = platforms.linux;
37 };
38}