summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Marusich <cmmarusich@gmail.com>2019-04-19 00:35:37 -0700
committerChris Marusich <cmmarusich@gmail.com>2019-04-24 21:08:39 -0700
commit41553c90e4152ae69f4793459abcc5a00928a8e5 (patch)
treeb14c34258b2df40b05e6122afadedfae2c74796f
parent5f7d151c77e486bb37819e35c0e14f10567564a3 (diff)
gnu: Add public-suffix-list.
* gnu/packages/dns.scm (public-suffix-list): New variable.
-rw-r--r--gnu/packages/dns.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 6a8f49fbe8..ec10254c97 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -812,3 +813,53 @@ mDNS resolver as well as an announcer. mDNS (Multicast Domain Name System) is
a zero-config service that allows one to resolve host names to IP addresses in
local networks.")
(license license:lgpl2.1)))
+
+(define-public public-suffix-list
+ ;; Mozilla releases the official list here:
+ ;;
+ ;; https://publicsuffix.org/list/public_suffix_list.dat
+ ;;
+ ;; However, Mozilla syncs that file from the GitHub repository periodically,
+ ;; so its contents will change over time. If you update this commit, please
+ ;; make sure that the new commit refers to a list which is identical to the
+ ;; officially published list available from the URL above.
+ (let ((commit "9375b697baddb0827a5995c81bd3c75877a0b35d"))
+ (package
+ (name "public-suffix-list")
+ (version (git-version "0" "1" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/publicsuffix/list.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1sm7pni01rnl4ldzi8z8nc4cbgq8nxda9gwc68v0s3ij7jd1jmik"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ ;; Install to /share because that is where "read-only
+ ;; architecture-independent data files" should go (see:
+ ;; (standards) Directory Variables). Include the version in
+ ;; the directory name so that if multiple versions are ever
+ ;; installed in the same profile, they will not conflict.
+ (destination (string-append
+ out "/share/public-suffix-list-" ,version))
+ (source (assoc-ref %build-inputs "source")))
+ (with-directory-excursion source
+ (install-file "public_suffix_list.dat" destination)
+ (install-file "LICENSE" destination))
+ #t))))
+ (home-page "https://publicsuffix.org/")
+ (synopsis "Database of current and historical DNS suffixes")
+ (description "This is the Public Suffix List maintained by Mozilla. A
+\"public suffix\" is one under which Internet users can (or historically
+could) directly register names in the Domain Name System (DNS). Some examples
+of public suffixes are .com, .co.uk and pvt.k12.ma.us. This is a list of all
+known public suffixes.")
+ (license license:mpl2.0))))