From mboxrd@z Thu Jan 1 00:00:00 1970 From: iyzsong@member.fsf.org (=?utf-8?B?5a6L5paH5q2m?=) Subject: Re: Hack font family for GuixSD. Date: Thu, 02 Jun 2016 19:55:30 +0800 Message-ID: <87fusvpzyl.fsf@member.fsf.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35822) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8RE4-0000vU-PP for guix-devel@gnu.org; Thu, 02 Jun 2016 07:55:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b8RE0-0004us-Jf for guix-devel@gnu.org; Thu, 02 Jun 2016 07:55:47 -0400 Received: from mail2.openmailbox.org ([62.4.1.33]:48787) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8RE0-0004uo-Ck for guix-devel@gnu.org; Thu, 02 Jun 2016 07:55:44 -0400 In-Reply-To: (Dmitry Nikolaev's message of "Thu, 2 Jun 2016 08:13:23 +0300") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Dmitry Nikolaev Cc: guix-devel Dmitry Nikolaev writes: > Hi. I wrote expression for adding Hack font family to GuixSD. You can > see it my guix package repository: > > https://github.com/8p8c/my-guix/blob/master/packages/font-hack.scm > > Here is patch for fonts.scm: The indention is missing, you can get the patch from git by: git format-patch -1 And attach it in the mail. > > --- fonts.scm 2016-06-02 08:01:49.387086500 +0300 > +++ fonts.new.scm 2016-06-02 08:05:30.005373478 +0300 > @@ -9,6 +9,7 @@ > ;;; Copyright =C2=A9 2016 Nils Gillmann > ;;; Copyright =C2=A9 2016 Jookia <166291@gmail.com> > ;;; Copyright =C2=A9 2016 Eric Bavier > +;;; Copyright =C2=A9 2016 Dmitry Nikolaev > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -921,3 +922,54 @@ > (home-page "https://fontlibrary.org/en/font/fantasque-sans-mono") > (license license:silofl1.1))) > > +(define-public font-hack > + (package > + (name "font-hack") > + (version "2.020") > + (source (origin > + (method url-fetch) > + (uri (string-append > + "https://github.com/chrissimpkins/Hack/releases/download/v" > + version > + "/Hack-v" > + "2_020" ;; FIXME > + "-ttf.zip")) > + (sha256 > + (base32 > + "16kkmc3psckw1b7k07ccn1gi5ymhlg9djh43nqjzg065g6p6d184")))) > + (build-system trivial-build-system) > + (arguments > + `(#:modules ((guix build utils)) > + #:builder (begin > + (use-modules (guix build utils) > + (srfi srfi-26)) > + > + (let ((PATH (string-append (assoc-ref %build-inputs > + "unzip") > + "/bin")) > + (font-dir (string-append %output > + "/share/fonts/truetype")) > + (doc-dir (string-append %output "/share/doc/" > + ,name "-" ,version))) > + (setenv "PATH" PATH) > + (system* "unzip" (assoc-ref %build-inputs "source")) > + > + (mkdir-p font-dir) > + (mkdir-p doc-dir) > + (for-each (lambda (ttf) > + (copy-file ttf > + (string-append font-dir "/" ttf))) > + (find-files "." "\\.ttf$")) > + (for-each (lambda (doc) > + (copy-file doc > + (string-append doc-dir "/" doc))) > + (find-files "." "\\.txt$")))))) > + (native-inputs `(("source" ,source) > + ("unzip" ,unzip))) > + (home-page "https://sourcefoundry.org/hack/") > + (synopsis "A typeface designed for sourcecode.") Don't include the leading 'A'. > + (description "The Hack Font is designed for the screen.") Could expand it a bit, how about: "Hack is designed to be a workhorse typeface for code, it expands upon the Bitstream Vera & DejaVu projects, provides 1561 glyphs including powerline support." > + (license > + (license:non-copyleft ;;FIXME > + "https://github.com/chrissimpkins/Hack/blob/master/LICENSE.md" > + "Hack Open Font License v2.0")))) > > But there are two FIXME issues. First with URI string generation. > Sorry, I haven't mastered Scheme yet: > > (uri (string-append > "https://github.com/chrissimpkins/Hack/releases/download/v" > version > "/Hack-v" > "2_020" ;; FIXME. This should be generated from version "2.020" > "-ttf.zip")) You can use: `(string-replace-substring version "." "_")', which is the (guix utils) module. (I find the behavior of `string-replace' builtin in Guile a bit suprised.. while the string-replace procudure in Racket actually is our string-replace-substring as I except.) > > And second with licence. I've marked it as non-copyleft, but I'm not > sure about it: > > (license > (license:non-copyleft ;;FIXME > "https://github.com/chrissimpkins/Hack/blob/master/LICENSE.md" > "Hack Open Font License v2.0")) This license looks the same as Bitstream Vera font, which use "license:x11-style". Could you send a update? Thanks!