Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 571618 - ?/unrealengine-4: suite of game development tools
Summary: ?/unrealengine-4: suite of game development tools
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal with 1 vote (vote)
Assignee: Default Assignee for New Packages
URL: https://www.unrealengine.com/
Whiteboard:
Keywords: EBUILD
: 914253 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-01-12 06:06 UTC by Evgeniy
Modified: 2023-09-16 22:52 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
My attemp for ebuild (ue4-9999.ebuild,4.37 KB, text/plain)
2016-01-12 06:07 UTC, Evgeniy
Details
fixed ebuild (ue4-9999.ebuild,4.29 KB, text/plain)
2016-01-14 17:09 UTC, Evgeniy
Details
ebuild v3 (ue4-9999.ebuild,4.35 KB, text/plain)
2016-01-18 05:32 UTC, Evgeniy
Details
License (unrealengine-4-license.pdf,226.41 KB, application/pdf)
2016-01-18 05:32 UTC, Evgeniy
Details
ebuild v4 (ue4-9999.ebuild,4.44 KB, text/plain)
2016-01-21 12:29 UTC, Evgeniy
Details
ebuild v5 (ue4-9999.ebuild,4.48 KB, text/plain)
2016-08-15 21:02 UTC, Evgeniy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeniy 2016-01-12 06:06:39 UTC
Unreal Engine 4 is a complete suite of game development tools made by game developers, for game developers. From 2D mobile games to console blockbusters and VR, Unreal Engine 4 gives you everything you need to start, ship, grow and stand out from the crowd. 

Reproducible: Always
Comment 1 Evgeniy 2016-01-12 06:07:42 UTC
Created attachment 422636 [details]
My attemp for ebuild
Comment 2 Alex Xu (Hello71) 2016-01-14 16:08:08 UTC
feedback:

1. fix the indentation. Gentoo repo ebuilds must use tabs for indentation.

2. "custom" is not a valid license.

3. underscore function naming is preferred.

4. requiring local toolchain is almost always wrong because of cross-compiling.

5. what's with the src_install?
Comment 3 Evgeniy 2016-01-14 17:09:57 UTC
Created attachment 422930 [details]
fixed ebuild

(In reply to Alex Xu (Hello71) from comment #2)
> feedback:
> 
> 1. fix the indentation. Gentoo repo ebuilds must use tabs for indentation.
> 
> 2. "custom" is not a valid license.
> 
> 3. underscore function naming is preferred.
> 
> 4. requiring local toolchain is almost always wrong because of
> cross-compiling.
> 
> 5. what's with the src_install?

1. done
2. How do I add a custom license?
3. done
4. How should it be done then?
5. What's with it?
Comment 4 Alex Xu (Hello71) 2016-01-16 19:45:58 UTC
(In reply to Evgeniy from comment #3)
> Created attachment 422930 [details]
> fixed ebuild
> 
> (In reply to Alex Xu (Hello71) from comment #2)
> > feedback:
> > 
> > 1. fix the indentation. Gentoo repo ebuilds must use tabs for indentation.
> > 
> > 2. "custom" is not a valid license.
> > 
> > 3. underscore function naming is preferred.
> > 
> > 4. requiring local toolchain is almost always wrong because of
> > cross-compiling.
> > 
> > 5. what's with the src_install?
> 
> 1. done

what about all the other functions?

> 2. How do I add a custom license?

add it to /usr/portage/licenses, but here just attach it

> 3. done
> 4. How should it be done then?

can't find any good links at present. do some research on linux cross-compiling.

> 5. What's with it?

"?'doins -r Engine" is not a valid command.
Comment 5 Evgeniy 2016-01-18 05:32:09 UTC
Created attachment 423208 [details]
ebuild v3
Comment 6 Evgeniy 2016-01-18 05:32:56 UTC
Created attachment 423210 [details]
License
Comment 7 eroen 2016-01-20 20:19:48 UTC
I wanna help review too! If any of the below are intentional, a comment about why it is so is warranted IMO. :)

A) Please use repoman to check for technical and stylistic errors like trailing/leading spaces ;)

B) x11-base/xorg-server in RDEPEND is probably not correct. Usually, a client application does not need to run on the same system as the X11 server.

C) I'm unsure why you are setting EGIT_CHECKOUT_DIR and S, afaict the defaults should be fine.

D) dev-lang/python in DEPEND is definitely wrong. Use the python eclasses :)

E) Does something compile and link against static libraries at /runtime/? Otherwise the somelibrary[static-libs] RDEPENDS are wrong.

F) You might want to consult with games team (#gentoo-games on freenode) about use requirements for media-libs/libsdl2

G) Commands that can fail (pushd, popd, ln, rm, mkdir, cp, chmod, other random executables) should be followed by '|| die' or 'assert'.

