From a90149b12efd3ac8f43bfc79715ce20aa32467c2 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Tue, 7 Jun 2022 08:11:33 +0200
Subject: [PATCH v2] gnu: Add kismet.
* gnu/packages/networking.scm (kismet): New variable.
* gnu/local.mk: Add patch.
* gnu/packages/patches/kismet-unbundle-boost.patch: New file.
@@ -1349,6 +1349,7 @@ dist_patch_DATA = \
%D%/packages/patches/kinit-kdeinit-extra_libs.patch \
%D%/packages/patches/kinit-kdeinit-libpath.patch \
%D%/packages/patches/kio-search-smbd-on-PATH.patch \
+ %D%/packages/patches/kismet-unbundle-boost.patch \
%D%/packages/patches/kmail-Fix-missing-link-libraries.patch \
%D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kmscon-runtime-keymap-switch.patch \
@@ -49,6 +49,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Simon South <simon@simonsouth.net>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -114,6 +115,7 @@ (define-module (gnu packages networking)
#:use-module (gnu packages image)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages kerberos)
@@ -129,6 +131,7 @@ (define-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages pretty-print)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
@@ -547,6 +550,56 @@ (define-public python-pysctp
SCTP-aware kernel (most are).")
(license license:lgpl2.1+)))
+(define-public kismet
+ (package
+ (name "kismet")
+ (version "2022-02")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://www.kismetwireless.net/git/kismet.git")
+ (commit (string-append "kismet-" version "-R1"))))
+ (patches (search-patches "kismet-unbundle-boost.patch"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Drop bundled libraries.
+ (delete-file-recursively "boost")))
+ (sha256
+ (base32
+ "01q86hrgpai433sc65dlnqy91qd26w5dwyp37adszqxfb6d2an1r"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests?
+ #f ;no test suite
+ ;; Disable C-based libwebsockets due to incompatibility
+ ;; between licenses with openssl (asl2.0 and lgpl2.1)
+ #:configure-flags
+ #~(list "--disable-libwebsockets")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-install
+ (lambda* _
+ (substitute* "Makefile.in"
+ (("-o \\$\\(INSTUSR\\) -g \\$\\(SUIDGROUP\\)") "")
+ (("-o \\$\\(INSTUSR\\) -g \\$\\(INSTGRP\\)") "")))))))
+ (home-page "https://www.kismetwireless.net/")
+ (native-inputs (list perl pkg-config python python-2))
+ (inputs (list libusb
+ libpcap
+ openssl
+ protobuf
+ protobuf-c
+ sqlite
+ zlib))
+ (synopsis "Wireless network and device detector")
+ (description
+ "This package provides a wireless network and device detector, sniffer,
+wardriving tool, and WIDS (wireless intrusion detection) framework. Kismet
+works with Wi-Fi interfaces, Bluetooth interfaces, some SDR
+(software defined radio) hardware like the RTLSDR, and other specialized
+capture hardware")
+ (license license:gpl2+)))
+
(define-public knockd
(package
(name "knockd")
new file mode 100644
@@ -0,0 +1,104 @@
+From 170ed96fe53531f93cdbca184faeda4bdf457169 Mon Sep 17 00:00:00 2001
+From: Petr Hodina <phodina@protonmail.com>
+Date: Tue, 7 Jun 2022 11:34:29 +0200
+Subject: [PATCH] Unbundle boost.
+
+
+diff --git a/globalregistry.h b/globalregistry.h
+index 1974f54..3d97364 100644
+--- a/globalregistry.h
++++ b/globalregistry.h
+@@ -34,7 +34,7 @@
+ #include "util.h"
+ #include "uuid.h"
+
+-#include "boost/asio.hpp"
++#include <boost/asio.hpp>
+
+ class global_registry;
+
+diff --git a/gpsgpsd_v3.h b/gpsgpsd_v3.h
+index 77acb14..8cb3cd4 100644
+--- a/gpsgpsd_v3.h
++++ b/gpsgpsd_v3.h
+@@ -25,7 +25,7 @@
+ #include "kis_gps.h"
+ #include "timetracker.h"
+
+-#include "boost/asio.hpp"
++#include <boost/asio.hpp>
+
+ using boost::asio::ip::tcp;
+
+diff --git a/gpsnmea_v2.h b/gpsnmea_v2.h
+index d761fd3..7518b94 100644
+--- a/gpsnmea_v2.h
++++ b/gpsnmea_v2.h
+@@ -28,7 +28,7 @@
+ #define ASIO_HAS_STD_CHRONO
+ #define ASIO_HAS_MOVE
+
+-#include "boost/asio.hpp"
++#include <boost/asio.hpp>
+
+ // Generic NMEA parser for GPS
+
+diff --git a/gpsserial_v3.h b/gpsserial_v3.h
+index c9f633f..2fa9acb 100644
+--- a/gpsserial_v3.h
++++ b/gpsserial_v3.h
+@@ -29,7 +29,7 @@
+ #define ASIO_HAS_STD_CHRONO
+ #define ASIO_HAS_MOVE
+
+-#include "boost/asio.hpp"
++#include <boost/asio.hpp>
+
+ // NMEA serial-attached GPS
+ // Implemented using ASIO serial
+diff --git a/gpstcp_v2.h b/gpstcp_v2.h
+index 75ec2e9..ab46216 100644
+--- a/gpstcp_v2.h
++++ b/gpstcp_v2.h
+@@ -29,7 +29,7 @@
+ #define ASIO_HAS_STD_CHRONO
+ #define ASIO_HAS_MOVE
+
+-#include "boost/asio.hpp"
++#include <boost/asio.hpp>
+
+ using boost::asio::ip::tcp;
+
+diff --git a/kis_external.h b/kis_external.h
+index 217f18a..af397b5 100644
+--- a/kis_external.h
++++ b/kis_external.h
+@@ -42,7 +42,7 @@
+ #include "kis_external_packet.h"
+ #include "kis_net_beast_httpd.h"
+
+-#include "boost/asio.hpp"
++#include <boost/asio.hpp>
+ using boost::asio::ip::tcp;
+
+ #include <google/protobuf/message_lite.h>
+diff --git a/kis_net_beast_httpd.h b/kis_net_beast_httpd.h
+index 355996c..989745e 100644
+--- a/kis_net_beast_httpd.h
++++ b/kis_net_beast_httpd.h
+@@ -28,9 +28,9 @@
+ #include <thread>
+ #include <unordered_map>
+
+-#include "boost/asio.hpp"
+-#include "boost/beast.hpp"
+-#include "boost/optional.hpp"
++#include <boost/asio.hpp>
++#include <boost/beast.hpp>
++#include <boost/optional.hpp>
+
+ #include "entrytracker.h"
+ #include "future_chainbuf.h"
+--
+2.35.1
+
--
2.35.1