summaryrefslogtreecommitdiff
path: root/guix-packages/testing.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-packages/testing.scm')
-rw-r--r--guix-packages/testing.scm220
1 files changed, 220 insertions, 0 deletions
diff --git a/guix-packages/testing.scm b/guix-packages/testing.scm
new file mode 100644
index 0000000..02dd6df
--- /dev/null
+++ b/guix-packages/testing.scm
@@ -0,0 +1,220 @@
+(define-module (my-hello)
+ #:use-module (guix licenses)
+ #:use-module (guix packages)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (nongnu packages mozilla)
+ #:use-module (ice-9 regex)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages audio)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages django)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages fonts)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages game-development)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages gstreamer)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages javascript)
+ #:use-module (gnu packages kde)
+ #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages mp3)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pdf)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages video)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages xml)
+ #:use-module (guix gexp)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix svn-download)
+ #:use-module (guix utils)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
+ #:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
+ #:use-module (guix build-system trivial)
+ #:use-module (srfi srfi-1))
+
+;; (define-public my-hello
+;; (package
+;; (inherit firefox-esr)
+;; (name "my-hello")
+;; (version "2.10")
+;; (source (origin
+;; (method url-fetch)
+;; (uri (string-append "mirror://gnu/hello/hello-" version
+;; ".tar.gz"))
+;; (sha256
+;; (base32
+;; "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
+;; (build-system gnu-build-system)
+;; (synopsis "Hello, Guix world: An example custom Guix package")
+;; (description
+;; "GNU Hello prints the message \"Hello, world!\" and then exits. It
+;; serves as an example of standard GNU coding practices. As such, it supports
+;; command-line arguments, multiple languages, and so on.")
+;; (home-page "https://www.gnu.org/software/hello/")
+;; (license gpl3+)))
+(define-public librewolf
+ (package
+ (inherit firefox)
+ (name "librewolf")
+ (version "108.0.2-1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/108.0.2-1/librewolf-108.0.2-1.source.tar.gz")
+ (sha256
+ (base32 "0faa4fr2w24zvaa4fd4bj1ikqddnl3kkygf9hha2mxzypdcl233p"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments firefox-esr)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'set-build-id
+ (lambda _
+ (setenv "MOZ_BUILD_DATE")))))))
+ (native-inputs
+ (modify-inputs (package-native-inputs firefox-esr)
+ (replace "rust" rust-firefox)
+ (replace "rust:cargo" `(,rust-firefox "cargo"))
+ ; (replace "node" node-lts)
+ (replace "rust-cbindgen" rust-cbindgen-0.24)))
+ (description
+ "Full-featured browser client built from Firefox source tree, without
+the official icon and the name \"firefox\".")))
+
+(define-public anki
+ (package
+ (name "anki")
+ ;; Later versions have dependencies on npm packages not yet in Guix.
+ (version "2.1.36")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://github.com/ankitects/anki/archive/refs/tags/2.1.36.tar.gz")
+ (sha256
+ (base32 "1krrnsp01nms6f2dyfm078imvx2b9synina63l41vbipcznnc1xs"))
+ (patches (search-patches "anki-mpv-args.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "PREFIX=" %output))
+ #:tests? #f ;no check target
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-update-check
+ ;; Don't ‘phone home’ unasked to check for updates.
+ (lambda _
+ (substitute* "aqt/update.py"
+ (("requests\\.post")
+ "throw.an.exception.instead"))
+ #t))
+ (delete 'configure) ;no configure script
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
+ ;; List of paths to the site-packages directories of Python
+ ;; library inputs.
+ (site-packages
+ (map (lambda (pyinput)
+ (string-append
+ (cdr pyinput)
+ "/lib/python"
+ ;; Calculate the python version to avoid breaking
+ ;; with future 3.X releases.
+ ,(version-major+minor
+ (package-version python-wrapper))
+ "/site-packages"))
+ (filter (match-lambda
+ ((label . _)
+ (string-prefix? "python-" label)))
+ inputs)))
+ (qtwebengineprocess
+ (search-input-file inputs
+ "lib/qt5/libexec/QtWebEngineProcess")))
+ ;; The program fails to find the QtWebEngineProcess program, so
+ ;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is
+ ;; wrapped to avoid declaring Python libraries as propagated
+ ;; inputs.
+ (for-each (lambda (program)
+ (wrap-program program
+ `("QTWEBENGINEPROCESS_PATH" =
+ (,qtwebengineprocess))
+ `("PATH" prefix (,(string-append
+ (assoc-ref inputs "mpv")
+ "/bin")))
+ `("GUIX_PYTHONPATH" = ,site-packages)))
+ (find-files bin ".")))
+ #t)))))
+ (native-inputs
+ (list xdg-utils))
+ (inputs
+ `(("lame" ,lame)
+ ("mpv" ,mpv)
+ ("python" ,python-wrapper)
+ ("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-decorator" ,python-decorator)
+ ("python-distro" ,python-distro)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-markdown" ,python-markdown)
+ ("python-pyaudio" ,python-pyaudio)
+ ;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH.
+ ("python-pyqtwebengine" ,python-pyqtwebengine)
+ ("python-pyqt" ,python-pyqt-without-qtwebkit)
+ ("python-requests" ,python-requests)
+ ("python-send2trash" ,python-send2trash)
+ ("python-sip" ,python-sip)
+ ;; `qtwebengine-5' is included in `pyqtwebengine', included here for easy
+ ;; wrapping.
+ ("qtwebengine-5" ,qtwebengine-5)))
+ (home-page "https://apps.ankiweb.net/")
+ (synopsis "Powerful, intelligent flash cards")
+ (description "Anki is a program which makes remembering things
+easy. Because it's a lot more efficient than traditional study
+methods, you can either greatly decrease your time spent studying, or
+greatly increase the amount you learn.
+
+Anyone who needs to remember things in their daily life can benefit
+from Anki. Since it is content-agnostic and supports images, audio,
+videos and scientific markup (via LaTeX), the possibilities are
+endless. For example:
+@itemize
+@item Learning a language
+@item Studying for medical and law exams
+@item Memorizing people's names and faces
+@item Brushing up on geography
+@item Mastering long poems
+@item Even practicing guitar chords!
+@end itemize")
+ (license gpl3+)))
+
+librewolf