ANTISECHE
Pour ne plus rien oublier !

ToxCore et PyTox : compilation et installation

lundi 21 octobre 2019

ToxCore

Installation des dépendances, sur Debian :

# apt-get install libtool autotools-dev automake checkinstall check \
libopus-dev libvpx-dev libsodium-dev libavdevice-dev cmake

Je crée un dossier “Programmes”, juste pour l'organisation, et je clone le dépôt de ToxCore dedans :

$ mkdir Programmes
 
$ cd Programmes/
 
$ git clone https://github.com/toktok/c-toxcore.git toxcore
Clonage dans 'toxcore'...
remote: Counting objects: 22397, done.
remote: Total 22397 (delta 0), reused 0 (delta 0), pack-reused 22397
Réception d'objets: 100% (22397/22397), 10.29 MiB | 1.02 MiB/s, fait.
Résolution des deltas: 100% (15662/15662), fait.

Je continue avec la procédure détaillée sur le dépôt pour compiler ToxCore

$ cd toxcore/
 
$ git checkout v0.1.10
Note : extraction de 'v0.1.10'.
 
Vous êtes dans l'état « HEAD détachée ». Vous pouvez visiter, faire des modifications
expérimentales et les valider. Il vous suffit de faire une autre extraction pour
abandonner les commits que vous faites dans cet état sans impacter les autres branches
 
Si vous voulez créer une nouvelle branche pour conserver les commits que vous créez,
il vous suffit d'utiliser « checkout -b » (maintenant ou plus tard) comme ceci :
 
  git checkout -b 
 
HEAD est maintenant sur 6295d28a... Release v0.1.10
 
$ autoreconf -if$libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'configure_aux'.

$ make -j$(nproc)

# make install

$ echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf
/usr/local/lib/
 
# ldconfig

PyTox


$ git clone https://github.com/TokTok/py-toxcore-c.git pytox

$ sudo apt-get install python3-pip
$ sudo pip3 install wheel

$ nano setup.py
import os
import setuptools
from distutils.core import setup, Extension

def supports_av():
    os.system("""
    echo 'extern int toxav_new(); int (*x)() = &toxav_new; int main(){}' \\
      | cc $LDFLAGS -xc - -ltoxcore \\
      > /dev/null 2>&1
    """)
    if os.path.exists("a.out"):
        os.remove("a.out")
        return True
    return False

sources = ["pytox/pytox.c", "pytox/core.c", "pytox/util.c"]
libraries = [
  "opus",
  "sodium",
  "toxcore",
  "vpx",
]
cflags = [
  "-Wall",
  # "-Werror",
  "-Wextra",
  "-Wno-declaration-after-statement",
  "-Wno-missing-field-initializers",
  "-Wno-unused-parameter",
  "-fno-strict-aliasing",
]

if supports_av():
    sources.append("pytox/av.c")
    cflags.append("-DENABLE_AV")
else:
    print("Warning: AV support not found, disabled.")

setup(
    name="PyTox",
    version="0.2.0",
    description="Python binding for Tox the skype replacement",
    author="Wei-Ning Huang (AZ)",
    author_email="aitjcize@gmail.com",
    url="http://github.com/TokTok/py-toxcore-c",
    license="GPL",
    ext_modules=[
        Extension(
            "pytox",
            sources,
            extra_compile_args=cflags,
            libraries=libraries
       )
    ],
    setup_requires=['wheel']
)

Aucun commentaire

Fil RSS des commentaires de cet article

Écrire un commentaire

Contenu de votre message :

Votre nom ou pseudo :

Votre site Internet (facultatif) :

Votre adresse e-mail (facultatif) :

Quelle est la troisième lettre du mot utqlcb ? : 

CopyLeft - 2013-17 - Toutes gauches réservées - Licence CC-BY

Valide xHtml 1.0 STRICT | Fièrement propulsé par PluXml | 0.004s | 138580 vues