summaryrefslogtreecommitdiff
path: root/Ports
AgeCommit message (Collapse)Author
2021-01-23Ports: Add table of all available portsLinus Groh
This adds a separate Markdown document comtaining a table with all available ports, including name, version number and website. This should make it easier to get an overview of what's available or learn more about ports one is not familiar with, as well as checking the current version of each port (many are outdated by now, and the version being hidden in the package.sh script doesn't improve that situation) and spotting ports with no defined version (i.e. install from the main branch), which can break easily and should be avoided. Please keep this list in sync when adding or updating ports. :^)
2021-01-23Ports: Add documentation :^)Linus Groh
This documents and explains how ports work and what variables, functions and options are available for `package.sh` scripts.
2021-01-23Ports: Tweak shebang of python3's package.shLinus Groh
This was missed in c702845.
2021-01-23Ports: Clean up some package.sh scriptsLinus Groh
- Remove superfluous function overrides and use makeopts instead - Remove superfluous installopts - Use run rather than cd'ing manually - Ensure empty line between functions
2021-01-23Ports: Install dependencies in separate "installdepends" stepLinus Groh
Calling installdepends in do_fetch seems kinda silly and unexpected. Let's add a separate step with the same name instead.
2021-01-22Meta: Get building on NixOS (#5005)Jonathan Turner
2021-01-22Ports: Build python3 with libffiLinus Groh
This makes building the _ctypes module succeed. We still can't import it, but hey, that's progress! :^)
2021-01-19Ports: Add missing version.sh file to python3 portLinus Groh
I thought I had committed this, but it's .gitignore'd. Add an exception to Ports/.gitignore and add it for real this time. :^) Fixes #5008.
2021-01-18Ports: Add Python 3.9Linus Groh
The current version of our Python port (3.6.0) is over four years old by now and has (or had, I haven't actually tried it in a while) some limitations - time for an upgrade! The latest Python release is 3.9.1, so I used that version. It's a from-scratch port, no patches are taken from the previous port to ensure the smallest possible amount of code is patched. The BuildPython.sh script is useful so I kept it, with some tweaks. I added a short document explaining each patch to ease judging their underlying problem and necessity in the future. Compared to the old Python port, this one does support both the time module as well as threading (at least _thread) just fine. Importing modules written in C (everything in /usr/local/lib/python3.9/lib-dynload) currently asserts in Serenity's dynamic loader, which is unfortunate but probably solvable. Possibly related to #4642. I didn't try building Python statically, which might be one possibility to circumvent this issue. I also renamed the directory to just "python3", which is analogous to the Python 3.x package most Linux distributions provide. That implicitly means that we likely will not support multiple versions of the Python port at any given time, but again, neither do many other systems by default. Recent versions are usually backwards compatible anyway though, so having the latest shouldn't be a problem. On the other hand bumping the version should now be be as simple as updating the variables in version.sh, given that no new patches are required. These core modules to currently not build - I chose to ignore that for now rather than adding more patches to make them work somehow, which means they're fully unavailable. This should probably be fixed in Serenity itself. _ctypes, _decimal, _socket, mmap, resource, termios These optional modules requiring 3rd-party dependencies do currently not build (even with depends="ncurses openssl zlib"). Especially the absence of a readline port makes the REPL a bit painful to use. :^) _bz2, _curses, _curses_panel, _dbm, _gdbm, _hashlib, _lzma, _sqlite3, _ssl, _tkinter, _uuid, nis, ossaudiodev, readline, spwd, zlib I did some work on LibC and LibM beforehand to add at least stubs of missing required functions, it still encounters an ASSERT_NOT_REACHED() / TODO() every now and then, notably frexp() (implementations of that can be found online easily if you want to get that working right now). But then again that's our fault and not this port's. :^)
2021-01-17Ports: Rename a few .diff files to .patchLinus Groh
Let's keep things consistent, .diff is the name we use pretty much everywhere. Also tweak the glob in .port_includes.sh to be 'patches/*.patch' rather than just 'patches/*'.
2021-01-12Ports: Remove some no-longer-needed patches for git :^)Andreas Kling
We can mmap files with MAP_PRIVATE these days.
2021-01-03TextEditor+Meta+Ports+Shell: Remove blank lines at the end of some filesEmanuele Torre
2021-01-03LibGfx+Ports: Add missing newlines at the end of file.Emanuele Torre
2020-12-31Ports: Hard-code SERENITY_ARCH=i686 until other architectures work (#4688)Dan MacDonald
2020-12-29Build: Support non-i686 toolchainsmeme
* Add SERENITY_ARCH option to CMake for selecting the target toolchain * Port all build scripts but continue to use i686 * Update GitHub Actions cache to include BuildIt.sh
2020-12-24Ports: Tweak configuration flags of gcc port to support shared binariesItamar
2020-12-21Ports: Add initial stress-ng port to find bugs in serenityBrian Gianforcaro
This is a very WIP port bringing stress-ng to SerenityOS. stress-ng is great at doing multi-workload stress testing, this allows it to find unique and interesting intermixed pairs of stressful operations which cause bugs. This initial port just rips out an non applicable functionality in order to get the port to compile.
2020-12-15Ports: Bump GNU make to version 4.3Andreas Kling
2020-12-15Ports: Bump ncurses to version 6.2Andreas Kling
2020-12-14Toolchain+Ports: Fix gcc patch fileItamar
Previously, some hunks of the t-slibgcc patch failed to apply
2020-12-14Toolchain: Fix usage of libgcc_s & build PIE executables by defaultItamar
We can now build the porst with the shared libraries toolchain.
2020-12-14Ports: Update gcc patch to support shared libsItamar
2020-11-09Ports: Add GNU indentBrendan Coles
2020-11-03Ports: Bump GCC port to 10.2.0Andreas Kling
Since we've already updated the toolchain, might as well update the port as well. :^)
2020-10-13Ports: Add pkgconf (#3757)Stephen Gregoratto
2020-09-27Ports: Add OpenSSH portLuke
2020-09-15Ports: Add default .gitconfig for Git portItamar
This stops git from asking us to configure a username and email when we try to commit.
2020-09-10Ports: Add libffiSergey Bugaev
2020-09-07Ports: Install lua to /usr/localNoah Rosamilia
2020-09-07Ports: Clean up lua port and enable dynamic library loadingNoah Rosamilia
2020-09-01Ports: Bump version of the "vttest" portAndreas Kling
2020-07-15LibC+Kernel: Start implementing sysconfNico Weber
For now, only the non-standard _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN are implemented. Use them to make ninja pick a better default -j value. While here, make the ninja package script not fail if no other port has been built yet.
2020-07-12Ports: Build ncurses with sigwinch enabledPeter Elliott
2020-07-12Ports: Use "jq" in neofetch for /proc/{cpuinfo,memstat}Linus Groh
Now that a "jq" port is available we can re-enable CPU name detection in neofetch and don't need to use "read" for extracting values from /proc/memstat anymore :^)
2020-07-12Ports: Add jq :^)AnotherTest
2020-07-11Ports: Use "ini" in neofetch to read theme nameLinus Groh
2020-07-11Ports: Disable /proc/cpuinfo parsing in neofetch, for nowLinus Groh
We don't really have a good way of parsing and processing JSON in the shell yet, and the solution used for /proc/memstat (read) is very limited and doesn't work for the more complex /proc/cpuinfo array. Let's disable cpu detection in neofetch for now until we can come up with a good solution.
2020-06-23Ports: Make ninja use ppoll instead of pselectNico Weber
2020-06-22Ports: Add ninjaNico Weber
- 1.8.2 for now, newer versions need high-res timestamp file APIs which serenity doesn't have yet - pselect() instead of ppoll() for now, same reason (depends on #2609) - no good default for -j yet (see nproc.patch) - `-l` probably doesn't work yet (see loadavg.patch), but I've never used that anyways - some minor include patches that I've also sent upstream Other than that, this seems to work reasonably well. It currently produces some spam on stdout from probably the shell.
2020-06-19Ports: Remove dropbear patch that removed calls to seteuid()Nico Weber
This is no longer necessary now that seteuid() / setegid() is implemented.
2020-06-19Ports: Pull dropbear from a mirrorNico Weber
The main web page has been offline for at least a week. This gets the dropbear port building again.
2020-06-09Ports: Use keyserver.ubuntu.com as .sig keyserver (#2535)Nico Weber
Increases the number of successfully building ports from 27 to 36 (of 56) on my system.
2020-06-08LibC: Don't assert on unknown mode character in fopen()Andreas Kling
Just carry on with some debug log whining. Gets rid of one dropbear patch. :^)
2020-06-08LibC: Add nanosleep() wrapper around clock_nanosleep(CLOCK_REALTIME)Andreas Kling
Gets rid of one dropbear patch. :^)
2020-06-08LibC: Add IPPORT_RESERVED and IPPORT_USERRESERVEDAndreas Kling
Gets rid of one dropbear patch. :^)
2020-06-08Base: Symlink /dev/urandom to /dev/randomAndreas Kling
Some software expects to find /dev/urandom so we might as well provide. Gets rid of one dropbear patch. :^)
2020-06-08LibC: Add ws_xpixel and ws_ypixel members to struct winsizeAndreas Kling
This matches what other systems have, although we don't use them. Gets rid of one dropbear patch. :^)
2020-06-08Ports: Add editline library (#2532)Stephen Gregoratto
2020-05-18Ports: Make bash link againLinus Groh
No idea why this was suddenly broken, but removing these duplicated declarations make it build to completion again.
2020-05-16Toolchain/Ports: Update to gcc 10.1.0Shannon Booth