Mercurial > hgrepos > FreeBSD > ports > PyPy
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 64:4f846c664620 | 65:9e9df3f25e7d |
|---|---|
| 1 | |
| 2 Notes on how to build | |
| 3 ===================== | |
| 4 | |
| 5 | |
| 6 1. Schritt: ein erstes pypy bauen | |
| 7 --------------------------------- | |
| 8 | |
| 9 Erst einmal mit dem **alten** Ports-Verzeichnis, welches insgesamt auf | |
| 10 dem Stand ist, wo pypy noch offizieller Bestandteil des Ports-Trees war. | |
| 11 | |
| 12 Problem: py27-setuptools ist aber aktuell in Wirklichkeit py27-setuptools44. | |
| 13 | |
| 14 Deshalb tricksen und zum ersten Bauen und installieren die setuptools in | |
| 15 der Pkg-Db umbenennen mit "pkg set -n" | |
| 16 | |
| 17 | |
| 18 ACHTUNG: Ports-Tree auf alten Zeitpunkt stellen: | |
| 19 "hg update -r 377386a46a6b" | |
| 20 | |
| 21 | |
| 22 Dependencies | |
| 23 ~~~~~~~~~~~~ | |
| 24 | |
| 25 Build py27-pycparser (Origin: devel/py-pycparser): | |
| 26 | |
| 27 pkg install py27-setuptools44 | |
| 28 | |
| 29 pkg set -n py27-setuptools44:py27-setuptools | |
| 30 | |
| 31 cd devel/py-pycparser | |
| 32 make FLAVOR=py27 package | |
| 33 | |
| 34 Install this package: pkg install py27-pycparser | |
| 35 | |
| 36 | |
| 37 PyPy | |
| 38 ~~~~ | |
| 39 | |
| 40 Origin: lang/pypy | |
| 41 | |
| 42 Install -A gmake, binutils, expat, libunwind, pkgconf | |
| 43 | |
| 44 Unbedingt auch sicherstellen, daß libffi und libz installiert sind | |
| 45 | |
| 46 Build: | |
| 47 | |
| 48 pkg set -n py27-setuptools44:py27-setuptools | |
| 49 make rmconfig | |
| 50 make build | |
| 51 make package | |
| 52 | |
| 53 Installieren | |
| 54 | |
| 55 Dann erst einmal die setuptools wieder zurückbenennen: | |
| 56 | |
| 57 pkg set -n py27-setuptools:py27-setuptools44 | |
| 58 | |
| 59 Testen folgender Importe: | |
| 60 | |
| 61 import bz2 | |
| 62 import curses | |
| 63 import pyexpat | |
| 64 import zlib | |
| 65 import ssl | |
| 66 import cffi | |
| 67 | |
| 68 | |
| 69 2. Schritt: nochmal bauen mit "richtiger" und aktueller Ports-Umgebung | |
| 70 ---------------------------------------------------------------------- | |
| 71 | |
| 72 Vorgehen im Prinzip wie beim ersten Schritt, nur den aktuellen py27-pycparser | |
| 73 installieren als VB und dann auch mittels "make config" das installierte | |
| 74 erste "pypy" als Übersetzer nehmen | |
| 75 | |
| 76 ACHTUNG: Ports-Tree auf neueste Version stellen per "hg update". | |
| 77 Keine setuptools-Umbenennung! | |
| 78 | |
| 79 | |
| 80 Dependencies | |
| 81 ~~~~~~~~~~~~ | |
| 82 | |
| 83 Build py27-pycparser (Origin: devel/py-pycparser): | |
| 84 | |
| 85 Den lassen, der kann mit | |
| 86 | |
| 87 pkg info py27-setuptools44 | |
| 88 | |
| 89 cd devel/py-pycparser | |
| 90 | |
| 91 Zum Bauen temporär "USES=python:2.7" einstellen. | |
| 92 | |
| 93 Bauen: | |
| 94 | |
| 95 make package | |
| 96 | |
| 97 Install this package: pkg install py27-pycparser | |
| 98 | |
| 99 | |
| 100 PyPy | |
| 101 ~~~~ | |
| 102 | |
| 103 Mit PyPy bauen: | |
| 104 | |
| 105 make config -> PYPY | |
| 106 make build | |
| 107 make package | |
| 108 | |
| 109 Re-Installation: | |
| 110 | |
| 111 pkg remove pypy | |
| 112 pkg install pypy | |
| 113 | |
| 114 Testen folgender Importe: | |
| 115 | |
| 116 import bz2 | |
| 117 import curses | |
| 118 import pyexpat | |
| 119 import zlib | |
| 120 import ssl | |
| 121 import cffi | |
| 122 import ctypes | |
| 123 | |
| 124 | |
| 125 pypy-gdbm und pypy-sqlite3 | |
| 126 ~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| 127 | |
| 128 jeweils mit "FLAVOR=pypy" bauen | |
| 129 | |
| 130 | |
| 131 | |
| 132 Build von PyPy v7.3.14 auf FreeBSD-13.2 | |
| 133 ======================================= | |
| 134 | |
| 135 .. note:: Auch das Kommanto :command:`pkg-config` scheint nun nötig zu | |
| 136 sein laut Dokumentation. | |
| 137 | |
| 138 | |
| 139 ``AF_NETLINK`` und :file:`linux/netlink.h` | |
| 140 ------------------------------------------ | |
| 141 | |
| 142 FreeBSD-13.2 definiert im Gegensatz zu früheren Versionen nun auch | |
| 143 ``AF_NETLINK``. Aber PyPy (übrigends auch frühere Versionen) geht davon aus, | |
| 144 daß ``AF_NETLINK`` nur unter Linux definiert sein kann und includiert dann | |
| 145 fest das Include-File :file:`linux/netlink.h`; das gibt es aber unter | |
| 146 FreeBSD nicht. Stattdessen ist es hier :file:'netlink/netlink.h`. | |
| 147 | |
| 148 Deswegen in :file:`rpython/rlib/_rsocket_rffi.py` die entsprechende | |
| 149 Include-Definition patchen. | |
| 150 | |
| 151 | |
| 152 termios | |
| 153 ------- | |
| 154 | |
| 155 PyPy v7.3.14 baut nun auch das `termios`-Modul. Der entsprechende nötige | |
| 156 Header :file:`termios.h` ist aber unter FreeBSD nicht automatisch beim | |
| 157 Compilieren mit dabei. | |
| 158 | |
| 159 Deswegen in :file:`rpython/rlib/rposix.py` den Header :file:`termios.h` | |
| 160 in die Platform-Konfigurations-Includes mit aufnehmen unter FreeBSD. |
