diff options
-rw-r--r-- | guix-dev.scm | 200 |
1 files changed, 17 insertions, 183 deletions
diff --git a/guix-dev.scm b/guix-dev.scm index 13a4a71..722a4db 100644 --- a/guix-dev.scm +++ b/guix-dev.scm @@ -44,196 +44,30 @@ (gnu packages texinfo) (srfi srfi-1)) -(define guile3.0-readline - (if (defined? 'guile3.0-readline - (resolve-interface '(gnu packages guile))) - guile3.0-readline - guile-readline)) - -(define my-guile - (if (defined? 'guile-3.0-latest - (resolve-interface '(gnu packages guile))) - guile-3.0-latest - guile-next)) - -(define guile-json-4 - (if (defined? 'guile-json-4 - (resolve-interface '(gnu packages guile))) - guile-json-4 - (package - (name "guile-json") - (version "4.5.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://savannah/guile-json/guile-json-" - version ".tar.gz")) - (sha256 - (base32 - "0cqr0ljqmzlc2bwrapcsmcgxg147h66mcxf23824ri5i6vn4dc0s")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings - (native-inputs `(("pkg-config" ,pkg-config) - ("guile" ,guile-3.0))) - (inputs `(("guile" ,guile-3.0))) - (synopsis "JSON module for Guile") - (description - "Guile-JSON supports parsing and building JSON documents according to the -specification. These are the main features: - -@itemize -@item Strictly complies to @uref{http://json.org, specification}. -@item Build JSON documents programmatically via macros. -@item Unicode support for strings. -@item Allows JSON pretty printing. -@end itemize\n") - (home-page "https://github.com/aconchillo/guile-json") - ;; Version 1.2.0 switched to GPLv3+ (from LGPLv3+). - (license license:gpl3+)))) - -(define guile-zlib - (if (defined? 'guile-zlib - (resolve-interface '(gnu packages guile))) - guile-zlib - (package - (name "guile-zlib") - (version "0.0.1") - (source - (origin - ;; XXX: Do not use "git-fetch" method here that would create and - ;; endless inclusion loop, because this package is used as an extension - ;; in the same method. - (method url-fetch) - (uri - (string-append "https://notabug.org/guile-zlib/guile-zlib/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1caz6cbl6sg5567nk68z88rshp0m26zmb0a9ry1jkc1ivpk0n47i")))) - (build-system gnu-build-system) - (arguments - '(#:make-flags - '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config) - ,@(if (%current-target-system) - `(("guile" ,guile-3.0)) ;for 'guild compile' and 'guile-3.0.pc' - '()))) - (inputs - `(("guile" ,guile-3.0) - ("zlib" ,zlib))) - (synopsis "Guile bindings to zlib") - (description - "This package provides Guile bindings for zlib, a lossless -data-compression library. The bindings are written in pure Scheme by using -Guile's foreign function interface.") - (home-page "https://notabug.org/guile-zlib/guile-zlib") - (license license:gpl3+)))) - -(define guile-lzlib - (if (defined? 'guile-lzlib - (resolve-interface '(gnu packages guile))) - guile-lzlib - (package - (name "guile-lzlib") - (version "0.0.2") - (source - (origin - (method url-fetch) - (uri - (string-append "https://notabug.org/guile-lzlib/guile-lzlib/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "11sggvncyx08ssp1s5xii4d6nskh1qwqihnbpzzvkrs7sivxn8w6")))) - (build-system gnu-build-system) - (arguments - '(#:make-flags - '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config) - ,@(if (%current-target-system) - `(("guile" ,guile-3.0)) ;for 'guild compile' and 'guile-3.0.pc' - '()))) - (inputs - `(("guile" ,guile-3.0) - ("lzlib" ,lzlib))) - (synopsis "Guile bindings to lzlib") - (description - "This package provides Guile bindings for lzlib, a C library for -in-memory LZMA compression and decompression. The bindings are written in -pure Scheme by using Guile's foreign function interface.") - (home-page "https://notabug.org/guile-lzlib/guile-lzlib") - (license license:gpl3+)))) - -(define guile-prometheus - (if (defined? 'guile-prometheus - (resolve-interface '(gnu packages guile))) - guile-prometheus - (let ((commit "35dc26c0ea44c3d70f1819f240d84e2cbb4b7b4c") - (revision "5")) - (package - (name "guile-prometheus") - (version (git-version "0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.cbaines.net/git/guile/prometheus") - (commit commit))) - (sha256 - (base32 - "07822jj4appw37lf444kc4xlgl7nm64mgldag56072l55kwashgb")) - (file-name (string-append name "-" version "-checkout")))) - (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("guile" ,guile-3.0))) - (inputs - `(("guile" ,guile-3.0))) - (home-page "https://git.cbaines.net/guile/prometheus") - (synopsis "Prometheus client library for Guile") - (description - "This Guile library provides instrumentation code intended to be used -with the Prometheus time series service. Counter, gauge and histogram metric -types are supported.") - (license license:gpl3+))))) - (package (name "guix-build-coordinator") (version "0.0.0") (source #f) (build-system gnu-build-system) (inputs - `(("guix" ,guix) - ("guile-json" ,guile-json-4) - ("guile-squee" ,guile-squee) - ("guile-fibers" ,guile-fibers-next) - ("guile-gcrypt" ,guile-gcrypt) - ("guile-readline" ,guile-readline) - ("guile-lib" ,guile-lib) - ("guile-zlib" ,guile-zlib) - ("guile-lzlib" ,guile-lzlib) - ("guile-prometheus" ,guile-prometheus) - ("guile" ,my-guile) - ("postgresql" ,postgresql) - ("sqlite" ,sqlite) - ("perl" ,perl) - ("sqitch" ,sqitch) - ("perl-dbd-sqlite" ,perl-dbd-sqlite))) + (list guix + guile-json-4 + guile-fibers-next + guile-gcrypt + guile-readline + guile-lib + guile-zlib + guile-lzlib + guile-prometheus + (first (assoc-ref (package-native-inputs guix) "guile")) + sqlite + perl + sqitch + perl-dbd-sqlite)) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("ephemeralpg" ,ephemeralpg) - ("pkg-config" ,pkg-config) - ("ruby-rerun" ,ruby-rerun))) + (list autoconf + automake + pkg-config)) (synopsis "TODO") (description "TODO") (home-page "TODO") |