diff mbox series

[bug#64510,v2] gnu: Add simtrace-1

Message ID 525e005b4c563deadc37f65f7293531b3e98702b.1696608951.git.GNUtoo@cyberdimension.org
State New
Headers show
Series [bug#64510,v2] gnu: Add simtrace-1 | expand

Commit Message

Denis 'GNUtoo' Carikli Oct. 6, 2023, 4:16 p.m. UTC
* gnu/packages/telephony.scm (simtrace-1): New variable.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
---
ChangeLog:
- change #:use-module (gnu packages tex)
  in #:use-module (gnu packages texlive) as texlive moved file.
---
 gnu/packages/telephony.scm | 72 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)


base-commit: 8d27ef1ed34a0a7fe14fd76f31541b62d0125498

Comments

Ludovic Courtès Oct. 11, 2023, 5:19 p.m. UTC | #1
Hi,

Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> skribis:

> * gnu/packages/telephony.scm (simtrace-1): New variable.

[...]

> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://gitea.osmocom.org/sim-card/simtrace")
> +                    (commit (string-append "v" version))))

Please add (git-file-name name version), as suggested by ‘guix lint’.

> +    (native-inputs (list dblatex docbook-xml-4.2 libfaketime pkg-config
> +                         texlive))

Could you replace the dependency on ‘texlive’ (the monolithic package,
more than 4 GiB) by a dependency on the relevant set of texlive-*
packages (info "(guix) Using TeX and LaTeX")?

There are examples you can borrow from under gnu/packages/….

Thanks,
Ludo’.
diff mbox series

Patch

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 42158784ca..0865ab5fe1 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -78,6 +78,7 @@  (define-module (gnu packages telephony)
   #:use-module (gnu packages samba)
   #:use-module (gnu packages security-token)
   #:use-module (gnu packages speech)
+  #:use-module (gnu packages texlive)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
@@ -977,6 +978,77 @@  (define-public libosmocore
     (home-page "https://osmocom.org/projects/libosmocore/wiki/Libosmocore")
     (license license:gpl2+)))
 
+(define-public simtrace-1
+  (package
+    (name "simtrace-1")
+    (version "1.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitea.osmocom.org/sim-card/simtrace")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "03wjdavp7fbr7jzzhqx6di9v87yvfi19i3kpn798vlpbw7iwkjry"))))
+    (arguments
+     (list #:tests? #f ;no tests
+           #:make-flags #~(list (string-append "CC="
+                                               #$(cc-for-target))
+                                (string-append "DESTDIR="
+                                               #$output))
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'chdir
+                          (lambda _
+                            (chdir "host")))
+                        (add-after 'chdir 'fix-makefile
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("/usr")
+                               ""))))
+                        (delete 'configure)
+                        (add-after 'build 'build-usermanual
+                          (lambda* (#:key inputs native-inputs
+                                    #:allow-other-keys)
+                            (substitute* "../docs/usermanual.xml"
+                              (("http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd")
+                               (string-append (assoc-ref inputs "docbook-xml")
+                                              "/xml/dtd/docbook/docbookx.dtd")))
+                            ;; At the beginning of the document, a table is
+                            ;; constructed with the build time in it. This
+                            ;; comes from '\newcommand{\DBKdate}{\today}' in
+                            ;; share/dblatex/latex/contrib/db2latex/db2latex.sty
+                            ;; in /gnu/store/[...]-dblatex-[...]. We used the
+                            ;; commit time for the date instead.
+                            (invoke (which "faketime") "2019-10-01"
+                                    (which "dblatex") "../docs/usermanual.xml")))
+                        (add-after 'build-usermanual 'install-usermanual
+                          (lambda _
+                            (install-file "../docs/usermanual.pdf"
+                                          (string-append #$output
+                                           "/share/doc/simtrace-1/"))))
+                        (add-after 'install 'install-man
+                          (lambda _
+                            (install-file "simtrace.1"
+                                          (string-append #$output "/man/man1/")))))))
+    (build-system gnu-build-system)
+    (native-inputs (list dblatex docbook-xml-4.2 libfaketime pkg-config
+                         texlive))
+    (inputs (list libosmocore libusb lksctp-tools talloc))
+    (synopsis
+     "Sniff the communication between phones and SIM cards with SIMtrace 1")
+    (description
+     "This contains the simtrace utility.
+It is compatible with the SIMtrace 1 hardware that contains an Atmel AT91SAM7S
+micro-controller.  It is not compatible with the SIMtrace 2 hardware that uses
+an Atmel ATSAM3S micro-controller instead.  The simtrace utility can display
+the SIM PDUs directly and/or send them to a given IP address to enable users
+to view SIM PDUs in Wireshark.  It also contains a complete user manual for
+the SIMtrace 1 hardware.")
+    (home-page "https://osmocom.org/projects/simtrace/wiki/SIMtrace")
+    ;; The utility is GPLv2-only according to the source files headers, and the
+    ;; manual is under the cc-by-sa 3.0
+    (license (list license:gpl2 license:cc-by-sa3.0))))
+
 (define-public xgoldmon
   ;; There are no releases nor tags.
   (let ((revision "1")