diff mbox

Added package xcalib

Message ID c90a402f9fb330dcdafd7cd5a08fd169@mykolab.ch
State New
Headers show

Commit Message

Petter Nov. 14, 2016, 4:05 p.m. UTC
Hi,

I just made a recipe for xcalib, with help from iyzsong. This is the 
first time I've created one so please be extra alert while reviewing, 
and don't hesitate to inform me of mistakes.

Best,
Petter

Comments

Leo Famulari Nov. 15, 2016, 7:35 p.m. UTC | #1
On Mon, Nov 14, 2016 at 05:05:55PM +0100, Petter wrote:
> Hi,
> 
> I just made a recipe for xcalib, with help from iyzsong. This is the first
> time I've created one so please be extra alert while reviewing, and don't
> hesitate to inform me of mistakes.

Thanks Petter and iyzsong!

I think the package should go in the (gnu packages xdisorg) module
instead of its own module.

> From 00ca66ec205baf52dc340faa61fd8ac38122e273 Mon Sep 17 00:00:00 2001
> From: Petter <petter@mykolab.ch>
> Date: Mon, 14 Nov 2016 16:56:33 +0100
> Subject: [PATCH] Added package xcalib

The commit title should be "gnu: Add xcalib.".

Also, please add a "changelog" line describing the code changes. In this
case, it should be:

* gnu/packages/xdisorg (xcalib): New variable.

This is the GNU convention, and we mention it in the manual, section 8.5
Submitting Patches [0]. Please refer to earlier Git commits or ask for help
on IRC if you are unsure about it.

[0]
https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html

> +(define-public xcalib
> +  (package
> +    (name "xcalib")
> +    (version "0.8")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://downloads.sourceforge.net/xcalib/"
> +                                  "xcalib-source-" version ".tar.gz"))

We have a SourceForge "mirror" URL that should be used. Grep for
'mirror://sourceforge' in gnu/packages for some examples of how to use
it.

> +    (arguments
> +     '(#:make-flags '("CC=gcc")
> +       #:phases (modify-phases %standard-phases
> +                  (delete 'configure)
> +                  (delete 'check)

Please add a comment explaining why we skip the tests. If there is no
test suite, just use "No test suite". Also, we prefer to skip tests by
setting #:tests? #f instead of deleting the check phase.

> +                  (replace 'install
> +                    (lambda* (#:key outputs #:allow-other-keys)
> +                      (let* ((out (assoc-ref outputs "out"))
> +                             (bin (string-append out "/bin")))
> +                        (mkdir-p bin)
> +                        (install-file "xcalib" bin)))))))

Okay. Please check if there is any documentation that could also be
installed. You can add a build phase before 'install that just fails:
(lambda _ #f), build with --keep-failed, and then look in the build
directory for man pages, READMEs, Info pages, etc.

> +    (license gpl2)))

Please double-check if the source files contain the "or later" text in
the license headers. If so, it's gpl2+.
diff mbox

Patch

From 00ca66ec205baf52dc340faa61fd8ac38122e273 Mon Sep 17 00:00:00 2001
From: Petter <petter@mykolab.ch>
Date: Mon, 14 Nov 2016 16:56:33 +0100
Subject: [PATCH] Added package xcalib

---
 gnu/packages/xcalib.scm | 57 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)
 create mode 100644 gnu/packages/xcalib.scm

diff --git a/gnu/packages/xcalib.scm b/gnu/packages/xcalib.scm
new file mode 100644
index 0000000..49f9a3f
--- /dev/null
+++ b/gnu/packages/xcalib.scm
@@ -0,0 +1,57 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Petter <petter@mykolab.ch>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages xcalib)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages xorg))
+
+(define-public xcalib
+  (package
+    (name "xcalib")
+    (version "0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://downloads.sourceforge.net/xcalib/"
+                                  "xcalib-source-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1rh6xb51c5xz926dnn82a2fn643g0sr4a8z66rn6yi7523kjw4ca"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags '("CC=gcc")
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (delete 'check)
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (bin (string-append out "/bin")))
+                        (mkdir-p bin)
+                        (install-file "xcalib" bin)))))))
+    (inputs `(("libx11", libx11)
+              ("libxext", libxext)
+              ("libxxf86vm", libxxf86vm)))
+    (synopsis "Monitor calibration loader")
+    (description "Tiny monitor calibration loader for XFree86(or X.org)
+and MS-Windows.  Alter brightness, contrast and colors on your monitor.
+Even inverting all the colors, which is nice for low-light conditions.")
+    (home-page "http://xcalib.sourceforge.net/")
+    (license gpl2)))
-- 
2.10.1