This patch moves Guile modules shipped as a Guix channel under the modules directory. The rationale behind this is that we are probably adding unwanted files into Guile's load path, such as the news file and possible scripts that could be added to the channel repository in the future. * guix-channel (channel): Set directory field. * nongnu/*: Move under modules/nongnu. * nonguix/*: Move under modules/nonguix.
74 lines
3.2 KiB
Scheme
74 lines
3.2 KiB
Scheme
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
|
;;; Copyright © 2022 Demis Balbach <db@minikn.xyz>
|
|
;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
|
|
|
(define-module (nongnu packages engineering)
|
|
#:use-module (gnu packages base)
|
|
#:use-module (gnu packages xorg)
|
|
#:use-module (guix download)
|
|
#:use-module (guix gexp)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix utils)
|
|
#:use-module ((guix licenses) :prefix license:)
|
|
#:use-module (nonguix build-system chromium-binary)
|
|
#:use-module ((nonguix licenses) :prefix license:)
|
|
#:use-module (ice-9 match))
|
|
|
|
(define-public lycheeslicer
|
|
(package
|
|
(name "lycheeslicer")
|
|
(version "4.1.0")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri
|
|
(string-append
|
|
"https://mango-lychee.nyc3.cdn.digitaloceanspaces.com/LycheeSlicer-" version ".deb"))
|
|
(sha256
|
|
(base32 "1rv3f8d1sb5irn4y8hjzk2m7c9irw71ls8p1mqambxg79q9ffj9m"))))
|
|
(supported-systems '("x86_64-linux"))
|
|
(build-system chromium-binary-build-system)
|
|
(arguments
|
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
|
#:wrapper-plan
|
|
#~'("lib/LycheeSlicer/lycheeslicer")
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(add-after 'binary-unpack 'setup-cwd
|
|
(lambda _
|
|
;; Use the more standard lib directory for everything.
|
|
(rename-file "opt/" "lib")
|
|
(mkdir-p "share")
|
|
(copy-recursively "usr/share" "share")
|
|
;; Remove unneeded files.
|
|
(delete-file-recursively "usr")))
|
|
(add-after 'setup-cwd 'fix-desktop-file
|
|
(lambda _
|
|
;; Fix the .desktop file binary location.
|
|
(substitute* '("share/applications/lycheeslicer.desktop")
|
|
(("/opt/LycheeSlicer")
|
|
(string-append #$output "/lib/LycheeSlicer")))))
|
|
(add-before 'install-wrapper 'symlink-binary-file
|
|
(lambda _
|
|
(mkdir-p (string-append #$output "/bin"))
|
|
(symlink (string-append #$output "/lib/LycheeSlicer/lycheeslicer")
|
|
(string-append #$output "/bin/lycheeslicer"))))
|
|
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
|
(lambda _
|
|
(wrap-program (string-append #$output "/lib/LycheeSlicer/lycheeslicer")
|
|
`("LD_LIBRARY_PATH" ":" prefix
|
|
(,(string-join
|
|
(list
|
|
(string-append #$output "/lib/LycheeSlicer"))
|
|
":")))))))))
|
|
(inputs
|
|
(list libxscrnsaver))
|
|
(home-page "https://mango3d.io")
|
|
(synopsis "Slicer for resin 3d printers of different manufacturers")
|
|
(description "A user-friendly slicing software for resin 3d printers. It
|
|
supports printers and resins of different manufacturers alongside
|
|
community-created profiles as well. It offers a paid- and free version with a
|
|
reduced feature set.")
|
|
(license (license:nonfree "https://mango3d.io/terms-and-conditions"))))
|