Mercurial > hgrepos > FreeBSD > ports > PyPy
diff lang/pypy2/README @ 65:9e9df3f25e7d
Move the old imported pypy repo into the lang/pypy2 folder
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 12 Jan 2024 09:18:14 +0100 |
| parents | README@585cf5a218ad |
| children | 8b567a874360 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lang/pypy2/README Fri Jan 12 09:18:14 2024 +0100 @@ -0,0 +1,160 @@ + +Notes on how to build +===================== + + +1. Schritt: ein erstes pypy bauen +--------------------------------- + +Erst einmal mit dem **alten** Ports-Verzeichnis, welches insgesamt auf +dem Stand ist, wo pypy noch offizieller Bestandteil des Ports-Trees war. + +Problem: py27-setuptools ist aber aktuell in Wirklichkeit py27-setuptools44. + +Deshalb tricksen und zum ersten Bauen und installieren die setuptools in +der Pkg-Db umbenennen mit "pkg set -n" + + +ACHTUNG: Ports-Tree auf alten Zeitpunkt stellen: + "hg update -r 377386a46a6b" + + +Dependencies +~~~~~~~~~~~~ + +Build py27-pycparser (Origin: devel/py-pycparser): + + pkg install py27-setuptools44 + + pkg set -n py27-setuptools44:py27-setuptools + + cd devel/py-pycparser + make FLAVOR=py27 package + +Install this package: pkg install py27-pycparser + + +PyPy +~~~~ + +Origin: lang/pypy + +Install -A gmake, binutils, expat, libunwind, pkgconf + +Unbedingt auch sicherstellen, daß libffi und libz installiert sind + +Build: + + pkg set -n py27-setuptools44:py27-setuptools + make rmconfig + make build + make package + +Installieren + +Dann erst einmal die setuptools wieder zurückbenennen: + + pkg set -n py27-setuptools:py27-setuptools44 + +Testen folgender Importe: + + import bz2 + import curses + import pyexpat + import zlib + import ssl + import cffi + + +2. Schritt: nochmal bauen mit "richtiger" und aktueller Ports-Umgebung +---------------------------------------------------------------------- + +Vorgehen im Prinzip wie beim ersten Schritt, nur den aktuellen py27-pycparser +installieren als VB und dann auch mittels "make config" das installierte +erste "pypy" als Übersetzer nehmen + +ACHTUNG: Ports-Tree auf neueste Version stellen per "hg update". + Keine setuptools-Umbenennung! + + +Dependencies +~~~~~~~~~~~~ + +Build py27-pycparser (Origin: devel/py-pycparser): + +Den lassen, der kann mit + + pkg info py27-setuptools44 + + cd devel/py-pycparser + +Zum Bauen temporär "USES=python:2.7" einstellen. + +Bauen: + + make package + +Install this package: pkg install py27-pycparser + + +PyPy +~~~~ + +Mit PyPy bauen: + + make config -> PYPY + make build + make package + +Re-Installation: + + pkg remove pypy + pkg install pypy + +Testen folgender Importe: + + import bz2 + import curses + import pyexpat + import zlib + import ssl + import cffi + import ctypes + + +pypy-gdbm und pypy-sqlite3 +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +jeweils mit "FLAVOR=pypy" bauen + + + +Build von PyPy v7.3.14 auf FreeBSD-13.2 +======================================= + +.. note:: Auch das Kommanto :command:`pkg-config` scheint nun nötig zu + sein laut Dokumentation. + + +``AF_NETLINK`` und :file:`linux/netlink.h` +------------------------------------------ + +FreeBSD-13.2 definiert im Gegensatz zu früheren Versionen nun auch +``AF_NETLINK``. Aber PyPy (übrigends auch frühere Versionen) geht davon aus, +daß ``AF_NETLINK`` nur unter Linux definiert sein kann und includiert dann +fest das Include-File :file:`linux/netlink.h`; das gibt es aber unter +FreeBSD nicht. Stattdessen ist es hier :file:'netlink/netlink.h`. + + Deswegen in :file:`rpython/rlib/_rsocket_rffi.py` die entsprechende + Include-Definition patchen. + + +termios +------- + +PyPy v7.3.14 baut nun auch das `termios`-Modul. Der entsprechende nötige +Header :file:`termios.h` ist aber unter FreeBSD nicht automatisch beim +Compilieren mit dabei. + + Deswegen in :file:`rpython/rlib/rposix.py` den Header :file:`termios.h` + in die Platform-Konfigurations-Includes mit aufnehmen unter FreeBSD.
