Package Details: elinks-git v0.15.0.r500.g0df4ef05-1

Git Clone URL: https://aur.archlinux.org/elinks-git.git (read-only, click to copy)
Package Base: elinks-git
Description: An advanced and well-established feature-rich text mode web browser. Git version, JavaScript disabled.
Upstream URL: https://github.com/rkd77/elinks
Keywords: browser devel textmode web
Licenses: GPL
Conflicts: elinks
Provides: elinks
Submitter: ferreum
Maintainer: ferreum
Last Packager: ferreum
Votes: 5
Popularity: 0.000000
First Submitted: 2017-01-18 20:19 (UTC)
Last Updated: 2022-04-21 17:16 (UTC)

Required by (20)

Sources (1)

Latest Comments

ferreum commented on 2022-04-21 17:19 (UTC)

@firegem git is now in makedepends.

I also changed the URL to use the master branch instead of version-0.14.

From my attempt of using it, there currently seems to be a problem with background color, so you may want to locally change it to tag=v0.15.0 or similar for now.

firegem commented on 2022-04-21 05:47 (UTC)

This needs git as a makedep or it fails to compile in a chroot.

m040601 commented on 2021-06-08 05:15 (UTC) (edited on 2021-06-08 05:24 (UTC) by m040601)

I've added the architectures you suggested.

arch=(i686 x86_64 armv6h armv7h aarch64)

I havent tested yet on a (arm32) Raspberry Pi Zero or 2.But I downloaded the precompiled binary and,

file elinks-0.14.1-linux-armhf-bin/elinks

elinks-0.14.1-linux-armhf-bin/elinks: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped

So it seems it's a arm "universal" binary compiled for 32bit.

... I tested this on a Pi 4 and it seems to run on aarch64include arm...

So it seems, it's also made to run or arm 64 bits then. I didnt know that.

This would make a great "elinks-bin" PKGBUILD to use as a browser on low spec Raspberry Pis with Arch Linux arm. Except if it wasnt for that damned "javascript included" .... :-)

m040601 commented on 2021-06-08 05:02 (UTC) (edited on 2021-06-08 05:33 (UTC) by m040601)

@ferreum

Thanks for your comment and clarifying things !

... javascript is a security disaster...
... But it doesn't look like the developers think that way

So I was wrong then. Sorry, I'm not a developer. I just randomly read this in the repo and assumed it was the project direction

...Just checked the master, I see JavaScript is currently disabled...

So, the main developer, rkd77, is still aiming at some sort of javascript support then. And if so, I assume the official Arch package will just follow that right ? And so the Arch official "elinks" package will support javascript.

In that case, what I wanted to make sure is what I'll be getting in the future if I use this, "elinks-git" PKGBUILD. In case the developer "stuffs" javascript support by default, do these options in the PKGBUILD:

              --without-spidermonkey \
              --disable-sm-scripting \

guarantee that my "elinks-git" wont be able to execute any javascript at all in my computer ?

And if that is true, may I suggest that the PKGBUILD description be edited from:

 An advanced and well-established feature-rich text mode web browser. Git version

to

 An advanced and well-established feature-rich text mode web browser. Git version with Javascript disabled by default.

or something similar

ferreum commented on 2021-06-07 18:06 (UTC)

I think it's that "infamous" ld linker thingy error again:

Yes it's been like that on master for a while, and there haven't been any changes to that branch for all that time. I've compared the 0.14.1 release tarball with the elinks-1.14 branch and couldn't tell if that's where the source comes from, because it looked like a different state of the project. I didn't look through everything though.

elinks-0.14 compiles fine, so I've switched to that branch for now (currently version 0.14.1).

include arm

I tested this on a Pi 4 and it seems to run on aarch64--but I only made a quick test with default config. I've added the architectures you suggested.

I needed to add a autoreconf -ifv to make it work, which I've also committed to the PKGBUILD. I have no experience with autoconf, but to me it looks like the generated scripts in the projects haven't been updated since 2004 and they fail some detection on recent systems.

Get rid once and for all for everything javascript related.

I'd welcome it--javascript is a security disaster even for established browsers, and putting it into a small project like a terminal browser is calling for trouble. But it doesn't look like the developers think that way: the getelementbyid branch is currently receiving very active development focused on JS support, see https://github.com/rkd77/elinks/commits/getlementbyid (currently https://github.com/rkd77/elinks/commits/e674a7c9d12c5ce0b1b4016477c19572ecdf516e ).

