summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrekado <rekado@elephly.net>2016-09-09 10:00:04 +0200
committerrekado <rekado@elephly.net>2016-09-09 10:00:04 +0200
commitb980601fb0af0b8a51f5eec893adc777d4097605 (patch)
tree14b53823f767b2c2b651c77a8c0880c69369467c
Initial commit.
-rw-r--r--README.org36
-rw-r--r--libre/custom/packages/variants.scm87
-rw-r--r--non-free/custom/packages/compression.scm50
-rw-r--r--non-free/custom/packages/games.scm62
-rw-r--r--non-free/custom/packages/wip.scm67
5 files changed, 302 insertions, 0 deletions
diff --git a/README.org b/README.org
new file mode 100644
index 0000000..c1e52df
--- /dev/null
+++ b/README.org
@@ -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
index 0000000..7865c58
--- /dev/null
+++ b/libre/custom/packages/variants.scm
@@ -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
index 0000000..e555efc
--- /dev/null
+++ b/non-free/custom/packages/compression.scm
@@ -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
index 0000000..f9f7267
--- /dev/null
+++ b/non-free/custom/packages/games.scm
@@ -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
index 0000000..c9441ae
--- /dev/null
+++ b/non-free/custom/packages/wip.scm
@@ -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+)))