aboutsummaryrefslogtreecommitdiffstats
path: root/guix-env.scm
diff options
context:
space:
mode:
authorBen Sturmfels <ben@sturm.com.au>2021-03-30 15:55:56 +1100
committerBen Sturmfels <ben@sturm.com.au>2021-03-30 15:55:56 +1100
commitb1b98281b5a34ab653779f7c34300b20732127d9 (patch)
tree7f7478426dce2c33a8c62c2717d741c7c7a5d0d9 /guix-env.scm
parentf28ea2b9bc795e830c763236c5171f700efbc646 (diff)
downloadmediagoblin-b1b98281b5a34ab653779f7c34300b20732127d9.tar.lz
mediagoblin-b1b98281b5a34ab653779f7c34300b20732127d9.tar.xz
mediagoblin-b1b98281b5a34ab653779f7c34300b20732127d9.zip
Hack in an upgraded python-wtforms for Guix.
Diffstat (limited to 'guix-env.scm')
-rw-r--r--guix-env.scm56
1 files changed, 47 insertions, 9 deletions
diff --git a/guix-env.scm b/guix-env.scm
index f5f3cac3..f4f974ad 100644
--- a/guix-env.scm
+++ b/guix-env.scm
@@ -30,23 +30,28 @@
;;; 1. Submit the below python-soundfile package to Guix after libsndfile
;;; updates in Guix core-updates branch have been merged into master.
;;;
-;;; 2. Get test suite running with Guix's pytest, pytest-xdist and pytest-forked.
+;;; 2. Refine and submit the below upgraded python-wtforms 2.3.3 to Guix.
;;;
-;;; 3. Upgrade Guix's python-wtforms
+;;; 3. Get test suite running with Guix's pytest, pytest-xdist and pytest-forked.
;;;
-;;; 3. H264 videos won't transcode: "GStreamer: missing H.264 decoder".
+;;; 4. H264 videos won't transcode: "GStreamer: missing H.264 decoder".
;;;
-;;; 4. Don't have NPM in this environment yet. Maybe we use it, or maybe we
-;;; modify MediaGoblin to provide most functionality without it?
+;;; 5. Look at Celery and Redis as a Celery broker - RabbitMQ isn't currenly
+;;; packaged for Guix.
;;;
-;;; 5. Haven't even looked at running celery.
+;;; 6. Don't have NPM in this environment yet. Possibly rewrite MediaGoblin's
+;;; JavaScript code not to use jQuery. Possibly improve the
+;;; no-bundled-JavaScript video/audio playing experience.
+;;;
+;;; 7. Package MediaGoblin itself as a Guix service. Look at adding a PostgreSQL
+;;; database instead of sqlite3.
+;;;
+;;; ========================================
;;;
;;; With `guix environment' you can use guix as kind of a universal
;;; virtualenv, except a universal virtualenv with magical time traveling
;;; properties and also, not just for Python.
;;;
-;;; ========================================
-;;;
;;; Assuming you have Guix installed, run:
;;;
;;; guix environment -l guix-env.scm --container --network --share=$HOME/.bash_history
@@ -91,7 +96,6 @@
;;; rm -rf bin include lib lib64 pyvenv.cfg
;;; python3 -m venv --system-site-packages . && bin/python setup.py develop --no-deps
;;; bin/python -m pip install --force-reinstall pytest pytest-xdist pytest-forked
-;;; bin/python -m pip install --force-reinstall 'wtforms>2.1,<3.0'
;;;
;;; ... wait whaaat, what's that venv line?! I thought you said this
;;; was a reasonable virtualenv replacement! Well it is and it will
@@ -140,6 +144,7 @@
(gnu packages base)
(gnu packages certs)
(gnu packages check)
+ (gnu packages compression) ; unzip for embedded python-wtforms
(gnu packages databases)
(gnu packages libffi) ; cffi for embedded python-soundfile
(gnu packages openldap)
@@ -167,6 +172,39 @@
;; ourselves to...
;; =================================================================
+;; Upgraded the Guix version 2.1 to 2.3 for compatibility with current
+;; MediaGoblin.
+(define python-wtforms
+ (package
+ (name "python-wtforms")
+ (version "2.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "WTForms" version))
+ (sha256
+ (base32
+ ;; Interesting, if this has is that of a lower version, it blindly
+ ;; ignores the version number above and you silently get the older
+ ;; version.
+ "17427m7p9nn9byzva697dkykykwcp2br3bxvi8vciywlmkh5s6c1"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ; TODO: Fix tests for upgraded version.
+ (propagated-inputs
+ `(("python-markupsafe" ,python-markupsafe)))
+ (native-inputs
+ `(("unzip" ,unzip))) ; CHECK WHETHER NEEDED - not in `guix import` but is in old package.
+ (home-page "http://wtforms.simplecodes.com/")
+ (synopsis
+ "Form validation and rendering library for Python web development")
+ (description
+ "WTForms is a flexible forms validation and rendering library
+for Python web development. It is very similar to the web form API
+available in Django, but is a standalone package.")
+ (license license:bsd-3)))
+
+
;; Copied from guix/gnu/packages/pulseaudio.scm in the core-updates branch which
;; adds flac/ogg/vorbis/opus support. This is required for building
;; python-soundfile (March 2021).