gnu: Add aseprite.
* gnu/packages/game-development.scm (aseprite): New variable.master
parent
154f6156c0
commit
2a068aecbf
|
@ -25,9 +25,11 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages glib)
|
||||
|
@ -41,6 +43,7 @@
|
|||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages audio)
|
||||
|
@ -51,7 +54,8 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages mp3))
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public bullet
|
||||
(package
|
||||
|
@ -334,3 +338,72 @@ windows, accepting user input, loading data, drawing images, playing sounds,
|
|||
etc.")
|
||||
(home-page "http://liballeg.org")
|
||||
(license license:giftware)))
|
||||
|
||||
(define-public aseprite
|
||||
(package
|
||||
(name "aseprite")
|
||||
(version "1.1.1")
|
||||
;; The release tarball isn't good enough because it's missing some
|
||||
;; necessary code that is only in git submodules.
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aseprite/aseprite.git")
|
||||
(commit "v1.1.1")
|
||||
(recursive? #t)))
|
||||
(sha256
|
||||
(base32
|
||||
"1yr0l3bc68lyrffrzxgw98zznv8yz5ldl98lyvp6s5grny4s4jyk"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
;; Use shared libraries instead of building bundled source.
|
||||
(list "-DWITH_WEBP_SUPPORT=1"
|
||||
"-DUSE_SHARED_CURL=1"
|
||||
"-DUSE_SHARED_GIFLIB=1"
|
||||
"-DUSE_SHARED_JPEGLIB=1"
|
||||
"-DUSE_SHARED_ZLIB=1"
|
||||
"-DUSE_SHARED_LIBPNG=1"
|
||||
"-DUSE_SHARED_LIBLOADPNG=1"
|
||||
"-DUSE_SHARED_LIBWEBP=1"
|
||||
"-DUSE_SHARED_TINYXML=1"
|
||||
"-DUSE_SHARED_PIXMAN=1"
|
||||
"-DUSE_SHARED_FREETYPE=1"
|
||||
"-DUSE_SHARED_ALLEGRO4=1"
|
||||
"-DENABLE_UPDATER=0" ; no auto-updates
|
||||
(string-append "-DFREETYPE_INCLUDE_DIR="
|
||||
(assoc-ref %build-inputs "freetype")
|
||||
"/include/freetype2"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-freetype-utils
|
||||
(lambda _
|
||||
;; Fix C preprocessor include directive.
|
||||
(substitute* '("src/app/util/freetype_utils.cpp")
|
||||
(("freetype/") ""))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
;; TODO: Use a patched Allegro 4 that supports window resizing. This
|
||||
;; patched version is bundled with Aseprite, but the patches should be
|
||||
;; extracted and applied on top of a standalone Allegro 4 package.
|
||||
(inputs
|
||||
`(("allegro" ,allegro-4)
|
||||
("curl" ,curl)
|
||||
("freetype" ,freetype)
|
||||
("giflib" ,giflib)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("libwebp" ,libwebp)
|
||||
("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxxf86vm" ,libxxf86vm)
|
||||
("pixman" ,pixman)
|
||||
("tinyxml" ,tinyxml)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Animated sprite editor and pixel art tool")
|
||||
(description "Aseprite is a tool for creating 2D pixel art for video
|
||||
games. In addition to basic pixel editing features, Aseprite can assist in
|
||||
the creation of animations, tiled graphics, texture atlases, and more.")
|
||||
(home-page "http://www.aseprite.org/")
|
||||
(license license:gpl2+)))
|
||||
|
|
Reference in New Issue