summaryrefslogtreecommitdiff
path: root/nonguix/utils.scm
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2019-12-18 16:06:14 +0100
committerPierre Neidhardt <mail@ambrevar.xyz>2019-12-29 19:07:43 +0100
commitd622a15d0889c18bdfd32b569479001f53567177 (patch)
treec64a75c0b31144099dc748f01f84be8676a36a7c /nonguix/utils.scm
parentcfd7032672a223af921c8dce952a656f2a5ff78c (diff)
Move the "binary" build system from the Gaming Channels to Nonguix.
* nonguix/build-system/binary.scm: New file. * nonguix/build/binary-build-system.scm: New file. * nonguix/build/utils.scm: New file. * nonguix/utils.scm: New file.
Diffstat (limited to 'nonguix/utils.scm')
-rw-r--r--nonguix/utils.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/nonguix/utils.scm b/nonguix/utils.scm
new file mode 100644
index 0000000..2a514b6
--- /dev/null
+++ b/nonguix/utils.scm
@@ -0,0 +1,40 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;;
+;;; This file is not 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 (nonguix utils)
+ #:use-module (srfi srfi-26)
+ #:use-module (ice-9 match)
+ #:use-module (ice-9 textual-ports)
+ #:use-module (ice-9 popen)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:export (getenv*))
+
+(define-public (to32 package64)
+ "Build package for i686-linux.
+Only x86_64-linux and i686-linux are supported.
+- If i686-linux, return the package unchanged.
+- If x86_64-linux, return the 32-bit version of the package."
+ (match (%current-system)
+ ("x86_64-linux"
+ (package
+ (inherit package64)
+ (name (string-append (package-name package64) "32"))
+ (arguments `(#:system "i686-linux"
+ ,@(package-arguments package64)))))
+ (_ package64)))