From a914fd2dda4aa09a62e3c241d1ff27751d21b202 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Tue, 8 Mar 2022 11:53:46 +0100 Subject: [PATCH] adding nginx-geoip2-module-3.3 --- glicid/packages/nginx.scm | 59 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/glicid/packages/nginx.scm b/glicid/packages/nginx.scm index db2f844..96dfd82 100644 --- a/glicid/packages/nginx.scm +++ b/glicid/packages/nginx.scm @@ -8,6 +8,7 @@ #:use-module (guix utils) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages geo) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -175,3 +176,61 @@ ) ) ) + +(define-public nginx-geoip2-module + (package + (inherit nginx) + (name "nginx-geoip2-module") + (version "3.3") + (source + (origin + (method url-fetch) + (uri (list + (string-append "https://github.com/leev/ngx_http_geoip2_module/archive/refs/tags/" version ".tar.gz") + )) + (sha256 (base32 "19vqzwr6gaqkh3b7zbxc61f87d044ykw9l39i2hi7qrkr0w88ds1" )) + ) + ) + (synopsis "GeoIP2 module for nginx") + (description "GeoIP2 module for nginx.") + (build-system gnu-build-system) + (inputs + `(("nginx-sources" ,(package-source nginx)) + ("libmaxminddb", libmaxminddb) + ,@(package-inputs nginx))) + (arguments + (substitute-keyword-arguments + `(#:configure-flags '("--add-dynamic-module=.") + #:make-flags '("modules") + ,@(package-arguments nginx) + ) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'unpack-nginx-sources + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (begin + ;; The nginx source code is part of the module’s source. + (format #t "decompressing nginx source code~%") + (let ((tar (assoc-ref inputs "tar")) (nginx-srcs (assoc-ref inputs "nginx-sources"))) + (invoke (string-append tar "/bin/tar") "xvf" nginx-srcs "--strip-components=1") + ) + #t + ) + ) + ) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((modules-dir (string-append (assoc-ref outputs "out") "/etc/nginx/modules"))) + (install-file "objs/ngx_http_geoip2_module.so" modules-dir) + #t + ) + ) + ) + (delete 'fix-root-dirs) + (delete 'install-man-page) + ) + ) + ) + ) + ) +)