unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Thomas Albers via Guix-patches via <guix-patches@gnu.org>
To: 50578@debbugs.gnu.org
Cc: Thomas Albers <thomas@thomaslabs.org>
Subject: [bug#50578] [PATCH] gnu: Add minipro
Date: Tue, 14 Sep 2021 12:56:01 +0200	[thread overview]
Message-ID: <20210914105601.12562-1-thomas@thomaslabs.org> (raw)

---
 gnu/packages/electronics.scm | 66 ++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 0e985c9750..e6abdc6562 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2021 Thomas Albers Raviola <thomas@thomaslabs.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,6 +25,7 @@
   #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
@@ -333,3 +335,67 @@ from ALSA, ESD, and COMEDI sources.  This package currently does not include
 support for ESD sources.")
     (home-page "http://xoscope.sourceforge.net/")
     (license license:gpl2+)))
+
+(define-public minipro
+  ;; Information needed to fix Makefile
+  (let* ((commit "0774b071361366c866ec97302ec02972379418b0")
+         (commit-short (substring commit 0 8))
+         ;; git show -s --format="%ci"
+         (date "2021-08-05 07:54:42 +0300")
+         (revision "1"))
+    (package
+      (name "minipro")
+      (version (git-version "0.5" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.com/DavidGriffith/minipro.git")
+               (commit commit)))
+         (sha256
+          (base32 "174m2dwgpxwkm1yrf54p6k5skihgpcd1iblxivg2f6xbdrsz8b18"))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("which" ,which)
+         ("sed" ,sed)))
+      (inputs
+       `(("libusb" ,libusb)))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (delete 'check)
+           (add-before 'build 'fix-makefile
+             (lambda* (#:key outputs #:allow-other-keys)
+               ;; Modify the makefile so that its 'PREFIX' variable points to
+               ;; "out".
+               ;; Also fix the folder to where the udev rules are installed and
+               ;; some git related variables that minipro expects.
+               (let ((out (assoc-ref outputs "out")))
+                 (substitute* "Makefile"
+                   (("PREFIX \\?= .*")
+                    (string-append "PREFIX ?= " out "\n" ))
+                   (("UDEV_DIR=.*")
+                    (string-append "UDEV_DIR=" out "/lib/udev/\n"))
+                   (("GIT_BRANCH = .*")
+                    (string-append "GIT_BRANCH = \"master\"\n"))
+                   (("GIT_HASH = .*")
+                    (string-append "GIT_HASH = \"" ,commit "\"\n"))
+                   (("GIT_HASH_SHORT = .*")
+                    (string-append "GIT_HASH_SHORT = \"" ,commit-short "\"\n"))
+                   (("GIT_DATE = .*")
+                    (string-append "GIT_DATE = \"" ,date "\"\n"))))
+               #t)))))
+      (synopsis "Controls the TL866xx series of chip programmers")
+      (description "minipro is designed to program or read the contents of
+chips supported by the TL866xx series of programmers.  This includes many
+microcontrollers, ROMs, EEPROMs and PLDs.
+
+To use this program without root privileges you must install the necessary udev
+rules.  This can be done by extending @code{udev-service-type} in your
+@code{operating-system} configuration with this package.  E.g.:
+@code{(udev-rules-service 'minipro minipro #:groups '(\"plugdev\")}.
+Additionally your user must be member of the @code{plugdev} group.")
+      (home-page "https://gitlab.com/DavidGriffith/minipro")
+      (license license:gpl3+))))
-- 
2.33.0





             reply	other threads:[~2021-09-14 10:58 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-14 10:56 Thomas Albers via Guix-patches via [this message]
2023-03-31 11:09 ` [bug#50578] [PATCH] gnu: Add minipro Bruno Victal
2023-04-01 15:41   ` Thomas Albers Raviola via Guix-patches via
2023-04-01 17:46     ` Bruno Victal
2023-04-02 22:13       ` Thomas Albers Raviola via Guix-patches via
2023-04-03 11:17         ` Bruno Victal
2023-04-03 13:20           ` Thomas Albers Raviola via Guix-patches via
2023-04-02 22:08 ` Thomas Albers via Guix-patches via
2023-04-03 13:17 ` Thomas Albers via Guix-patches via
2023-04-22 12:48   ` Bruno Victal
2023-04-23 15:24   ` bug#50578: " Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210914105601.12562-1-thomas@thomaslabs.org \
    --to=guix-patches@gnu.org \
    --cc=50578@debbugs.gnu.org \
    --cc=thomas@thomaslabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).