Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
using Pyston instead of Python for Portage ?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Sep 16, 2014 5:17 pm    Post subject: using Pyston instead of Python for Portage ? Reply with quote

Hi there,


would be using Pyston instead of Python as a "backend" be an option to accelerate Portage ?

http://www.phoronix.com/scan.php?page=news_item&px=MTc4ODQ
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6069
Location: Removed by Neddy

PostPosted: Tue Sep 16, 2014 8:26 pm    Post subject: Reply with quote

portage has a pypy use flag which is a JIT compiler
_________________
#define HelloWorld int
#define Int main()
#define Return printf
#define Print return
#include <stdio>
HelloWorld Int {
Return("Hello, world!\n");
Print 0;
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Sep 16, 2014 9:12 pm    Post subject: Reply with quote

Good grief !

Never was aware and questioned what that use-flag did - had it disabled all the time :cry:

Thanks for the hint Naib :D
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
mrbassie
l33t
l33t


Joined: 31 May 2013
Posts: 826
Location: Go past the sign for cope, right at the sign for seethe. If you see the target you've missed it.

PostPosted: Thu Sep 18, 2014 2:50 pm    Post subject: Reply with quote

Naib wrote:
portage has a pypy use flag which is a JIT compiler


How do you get it to work? I've emerged pypy, set the flag for portage and set the PYTHON_TARGETS in make.conf. eselect python list doesn't show pypy and portage refuses to set the flag.

I'm stumped
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu Sep 18, 2014 11:42 pm    Post subject: Reply with quote

grep -iR pypy /usr/portage/profiles/ wrote:

/usr/portage/profiles/ChangeLog-2012: Add pypy2_0 use-expand values.
/usr/portage/profiles/ChangeLog-2012: Add new pypy ebuilds to the python-r1 package mask.
/usr/portage/profiles/ChangeLog-2012: Remove traces of pypy1.7, no longer in the tree and not supported
/usr/portage/profiles/ChangeLog-2012: Add pypy1_9.
/usr/portage/profiles/base/package.use.force:dev-lang/python-exec python_targets_python2_7 python_targets_python3_2 python_targets_python3_3 python_targets_python3_4 python_targets_jython2_5 python_targets_jython2_7 python_targets_pypy
/usr/portage/profiles/base/package.use.force:dev-python/python-exec python_targets_python2_7 python_targets_python3_2 python_targets_python3_3 python_targets_python3_4 python_targets_jython2_5 python_targets_jython2_7 python_targets_pypy
/usr/portage/profiles/base/use.mask:# PyPy is unkeyworded on most arches. If you are running amd64 or x86,
/usr/portage/profiles/base/use.mask:python_targets_pypy
/usr/portage/profiles/base/use.mask:python_single_target_pypy
/usr/portage/profiles/base/ChangeLog: Mask python3_2 target for removal. Clean up stale python2_6 and pypy2_0
/usr/portage/profiles/base/ChangeLog: Mask USE=pypy for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/ChangeLog: Mask new PyPy flags.
/usr/portage/profiles/base/ChangeLog: Force python_targets_pypy rather than pypy on python-exec.
/usr/portage/profiles/base/ChangeLog: Force pypy on python-exec.
/usr/portage/profiles/base/ChangeLog: Mask USE=sandbox on pypy wrt bug #429372.
/usr/portage/profiles/base/ChangeLog: Python 2.5, 3.1, and PyPy 1.9 were removed from the tree.
/usr/portage/profiles/base/ChangeLog: Mask Python 2.5, 3.1 and PyPy 1.9. Bug #480070.
/usr/portage/profiles/base/ChangeLog: Revert previous change; pypy-bin was committed prematurely.
/usr/portage/profiles/base/ChangeLog: Add flags for new pypy-bin
/usr/portage/profiles/base/ChangeLog: Remove pypy1_8 flag mask, the flags were removed.
/usr/portage/profiles/base/ChangeLog: Add a note that pypy flags are unmasked in the new profiles.
/usr/portage/profiles/base/ChangeLog: Force pypy2.0 on python-exec.
/usr/portage/profiles/base/ChangeLog: Mask pypy targets; should be unmasked for each arch.
/usr/portage/profiles/base/ChangeLog: Mask USE=pypy2_0 for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/ChangeLog: Mask python_targets_pypy2_0.
/usr/portage/profiles/base/ChangeLog: Remove traces of pypy1.7, no longer in the tree and not supported by the
/usr/portage/profiles/base/ChangeLog: Mask USE=pypy1_9 for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/ChangeLog: Mask USE=pypy1_8 for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/package.use.mask:sys-apps/portage python_targets_pypy2_0 python_targets_python2_6 python_targets_python3_2
/usr/portage/profiles/base/package.use.mask:# PyPy install that is not usable for non-sandbox clients (and there are
/usr/portage/profiles/base/package.use.mask:dev-python/pypy sandbox
/usr/portage/profiles/base/package.use.mask:# Mask USE=pypy* for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/package.use.mask:sys-apps/portage pypy pypy2_0
/usr/portage/profiles/desc/python_single_target.desc:pypy - Build for PyPy (Python 2 branch) only
/usr/portage/profiles/desc/python_targets.desc:pypy2_0 - Build with PyPy 2.0 (removed)
/usr/portage/profiles/desc/python_targets.desc:pypy - Build with PyPy (Python 2 branch)
/usr/portage/profiles/arch/hppa/ChangeLog: Remove the pypy/jython mask. It is masked in base profile now.
/usr/portage/profiles/arch/hppa/ChangeLog: Mask USE=python_targets_pypy1_{8,9}.
/usr/portage/profiles/arch/sparc/ChangeLog: Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/ia64/ChangeLog: Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/powerpc/ChangeLog: Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/amd64/package.use.stable.mask:dev-lang/python-exec -python_targets_pypy
/usr/portage/profiles/arch/amd64/package.use.stable.mask:dev-lang/python-exec -python_single_target_pypy
/usr/portage/profiles/arch/amd64/package.use.stable.mask:dev-python/python-exec -python_targets_pypy
/usr/portage/profiles/arch/amd64/package.use.stable.mask:dev-python/python-exec -python_single_target_pypy
/usr/portage/profiles/arch/amd64/use.stable.mask:# PyPy is unstable on this arch.
/usr/portage/profiles/arch/amd64/use.stable.mask:python_targets_pypy
/usr/portage/profiles/arch/amd64/use.stable.mask:python_single_target_pypy
/usr/portage/profiles/arch/amd64/use.mask:# PyPy is keyworded on this arch.
/usr/portage/profiles/arch/amd64/use.mask:-python_targets_pypy
/usr/portage/profiles/arch/amd64/use.mask:-python_single_target_pypy
/usr/portage/profiles/arch/amd64/ChangeLog: Drop pypy2_0.
/usr/portage/profiles/arch/amd64/ChangeLog: Move pypy flag masks to arch profile since it is EAPI=5 now.
/usr/portage/profiles/arch/amd64/ChangeLog: Mask USE=sse2 on dev-python/pypy since it controls only 32-bit JIT.
/usr/portage/profiles/arch/amd64/ChangeLog: Remove the pypy unmask for old profiles. It is unmasked in the new EAPI=5
/usr/portage/profiles/arch/amd64/ChangeLog: Mask pypy-1.8 for removal.
/usr/portage/profiles/arch/amd64/ChangeLog: Unmask pypy targets.
/usr/portage/profiles/arch/amd64/package.use.mask:dev-python/pypy sse2


grep -iR pypy /usr/portage/profiles/ wrote:
/usr/portage/profiles/arch/x86/package.use.stable.mask:dev-lang/python-exec -python_targets_pypy
/usr/portage/profiles/arch/x86/package.use.stable.mask:dev-lang/python-exec -python_single_target_pypy
/usr/portage/profiles/arch/x86/package.use.stable.mask:dev-python/python-exec -python_targets_pypy
/usr/portage/profiles/arch/x86/package.use.stable.mask:dev-python/python-exec -python_single_target_pypy
/usr/portage/profiles/arch/x86/use.stable.mask:# PyPy is unstable on this arch.
/usr/portage/profiles/arch/x86/use.stable.mask:python_targets_pypy
/usr/portage/profiles/arch/x86/use.stable.mask:python_single_target_pypy
/usr/portage/profiles/arch/x86/use.mask:# PyPy is keyworded on this arch.
/usr/portage/profiles/arch/x86/use.mask:-python_targets_pypy
/usr/portage/profiles/arch/x86/use.mask:-python_single_target_pypy
/usr/portage/profiles/arch/x86/ChangeLog: Drop pypy2_0.
/usr/portage/profiles/arch/x86/ChangeLog: Move pypy flag masks to arch profile since it is EAPI=5 now.
/usr/portage/profiles/arch/x86/ChangeLog: Remove the pypy unmask for old profiles. It is unmasked in the new EAPI=5
/usr/portage/profiles/arch/x86/ChangeLog: Mask pypy-1.8 for removal.
/usr/portage/profiles/arch/x86/ChangeLog: Unmask pypy targets.


grep -iR pypy /usr/portage/profiles/ wrote:
/usr/portage/profiles/default/linux/amd64/ChangeLog: Move pypy flag masks to arch profile since it is EAPI=5 now.
/usr/portage/profiles/default/linux/amd64/ChangeLog: PyPy 1.9 is going masked for removal. Bug #480070.
/usr/portage/profiles/default/linux/amd64/ChangeLog: Unmask pypy for ~amd64, mask for stable amd64.
/usr/portage/profiles/default/linux/x86/ChangeLog: Move pypy flag masks to arch profile since it is EAPI=5 now.
/usr/portage/profiles/default/linux/x86/ChangeLog: PyPy 1.9 is going masked for removal. Bug #480070.
/usr/portage/profiles/default/linux/x86/ChangeLog: Unmask pypy for ~x86, mask for stable x86.
/usr/portage/profiles/ChangeLog-2013: Python 2.5, 3.1, and PyPy 1.9 were removed from the tree.
/usr/portage/profiles/ChangeLog-2013: Mask virtual & -bin for PyPy as well.
/usr/portage/profiles/ChangeLog-2013: Mask Python 2.5, 3.1 and PyPy 1.9. Bug #480070.
/usr/portage/profiles/ChangeLog-2013: Add pypy2_1.
/usr/portage/profiles/ChangeLog-2013: Unmask dev-python/pypy-2.0_beta2.
/usr/portage/profiles/ChangeLog-2013: Mask pypy-2.0_beta2.
/usr/portage/profiles/ChangeLog-2013: Remove descriptions for pypy1_8 flags (removed).
/usr/portage/profiles/ChangeLog-2013: Mention USE_PYTHON and PYTHON_TARGETS in the pypy-1.8 mask.
/usr/portage/profiles/ChangeLog-2013: Mask pypy-1.8 for removal.
/usr/portage/profiles/ChangeLog: Restore python2_6 and pypy2_0 in desc/, since they are still used by old
/usr/portage/profiles/ChangeLog: Unmask new PyPy.
/usr/portage/profiles/ChangeLog: Slide the PyPy mask to 2.3, unleashing 2.2 on our unexpecting users.
/usr/portage/profiles/ChangeLog: Remove old (slotted) PyPy.
/usr/portage/profiles/ChangeLog: Mask pypy-bin for testing as well.
/usr/portage/profiles/ChangeLog: Mask virtual/pypy:2.0 and the corresponding packages.
/usr/portage/profiles/ChangeLog: Update PyPy flag descriptions.
/usr/portage/profiles/ChangeLog: Mask new pypy before people start wasting time on it.
/usr/portage/profiles/use.local.desc:dev-python/pypy:sandbox - Enable sandboxing functionality
/usr/portage/profiles/use.local.desc:dev-python/pypy:shadowstack - Use a shadow stack for finding GC roots
/usr/portage/profiles/use.local.desc:dev-python/pypy-bin:shadowstack - Use a shadow stack for finding GC roots
/usr/portage/profiles/use.local.desc:sys-apps/portage:pypy - Use pypy as Python interpreter.
/usr/portage/profiles/use.local.desc:sys-apps/portage:pypy2_0 - Use pypy-c2.0 as Python interpreter.




cat /etc/portage/profile/package.use.mask wrote:
sys-apps/portage pypy


cat /etc/portage/package.use wrote:
sys-apps/portage pypy



so you have to add lines to

/etc/portage/profile/package.use.mask

and

/etc/portage/profile/package.use


which - of course - is discouraged from being done :wink:



pypy took quite a while to compile on this box, btw:

genlop -t pypy wrote:

* dev-python/pypy

Wed Sep 17 01:33:37 2014 >>> dev-python/pypy-2.3.1-r1
merge time: 1 hour, 27 minutes and 27 seconds.




besides that I added a few suggested flags to speed up portage altogether:

Code:
--backtrack=5 --complete-graph=n --complete-graph-if-new-use=n --complete-graph-if-new-ver=n --with-bdeps=n


to

EMERGE_DEFAULT_OPTS


during system-updates it could be better to remove those temporarily but for now it's reasonably fast & thorough ...
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
mrbassie
l33t
l33t


Joined: 31 May 2013
Posts: 826
Location: Go past the sign for cope, right at the sign for seethe. If you see the target you've missed it.

PostPosted: Fri Sep 19, 2014 7:33 am    Post subject: Reply with quote

Still can't get it to work.

I didn't have a /etc/portage/profile directory so I tried creating it and package.use.mask, did an env-update and source /etc/profile, portage still doesn't set the flag. I already have pypy emerged but it isn't shown by eselect python list.


grep -iR pypy /usr/portage/profiles/

Code:

/usr/portage/profiles/ChangeLog-2013:  Python 2.5, 3.1, and PyPy 1.9 were removed from the tree.
/usr/portage/profiles/ChangeLog-2013:  Mask virtual & -bin for PyPy as well.
/usr/portage/profiles/ChangeLog-2013:  Mask Python 2.5, 3.1 and PyPy 1.9. Bug #480070.
/usr/portage/profiles/ChangeLog-2013:  Add pypy2_1.
/usr/portage/profiles/ChangeLog-2013:  Unmask dev-python/pypy-2.0_beta2.
/usr/portage/profiles/ChangeLog-2013:  Mask pypy-2.0_beta2.
/usr/portage/profiles/ChangeLog-2013:  Remove descriptions for pypy1_8 flags (removed).
/usr/portage/profiles/ChangeLog-2013:  Mention USE_PYTHON and PYTHON_TARGETS in the pypy-1.8 mask.
/usr/portage/profiles/ChangeLog-2013:  Mask pypy-1.8 for removal.
/usr/portage/profiles/features/selinux/package.use.mask:# mask pypy for several utilities due to incompatibility with libselinux
/usr/portage/profiles/features/selinux/package.use.mask:sys-apps/portage python_targets_pypy
/usr/portage/profiles/features/selinux/package.use.mask:app-portage/gentoolkit python_targets_pypy
/usr/portage/profiles/features/selinux/package.use.mask:app-portage/layman python_targets_pypy
/usr/portage/profiles/features/selinux/package.use.mask:app-admin/webapp-config python_targets_pypy
/usr/portage/profiles/features/selinux/package.use.mask:app-portage/diffmask python_targets_pypy
/usr/portage/profiles/use.local.desc:dev-python/pypy:sandbox - Enable sandboxing functionality
/usr/portage/profiles/use.local.desc:dev-python/pypy:shadowstack - Use a shadow stack for finding GC roots
/usr/portage/profiles/use.local.desc:dev-python/pypy-bin:shadowstack - Use a shadow stack for finding GC roots
/usr/portage/profiles/use.local.desc:sys-apps/portage:pypy - Use pypy as Python interpreter.
/usr/portage/profiles/use.local.desc:sys-apps/portage:pypy2_0 - Use pypy-c2.0 as Python interpreter.
/usr/portage/profiles/base/ChangeLog:  Mask python3_2 target for removal. Clean up stale python2_6 and pypy2_0
/usr/portage/profiles/base/ChangeLog:  Mask USE=pypy for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/ChangeLog:  Mask new PyPy flags.
/usr/portage/profiles/base/ChangeLog:  Force python_targets_pypy rather than pypy on python-exec.
/usr/portage/profiles/base/ChangeLog:  Force pypy on python-exec.
/usr/portage/profiles/base/ChangeLog:  Mask USE=sandbox on pypy wrt bug #429372.
/usr/portage/profiles/base/ChangeLog:  Python 2.5, 3.1, and PyPy 1.9 were removed from the tree.
/usr/portage/profiles/base/ChangeLog:  Mask Python 2.5, 3.1 and PyPy 1.9. Bug #480070.
/usr/portage/profiles/base/ChangeLog:  Revert previous change; pypy-bin was committed prematurely.
/usr/portage/profiles/base/ChangeLog:  Add flags for new pypy-bin
/usr/portage/profiles/base/ChangeLog:  Remove pypy1_8 flag mask, the flags were removed.
/usr/portage/profiles/base/ChangeLog:  Add a note that pypy flags are unmasked in the new profiles.
/usr/portage/profiles/base/ChangeLog:  Force pypy2.0 on python-exec.
/usr/portage/profiles/base/ChangeLog:  Mask pypy targets; should be unmasked for each arch.
/usr/portage/profiles/base/ChangeLog:  Mask USE=pypy2_0 for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/ChangeLog:  Mask python_targets_pypy2_0.
/usr/portage/profiles/base/ChangeLog:  Remove traces of pypy1.7, no longer in the tree and not supported by the
/usr/portage/profiles/base/ChangeLog:  Mask USE=pypy1_9 for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/ChangeLog:  Mask USE=pypy1_8 for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/use.mask:# PyPy is unkeyworded on most arches. If you are running amd64 or x86,
/usr/portage/profiles/base/use.mask:python_targets_pypy
/usr/portage/profiles/base/use.mask:python_single_target_pypy
/usr/portage/profiles/base/package.use.force:dev-lang/python-exec python_targets_python2_7 python_targets_python3_2 python_targets_python3_3 python_targets_python3_4 python_targets_jython2_5 python_targets_jython2_7 python_targets_pypy
/usr/portage/profiles/base/package.use.force:dev-python/python-exec python_targets_python2_7 python_targets_python3_2 python_targets_python3_3 python_targets_python3_4 python_targets_jython2_5 python_targets_jython2_7 python_targets_pypy
/usr/portage/profiles/base/package.use.mask:sys-apps/portage python_targets_pypy2_0 python_targets_python2_6 python_targets_python3_2
/usr/portage/profiles/base/package.use.mask:# PyPy install that is not usable for non-sandbox clients (and there are
/usr/portage/profiles/base/package.use.mask:dev-python/pypy sandbox
/usr/portage/profiles/base/package.use.mask:# Mask USE=pypy* for sys-apps/portage, since pypy has limited KEYWORDS.
/usr/portage/profiles/base/package.use.mask:sys-apps/portage pypy pypy2_0
/usr/portage/profiles/desc/python_targets.desc:pypy2_0 - Build with PyPy 2.0 (removed)
/usr/portage/profiles/desc/python_targets.desc:pypy - Build with PyPy (Python 2 branch)
/usr/portage/profiles/desc/python_single_target.desc:pypy - Build for PyPy (Python 2 branch) only
/usr/portage/profiles/ChangeLog-2012:  Add pypy2_0 use-expand values.
/usr/portage/profiles/ChangeLog-2012:  Add new pypy ebuilds to the python-r1 package mask.
/usr/portage/profiles/ChangeLog-2012:  Remove traces of pypy1.7, no longer in the tree and not supported
/usr/portage/profiles/ChangeLog-2012:  Add pypy1_9.
/usr/portage/profiles/default/linux/x86/ChangeLog:  Move pypy flag masks to arch profile since it is EAPI=5 now.
/usr/portage/profiles/default/linux/x86/ChangeLog:  PyPy 1.9 is going masked for removal. Bug #480070.
/usr/portage/profiles/default/linux/x86/ChangeLog:  Unmask pypy for ~x86, mask for stable x86.
/usr/portage/profiles/default/linux/amd64/ChangeLog:  Move pypy flag masks to arch profile since it is EAPI=5 now.
/usr/portage/profiles/default/linux/amd64/ChangeLog:  PyPy 1.9 is going masked for removal. Bug #480070.
/usr/portage/profiles/default/linux/amd64/ChangeLog:  Unmask pypy for ~amd64, mask for stable amd64.
/usr/portage/profiles/arch/amd64-fbsd/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/amd64-fbsd/ChangeLog:  Update the PYTHON_TARGETS mask. Pypy1.7 is no longer in the tree, and 1.9 was
/usr/portage/profiles/arch/m68k/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/hppa/ChangeLog:  Remove the pypy/jython mask. It is masked in base profile now.
/usr/portage/profiles/arch/hppa/ChangeLog:  Mask USE=python_targets_pypy1_{8,9}.
/usr/portage/profiles/arch/powerpc/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/mips/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/sparc-fbsd/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/arm/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/sh/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/x86/package.use.stable.mask:dev-lang/python-exec -python_targets_pypy
/usr/portage/profiles/arch/x86/package.use.stable.mask:dev-lang/python-exec -python_single_target_pypy
/usr/portage/profiles/arch/x86/package.use.stable.mask:dev-python/python-exec -python_targets_pypy
/usr/portage/profiles/arch/x86/package.use.stable.mask:dev-python/python-exec -python_single_target_pypy
/usr/portage/profiles/arch/x86/use.stable.mask:# PyPy is unstable on this arch.
/usr/portage/profiles/arch/x86/use.stable.mask:python_targets_pypy
/usr/portage/profiles/arch/x86/use.stable.mask:python_single_target_pypy
/usr/portage/profiles/arch/x86/use.mask:# PyPy is keyworded on this arch.
/usr/portage/profiles/arch/x86/use.mask:-python_targets_pypy
/usr/portage/profiles/arch/x86/use.mask:-python_single_target_pypy
/usr/portage/profiles/arch/x86/ChangeLog:  Drop pypy2_0.
/usr/portage/profiles/arch/x86/ChangeLog:  Move pypy flag masks to arch profile since it is EAPI=5 now.
/usr/portage/profiles/arch/x86/ChangeLog:  Remove the pypy unmask for old profiles. It is unmasked in the new EAPI=5
/usr/portage/profiles/arch/x86/ChangeLog:  Mask pypy-1.8 for removal.
/usr/portage/profiles/arch/x86/ChangeLog:  Unmask pypy targets.
/usr/portage/profiles/arch/sparc/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/x86-fbsd/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/x86-fbsd/ChangeLog:  Mask PYTHON_TARGETS for pypy & jython.
/usr/portage/profiles/arch/amd64/use.mask:# PyPy is keyworded on this arch.
/usr/portage/profiles/arch/amd64/use.mask:-python_targets_pypy
/usr/portage/profiles/arch/amd64/use.mask:-python_single_target_pypy
/usr/portage/profiles/arch/amd64/use.stable.mask:# PyPy is unstable on this arch.
/usr/portage/profiles/arch/amd64/use.stable.mask:python_targets_pypy
/usr/portage/profiles/arch/amd64/use.stable.mask:python_single_target_pypy
/usr/portage/profiles/arch/amd64/ChangeLog:  Drop pypy2_0.
/usr/portage/profiles/arch/amd64/ChangeLog:  Move pypy flag masks to arch profile since it is EAPI=5 now.
/usr/portage/profiles/arch/amd64/ChangeLog:  Mask USE=sse2 on dev-python/pypy since it controls only 32-bit JIT.
/usr/portage/profiles/arch/amd64/ChangeLog:  Remove the pypy unmask for old profiles. It is unmasked in the new EAPI=5
/usr/portage/profiles/arch/amd64/ChangeLog:  Mask pypy-1.8 for removal.
/usr/portage/profiles/arch/amd64/ChangeLog:  Unmask pypy targets.
/usr/portage/profiles/arch/amd64/package.use.stable.mask:dev-lang/python-exec -python_targets_pypy
/usr/portage/profiles/arch/amd64/package.use.stable.mask:dev-lang/python-exec -python_single_target_pypy
/usr/portage/profiles/arch/amd64/package.use.stable.mask:dev-python/python-exec -python_targets_pypy
/usr/portage/profiles/arch/amd64/package.use.stable.mask:dev-python/python-exec -python_single_target_pypy
/usr/portage/profiles/arch/amd64/package.use.mask:dev-python/pypy sse2
/usr/portage/profiles/arch/s390/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/alpha/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/arch/ia64/ChangeLog:  Remove duplicate pypy/jython masks (masked in base profile now).
/usr/portage/profiles/ChangeLog:  Restore python2_6 and pypy2_0 in desc/, since they are still used by old
/usr/portage/profiles/ChangeLog:  Unmask new PyPy.
/usr/portage/profiles/ChangeLog:  Slide the PyPy mask to 2.3, unleashing 2.2 on our unexpecting users.
/usr/portage/profiles/ChangeLog:  Remove old (slotted) PyPy.
/usr/portage/profiles/ChangeLog:  Mask pypy-bin for testing as well.
/usr/portage/profiles/ChangeLog:  Mask virtual/pypy:2.0 and the corresponding packages.
/usr/portage/profiles/ChangeLog:  Update PyPy flag descriptions.
/usr/portage/profiles/ChangeLog:  Mask new pypy before people start wasting time on it.
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Fri Sep 19, 2014 11:51 pm    Post subject: Reply with quote

restored stage4 backup, system filesystem was showing countless errors - not sure why ... :o



no need to re-quote the /usr/portage/profiles/

it was just to signify that there are some potential problems with pypy & portage, therefore it's masked

so not sure how well it'll work in total


anyways - let's continue:

/etc/portage/make.conf wrote:
PYTHON_TARGETS="python2_7 python3_3 pypy"


is also needed

perhaps also

/etc/portage/make.conf wrote:
I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1"


so don't file bugs after this on bugs.gentoo.org :wink:


also make sure that you have to

jit

use-flag enabled for dev-python/pypy
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
mrbassie
l33t
l33t


Joined: 31 May 2013
Posts: 826
Location: Go past the sign for cope, right at the sign for seethe. If you see the target you've missed it.

PostPosted: Wed Sep 24, 2014 1:59 pm    Post subject: Reply with quote

Still can't get it to work, pypy is on my system (with jit) but eselect only shows pythons 2 and 3.

if I do
Code:
USE="pypy" emerge -pv sys-apps/portage


or
Code:
USE="pypy2_0" emerge -pv sys-apps/portage


it shows the pypy flag and the python_targets for pypy set with the - and in brackets (-pypy2_0).

:?
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu Sep 25, 2014 3:12 am    Post subject: Reply with quote

it probably works (or used to work) without eselect python

but now the pypy use-flag is also gone for me since a few days

not sure who or what broke it

at least according to gentoo's x86 cvs the change occured during 11th or 12th September (with the portage-9999 live ebuild):

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/portage/portage-9999.ebuild?view=log
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu Sep 25, 2014 9:27 pm    Post subject: Reply with quote

argh - got the syntax wrong :lol:

/etc/portage/profile/use.mask wrote:
-pypy


/etc/portage/profile/package.use.mask wrote:
sys-apps/portage -pypy -pypy2_0



so it's basically the negation of the negation (== mask)


which then shows:

emerge =portage-2.2.12* -pv wrote:

These are the packages that would be merged, in order:

Calculating dependencies ... done!
[ebuild UD#] sys-apps/portage-2.2.12-r1::portage [9999::gentoo] USE="(ipc) pypy%* -build -doc -epydoc -python2% -python3% (-selinux) -xattr" LINGUAS="-ru" PYTHON_TARGETS="pypy python2_7 python3_3 (-python3_2) -python3_4" 860 KiB



edit:

but the newer ebuilds with EAPI 5 don't seem to offer pypy

which is kinda ... limiting
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6069
Location: Removed by Neddy

PostPosted: Thu Sep 25, 2014 10:02 pm    Post subject: Reply with quote

try hacking it to see if it is just an oversight
_________________
#define HelloWorld int
#define Int main()
#define Return printf
#define Print return
#include <stdio>
HelloWorld Int {
Return("Hello, world!\n");
Print 0;
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6111
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Sat Oct 25, 2014 8:26 pm    Post subject: Reply with quote

well, attempted it and ... failed :lol:


the thing is: I updated & changed to newer portage version and couldn't really notice a difference beside:


it seemed to run faster (without pypy !)


so the pypy-backed portage probably wasn't working properly ? :o


I'm already using portage with the sqlite backend and some tweaks to eix, etc. that should speed it up somewhat

nevertheless it would be nice if it was noticably faster :(
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
WWWW
Tux's lil' helper
Tux's lil' helper


Joined: 30 Nov 2014
Posts: 143

PostPosted: Sun Nov 30, 2014 8:56 pm    Post subject: Reply with quote

from wikipedia about JIT:

Quote:
In computing, just-in-time compilation (JIT), also known as dynamic translation, is compilation done during execution of a program – at run time – rather than prior to execution.[1] Most often this consists of translation to machine code, which is then executed directly, but can also refer to translation to another format.

JIT compilation is a combination of the two traditional approaches to translation to machine code – ahead of time compilation (AOT), and interpretation – and combines some advantages and drawbacks of both.[1] Roughly, JIT compilation combines the speed of compiled code with the flexibility of interpretation, with the overhead of an interpreter and the additional overhead of compiling (not just interpreting). JIT compilation is a form of dynamic compilation, and allows adaptive optimization such as dynamic recompilation – thus in principle JIT compilation can yield faster execution than static compilation. Interpretation and JIT compilation are particularly suited for dynamic programming languages, as the runtime system can handle late-bound data types and enforce security guarantees.


How would portage benefit from running in JIT mode??

As far as I understand JIT is for portable code. portage would benefit most making it as close to the machine specific optimizations.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum