On 2/28/21 6:51 AM, supp...@scriptbasic.org wrote:
> I had to build IUP from source for Ubuntu 64 ARM on my RPi 4B. It failed 
> with he PDF dependency I couldn't find. Manually using make in the 
> sub-souece directories created a usable build.
> [...]

G'day,

I've been working on GNU/Linux portability, but have not
tried using any ARM build (it wasn't present when I started,
and my development pathway has resulted in me not tracking
ports to new architectures -- feature creep, along with
keeping track of changes in the sources, has been
time-consuming).

I hope, within the next few weeks, to release an
"IM/CD/IUP" install/build/run assistant, named "icua", for
the Tecgraf projects, focussing on GNU/Linux.  This 
includes two new "child" projects spun out of CD, namely
pdflib7 and ftgl.  The first release, despite being many
months in the making, is expected to be "icua-0.1-rc1".

The Assistant currently works on the following amd64
distros:

        Linux Mint 18.3
        Linux Mint 19.1
        Linux Mint 19.10 (? not sure if end-of-life)
        Linux Mint 20
        Linux Mint 20.1  (? not sure if withdrawn)
        Ubuntu 18.04.3
        Ubuntu 19.10
        Ubuntu 20.04
        CentOS 7

Sadly (but partially to stay sane/limit feature creep),
both Lua 5.1 and associated LuaRocks associated are
system-installed.  In addition, the installer uses sudo
to install Lua, LuaRocks itself, selected LuaRocks
packages, and to modify the system to include package
dependencies, e.g. "libfftw3-bin", "libfreetype6-dev".

The dangers of sudo, and various other considerations,
may mean that the Assistant is best run inside a
virtualised environment; it needs a network connection,
both for OS package references, and very probably also
so that it can track the latest changes to the SourceForge
IM/CD/IUP projects.

---------------------

Here is an extract from the main database file for the
assistant, "assistant-database.lua", which is an executable
Lua script in its own right.  This excerpt is from the iup
project:

------------ (Start of excerpt) ------------

        LastChangedDate = "2021-01-13T22:17:03.071354Z",
        LatestRelease = "3.30",
        DistroEnvStatic = {
                Manifest = {"ubuntu", "linuxmint", "centos_7"},
                ubuntu = {
                        Manifest = {"Dependencies"},
                        Dependencies = {
                                "%e cd:ubuntu",
                                "libwebkitgtk-3.0-0",
                                "libwebkitgtk-3.0-dev",
                                "libwebkit2gtk-4.0-dev",
                                "libwebkit2gtk-4.0-37",
                                "libwebkit2gtk-4.0.37-gtk2",
                        },
                },
                linuxmint = "=ubuntu",
                centos_7 = {
                        Manifest = {"Dependencies"},
                        Dependencies = {
                                "%e cd:centos_7",
                                "webkitgtk3-devel",
                        },
                },
        },
        Patches = {
                "iup-silly.patch",
        },
        Build = {
                Manifest = {"Path",
                            "/CmdPrefixList", "Cmd", "CmdSuffixList"},
                Path = "",
                CmdPrefixList = {
                },
                Cmd = "make",
                CmdSuffixList = {
                        {"USE_PKGCONFIG", "Yes"},
                        {"LUA_LIB", "/usr/lib/x86_64-linux-gnu"},
                        {"LUA_BIN", "/usr/bin"},
                        {"LUABIN", "/usr/bin/lua"},
                        {"EXCLUDE_TARGETS", "iupvled"},
                },
        },
        Runfiles = {
                "libiupluaLUA_SFX.so",
                "../libiup.so",
        },

------------ (End of excerpt) ------------

There is an eye on expanding the list of supported distros:
For example, the Dependencies for linuxmint is merely
"=ubuntu", and the IUP dependencies "e"xecutes the
dependencies implied by its reliance on CD: "%e cd:ubuntu".
Another dependency command is "%d" -- delete.

The Build->Runfiles section includes a nod towards
supporting Lua versions other than 5.1:  LUA_SFX.  However,
version 5.1 is still hardwired at a few points at present.

--

I'm currently working on setting up a cloud-hosted project
to hold icua; while work is progressing, there's still a lot
to do.

cheers,

sur-behoffski (Brenton Hoff)
programmer, Grouse Software


_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to