* [PATCH] gnu: Add dzen.
@ 2017-02-13 23:28 Mekeor Melire
2017-02-14 0:41 ` Leo Famulari
0 siblings, 1 reply; 7+ messages in thread
From: Mekeor Melire @ 2017-02-13 23:28 UTC (permalink / raw)
To: guix-devel
From 04f94c306f99a7bacc96b60ed60e9bb83a9cf767 Mon Sep 17 00:00:00 2001
From: Mekeor Melire <mekeor.melire@gmail.com>
Date: Tue, 14 Feb 2017 00:21:08 +0100
Subject: [PATCH] gnu: Add dzen.
* gnu/packages/xdisorg.scm (dzen): New variable.
---
gnu/packages/xdisorg.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 510684a6c..7835c3660 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Petter <petter@mykolab.ch>
+;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +37,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -1030,6 +1032,52 @@ border, and background. It also supports multihead setups, customized mouse
actions, a built-in clock, a battery monitor and a system tray.")
(license license:gpl2)))
+(define-public dzen (package
+ (name "dzen")
+ (version "0.9.5")
+ (synopsis "General purpose messaging, notification and menuing program for X11")
+ (description "Dzen is a general purpose messaging, notification and menuing
+program for X11. It was designed to be fast, tiny and scriptable in any language.")
+ (home-page "https://github.com/robm/dzen")
+ (license license:x11)
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robm/dzen.git")
+ (commit "488ab66019f475e35e067646621827c18a879ba1")))
+ (file-name (string-append name "-" version))
+ (sha256 (base32
+ "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs `(
+ ("libx11" ,libx11)
+ ("libxft" ,libxft)
+ ("libxpm" ,libxpm)
+ ("libxinerama" ,libxinerama)))
+ (arguments `(
+ #:tests? #f
+ ; use our make-flags instead of `config.mk`
+ #:make-flags (list
+ (string-append "VERSION = " ,version)
+ (string-append "PREFIX = " %output)
+ "MANPREFIX = ${PREFIX}/share/man"
+ "INCS = -I."
+ "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)"
+ "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\
+ -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)"
+ "LDFLAGS = ${LIBS}"
+ "CC = gcc"
+ "LD = ${CC}")
+ #:phases (modify-phases
+ %standard-phases
+ ; do not `./configure`
+ (delete 'configure)
+ ; do not `include config.mk` in `Makefile`
+ (add-before 'build 'dont-include-config-mk
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile" (("include config.mk") "")))))))))
+
(define-public xcb-util-xrm
(package
(name "xcb-util-xrm")
--
2.11.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add dzen.
2017-02-13 23:28 [PATCH] gnu: Add dzen Mekeor Melire
@ 2017-02-14 0:41 ` Leo Famulari
2017-02-22 0:10 ` Mekeor Melire
0 siblings, 1 reply; 7+ messages in thread
From: Leo Famulari @ 2017-02-14 0:41 UTC (permalink / raw)
To: Mekeor Melire; +Cc: guix-devel
On Tue, Feb 14, 2017 at 12:28:28AM +0100, Mekeor Melire wrote:
> From 04f94c306f99a7bacc96b60ed60e9bb83a9cf767 Mon Sep 17 00:00:00 2001
> From: Mekeor Melire <mekeor.melire@gmail.com>
> Date: Tue, 14 Feb 2017 00:21:08 +0100
> Subject: [PATCH] gnu: Add dzen.
>
> * gnu/packages/xdisorg.scm (dzen): New variable.
Thanks!
> +(define-public dzen (package
'(package ...' should start on the second line, underneath the 'e' of
'define'.
There is a script 'etc/indent-code.el' in our Git repo that should
handle indentation for you.
> + (version "0.9.5")
The version string should be constructed as shown in the manual section
'Version Numbers':
https://www.gnu.org/software/guix/manual/html_node/Version-Numbers.html#Version-Numbers
This ensures that we can distinguish between different versions of
packages that are created from version control snapshots.
> + (synopsis "General purpose messaging, notification and menuing program for X11")
> + (description "Dzen is a general purpose messaging, notification and menuing
> +program for X11. It was designed to be fast, tiny and scriptable in any language.")
> + (home-page "https://github.com/robm/dzen")
> + (license license:x11)
It's actually the Expat license:
http://directory.fsf.org/wiki/License:Expat
Also, these fields typically go at the end of the package definition. It
makes no difference technically, but adhering to a common standard helps
reading and understanding the package.
> + #:tests? #f
We must leave a comment explaining why tests are disabled. If there are
no tests, then "No test suite." is enough.
> + ; use our make-flags instead of `config.mk`
> + #:make-flags (list
> + (string-append "VERSION = " ,version)
> + (string-append "PREFIX = " %output)
> + "MANPREFIX = ${PREFIX}/share/man"
> + "INCS = -I."
> + "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)"
> + "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\
> + -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)"
I don't think we should use the shell, but instead use (assoc-ref) and
(string-append) to get the right path.
> + #:phases (modify-phases
> + %standard-phases
> + ; do not `./configure`
Instead, how about "No ./configure script.", since it communicates more
clearly why we delete this phase.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] gnu: Add dzen.
2017-02-14 0:41 ` Leo Famulari
@ 2017-02-22 0:10 ` Mekeor Melire
2017-03-02 2:34 ` Leo Famulari
0 siblings, 1 reply; 7+ messages in thread
From: Mekeor Melire @ 2017-02-22 0:10 UTC (permalink / raw)
To: guix-devel
From 33d25348eb60372120e95e3bb5afd19bdad64795 Mon Sep 17 00:00:00 2001
From: Mekeor Melire <mekeor.melire@gmail.com>
Date: Tue, 21 Feb 2017 00:02:25 +0100
Subject: [PATCH] gnu: Add dzen.
* gnu/packages/xdisorg.scm (dzen): New variable.
---
gnu/packages/xdisorg.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 510684a6c..5be976b36 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Petter <petter@mykolab.ch>
+;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +37,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -1030,6 +1032,57 @@ border, and background. It also supports multihead setups, customized mouse
actions, a built-in clock, a battery monitor and a system tray.")
(license license:gpl2)))
+(define-public dzen
+ (let
+ ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
+ (revision "1"))
+ (package
+ (name "dzen")
+ (version (string-append
+ "0.9.5-" ; Taken from `config.mk`.
+ revision "-" (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robm/dzen.git")
+ (commit commit)))
+ (file-name (string-append name "-" version))
+ (sha256 (base32
+ "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite.
+ #:make-flags ; Replacement for `config.mk`.
+ (list
+ (string-append "VERSION = " ,version)
+ (string-append "PREFIX = " %output)
+ "MANPREFIX = ${PREFIX}/share/man"
+ "INCS = -I."
+ "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)"
+ "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\
+ -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)"
+ "LDFLAGS = ${LIBS}"
+ "CC = gcc"
+ "LD = ${CC}")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; No configuration script.
+ ;; Use own make-flags instead of `config.mk`.
+ (add-before 'build 'dont-include-config-mk
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile" (("include config.mk") "")))))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxft" ,libxft)
+ ("libxpm" ,libxpm)
+ ("libxinerama" ,libxinerama)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (synopsis "General purpose messaging, notification and menuing program for X11")
+ (description "Dzen is a general purpose messaging, notification and menuing
+program for X11. It was designed to be fast, tiny and scriptable in any language.")
+ (home-page "https://github.com/robm/dzen")
+ (license license:expat))))
+
(define-public xcb-util-xrm
(package
(name "xcb-util-xrm")
--
2.11.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add dzen.
2017-02-22 0:10 ` Mekeor Melire
@ 2017-03-02 2:34 ` Leo Famulari
2017-03-02 2:35 ` Leo Famulari
0 siblings, 1 reply; 7+ messages in thread
From: Leo Famulari @ 2017-03-02 2:34 UTC (permalink / raw)
To: Mekeor Melire; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 1817 bytes --]
On Wed, Feb 22, 2017 at 01:10:10AM +0100, Mekeor Melire wrote:
Hi!
> From 33d25348eb60372120e95e3bb5afd19bdad64795 Mon Sep 17 00:00:00 2001
> From: Mekeor Melire <mekeor.melire@gmail.com>
> Date: Tue, 21 Feb 2017 00:02:25 +0100
> Subject: [PATCH] gnu: Add dzen.
>
> * gnu/packages/xdisorg.scm (dzen): New variable.
Sorry for the slow review :/
I attached a diff of the cosmetic changes I will make before pushing.
> +(define-public dzen
> + (let
> + ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
However, this commit does not seem to exist in the dzen repo. I get this
error when building with Guix:
@ build-started /gnu/store/fpnrq0d1nxxjpjffxcvgryjipimypw81-dzen-0.9.5-1.c3f29bc.drv - x86_64-linux /var/log/guix/drvs/fp//nrq0d1nxxjpjffxcvgryjipimypw81-dzen-0.9.5-1.c3f29bc.drv.bz2
Cloning into '/gnu/store/fyjzqhhi00j02nik1pbm1lvh28p4mgdl-dzen-0.9.5-1.c3f29bc'...
fatal: reference is not a tree: c3f29bc928d5900971f65965feaae59e1272a3f7
environment variable `PATH' unset
output path `/gnu/store/fyjzqhhi00j02nik1pbm1lvh28p4mgdl-dzen-0.9.5-1.c3f29bc' should have r:sha256 hash `0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw', instead has `15c71cd3j64c9jvyljmcq2jacb0v019fbbiagnx0z2pc6lgz1f3y'
@ build-failed /gnu/store/fpnrq0d1nxxjpjffxcvgryjipimypw81-dzen-0.9.5-1.c3f29bc.drv - 1 output path `/gnu/store/fyjzqhhi00j02nik1pbm1lvh28p4mgdl-dzen-0.9.5-1.c3f29bc' should have r:sha256 hash `0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw', instead has `15c71cd3j64c9jvyljmcq2jacb0v019fbbiagnx0z2pc6lgz1f3y'
cannot build derivation `/gnu/store/1yxygykzbb3nw135yx330fa2hh2yy6y1-dzen-0.9.5-1.c3f29bc.drv': 1 dependencies couldn't be built
guix build: error: build failed: build of `/gnu/store/1yxygykzbb3nw135yx330fa2hh2yy6y1-dzen-0.9.5-1.c3f29bc.drv' failed
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add dzen.
2017-03-02 2:34 ` Leo Famulari
@ 2017-03-02 2:35 ` Leo Famulari
2017-03-02 23:25 ` Mekeor Melire
0 siblings, 1 reply; 7+ messages in thread
From: Leo Famulari @ 2017-03-02 2:35 UTC (permalink / raw)
To: Mekeor Melire; +Cc: guix-devel
[-- Attachment #1.1: Type: text/plain, Size: 170 bytes --]
On Wed, Mar 01, 2017 at 09:34:01PM -0500, Leo Famulari wrote:
> I attached a diff of the cosmetic changes I will make before pushing.
I forgot to attach it. Here it is.
[-- Attachment #1.2: diff --]
[-- Type: text/plain, Size: 1400 bytes --]
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 631d545fb..b015f5a35 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -1026,22 +1026,21 @@ actions, a built-in clock, a battery monitor and a system tray.")
(license license:gpl2)))
(define-public dzen
- (let
- ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
- (revision "1"))
+ (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
+ (revision "1"))
(package
(name "dzen")
- (version (string-append
- "0.9.5-" ; Taken from `config.mk`.
- revision "-" (string-take commit 7)))
+ (version (string-append "0.9.5-" ; Taken from `config.mk`.
+ revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/robm/dzen.git")
(commit commit)))
(file-name (string-append name "-" version))
- (sha256 (base32
- "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
+ (sha256
+ (base32
+ "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No test suite.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add dzen.
2017-03-02 2:35 ` Leo Famulari
@ 2017-03-02 23:25 ` Mekeor Melire
2017-03-02 23:51 ` Leo Famulari
0 siblings, 1 reply; 7+ messages in thread
From: Mekeor Melire @ 2017-03-02 23:25 UTC (permalink / raw)
To: Leo Famulari; +Cc: guix-devel
[-- Attachment #1: gnu: Add dzen. --]
[-- Type: text/plain, Size: 3537 bytes --]
From d235a347a21d50902d42f161a6c840516eff9d42 Mon Sep 17 00:00:00 2001
From: Mekeor Melire <mekeor.melire@gmail.com>
Date: Fri, 3 Mar 2017 00:22:47 +0100
Subject: [PATCH] gnu: Add dzen.
* gnu/packages/xdisorg.scm (dzen): New variable.
---
gnu/packages/xdisorg.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 3d69661ba..e729bcac2 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Petter <petter@mykolab.ch>
+;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,6 +37,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@@ -1023,6 +1025,56 @@ border, and background. It also supports multihead setups, customized mouse
actions, a built-in clock, a battery monitor and a system tray.")
(license license:gpl2)))
+(define-public dzen
+ (let ((commit "488ab66019f475e35e067646621827c18a879ba1")
+ (revision "1"))
+ (package
+ (name "dzen")
+ (version (string-append "0.9.5-" ; Taken from `config.mk`.
+ revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robm/dzen.git")
+ (commit commit)))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "0y47d6ii87vf4a517gi4fh0yl06f8b085sra77immnsasbq9pxnw"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite.
+ #:make-flags ; Replacement for `config.mk`.
+ (list
+ (string-append "VERSION = " ,version)
+ (string-append "PREFIX = " %output)
+ "MANPREFIX = ${PREFIX}/share/man"
+ "INCS = -I."
+ "LIBS = -lc -lX11 -lXinerama -lXpm $(shell pkg-config --libs xft)"
+ "CFLAGS = -Wall -Os ${INCS} -DVERSION=\\\"${VERSION}\\\"\
+ -DDZEN_XINERAMA -DDZEN_XPM -DDZEN_XFT $(shell pkg-config --cflags xft)"
+ "LDFLAGS = ${LIBS}"
+ "CC = gcc"
+ "LD = ${CC}")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; No configuration script.
+ ;; Use own make-flags instead of `config.mk`.
+ (add-before 'build 'dont-include-config-mk
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile" (("include config.mk") "")))))))
+ (inputs
+ `(("libx11" ,libx11)
+ ("libxft" ,libxft)
+ ("libxpm" ,libxpm)
+ ("libxinerama" ,libxinerama)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (synopsis "General purpose messaging, notification and menuing program for X11")
+ (description "Dzen is a general purpose messaging, notification and menuing
+program for X11. It was designed to be fast, tiny and scriptable in any language.")
+ (home-page "https://github.com/robm/dzen")
+ (license license:expat))))
+
(define-public xcb-util-xrm
(package
(name "xcb-util-xrm")
--
2.11.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] gnu: Add dzen.
2017-03-02 23:25 ` Mekeor Melire
@ 2017-03-02 23:51 ` Leo Famulari
0 siblings, 0 replies; 7+ messages in thread
From: Leo Famulari @ 2017-03-02 23:51 UTC (permalink / raw)
To: Mekeor Melire; +Cc: guix-devel
On Fri, Mar 03, 2017 at 12:25:14AM +0100, Mekeor Melire wrote:
> From d235a347a21d50902d42f161a6c840516eff9d42 Mon Sep 17 00:00:00 2001
> From: Mekeor Melire <mekeor.melire@gmail.com>
> Date: Fri, 3 Mar 2017 00:22:47 +0100
> Subject: [PATCH] gnu: Add dzen.
>
> * gnu/packages/xdisorg.scm (dzen): New variable.
Thanks, pushed!
> + ;; Use own make-flags instead of `config.mk`.
> + (add-before 'build 'dont-include-config-mk
> + (lambda* (#:key outputs #:allow-other-keys)
> + (substitute* "Makefile" (("include config.mk") "")))))))
I also simplified this a bit and made the phase return #t. We like all
build phases to return #t or to fail, but (substitute*)'s return value
is unspecified, so we return #t from this sort of phase.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-03-02 23:51 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-13 23:28 [PATCH] gnu: Add dzen Mekeor Melire
2017-02-14 0:41 ` Leo Famulari
2017-02-22 0:10 ` Mekeor Melire
2017-03-02 2:34 ` Leo Famulari
2017-03-02 2:35 ` Leo Famulari
2017-03-02 23:25 ` Mekeor Melire
2017-03-02 23:51 ` Leo Famulari
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).