m040601 commented on 2021-06-07 03:12 (UTC) (edited on 2021-06-07 03:48 (UTC) by m040601)

Compilation failed.

It happened before and @sgerwk, https://aur.archlinux.org/account/sgerwk, was able to troubleshoot.

I think it's that "infamous" ld linker thingy error again:


/usr/bin/ld: lib.o: in function `render_document':
(.text+0x302a9): undefined reference to `render_source_document_cxx'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:41: elinks] Error 1
make[1]: Leaving directory '/dev/shm/aurydesty/elinks-git/src/elinks/src'
make: *** [Makefile.lib:268: all-recursive] Error 1
==> ERROR: A failure occurred in build().
    Aborting...
error making: elinks-git

m040601 commented on 2021-06-07 03:03 (UTC) (edited on 2021-06-07 03:45 (UTC) by m040601)

A question about javascript (evil/good ?) to all commenters here.

Arch's official package with their PKGBUILD and CHANGES: https://archlinux.org/packages/community/x86_64/elinks/

I just noticed that Arch's official is still stuck in the 0.14.0 January 2021 version. But, upstream, https://github.com/rkd77/elinks/releases has released 0.14.1 in May 2021

  • Disable spidermonkey by default #85
  • Show error message about libgcrypt-config. #86
  • off by two. #88
  • Check NULL. #99
  • fix error message when no previous search was performed #100
  • alert when moving to the next match of a failed search #101
  • include unistd.h and errno.h to define safe_read() #107

Notice the "Disabble spidermonkey" there. Me personally, very happy. I think, if I'm not mistaken, that this is the intent and direction of upstream elinks. Get rid once and for all for everything javascript related.

I noticed this January 2021 comment on the official arch package, https://github.com/archlinux/svntogit-community/commit/cfcec8aeaabb240577b3bb1dd17c44be0c9f97fc#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203a

# todo: make it work with a modern 'js' package
# (upstream has no interest in writing that)

And this, elinks-git PKGBUILD has this difference:

  2               --without-lzma \
  3               --without-bzlib \
  4               --without-spidermonkey \
  5               --disable-sm-scripting \
  6               --enable-exmode

And @sgerwk "felinks-python", even has brotli and zstd support, https://aur.archlinux.org/packages/felinks-python/

Does this mean that the Arch official packager "insist" or "hope" for elinks to keep trying to support any kind of buggy incomplete javascript or spidermonkey support ?

Is this the reason why the official elinks hasnt been updated ?

I for one cannot understand why would one even want to hear about javascript in a cli browser. There are other superb options for that.

What is your opinion ?

m040601 commented on 2021-06-07 02:56 (UTC) (edited on 2021-06-07 03:01 (UTC) by m040601)

Question about support for arm architecture

Upstream, https://github.com/rkd77/elinks/releases has released 0.14.1 in May 2021. It's cool that upstream now even provide binaries for arm and i386.

Assets 6
elinks-0.14.1-linux-armhf-bin.tar.xz 1.45 MB
elinks-0.14.1-linux-i386-bin.tar.xz 1.75 MB
elinks-0.14.1-linux-x64-bin.tar.xz 1.71 MB
elinks-0.14.1.tar.xz 1.73 MB

So you can run it on the Raspberry Pi or old 32bit computers. Think of Arch Linux 32bit, and their tireless work. Marvelous. So this, "elinks-git", or even a "elinks-bin" could be updated to include arm:

Change,

arch=("i686" "x86_64")

to, not sure if

arch=("i686" "x86_64" " xyz arm something " )

I always forget what exactly "armhf" is. I now that

arch=('x86_64' 'aarch64' 'armv6h' 'armv7h')

Means, support for :

Raspberry Pi 4 'aarch64' Raspberry Pi 3 ??????? Raspberry Pi 2 'armv7h' Raspberry Pi 0 'armv6h'

And that usually, if well done, only two binaries are needed. One for arm64 (Pi4 and Pi3) and one for all the other arm32. If it runs on the Raspberry Pi Zero, it runs on the 1 and 2 also.

ferreum commented on 2021-03-08 18:35 (UTC)

@OliverLew Thanks for the notice, I changed it to the github repository.

OliverLew commented on 2021-03-08 08:25 (UTC) (edited on 2021-03-08 08:26 (UTC) by OliverLew)

It seems that Arch's official package is already using the Github repo:

