Initial commit.
authorrekado <rekado@elephly.net>
Fri, 9 Sep 2016 08:00:04 +0000 (10:00 +0200)
committerrekado <rekado@elephly.net>
Fri, 9 Sep 2016 08:00:04 +0000 (10:00 +0200)
README.org [new file with mode: 0644]
libre/custom/packages/variants.scm [new file with mode: 0644]
non-free/custom/packages/compression.scm [new file with mode: 0644]
non-free/custom/packages/games.scm [new file with mode: 0644]
non-free/custom/packages/wip.scm [new file with mode: 0644]

diff --git a/README.org b/README.org
new file mode 100644 (file)
index 0000000..c1e52df
--- /dev/null
@@ -0,0 +1,36 @@
+* What is this?
+
+This repository provides package definitions for the functional
+package manager GNU Guix.
+
+* What’s in it?
+
+The packages in this repository fall into one of the following categories:
+
+- personal variants of packages that are already part of Guix
+
+- packages that should eventually be part of Guix but that cannot
+  fully be built from source yet
+
+- software that has not been (fully) released under a libre license or
+  where the license situation is unclear
+
+* How to use this?
+
+Guix looks for package definitions in every module that can be found
+on the =GUIX_PACKAGE_PATH=, an environment variable holding a list of
+directories.
+
+To enable the fully libre-licensed packages, add the “libre” directory
+to the =GUIX_PACKAGE_PATH=:
+
+#+BEGIN_SRC sh
+export GUIX_PACKAGE_PATH=/path/to/libre:${GUIX_PACKAGE_PATH}
+#+END_SRC
+
+If you also want to use the tainted or non-free packages you need to
+also add the “non-free” directory to the =GUIX_PACKAGE_PATH= variable:
+
+#+BEGIN_SRC sh
+export GUIX_PACKAGE_PATH=/path/to/non-free:${GUIX_PACKAGE_PATH}
+#+END_SRC
diff --git a/libre/custom/packages/variants.scm b/libre/custom/packages/variants.scm
new file mode 100644 (file)
index 0000000..7865c58
--- /dev/null
@@ -0,0 +1,87 @@
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is not part of GNU Guix but is distributed under the same
+;;; license as 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 (custom packages variants)
+  #:use-module (guix utils)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages emacs)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages guile)
+  #:use-module (gnu packages libusb)
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages webkit))
+
+(define-public my/haunt
+  (let ((commit "5b09c3c3feaf00a39f2faee2a4f8f833e07df919")
+        (revision "20160116"))
+    (package
+      (inherit haunt)
+      (name "haunt")
+      (version (string-append "0.2-" revision "." commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://dthompson.us/haunt.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "1vhrwa8r2gb0jck7d6bj7bx3dazpapw2399q0sh8g8i7hs06kcyx"))))
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'autogen
+             (lambda _
+               (zero? (system* "bash" "bootstrap")))))))
+      (propagated-inputs
+       `(("guile-reader" ,guile-reader)
+         ,@(package-propagated-inputs haunt)))
+      (native-inputs
+       `(("automake" ,automake)
+         ("autoconf" ,autoconf)
+         ("texinfo" ,texinfo))))))
+
+(define-public my/emacs
+  (package
+    (inherit emacs)
+    (version "25.1-rc1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+"0cv1hars9zxlv040h7f3zz50fhn67dqa18ms4hg9sdblckk50360"))
+              (patches (search-patches "emacs-exec-path.patch"
+                                       "emacs-source-date-epoch.patch"))))
+    (arguments (append '(#:configure-flags '("--with-xwidgets=yes"
+                                             ;;"--with-cairo=yes"
+))
+                       (package-arguments emacs)))
+    (inputs
+     `(;;("cairo" ,cairo)
+       ("webkitgtk+" ,webkitgtk-2.4)
+       ("libxcomposite" ,libxcomposite)
+       ,@(package-inputs emacs)))))
diff --git a/non-free/custom/packages/compression.scm b/non-free/custom/packages/compression.scm
new file mode 100644 (file)
index 0000000..e555efc
--- /dev/null
@@ -0,0 +1,50 @@
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is not part of GNU Guix but is distributed under the same
+;;; license as 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 (custom packages compression)
+  #:use-module (guix utils)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages))
+
+(define-public unrar
+  (package
+    (name "unrar")
+    (version "5.2.7")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.rarlab.com/rar/unrarsrc-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1b1ggrqn020pvvh2ia98alqxpl1q3x65cb6zzqwv91rpjiz7a57g"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ;no tests
+       #:make-flags
+       (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (home-page "http://www.rarlab.com/")
+    (synopsis "Utility for RAR archives")
+    (description "This is a non-free tool to unpack RAR archives.")
+    ;; This is NOT under GPL!
+    (license license:gpl2)))
diff --git a/non-free/custom/packages/games.scm b/non-free/custom/packages/games.scm
new file mode 100644 (file)
index 0000000..f9f7267
--- /dev/null
@@ -0,0 +1,62 @@
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is not part of GNU Guix but is distributed under the same
+;;; license as 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 (custom packages games)
+  #:use-module (guix utils)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages game-development)
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages pkg-config))
+
+(define-public mininim
+  (package
+    (name "mininim")
+    (version "0.10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/oitofelix/mininim/"
+                                  "releases/download/v" version
+                                  "/mininim-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1a53zys6drdp1yfr7hlv800d3dc90as5qcjk7pvws0d9y3w24g1l"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; The level files contain a NULL character which trips up Guile.
+         ;; Removing this build phase side-steps this issue.
+         (delete 'patch-source-shebangs))))
+    (inputs
+     `(("allegro" ,allegro-5.0)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("texinfo" ,texinfo)))
+    (synopsis "Advanced Prince of Persia engine")
+    (description
+     "MININIM is the Advanced Prince of Persia Engine, a replacement of the
+game \"Prince of Persia\", developed from scratch.")
+    (home-page "http://oitofelix.github.io/mininim/")
+    ;; Mininim is released under the GPL but it is derived from the
+    ;; original game resources, where the licensing situation is
+    ;; unclear.
+    (license license:gpl3+)))
diff --git a/non-free/custom/packages/wip.scm b/non-free/custom/packages/wip.scm
new file mode 100644 (file)
index 0000000..c9441ae
--- /dev/null
@@ -0,0 +1,67 @@
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is not part of GNU Guix but is distributed under the same
+;;; license as 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 (custom packages wip)
+  #:use-module (guix utils)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages libusb)
+  #:use-module (gnu packages vim)
+  #:use-module (gnu packages wxwidgets))
+
+(define-public tek
+  (package
+    (name "tek")
+    (version "1.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/m-ou-se/tek/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1rpzfs7zsdj9in1rcy5lncjpsmz05wk58ix62zvy2gzqkds463kk"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags '("LIN_CXX=gcc")
+       #:parallel-build? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-order
+           (lambda _
+             (substitute* "Makefile"
+               (("\\$\\(LIN_CXX\\) -c \\$\\(CXXFLAGS\\) `\\$\\(LIN_WXCONFIG\\) --cxxflags` \\$\\(filter %.cpp,\\$\\^\\) -o \\$@")
+                "$(LIN_CXX) -o $@ -c $(CXXFLAGS) `$(LIN_WXCONFIG) --cxxflags` $(filter %.cpp,$^)")
+               (("\\$\\(LIN_CXX\\) \\$\\(CXXFLAGS\\) \\$\\^ `\\$\\(LIN_WXCONFIG\\) --libs` -lusb-1.0 -o \\$@")
+                "$(LIN_CXX) $(CXXFLAGS) $^ -o $@  `$(LIN_WXCONFIG) --libs` -lusb-1.0"))
+             #t))
+         (delete 'configure))))
+    (inputs
+     `(("wxwidgets" ,wxwidgets)
+       ("libusb" ,libusb)))
+    (native-inputs
+     `(("xxd" ,vim)))
+    (home-page "https://github.com/m-ou-se/tek")
+    (synopsis "Firmware upgrade tool for the Truly Ergonomic keyboard")
+    (description
+     "TODO")
+    (license license:gpl3+)))