unofficial mirror of guix-patches@gnu.org 
 help / color / Atom feed
* [bug#41967] [PATCH] gnu: Add tesseract.
@ 2020-06-20 18:07 Pierre Neidhardt
  2020-06-26 23:04 ` Kei
  0 siblings, 1 reply; 11+ messages in thread
From: Pierre Neidhardt @ 2020-06-20 18:07 UTC (permalink / raw)
  To: 41967


[-- Attachment #1.1: Type: text/plain, Size: 137 bytes --]

The code is free software (zlib) for sure.
I'm not sure about the media files license.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-tesseract.patch --]
[-- Type: text/x-patch, Size: 5158 bytes --]

From e88230cc776517b9ab84fe159d96799041fd8107 Mon Sep 17 00:00:00 2001
From: Pierre Neidhardt <mail@ambrevar.xyz>
Date: Sat, 20 Jun 2020 19:26:48 +0200
Subject: [PATCH] gnu: Add tesseract.

* gnu/packages/games.scm (tesseract): New variable.
---
 gnu/packages/games.scm | 99 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 99 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 39669ba1c9..7633e209c1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -10817,3 +10817,102 @@ and shovers to get to the goal.  Race against the clock to collect coins to
 earn extra balls.  Also included is Neverputt, which is a 3D miniature golf
 game.")  ;thanks to Debian for description
       (license license:gpl2+))))
+
+(define-public tesseract
+  (let ((svn-revision 2411))
+    (package
+      (name "tesseract")
+      (version (number->string svn-revision))
+      (source
+       (origin
+         (method svn-fetch)
+         (uri (svn-reference
+               (url "svn://svn.tuxfamily.org/svnroot/tesseract/main")
+               (revision svn-revision)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1av9jhl2ivbl7wfszyhyna84llvh1z2d8khkmadm8d105addj10q"))
+         (modules '((guix build utils)))
+         (snippet
+          '(begin
+             (for-each delete-file-recursively
+                       '("bin" "bin64"
+                         "server.bat"
+                         "tesseract.bat"
+                         "src/lib"
+                         "src/lib64"))
+             #t))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags (list "CC=gcc")
+         #:tests? #f                    ; No tests.
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-after 'unpack 'cd-src
+             (lambda _ (chdir "src") #t))
+           (add-before 'build 'fix-env
+             (lambda* (#:key inputs #:allow-other-keys)
+               (setenv "CPATH"
+                       (string-append (assoc-ref inputs "sdl2-union")
+                                      "/include/SDL2:"
+                                      (or (getenv "CPATH") "")))
+               #t))
+           (add-after 'install 'really-install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (share (string-append out "/share/tesseract"))
+                      (bin (string-append out "/bin/tesseract"))
+                      (client (string-append out "/bin/tesseract-client")))
+                 (chdir "..")           ; Back to root.
+                 (for-each
+                  (lambda (dir)
+                    (mkdir-p (string-append share "/" dir))
+                    (copy-recursively dir (string-append share "/" dir)))
+                  '("config" "media"))
+                 (mkdir-p (string-append out "/bin/"))
+                 (copy-file "bin_unix/native_client" client)
+                 (copy-file "bin_unix/native_server"
+                            (string-append out "/bin/tesseract-server"))
+                 (call-with-output-file bin
+                   (lambda (p)
+                     (format p "#!~a
+TESS_DATA=~a
+TESS_BIN=~a
+TESS_OPTIONS=\"-u$HOME/.tesseract\"
+cd \"$TESS_DATA\"
+exec \"$TESS_BIN\" \"$TESS_OPTIONS\" \"$@\""
+                             (which "bash")
+                             share
+                             client)))
+                 (chmod bin #o755)
+                 (install-file "src/readme_tesseract.txt"
+                               (string-append out "/share/licenses/tesseract/LICENSE"))
+                 (let ((icon (string-append out "/share/pixmaps/tesseract.png")))
+                   (mkdir-p (dirname icon))
+                   (copy-file "media/interface/cube.png" icon)
+                   (make-desktop-entry-file
+                    (string-append out "/share/applications/tesseract.desktop")
+                    #:name "Tesseract"
+                    #:comment "First-person shooter with map editing"
+                    #:exec "tesseract"
+                    #:icon icon
+                    #:categories '("Game"))))
+               #t)))))
+      (inputs
+       `(("sdl2-union" ,(sdl-union (list sdl2 sdl2-mixer sdl2-image)))
+         ("zlib" ,zlib)
+         ("libpng" ,libpng)
+         ("libgl" ,mesa)))
+      (home-page "http://tesseract.gg/")
+      (synopsis "First-person shooter with map editing, instagib, DM and CTF")
+      (description "Tesseract is a first-person shooter game focused on
+instagib deathmatch and capture-the-flag gameplay as well as cooperative
+in-game map editing.
+
+Tesseract provides a free software engine derived from @emph{Cube 2:
+Sauerbraten} technology but with upgraded modern rendering techniques.  The
+new rendering features include fully dynamic omnidirectional shadows, global
+illumination, HDR lighting, deferred shading, morphological / temporal /
+multisample anti-aliasing, and much more.")
+      (license license:zlib))))
-- 
2.26.2


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-20 18:07 [bug#41967] [PATCH] gnu: Add tesseract Pierre Neidhardt
@ 2020-06-26 23:04 ` Kei
  2020-06-27  6:57   ` Pierre Neidhardt
  0 siblings, 1 reply; 11+ messages in thread
From: Kei @ 2020-06-26 23:04 UTC (permalink / raw)
  To: 41967; +Cc: mail

Hi, Pierre!

The game builds and runs fine on my machine. However, I'm not sure
about the media licenses either. The ".cfg" files in the media
directory look like scripts that the engine runs and seem to be
unlicensed, kind of like the ones from Cube 2: Sauerbraten [0].
For what it's worth, Sauerbraten is currently categorized as non-free
in Debian [1] on account of some of its media files.

[0]: https://sourceforge.net/p/sauerbraten/code/HEAD/tree/data/
[1]: https://packages.debian.org/buster/sauerbraten





^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-26 23:04 ` Kei
@ 2020-06-27  6:57   ` Pierre Neidhardt
  2020-06-28 15:26     ` Kei
  0 siblings, 1 reply; 11+ messages in thread
From: Pierre Neidhardt @ 2020-06-27  6:57 UTC (permalink / raw)
  To: Kei, 41967

[-- Attachment #1: Type: text/plain, Size: 133 bytes --]

Indeed.

The question is: does Tesseract reuse any of the media from Sauerbraten?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-27  6:57   ` Pierre Neidhardt
@ 2020-06-28 15:26     ` Kei
  2020-06-28 20:04       ` Pierre Neidhardt
  0 siblings, 1 reply; 11+ messages in thread
From: Kei @ 2020-06-28 15:26 UTC (permalink / raw)
  To: Pierre Neidhardt, 41967

On Sat, 2020-06-27 at 08:57 +0200, Pierre Neidhardt wrote:
> Indeed.
> 
> The question is: does Tesseract reuse any of the media from
> Sauerbraten?
> 

It doesn't seem like it, though I did come across some useful licensing
info for some of Tesseract's assets:

* media/sky/0ptikz/info.txt: Non-commerical clause
* media/model/mapmodel/dcp/blade_x/Readme.txt: "Cube-only, let me know
otherwise" license
* media/model/mapmodel/nobiax/info.txt: No license, but suspected CC0
1.0 (evidence: https://github.com/red-eclipse/nobiax)
* media/sound/mapsound/soundtransit/info.txt: CC-BY 2.0 according to 
http://web.archive.org/web/20160421054815/http://archive.turbulence.org/soundtransit/search/
* media/sound/mapsound/freesound.org/info.txt:
** alaskarobotics_ambient-spacecraft-hum.ogg: CC0 1.0 (
https://freesound.org/people/AlaskaRobotics/sounds/221570/)
** cascading-water.ogg: CC0 1.0 (
https://freesound.org/people/KingBowser/sounds/253623/)
** cool_compressor_1.ogg: ?
** floresent-light_1.ogg: possibly CC0 1.0? (
https://freesound.org/people/rpew1/sounds/108476/)
** rain.ogg: ?
* media/sound/game/uphys/info.txt: CC-BY-NC 4.0
* media/sound/game/soundsnap/info.txt: Non-commercial clause (
https://www.soundsnap.com/licence)
* media/interface/crosshair/info.txt: Assume full copyright?
* media/texture/philipk2/info.txt: "Do-whatever" license
* media/texture/thesilentnight/info.txt: "Do-whatever-with-attribution" 
license

Also, it turns out that according to "src/readme_tesseract.txt", the
".cfg" files in the "data" directory are covered by the same license as
the code in "src".





^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-28 15:26     ` Kei
@ 2020-06-28 20:04       ` Pierre Neidhardt
  2020-06-29  6:12         ` Efraim Flashner
  0 siblings, 1 reply; 11+ messages in thread
From: Pierre Neidhardt @ 2020-06-28 20:04 UTC (permalink / raw)
  To: Kei, 41967

[-- Attachment #1: Type: text/plain, Size: 536 bytes --]

Thanks for the investigation.

Kei <kkebreau@posteo.net> writes:

> On Sat, 2020-06-27 at 08:57 +0200, Pierre Neidhardt wrote:
> * media/model/mapmodel/dcp/blade_x/Readme.txt: "Cube-only, let me know
> otherwise" license

So, this means that it's non-free?

> * media/sound/game/uphys/info.txt: CC-BY-NC 4.0
> * media/sound/game/soundsnap/info.txt: Non-commercial clause (
> https://www.soundsnap.com/licence)

Are "non commercial" licenses still free licenses?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-28 20:04       ` Pierre Neidhardt
@ 2020-06-29  6:12         ` Efraim Flashner
  2020-06-29 17:41           ` Msavoritias
  2020-06-29 18:23           ` zimoun
  0 siblings, 2 replies; 11+ messages in thread
From: Efraim Flashner @ 2020-06-29  6:12 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: Kei, 41967

[-- Attachment #1: Type: text/plain, Size: 902 bytes --]

On Sun, Jun 28, 2020 at 10:04:31PM +0200, Pierre Neidhardt wrote:
> Thanks for the investigation.
> 
> Kei <kkebreau@posteo.net> writes:
> 
> > On Sat, 2020-06-27 at 08:57 +0200, Pierre Neidhardt wrote:
> > * media/model/mapmodel/dcp/blade_x/Readme.txt: "Cube-only, let me know
> > otherwise" license
> 
> So, this means that it's non-free?
> 
> > * media/sound/game/uphys/info.txt: CC-BY-NC 4.0
> > * media/sound/game/soundsnap/info.txt: Non-commercial clause (
> > https://www.soundsnap.com/licence)
> 
> Are "non commercial" licenses still free licenses?
> 

I'm pretty sure no, even for non-code. But I'd love to hear from someone
else who's more sure than I am.


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-29  6:12         ` Efraim Flashner
@ 2020-06-29 17:41           ` Msavoritias
  2020-06-29 18:23             ` Pierre Neidhardt
  2020-06-29 18:23           ` zimoun
  1 sibling, 1 reply; 11+ messages in thread
From: Msavoritias @ 2020-06-29 17:41 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: Kei, Pierre Neidhardt, 41967

[-- Attachment #1: Type: text/plain, Size: 1277 bytes --]

Hi,

<https://www.gnu.org/philosophy/free-sw.html>

Here it says it has to be allowed for commercial use otherwise its not 
Free Software.

Regards,
Marinus

On Mon, Jun 29, 2020 at 09:12, Efraim Flashner <efraim@flashner.co.il> 
wrote:
> On Sun, Jun 28, 2020 at 10:04:31PM +0200, Pierre Neidhardt wrote:
>>  Thanks for the investigation.
>> 
>>  Kei <kkebreau@posteo.net <mailto:kkebreau@posteo.net>> writes:
>> 
>>  > On Sat, 2020-06-27 at 08:57 +0200, Pierre Neidhardt wrote:
>>  > * media/model/mapmodel/dcp/blade_x/Readme.txt: "Cube-only, let me 
>> know
>>  > otherwise" license
>> 
>>  So, this means that it's non-free?
>> 
>>  > * media/sound/game/uphys/info.txt: CC-BY-NC 4.0
>>  > * media/sound/game/soundsnap/info.txt: Non-commercial clause (
>>  > <https://www.soundsnap.com/licence>)
>> 
>>  Are "non commercial" licenses still free licenses?
>> 
> 
> I'm pretty sure no, even for non-code. But I'd love to hear from 
> someone
> else who's more sure than I am.
> 
> 
> --
> Efraim Flashner   <efraim@flashner.co.il 
> <mailto:efraim@flashner.co.il>>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received 
> unencrypted


[-- Attachment #2: Type: text/html, Size: 1653 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-29  6:12         ` Efraim Flashner
  2020-06-29 17:41           ` Msavoritias
@ 2020-06-29 18:23           ` zimoun
  1 sibling, 0 replies; 11+ messages in thread
From: zimoun @ 2020-06-29 18:23 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: Kei, Pierre Neidhardt, 41967

On Mon, 29 Jun 2020 at 08:13, Efraim Flashner <efraim@flashner.co.il> wrote:

> > > * media/sound/game/soundsnap/info.txt: Non-commercial clause (
> > > https://www.soundsnap.com/licence)
> >
> > Are "non commercial" licenses still free licenses?
>
> I'm pretty sure no, even for non-code. But I'd love to hear from someone
> else who's more sure than I am.

"non-commercial" and "free license" are not related.

Well, it is hard to predict what the FSF would conclude for a such
license.  Because the terms are not really clear.  On one hand, you
can "transit the sounds as long as they are included with other
materials" and on the other hand you cannot "transmit the sounds 'as
they are' in any context".

b. To copy and transmit the sounds and available content in various
mediums or formats as long as the sounds and available content are
included in another work or with other materials;
i. Resell, rent, sublicense, transmit, and/or distribute or
re-distribute the sounds 'as they are' in any context,




^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-29 17:41           ` Msavoritias
@ 2020-06-29 18:23             ` Pierre Neidhardt
  2020-06-29 19:19               ` Nicolas Goaziou
  0 siblings, 1 reply; 11+ messages in thread
From: Pierre Neidhardt @ 2020-06-29 18:23 UTC (permalink / raw)
  To: Msavoritias, Efraim Flashner; +Cc: Kei, 41967

[-- Attachment #1: Type: text/plain, Size: 155 bytes --]

Thank you.

Alternatively, we can distribute the engine without the media files,
call it `tesseract-engine' and move it to game-development.scm.
Thoughts?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-29 18:23             ` Pierre Neidhardt
@ 2020-06-29 19:19               ` Nicolas Goaziou
  2020-06-30 14:38                 ` Pierre Neidhardt
  0 siblings, 1 reply; 11+ messages in thread
From: Nicolas Goaziou @ 2020-06-29 19:19 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: Kei, 41967, Msavoritias, Efraim Flashner

Hello,

Pierre Neidhardt <mail@ambrevar.xyz> writes:

> Alternatively, we can distribute the engine without the media files,
> call it `tesseract-engine' and move it to game-development.scm.
> Thoughts?

FWIW, I think this is a fine idea.

Regards,
-- 
Nicolas Goaziou




^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#41967] [PATCH] gnu: Add tesseract.
  2020-06-29 19:19               ` Nicolas Goaziou
@ 2020-06-30 14:38                 ` Pierre Neidhardt
  0 siblings, 0 replies; 11+ messages in thread
From: Pierre Neidhardt @ 2020-06-30 14:38 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: Kei, 41967, Msavoritias, Efraim Flashner

[-- Attachment #1: Type: text/plain, Size: 161 bytes --]

Pushed tesseract-engine in f67ae666896a51fc6edd1b537e43ed44685cb2a3.

Thank you all for your review!
Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, back to index

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-20 18:07 [bug#41967] [PATCH] gnu: Add tesseract Pierre Neidhardt
2020-06-26 23:04 ` Kei
2020-06-27  6:57   ` Pierre Neidhardt
2020-06-28 15:26     ` Kei
2020-06-28 20:04       ` Pierre Neidhardt
2020-06-29  6:12         ` Efraim Flashner
2020-06-29 17:41           ` Msavoritias
2020-06-29 18:23             ` Pierre Neidhardt
2020-06-29 19:19               ` Nicolas Goaziou
2020-06-30 14:38                 ` Pierre Neidhardt
2020-06-29 18:23           ` zimoun

unofficial mirror of guix-patches@gnu.org 

Archives are clonable:
	git clone --mirror https://yhetil.org/guix-patches/1 guix-patches/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-patches guix-patches/ https://yhetil.org/guix-patches \
		guix-patches@gnu.org
	public-inbox-index guix-patches

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.patches


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git