https://github.com/archlinux/svntogit-community/commit/2731b8ee5b3793e8edc1bed3888cc3b60c3cbbf9#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203a

Should this AUR package be updated / flagged out-of-date?

m040601 commented on 2020-02-08 00:21 (UTC)

Building elinks from source by pulling from, https://github.com/rkd77/felinks instead off, http://repo.or.cz/elinks.git

seems to be working and making it compatible with both python2 and python3

https://github.com/hellricer/soupmonkey/issues/8

.... I pushed the changes that make it compatible with both python2 and python3 and it seems to run just fine in felinks.
... all I needed was to instal python2 development libraries and run ./configure --with-python && make.
 ... For that I installed `libpython3.7-dev` package from Debian.

m040601 commented on 2020-02-03 00:17 (UTC) (edited on 2020-02-03 00:34 (UTC) by m040601)

It seems that Debian, https://tracker.debian.org/pkg/elinks , is also building their elinks source package from the github repo, https://github.com/rkd77/felinks , not from the "original" http://repo.or.cz/elinks.git . Confusingly, they still mark the "homepage" as http://elinks.cz

Debian elinks official maintainer guy, in December 2019:

New upstream version 0.13.0 (cf6ac103) https://salsa.debian.org/aelmahmoudy-guest/elinks/commit/cf6ac10334a0f8c93f1c251d0fe6f8587c3df0b6

m040601 commented on 2020-02-02 23:03 (UTC) (edited on 2020-02-02 23:03 (UTC) by m040601)

Some news from the github repo, https://github.com/rkd77/felinks/commit/52ed7c5926c4587ccac135f2a9527f54276e9c53

ELinks 0.13.1:
--------------------
Released on 2020-01-31.
* Fixed issue with uploading files to local cgi.
* Python scripts in contrib converted to python3.

m040601 commented on 2020-01-18 03:34 (UTC) (edited on 2020-01-18 03:44 (UTC) by m040601)

Some more info I found:

  • seems that most distros do not compile elinks with python support.
  • Elinks, as of now, can only by compiled with python2.

And a modified PKGBUILD to compile elinks with python features (along with perl and spidermonkey features).

https://github.com/hellricer/soupmonkey/issues/8

m040601 commented on 2020-01-17 10:26 (UTC) (edited on 2020-01-17 10:29 (UTC) by m040601)

Maybe this is worth checking out:

This package is pulling from repo.or.cz right ? source=("git+http://repo.or.cz/elinks.git"

I was just checking that repo.or.cz "official" elinks repo and it seems the last commits were in 2017, a lot by a "Witold Filipczyk"

For some months now, I've watched this repo on github, rkd77/felinks: Fork of elinks https://github.com/rkd77/felinks

It's called " fork of elinks" but I'm not sure what it really is. I'm not sure who this rkd77 but this github repo log gets updated very frequently and the name ""Witold Filipczyk" also appears in the log. Could it be some semi-official migration of elinks to github ? There a 0.13 realease in late 2019. That repo.or.cz domain is really odd.

Anyway they also seem to be dealing with python issues Please migrate python scripts to Python3 https://github.com/rkd77/felinks/issues/38

ferreum commented on 2019-12-31 00:44 (UTC)

@m040601 Sadly I wasn't able to make python work. It also seems to only support python2, which is not supported any more by 2020. I was able to make the build script run with python3 by changing two python calls, but it doesn't actually compile.

Also, with python2 (PYTHON=/usr/bin/python2 ./configure --with-python), configure printed this message for me:


The Python support is incomplete and not so well integrated to ELinks yet. That means, e.g., that you have no Python console and there might not be all the necessary hooks. Also, the Python interface is not too well tested (success stories heartily welcomed!).


This additionally worries me about the safety of this feature, which is also the reason I want ECMA/JS to be disabled here.

Anyways, if I it does compile, but when I run elinks I only get this:

Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] ImportError: No module named site

Which yet again gives me the impression that this is not a stable feature.

In conclusion this feature sadly seems to be not well supported, and in addition to the apparently terrible state of the code of elinks (judging by the excessive amount of warnings during compilation) I would rather keep this experimental feature disabled.

m040601 commented on 2019-12-24 07:50 (UTC) (edited on 2019-12-24 07:56 (UTC) by m040601)

@LeoLambda

(...) Is it desirable to enable ECMAScript/JavaScript support in this package, or should I publish a version with ECMAScript support seperately (as elinks-js-git)? (...)

