Mercurial > hgrepos > FreeBSD > ports > PyPy
view 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 source
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.
