;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
+;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Julian Graham <joolean@gmail.com>
+;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
is used in some video games and movies.")
(license license:zlib)))
+(define-public deutex
+ (package
+ (name "deutex")
+ (version "4.4.902")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/Doom-Utils/" name
+ "/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0rwz1yzgd539x4h25kzhar4q02xyxjwfrcpz4m8ixi312a82p7cn"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no check target
+ #:phases
+ (modify-phases %standard-phases
+ ;; The provided configure script takes a restricted number of arguments.
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (zero? (system* "./configure" "--prefix"
+ (assoc-ref %outputs "out")))))
+ ;; "make install" is broken for this package.
+ ;; Notably, the binaries overrwrite one another upon installation as
+ ;; they are all installed to the "bin" file in the output directory,
+ ;; and the manual page fails to install because the directory for the
+ ;; manual page is not created.
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share")))
+ (install-file "deusf" bin)
+ (install-file "deutex" bin)
+ (install-file "deutex.6" (string-append share "/man/man6")))
+ #t)))))
+ (home-page "https://github.com/Doom-Utils/deutex")
+ (synopsis "WAD file composer for Doom and related games")
+ (description
+ "DeuTex is a wad composer for Doom, Heretic, Hexen and Strife. It can be
+used to extract the lumps of a wad and save them as individual files.
+Conversely, it can also build a wad from separate files. When extracting a
+lump to a file, it does not just copy the raw data, it converts it to an
+appropriate format (such as PPM for graphics, Sun audio for samples, etc.).
+Conversely, when it reads files for inclusion in pwads, it does the necessary
+conversions (for example, from PPM to Doom picture format). In addition,
+DeuTex has functions such as merging wads, etc.")
+ (license license:gpl2+)))
+
(define-public gzochi
(package
(name "gzochi")
(define-public tiled
(package
(name "tiled")
- (version "0.17.0")
+ (version "0.18.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v"
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0c9gykxmq0sk0yyfdq81g9psd922scqzn5asskjydj84d80f5z7p"))))
+ "1kcj2blrlfpghjv0qigip2qcbxfx7vv9i8nr4997hkwhsh6i2pjp"))))
(build-system gnu-build-system)
(inputs `(("qt" ,qt)
("zlib" ,zlib)))
("libjpeg" ,libjpeg)
("libsndfile" ,libsndfile)
("openal" ,openal)))
- (home-page "http://www.sfml-dev.org")
+ (home-page "https://www.sfml-dev.org")
(synopsis "Simple and Fast Multimedia Library")
(description
"SFML provides a simple interface to the various computer components,
(source (origin
(method url-fetch)
(uri (string-append
- "http://icculus.org/physfs/downloads/physfs-"
+ "https://icculus.org/physfs/downloads/physfs-"
version ".tar.bz2"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
`(("zlib" ,zlib)))
(native-inputs
`(("doxygen" ,doxygen)))
- (home-page "http://icculus.org/physfs")
+ (home-page "https://icculus.org/physfs")
(synopsis "File system abstraction library")
(description
"PhysicsFS is a library to provide abstract access to various archives.
(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.
+ (version "1.1.7") ; After 1.1.7 the source is no longer distributed under the GPL.
+ ;; TODO: Unbundle third party software.
(source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/aseprite/aseprite.git")
- (commit "v1.1.1")
- (recursive? #t)))
+ (method url-fetch/zipbomb)
+ (uri (string-append "https://github.com/aseprite/aseprite"
+ "/releases/download/v" version
+ "/Aseprite-v" version "-Source.zip"))
(sha256
(base32
- "1yr0l3bc68lyrffrzxgw98zznv8yz5ldl98lyvp6s5grny4s4jyk"))))
+ "1plss4i1lfxcznv9p0pip1bkhj7ipw7jlhsh5avd6dzw079l4nvv"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
(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/")
+ (home-page "https://www.aseprite.org/")
(license license:gpl2+)))
(define-public qqwing
(define-public python-pygame
(package
(name "python-pygame")
- (version "1.9.1")
+ (version "1.9.3")
(source (origin
(method url-fetch)
- (uri (string-append "http://pygame.org/ftp/pygame-"
- version "release.tar.gz"))
+ (uri (pypi-uri "pygame" version))
(sha256
(base32
- "0cyl0ww4fjlf289pjxa53q4klyn55ajvkgymw0qrdgp4593raq52"))))
+ "1hlydiyygl444bq5m5g8n3jsxsgrdyxlm42ipmfbw36wkf0j243m"))))
(build-system python-build-system)
(arguments
- `(#:python ,python-2
- #:tests? #f ; Tests require pygame to be installed first.
+ `(#:tests? #f ; Tests require pygame to be installed first.
#:phases
(modify-phases %standard-phases
;; Set the paths to the dependencies manually because
(smpeg-ref (assoc-ref inputs "libsmpeg"))
(png-ref (assoc-ref inputs "libpng"))
(jpeg-ref (assoc-ref inputs "libjpeg"))
+ (freetype-ref (assoc-ref inputs "freetype"))
(v4l-ref (assoc-ref inputs "v4l-utils"))
(out-ref (assoc-ref outputs "out")))
(substitute* "Setup.in"
(("JPEG = -ljpeg")
(string-append "JPEG = -I" jpeg-ref "/include -L"
jpeg-ref "/lib -ljpeg")))
+
+ (substitute* "Setup.in"
+ (("FREETYPE = -lfreetype")
+ (string-append "FREETYPE = -I" freetype-ref "/include/freetype2 -L"
+ freetype-ref "/lib -lfreetype")))
+
(substitute* "Setup.in"
(("^pypm") "#pypm"))
- (substitute* "src/movie.c")
;; Create a path to a header file provided by v4l-utils.
(system* "mkdir" "linux")
(system* "ln" "--symbolic"
(string-append v4l-ref "/include/libv4l1-videodev.h")
"linux/videodev.h")
(system* "ln" "--symbolic" "Setup.in" "Setup")))))))
- (native-inputs
- `(("python-setuptools" ,python-setuptools)))
(inputs
- `(("sdl" ,sdl)
+ `(("freetype" ,freetype)
+ ("sdl" ,sdl)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
("sdl-ttf" ,sdl-ttf)
("libsmpeg" ,libsmpeg)
("portmidi" ,portmidi)
("v4l-utils" ,v4l-utils)))
- (home-page "http://www.pygame.org")
+ (home-page "https://www.pygame.org")
(synopsis "SDL wrapper for Python")
(description "Pygame is a set of Python modules designed for writing games.
Pygame adds functionality on top of the excellent SDL library. This allows you
license:psfl
license:public-domain
license:lgpl2.1+))))
+
+(define-public python2-pygame
+ (package-with-python2 python-pygame))
+
+(define-public grafx2
+ (package
+ (name "grafx2")
+ (version "2.4")
+ (source (origin
+ (method url-fetch)
+ ;; XXX: There is no URL that contains the version. :(
+ (uri "http://pulkomandy.tk/projects/GrafX2/downloads/21")
+ (sha256
+ (base32
+ "0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-before 'build 'change-to-src-directory
+ (lambda _
+ (chdir "src")
+ #t)))
+ #:make-flags
+ ;; SDL header files are referenced without the preceeding "SDL/".
+ (list (string-append "CFLAGS=-I"
+ (assoc-ref %build-inputs "sdl-union")
+ "/include/SDL")
+ (string-append "prefix="
+ (assoc-ref %outputs "out")))
+ #:tests? #f)) ; no check target
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libpng" ,libpng)
+ ("lua" ,lua-5.1)
+ ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-ttf)))))
+ (synopsis "Bitmap paint program")
+ (description "GrafX2 is a bitmap paint program inspired by the Amiga
+programs Deluxe Paint and Brilliance. Specializing in 256-color drawing, it
+includes a very large number of tools and effects that make it particularly
+suitable for pixel art, game graphics, and generally any detailed graphics
+painted with a mouse.")
+ (home-page "http://pulkomandy.tk/projects/GrafX2")
+ (license license:gpl2))) ; GPLv2 only