H) You should probably use fperms in stead for chmod.

I) When installing system icons, you should inherit gnome2-utils and call 'gnome2_icon_savelist' in pkg_preinst and gnome2_icon_cache_update in pkg_postinst and pkg_postrm.

J) Don't use `command substitutions`. Ebuilds are bash, and have sane $(syntax).

K) Also don't use /usr/bin/test when you can use bash [[conditional expressions]].

L) The elog message in src_unpack indicate that some github user credentials should be used. It is not clear to me where the user should provide these, and I thought https:// git connections could only be anonymous?
Comment 8 Evgeniy 2016-01-21 12:29:22 UTC
(In reply to eroen from comment #7)

> A) Please use repoman to check for technical and stylistic errors like
> trailing/leading spaces ;)
done

> B) x11-base/xorg-server in RDEPEND is probably not correct. Usually, a
> client application does not need to run on the same system as the X11 server.
Is x11-libs/libX11 right dependency for X11 then?


> F) You might want to consult with games team (#gentoo-games on freenode)
> about use requirements for media-libs/libsdl2
I will

> G) Commands that can fail (pushd, popd, ln, rm, mkdir, cp, chmod, other
> random executables) should be followed by '|| die' or 'assert'.
 Done

> H) You should probably use fperms in stead for chmod.
Sure. Done.

> K) Also don't use /usr/bin/test when you can use bash [[conditional
> expressions]].
What lines exactly are you talking about?

> L) The elog message in src_unpack indicate that some github user credentials
> should be used. It is not clear to me where the user should provide these,
> and I thought https:// git connections could only be anonymous?
You need to have your github account and you need to log in into GitHub to get access to private repo.

I have no immediate answer for parts I skipped. 

Thanks for your help. If you have something to add, you are welcome.
Comment 9 Evgeniy 2016-01-21 12:29:54 UTC
Created attachment 423482 [details]
ebuild v4
Comment 10 Alex Xu (Hello71) 2016-01-27 01:00:38 UTC
(In reply to Evgeniy from comment #8)
> (In reply to eroen from comment #7)
> 
> > A) Please use repoman to check for technical and stylistic errors like
> > trailing/leading spaces ;)
> done

src_prepare is *still* wrong

> > B) x11-base/xorg-server in RDEPEND is probably not correct. Usually, a
> > client application does not need to run on the same system as the X11 server.
> Is x11-libs/libX11 right dependency for X11 then?

depends on whether the binaries actually use it.

> > F) You might want to consult with games team (#gentoo-games on freenode)
> > about use requirements for media-libs/libsdl2
> I will
> 
> > G) Commands that can fail (pushd, popd, ln, rm, mkdir, cp, chmod, other
> > random executables) should be followed by '|| die' or 'assert'.
>  Done
> 
> > H) You should probably use fperms in stead for chmod.
> Sure. Done.

how are you using fperms with an absolute path

> > K) Also don't use /usr/bin/test when you can use bash [[conditional
> > expressions]].
> What lines exactly are you talking about?
> 

[ is an alias for test

also:

DEPEND=clang is still almost certainly wrong. ask toolchain.

don't use UpperCamelCase variable names. underscores or regular camelCase.

don't use basename. ${var##*/}

while : is almost certainly a bad idea. why does it crash? if you really need to restart it, can you do it once only?

don't use ALLCAPS for internal variables, that is reserved by convention for exported vars
Comment 11 Gordon Pettey 2016-02-06 23:54:21 UTC
> (In reply to Evgeniy from comment #8)
> > (In reply to eroen from comment #7)
> > 
> > > K) Also don't use /usr/bin/test when you can use bash [[conditional
> > > expressions]].
> > What lines exactly are you talking about?
> > 
> 
> [ is an alias for test

Both [ and test are shell builtins in Bash; neither /usr/bin/[ nor /usr/bin/test is used. As mentioned above, ebuilds are Bash, not generic shell. The reason to change from [ to [[ would be potential spaces in the unquoted paths being passed, not because of some external command that isn't even called.
Comment 12 Dmitriy Baranov 2016-08-15 12:30:46 UTC
Is there a public overlay with this ebuild?
Comment 13 Evgeniy 2016-08-15 21:02:58 UTC
Created attachment 443432 [details]
ebuild v5
Comment 14 Evgeniy 2016-08-15 21:05:29 UTC
(In reply to reagentoo from comment #12)
> Is there a public overlay with this ebuild?

No there isn't. I have not enough time and experience to finish the ebuild and try to get it into some repo (sunrise?), but you're welcome to help or find someone willing to help.
Comment 15 Joe Kappus 2023-09-16 22:52:15 UTC
*** Bug 914253 has been marked as a duplicate of this bug. ***