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.