(define-module (gn-uploader) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix git-download) #:use-module ((gnu packages check) #:select (python-pylint)) #:use-module ((gnu packages python-check) #:select (python-mypy)) #:use-module ((gn packages genenetwork) #:select (gn-uploader) #:prefix gn:)) (define %source-dir (dirname (dirname (current-source-directory)))) (define vcs-file? (or (git-predicate %source-dir) (const #t))) (define-public gn-uploader (package (inherit gn:gn-uploader) (source (local-file "../.." "gn-uploader-checkout" #:recursive? #t #:select? vcs-file?)))) (define-public gn-uploader-all-tests (package (inherit gn-uploader) (arguments (substitute-keyword-arguments (package-arguments gn-uploader) ((#:phases #~%standard-phases) #~(modify-phases #$phases (add-before 'build 'pylint (lambda _ (invoke "pylint" "setup.py" "wsgi.py" "tests" "quality_control" "qc_app" "r_qtl" "scripts"))) (add-after 'pylint 'mypy (lambda _ (invoke "mypy" "."))))))) (native-inputs (modify-inputs (package-native-inputs gn-uploader) (prepend python-mypy) (prepend python-pylint))))) gn-uploader