I would vote NO. That is, there is no need to include javascript support in this package. Another one, elinks-js-git could be provided.

I never understood, why some people miss features of modern web pages (like javascript) on cli browsers. If you absolutely need javascript, dont use a cli browser, use a normal one. With the monstruosity that is javascript on most modern web pages, even if a cli browser supports some of it, it would never be a perfect support. There would always be this and that site that need javascript and fail on elinks. And a lot of maintenance work.

Heavy, and daily users of cli browsers, use them exactly for this reason, simplicity, and the possibilities of scripting, piping and integrating with other tools.

m040601 commented on 2019-12-24 07:45 (UTC)

would it be possible to add python support to this AUR package ? That is, make it so that the compiled elinks from source supports not only Lua scripting but also Python scripts (so called Elinks hooks,py)

The official Archlinux package, also only provides Lua support, so no luck there: ELinks 0.13.GIT 25c2850b597ee9a89bda8920e7f3d65ac3ac7e01-dirty Built on Jan 6 2019 18:10:15 Features: Standard, IPv6, gzip, bzip2, UTF-8, Periodic Saving, Viewer (Search History, Timer, Marks), Cascading Style Sheets, Protocol (Authentication, File, CGI, FTP, HTTP, URI rewrite, User protocols), SSL (OpenSSL), MIME (Option system, Mailcap, Mimetypes files), LED indicators, Bookmarks, Cookies, Form History, Global History, Scripting (Lua), Goto URL History

Why ? Hooks in Elinks are a very usefull feature, allowing it to manipulate the rendered buffer and much much more. One can use many different languages to write these scripts. Lua is supported by default. Other, more popular scripting languages Python, Ruby, Perl etc are also supported. They are a very old feature of elinks. If you dont "get" what this elinks "hooks" feature is and its power, google it first. Think of it as GreaseMonkey for elinks.

Automation, Readability are just powerfull and under appreciated examples of what you can do. Most links are quite old. But now and then one finds more ideas and updated to recent and popular websites. From all the scripting languages, Python is the more accessible one, and the one one finds the most work done related to elinks.

Examples: ELinks with BeautifulSoup | ~hellricer/ https://hellricer.github.io/2019/05/29/elinks-with-beautifulsoup.html

ELinks with BeautifulSoup : linux https://old.reddit.com/r/linux/comments/buf9w5/elinks_with_beautifulsoup/

hellricer/soupmonkey: Userscript manager for ELinks powered by BeautifulSoup library. https://github.com/hellricer/soupmonkey

linux - Is there any way to run ELinks with python-script like FireFox with Selenium webdriver with python - Stack Overflow https://stackoverflow.com/questions/12959805/is-there-any-way-to-run-elinks-with-python-script-like-firefox-with-selenium-web

Other recent interesting elinks configurations: yazgoo/elinks-plug: a lua plugin manager for elinks https://github.com/yazgoo/elinks-plug

LeoLambda commented on 2018-06-25 15:32 (UTC)

Is it desirable to enable ECMAScript/JavaScript support in this package, or should I publish a version with ECMAScript support seperately (as elinks-js-git)?

ferreum commented on 2017-10-07 16:28 (UTC)

@FabioLolix thanks for the notification. I changed the source to repo.or.cz.

FabioLolix commented on 2017-10-07 16:17 (UTC)

http://elinks.cz/elinks is unreachable right now

ferreum commented on 2017-08-10 20:48 (UTC)

updated PKGBUILD: removed unused js185 dependency

ferreum commented on 2017-08-09 17:29 (UTC)

@timofonic I have noticed that the source in this PKGBUILD isn't reachable from time to time. Unfortunately, makepkg complains if I just change it, so I'd like to keep this URL if possible. But if I see this happening, I'll change it. @kovetskiy I intend to keep this version as patch-free as possible (the only patch used here is for compatibility with recent lua versions). You'll have to apply the patch yourself if you want to use it.

timofonic commented on 2017-07-21 08:17 (UTC)

I can't clone the original repository... This is an alternative: git+http://repo.or.cz/elinks.git

kovetskiy commented on 2017-05-20 09:43 (UTC)

Hello, please add this patch too: http://archive.linuxfromscratch.org/mail-archives/elinks-dev/2014-May/002092.html (http://lists.linuxfromscratch.org/pipermail/elinks-dev/attachments/20140531/da29da4f/attachment.obj)