From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: 50329@debbugs.gnu.org
Cc: Maxime Devos <maximedevos@telenet.be>,
Nicolas Goaziou <mail@nicolasgoaziou.fr>,
Roman Scherer <roman.scherer@burningswell.com>
Subject: bug#50329: [PATCH v2 2/2] gnu: emacs-company-box: Remove unclearly licensed icons from source.
Date: Sun, 20 Mar 2022 14:29:36 +0100 [thread overview]
Message-ID: <75596332b0ea292991f0f2e7f7820879bef86a3b.camel@gmail.com> (raw)
In-Reply-To: <yu1k0jzg95d.fsf@inventati.org>
emacs-company-box bundles icons with unclear licenses.
Confer <https://github.com/emacs-lsp/lsp-treemacs/issues/123>.
* gnu/packages/emacs-xyz.scm (%emacs-company-box-upstream-source): New variable.
(emacs-company-box)[source]: Use a computed origin to remove unclearly licensed
icons. Also remove source code which mentions said icons.
---
gnu/packages/emacs-xyz.scm | 84 ++++++++++++++++++++++++++++++++++----
1 file changed, 77 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index caa9b4ca6e..73f2e7a3a2 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -7845,6 +7845,15 @@ (define-public emacs-company
These are distributed in separate files and can be used individually.")
(license license:gpl3+)))
+(define* (%emacs-company-box-upstream-source #:key commit version hash)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sebastiencs/company-box")
+ (commit commit)))
+ (file-name (git-file-name "emacs-company-box" version))
+ (hash hash)))
+
(define-public emacs-company-box
;; There is no release yet. Version is extracted from the main
;; file.
@@ -7856,13 +7865,74 @@ (define-public emacs-company-box
(version (git-version version revision commit))
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/sebastiencs/company-box")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "13fgmdy51gqdwijqfvb784pirx4lgva0y7ysi0c3fcx8f82cdj59"))))
+ (method (@@ (guix packages) computed-origin-method))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256 #f)
+ (uri
+ (delay
+ (with-imported-modules '((guix build emacs-utils)
+ (guix build utils))
+ #~(begin
+ (use-modules (guix build utils)
+ (guix build emacs-utils))
+ (let* ((dir (string-append "emacs-company-box-" #$version)))
+
+ (set-path-environment-variable
+ "PATH" '("bin")
+ (list #+emacs-minimal
+ #+(canonical-package bash)
+ #+(canonical-package coreutils)
+ #+(canonical-package gzip)
+ #+(canonical-package tar)))
+
+ ;; Copy the upstream source
+ (copy-recursively
+ #+(%emacs-lsp-treemacs-upstream-source
+ #:commit commit #:version version
+ #:hash
+ (content-hash
+ "13fgmdy51gqdwijqfvb784pirx4lgva0y7ysi0c3fcx8f82cdj59"))
+ dir)
+
+ (with-directory-excursion dir
+ ;; The icons are unclearly licensed and possibly non-free,
+ ;; see <https://github.com/emacs-lsp/lsp-treemacs/issues/123>
+ (with-directory-excursion "images"
+ (for-each delete-file-recursively
+ '("eclipse" "idea" "netbeans")))
+
+ ;; Also remove any mentions in the source code.
+ (make-file-writable "company-box-icons.el")
+ (emacs-batch-edit-file "company-box-icons.el"
+ '(progn
+ (while (search-forward-regexp
+ "(defvar company-box-icons-\\([a-z-]*\\)"
+ nil t)
+ (pcase (match-string 1)
+ ((or "images"
+ "all-the-icons"
+ "icons-in-terminal") nil)
+ (_ (beginning-of-line)
+ (kill-sexp)))
+ (basic-save-buffer))))
+
+ ;; Also patch source to not show broken icons as configuration
+ ;; option.
+ (substitute* "company-box-icons.el"
+ (("- .*, from.*editor.*") "")
+ (("\\(const :tag \"([a-z]*)\".*\\)" all tag)
+ (if (member tag
+ '("images" "all-the-icons" "icons-in-terminal"))
+ all
+ ""))))
+
+ (invoke "tar" "cvfa" #$output
+ "--mtime=@0"
+ "--owner=root:0"
+ "--group=root:0"
+ "--sort=name"
+ "--hard-dereference"
+ dir))))))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-company emacs-dash emacs-frame-local))
--
2.38.1
prev parent reply other threads:[~2023-01-06 18:16 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-01 23:31 bug#50329: Missing icon folder in emacs-lsp-treemacs package Cayetano Santos
2022-03-19 14:33 ` bug#50329: [PATCH v2 1/2] gnu: emacs-lsp-treemacs: Remove unclearly licensed icons r0man
2023-01-22 9:09 ` Liliana Marie Prikler
2022-03-19 15:29 ` bug#50329: [PATCH] Bundle icons for emacs-lsp-treemacs Roman Scherer
2022-03-19 20:10 ` Maxime Devos
2022-03-20 8:59 ` Roman Scherer
2022-03-20 9:41 ` Maxime Devos
2022-03-20 10:35 ` Roman Scherer
2022-03-20 11:15 ` Liliana Marie Prikler
2022-03-20 11:21 ` Roman Scherer
2022-03-20 13:10 ` Liliana Marie Prikler
2022-03-20 13:58 ` Roman Scherer
2022-03-20 15:46 ` Liliana Marie Prikler
2022-03-20 17:58 ` Roman Scherer
2022-03-20 13:29 ` Liliana Marie Prikler [this message]
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=75596332b0ea292991f0f2e7f7820879bef86a3b.camel@gmail.com \
--to=liliana.prikler@gmail.com \
--cc=50329@debbugs.gnu.org \
--cc=mail@nicolasgoaziou.fr \
--cc=maximedevos@telenet.be \
--cc=roman.scherer@burningswell.com \
/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).