;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Ludovic Courtès ;;; Copyright © 2023 Peter Kourzanov ;;; ;;; 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 . (define-module (gnu packages unicon) #:use-module (guix gexp) #:use-module (guix git) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix git-authenticate) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages autotools) #:use-module (gnu packages databases) #:use-module (gnu packages xiph) #:use-module (gnu packages audio) #:use-module (gnu packages xorg) #:use-module (gnu packages gl) #:use-module (gnu packages tls) #:use-module (gnu packages image) #:use-module (gnu packages video) #:use-module (gnu packages sdl) #:use-module (gnu packages dbm) #:use-module (gnu packages fontutils) #:use-module ((guix licenses) #:prefix lic:) ) (define-public unicon (package (name "unicon") (version "master") (source (git-checkout (url "https://git.code.sf.net/p/unicon/unicon") (branch version))) (build-system gnu-build-system) (arguments (list #:tests? #f #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patches (lambda* (#:key inputs #:allow-other-keys) (let ((patch (assoc-ref inputs "patch"))) (invoke "patch" "-p1" "--force" "-i" patch) ))) (add-before 'configure 'adjust-includes (lambda* (#:key inputs #:allow-other-keys) (let* ((inc1 (assoc-ref inputs "freetype")) (inc2 (assoc-ref inputs "libsmpeg")) (inc3 (assoc-ref inputs "sdl")) (e1 (getenv "C_INCLUDE_PATH")) (e2 (getenv "CPLUS_INCLUDE_PATH")) ) (setenv "C_INCLUDE_PATH" (string-append inc1 "/include/freetype2:" inc2 "/include/smpeg:" inc3 "/include/SDL" (if e1 (string-append ":" e1) ""))) (setenv "CPLUS_INCLUDE_PATH" (string-append inc1 "/include/freetype2:" inc2 "/include/smpeg:" inc3 "/include/SDL" (if e2 (string-append ":" e2) ""))) ))) (replace 'build (lambda* (#:key outputs inputs build-targets #:allow-other-keys) (invoke "make" "-s") )) ))) (native-inputs `(("bash" ,bash) ("which" ,which) ("libtool" ,libtool) ("autoconf" ,autoconf) ("automake" ,automake) ("patch" ,(search-patch "unicon.patch")))) (inputs (list gdbm)) (propagated-inputs (list unixodbc libvorbis libogg freealut openal libxft mesa libx11 openssl libjpeg-turbo libpng libxfont freeglut ftgl freetype sdl libsmpeg)) (native-search-paths (list (search-path-specification (variable "C_INCLUDE_PATH") (files '("include/freetype2" "include/libsmpeg" "include/SDL"))))) (synopsis "an Extended Dialect of Icon") (description "Unicon is a very high level, goal-directed, object-oriented, general purpose applications language.") (home-page "http://unicon.org/") (license lic:gpl2)))