The Package Manager for Lua

Total Page:16

File Type:pdf, Size:1020Kb

The Package Manager for Lua the package manager for Lua Hisham Muhammad @hisham_hm http://hisham.hm LuaConf 2016 Rio de Janeiro Lua# a pecu$iar language %uper $ight&eight 'esigned for em(edding in applications ).tar.gz is 272,i(- Minima$istic ./0 12atteries not inc$uded3 1Ho& do I ___ in Lua43 Modu$es to the rescue! 6hat is LuaRocks /ackage manager... $ike dpkg (apt-# !/M (7um-# Ru(78ems, npm# etc. ...for Lua e9tension modu$es... &ritten in Lua (.lua :$es- or binar7 modu$es (.so/.d$$ :$es- ...that $ets 7ou 1add features3 to Lua net&orking# database# graphics, etc etc etc. The LuaRocks pro<ect .n internationa$ communit7 http://luarocks.org Site for :nding and up$oading rocks http://github.com/keplerpro<ect/luarocks 'e=elopment of the luarocks command-line too$ http://githu(.com/$eafo/luarocks-site 'e=elopment of the site ;he LuaRocks.org module ecos7stem 1200 1000 800 600 400 200 0 'Sep 2009 'Mar 2010 'Sep 2010 'Mar 2011 'Sep 2011 'Mar 2012 'Sep 2012 'Mar 2013 'Sep 2013 'Mar 2014 'Sep 2014 'Feb 2015 'Sep 2015 'Mar 2016 'Jul 2016 App$ication programming in Lua Lua is not on$7 a $anguage for scripting /erfect$7 capable for application programming 0ts &e$$ designed C ./0 makes it a great e9tensi($e $anguage %o it>s an e9cel$ent language to form a modu$e ecos7stem around App$ication programming in Lua is a reality %e=era$ Lua (ased pro<ects out there %er=er-side too$s# games, etc. Lo& $e=el code comes from e9isting libraries 6hat 0 mean (7 Lua (ased 2ui$t on top of the Lua interpreter ?r on top of frame&orks like Lo=e2'# ?pen!est7# ;orch that give 7ou a pre-enhanced Lua environment Lots of opportunit7 for code reuse . practical e9amp$e In a recent project de=e$oped at LabLua# &e $e=eraged these rocks: for these tasks: 9a=ante H;;P server dkjson "%ON parsing lua reAuests H;;/ c$ient lua schema ;a(le Ba$idation luafiles7stem Dilesystem operations luaposi9 Unix faci$ities serpent %eria$ization copas Coroutine schedu$ing lanes ;hreading lualogging Extensi(le logging )plus 8 other indirect dependencies) Pla7s nice with =arious ecos7stems ;orch uses Lua!ocks https://github.com/torch/rocks Lo=e2' G Lua!ocks H Lo=e!ocks https://github.com/.$lo7ed/$o=erocks ;arantoo$ data(ase Fses Lua!ocks as its package manager ?pen!est7 Lots of OpenResty modules in luarocks.org Pla7s nice with =arious ecos7stems Lua!ocks supports diIerent (ui$d s7stem (ackends Its o&n (ui$t-in (uild system# Make# CMake... Lua!ocks.org supports mu$tip$e repositories https://$uarocks.org/m/tarantoo$ for ;arantoo$ 2ring 7our ecosystem o=er# users &i$l (enefit5 Fp and running in one slide5 ~$ wget http://lua.org/ftp/lua-5.3.3.tar.gz ~$ tar zxpf lua-5.3.3.tar.gz ~$ cd lua-5.3.3 ~$ make linux; sudo make install; cd .. ~$ wget http://luarocks.org/releases/luarocks-2.3.0.tar.gz ~$ tar zxpf luarocks-2.3.0.tar.gz ~$ cd luarocks-2.3.0 ~$ ./configure; sudo make bootstrap; cd .. ~$ sudo luarocks install luasocket ~$ lua Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio > require "socket" Fp and running in one slide5 ~$ wget http://lua.org/ftp/lua-5.3.3.tar.gz ~$ tar zxpf lua-5.3.3.tar.gz ~$ cd lua-5.3.3 ~$ make linux; sudo make install; cd .. ~$ wget http://luarocks.org/releases/luarocks-2.3.0.tar.gz ~$ tar zxpf luarocks-2.3.0.tar.gz ~$ cd luarocks-2.3.0 ~$ ./configure; sudo make bootstrap; cd .. ~$ sudo luarocks install luasocket ~$ lua Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio > require "socket" Fp and running in one slide5 ~$ wget http://lua.org/ftp/lua-5.3.3.tar.gz ~$ tar zxpf lua-5.3.3.tar.gz ~$ cd lua-5.3.3 ~$ make linux; sudo make install; cd .. ~$ wget http://luarocks.org/releases/luarocks-2.3.0.tar.gz ~$ tar zxpf luarocks-2.3.0.tar.gz ~$ cd luarocks-2.3.0 ~$ ./configure; sudo make bootstrap; cd .. ~$ sudo luarocks install luasocket ~$ lua Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio > require "socket" Fp and running in one slide5 ~$ wget http://lua.org/ftp/lua-5.3.3.tar.gz ~$ tar zxpf lua-5.3.3.tar.gz ~$ cd lua-5.3.3 ~$ make linux; sudo make install; cd .. ~$ wget http://luarocks.org/releases/luarocks-2.3.0.tar.gz ~$ tar zxpf luarocks-2.3.0.tar.gz ~$ cd luarocks-2.3.0 ~$ ./configure; sudo make bootstrap; cd .. ~$ sudo luarocks install luasocket ~$ lua Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio > require "socket" or# simp$7... ?n Dedora# for e9amp$e... ~$ yum install lua ~$ yum install luarocks F(untu packages are outdated5 P$ease insta$$ manua$$7 as e9plained in the previous slide ?n Mac ?% J &ith Home(re&... ~$ brew install lua )0n Homebre&# the Lua package includes LuaRocks5- ?n Windows? 6e>=e got 7ou co=ered5 LuaRocks-2.3.0-win32.zip /ackage includes Lua# LuaRocks and an 0@%;.LL.2.; script. 0f 7ou are a module de=e$oper %hare 7our modu$es at $uarocks.org5 Create an account and: ~$ luarocks upload mymodule-1.0-1.rockspec a rockspec is a simple metadata :$e that points to 7our source code Let Lua!ocks take care of dep$o7ment issues Linu9# O%J# 6indo&s# other Unix s7stems... Lua paths Bisual Studio =s. Min86 on Windo&s4 Compi$er Kags? (Ne=er hear comp$aints a(out f/0C again5- 0 mean it# it's real$7 simp$e5 package = "LPeg" version = "1.0.0-1" source = { url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.0.tar.gz", } description = { summary = "Parsing Expression Grammars For Lua", detailed = [[ LPeg is a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs). The nice thing about PEGs is that it has a formal basis and allows an efficient and simple implementation, and does most things we expect from a pattern-matching library (and more, as we can define entire grammars). ]], homepage = "http://www.inf.puc-rio.br/~roberto/lpeg.html", license = "MIT/X11" } dependencies = { "lua >= 5.1" } build = { type = "builtin", modules = { lpeg = { "lpcap.c", "lpcode.c", "lpprint.c", "lptree.c", "lpvm.c" }, re = "re.lua" } } ;hank 7ou! http://luarocks.org Hisham Muhammad @hisham_hm http://hisham.hm .(out these slides Deel free to share this presentation and to use parts of it in 7our o&n materia$ Licensed under the Creati=e Commons CC 2Y 4.0: https://creati=ecommons.org/$icenses/(7/M.0/ .
Recommended publications
  • What If What I Need Is Not in Powerai (Yet)? What You Need to Know to Build from Scratch?
    IBM Systems What if what I need is not in PowerAI (yet)? What you need to know to build from scratch? Jean-Armand Broyelle June 2018 IBM Systems – Cognitive Era Things to consider when you have to rebuild a framework © 2017 International Business Machines Corporation 2 IBM Systems – Cognitive Era CUDA Downloads © 2017 International Business Machines Corporation 3 IBM Systems – Cognitive Era CUDA 8 – under Legacy Releases © 2017 International Business Machines Corporation 4 IBM Systems – Cognitive Era CUDA 8 Install Steps © 2017 International Business Machines Corporation 5 IBM Systems – Cognitive Era cuDNN and NVIDIA drivers © 2017 International Business Machines Corporation 6 IBM Systems – Cognitive Era cuDNN v6.0 for CUDA 8.0 © 2017 International Business Machines Corporation 7 IBM Systems – Cognitive Era cuDNN and NVIDIA drivers © 2017 International Business Machines Corporation 8 IBM Systems – Cognitive Era © 2017 International Business Machines Corporation 9 IBM Systems – Cognitive Era © 2017 International Business Machines Corporation 10 IBM Systems – Cognitive Era cuDNN and NVIDIA drivers © 2017 International Business Machines Corporation 11 IBM Systems – Cognitive Era Prepare your environment • When something goes wrong it’s better to Remove local anaconda installation $ cd ~; rm –rf anaconda2 .conda • Reinstall anaconda $ cd /tmp; wget https://repo.anaconda.com/archive/Anaconda2-5.1.0-Linux- ppc64le.sh $ bash /tmp/Anaconda2-5.1.0-Linux-ppc64le.sh • Activate PowerAI $ source /opt/DL/tensorflow/bin/tensorflow-activate • When you
    [Show full text]
  • Tarantool Enterprise Manual Release 1.10.4-1
    Tarantool Enterprise manual Release 1.10.4-1 Mail.Ru, Tarantool team Sep 28, 2021 Contents 1 Setup 1 1.1 System requirements.........................................1 1.2 Package contents...........................................2 1.3 Installation..............................................3 2 Developer’s guide 4 2.1 Implementing LDAP authorization in the web interface.....................5 2.2 Delivering environment-independent applications.........................5 2.3 Running sample applications....................................8 3 Cluster administrator’s guide 11 3.1 Exploring spaces........................................... 11 3.2 Upgrading in production...................................... 13 4 Security hardening guide 15 4.1 Built-in security features...................................... 15 4.2 Recommendations on security hardening............................. 17 5 Security audit 18 5.1 Encryption of external iproto traffic................................ 18 5.2 Closed iproto ports......................................... 18 5.3 HTTPS connection termination.................................. 18 5.4 Closed HTTP ports......................................... 19 5.5 Restricted access to the administrative console.......................... 19 5.6 Limiting the guest user....................................... 19 5.7 Authorization in the web UI.................................... 19 5.8 Running under the tarantool user................................. 20 5.9 Limiting access to the tarantool user...............................
    [Show full text]
  • Building Large Tarantool Cluster with 100+ Nodes Yaroslav Dynnikov
    Building large Tarantool cluster with 100+ nodes Yaroslav Dynnikov Tarantool, Mail.Ru Group 10 October 2019 Slides: rosik.github.io/2019-bigdatadays 1 / 40 Tarantool = + Database Application server (Lua) (Transactions, WAL) (Business logics, HTTP) 2 / 40 Core team 20 C developers Product development Solution team 35 Lua developers Commertial projects 3 / 40 Core team 20 C developers Product development Solution team 35 Lua developers Commertial projects Common goals Make development fast and reliable 4 / 40 In-memory no-SQL Not only in-memory: vinyl disk engine Supports SQL (since v.2) 5 / 40 In-memory no-SQL Not only in-memory: vinyl disk engine Supports SQL (since v.2) But We need scaling (horizontal) 6 / 40 Vshard - horizontal scaling in tarantool Vshard assigns data to virtual buckets Buckets are distributed across servers 7 / 40 Vshard - horizontal scaling in tarantool Vshard assigns data to virtual buckets Buckets are distributed across servers 8 / 40 Vshard - horizontal scaling in tarantool Vshard assigns data to virtual buckets Buckets are distributed across servers 9 / 40 Vshard - horizontal scaling in tarantool Vshard assigns data to virtual buckets Buckets are distributed across servers 10 / 40 Vshard - horizontal scaling in tarantool Vshard assigns data to virtual buckets Buckets are distributed across servers 11 / 40 Vshard - horizontal scaling in tarantool Vshard assigns data to virtual buckets Buckets are distributed across servers 12 / 40 Vshard configuration Lua tables sharding_cfg = { ['cbf06940-0790-498b-948d-042b62cf3d29'] = { replicas = { ... }, }, ['ac522f65-aa94-4134-9f64-51ee384f1a54'] = { replicas = { ... }, }, } vshard.router.cfg(...) vshard.storage.cfg(...) 13 / 40 Vshard automation. Options Deployment scripts Docker compose Zookeeper 14 / 40 Vshard automation.
    [Show full text]
  • LIST of NOSQL DATABASES [Currently 150]
    Your Ultimate Guide to the Non - Relational Universe! [the best selected nosql link Archive in the web] ...never miss a conceptual article again... News Feed covering all changes here! NoSQL DEFINITION: Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalable. The original intention has been modern web-scale databases. The movement began early 2009 and is growing rapidly. Often more characteristics apply such as: schema-free, easy replication support, simple API, eventually consistent / BASE (not ACID), a huge amount of data and more. So the misleading term "nosql" (the community now translates it mostly with "not only sql") should be seen as an alias to something like the definition above. [based on 7 sources, 14 constructive feedback emails (thanks!) and 1 disliking comment . Agree / Disagree? Tell me so! By the way: this is a strong definition and it is out there here since 2009!] LIST OF NOSQL DATABASES [currently 150] Core NoSQL Systems: [Mostly originated out of a Web 2.0 need] Wide Column Store / Column Families Hadoop / HBase API: Java / any writer, Protocol: any write call, Query Method: MapReduce Java / any exec, Replication: HDFS Replication, Written in: Java, Concurrency: ?, Misc: Links: 3 Books [1, 2, 3] Cassandra massively scalable, partitioned row store, masterless architecture, linear scale performance, no single points of failure, read/write support across multiple data centers & cloud availability zones. API / Query Method: CQL and Thrift, replication: peer-to-peer, written in: Java, Concurrency: tunable consistency, Misc: built-in data compression, MapReduce support, primary/secondary indexes, security features.
    [Show full text]
  • Luarocks Fostering an Ecosystem of Lua Modules
    LuaRocks fostering an ecosystem of Lua modules Hisham Muhammad [email protected] @hisham_hm FOSDEM !"# $russels% $elgium &hat is LuaRocks 'ackage manager... like d(kg (a(t*get+% RPM% etc. like Ruby-ems, Python eggs, npm% C'/0% etc. ...for Lua e1tension modules written in Lua (.lua files) or ,inary modules (.so4.dll files) Fostering an ecosystem of Lua modules Some uni5ue challenges ...related to Lua as a language ...related to Lua as a community Lessons learned ...on building an ecosystem / one*slide introduction to Lua function process(filename, fn, ...) local f = io.open(filename) local rets = {} for line in f:lines() do rets[#rets+1] = { fn(line, ...) } end f:close() return rets end matches = process("file.txt", string.find, "foo") for i, match in ipairs(matches) do print(i, table.concat(match, ", ")) end / one*slide introduction to Lua function process(filename, fn, ...) local f = io.open(filename) local rets = {} o,6ects for line in f:lines() do rets[#rets+1] = { fn(line, ...) } end f:close() return rets end matches = process("file.txt", string.find, "foo") for i, match in ipairs(matches) do print(i, table.concat(match, ", ")) end / one*slide introduction to Lua function process(filename, fn, ...) local f = io.open(filename) local rets = {} for line in f:lines() do rets[#rets+1] = { fn(line, ...) } end f:close() return rets 3rst*class functions end matches = process("file.txt", string.find, "foo") for i, match in ipairs(matches) do print(i, table.concat(match, ", ")) end / one*slide introduction to Lua function process(filename, fn, ...)
    [Show full text]
  • Tarantool Выпуск 1.7.2
    Tarantool Выпуск 1.7.2 мар. 14, 2019 Оглавление 1 Что нового? 1 1.1 Что нового в Tarantool 1.7?....................................1 2 Общие сведения 2 2.1 Сервер приложений + СУБД...................................2 2.2 Возможности СУБД........................................3 3 Практикум 5 3.1 Практические задания на Lua..................................5 3.2 Практическое задание на C.................................... 17 4 Руководство пользователя 21 4.1 Предисловие............................................. 21 4.2 Начало работы........................................... 22 4.3 Функционал СУБД......................................... 25 4.4 Сервер приложений........................................ 58 4.5 Администрирование серверной части.............................. 72 4.6 Коннекторы............................................. 108 4.7 Вопросы и ответы......................................... 120 5 Справочники 121 5.1 Справочник по встроенной библиотеке............................. 121 5.2 Справочник по сторонним библиотекам............................. 228 5.3 Справочник по настройке..................................... 247 6 Руководство участника проекта 257 6.1 Справочник по C API....................................... 257 6.2 Детали реализации......................................... 280 6.3 Сборка и участие в проекте.................................... 293 6.4 Соглашения по разработке.................................... 298 Lua Module Index 329 i ГЛАВА 1 Что нового? Здесь собрана информация о существенных изменениях, которые
    [Show full text]
  • Conda-Build Documentation Release 3.21.5+15.G174ed200.Dirty
    conda-build Documentation Release 3.21.5+15.g174ed200.dirty Anaconda, Inc. Sep 27, 2021 CONTENTS 1 Installing and updating conda-build3 2 Concepts 5 3 User guide 17 4 Resources 49 5 Release notes 115 Index 127 i ii conda-build Documentation, Release 3.21.5+15.g174ed200.dirty Conda-build contains commands and tools to use conda to build your own packages. It also provides helpful tools to constrain or pin versions in recipes. Building a conda package requires installing conda-build and creating a conda recipe. You then use the conda build command to build the conda package from the conda recipe. You can build conda packages from a variety of source code projects, most notably Python. For help packing a Python project, see the Setuptools documentation. OPTIONAL: If you are planning to upload your packages to Anaconda Cloud, you will need an Anaconda Cloud account and client. CONTENTS 1 conda-build Documentation, Release 3.21.5+15.g174ed200.dirty 2 CONTENTS CHAPTER ONE INSTALLING AND UPDATING CONDA-BUILD To enable building conda packages: • install conda • install conda-build • update conda and conda-build 1.1 Installing conda-build To install conda-build, in your terminal window or an Anaconda Prompt, run: conda install conda-build 1.2 Updating conda and conda-build Keep your versions of conda and conda-build up to date to take advantage of bug fixes and new features. To update conda and conda-build, in your terminal window or an Anaconda Prompt, run: conda update conda conda update conda-build For release notes, see the conda-build GitHub page.
    [Show full text]
  • Luarocks Past, Present and Future
    LuaRocks past, present and future Hisham Muhammad Prologue: what is LuaRocks? ● A package manager for Lua modules ● Modules written in Lua (.lua), binary Lua modules (.so/.dll) and Lua scripts ● Usual features you would expect from a package manager ○ luarocks install <module> ○ luarocks remove <module> ○ ... Rocks and rockspecs ● Rock: a LuaRocks package ○ archive files (actually .zip files) ○ *.src.rock - contains source code ○ *.win32-x86.rock - “binary rock”, contains compiled binaries for a given platform ● Rockspec: a package specification file ○ A declarative Lua script, with rules on how to build and package rocks ○ *.rockspec - a Lua file containing some tables A rockspec Part I The past: a short history of LuaRocks Origins ● Kepler Project: research project to develop a platform for web development using Lua ○ combining modules that already existed (LuaSocket, CGILua) and adding the missing pieces ○ For more of the story, read Yuri Takhteyev’s book, “Coding Places” :) ● I started (re)writing Unix makefiles to automate the packaging/install process ● Common patterns emerged LuaRocks 0.x-1.x: a bumpy start ● 0.x was a gradual evolution ○ the goal for 1.0 was for it to be able to build all Kepler modules ● The rockspec format is unchanged since 1.0 ○ We really care about compatibility ○ Learning the format and writing a rockspec are not disposable efforts ● We got many things right, but we also got some of them wrong... Annoyances in LuaRocks 1.x ● LuaRocks 1.0 did not use the standard Lua layout for modules ○ It wasn’t clear that
    [Show full text]
  • Tarantool Выпуск 1.7.4
    Tarantool Выпуск 1.7.4 мар. 14, 2019 Оглавление 1 Что нового в Tarantool 1.7?2 2 What’s new in Tarantool 1.6.9 after February 15, 2017?4 3 What’s new in Tarantool 1.6?5 4 Общие сведения 6 4.1 Сервер приложений + СУБД...................................6 4.2 Возможности СУБД........................................7 5 Руководство пользователя8 5.1 Предисловие.............................................8 5.2 Начало работы...........................................9 5.3 Функционал СУБД......................................... 13 5.4 Сервер приложений........................................ 30 5.5 Администрирование серверной части.............................. 58 5.6 Репликация............................................. 76 5.7 Коннекторы............................................. 96 5.8 Вопросы и ответы......................................... 107 6 Справочники 109 6.1 Built-in modules reference..................................... 109 6.2 Справочник по сторонним библиотекам............................. 244 6.3 Справочник по настройке..................................... 263 6.4 Utility tarantoolctl .......................................... 280 6.5 Tips on Lua syntax......................................... 280 7 Практикум 282 7.1 Практические задания на Lua.................................. 282 7.2 Практическое задание на C.................................... 294 7.3 libslave tutorial........................................... 299 8 Contributor’s Guide 303 8.1 Справочник по C API....................................... 303 8.2 Internals..............................................
    [Show full text]
  • An Efficient Algorithm for Type-Directed Structural Diffing
    An Efficient Algorithm for Type-Directed Structural Diffing VICTOR CACCIARI MIRALDO, Utrecht University, The Netherlands WOUTER SWIERSTRA, Utrecht University, The Netherlands Effectively computing the difference between two version of a source file has become an indispensable part of software development. The de facto standard tool used by most version control systems is the UNIX diff utility, that compares two files on a line-by-line basis without any regard forthe structure of the data stored in these files. This paper presents an alternative datatype generic algorithm for computing the difference between two values of any algebraic datatype. This algorithm maximizes sharing between the source and target trees, while still running in linear time. Finally, this paper demonstrates that by instantiating this algorithm to the Lua abstract syntax tree and mining the commit history of repositories found on GitHub, the resulting patches can often be merged automatically, even when existing technology has failed. Additional Key Words and Phrases: Generic Programming, diff, Version Control, Haskell 1 INTRODUCTION The UNIX diff [13] is an essential tool in modern software development. It has seen a number of use cases ever since it was created and lies at the heart of today’s Software Version Control Systems. Tools such as git, mercurial and darcs, that enable multiple developers to collaborate effectively, are all built around the UNIX diff utility, which is used to compute a patch between two versions of a file. It compares files on a line-by-line basis attempting to share as many lines as possible between the source and the destination files.
    [Show full text]
  • Enrico Tassi Lua Workshop 2013 [email protected]
    LuaLua and Enrico Tassi Lua workshop 2013 [email protected] Toulouse – 23 Nov Roadmap ● Debian: an opportunity for Lua ● Packaging Lua ● Packaging Lua batteries ● It's not all a bed of roses Who am I? ● Daily job: researcher in CS @ Inria ● completely unrelated topics (type theory, interactive provers, Coq, …) ● I love developing software! ● and I used Lua for some of my projects ● I support free software ● Debian developer since 2006 ● I read lua-l, but I don't post very often What is Debian? ● A project that builds a free OS ● A long tradition in assembling components ● QA: written policies, automatic checks, ... ● An opportunity for Lua: ● Debian is popular with many derivatives ● It supports “exotic” architectures ● It is huge (30K packages, 17K match “^lib”) ● It is tested (compilation & installation time) The beginning lua40 (4.0-1) unstable; urgency=low * Initial Release. * Added support for shared libraries -- Daniel Silverstone <[email protected]> Mon, 11 Feb 2002 Where are we now? Which packages depend on Lua 5.1 aegisub geany-plugin-lua libtolua++5.1-dev pax-britannica apache2-bin genometools libwreport2 pdns-backend-lua aqualung gimp-gluas lighttpd-mod-cml pepper asc gnuplot-x11 love postgresql-9.3-pllua asterisk-modules grafx2 lsyncd premake awesome gringo lua-augeas prosody bam hedgewars luakit python-lua blobby highlight megaglest qcontrol boswars httest monotone radare-common btanks ibus-pinyin mpv ruby-luabridge celestia-gnome instead mudlet simgrid conky-std kamailio-lua-modules mysql-proxy syncmaildir crawl
    [Show full text]
  • Étendre Lua Avec Luarocks
    ) n o i t i d é e 2 ( e g a s s i t R n e e k nouveaux rocksnouveaux tous :nousprofitons del'enrichissement del'écosystème Lua ! de développer à aussi mais LuaRocks, essayer à seulement non encouragera vous cela vous puissiez l'utiliser comme point de départ pour vos propres projets. J'espère que complet de un sorteexemple nous développerons à ce quede LuaRocks, et paramètre construire et installer ses propres modules. Plutôt que de détailler chaque commande le dépôt, puis nous aborderons l'une des fonctions les plus puissantes de Dans ce chapitre, nous LuaRocksallons voir comment utiliser des modules : tiers disponibles dans besoin,dansl'esprit deLua. vraiment avez uniquement lesmodulesdont vous fonctionnalités disponibles à partir du dépôt LuaRocks et un système léger contenant et de LuaRocks, vous pouvez ainsi avoir le meilleur des deux mondes : la variété des sont ajoutés chaque jour dans le dépôt sur types de librairies (GUI, graphisme, calcul scientifique, web, etc.). De nouveaux rocks toutes les fonctionnalités mentionnées ci-dessus, mais aussi des appelés LuaRocks, paquets des existe Il mande. com- simple une par accessibles sont besoin avez vous dont supplémentaires tionnalités LuaRocks, le gestionnaire de paquets Lua. Une fois LuaRocks installé, toutes les fonc- vous pouvez facilement télécharger et intégrer à votre environnement avec l'aide de Heureusement, ces "piles" sont disponibles : ce sont des modules d'extension Lua, que besoin. complet, adapté detravail àvotre un environnement productif avec Lua, vous aurez souvent à inclure les "piles" qui manquent pour obtenir être gadgetspour de Ainsi, emballages incluses". les non sur écrit"piles : souvent est qui ce dire de l'habitude avons nous répertoires des propos, manipulation ce la À même ! et sont simplement pas là :le les SQL, sockets, le support formats de pour fichiers...divers ne langages d'autres dans défaut par présentes fonctionnalités de beaucoup que signifie cela Cependant, surchargé.
    [Show full text]