summaryrefslogtreecommitdiff
path: root/Ports
AgeCommit message (Collapse)Author
2021-02-07Ports: Fix linking of the stress-ng portBrian Gianforcaro
2021-02-02Ports: Build python3 with zlibLinus Groh
With the right include paths and linker flags, the _zlib module now builds & works. :^)
2021-02-02Ports: Build most python3 extension modules staticallyLinus Groh
Attempting to import C-extensions (lib-dynload/*.so) currently asserts in the dynamic loader - let's just build them statically instead for the time being. This makes a large number of modules available for use and the port a lot more functional! :^)
2021-02-02Ports: Add post_configure functionLinus Groh
There's pre_configure to do things required by the configure script, let's also add post_configure for things not covered by the configure script. The specific use case is overwriting a file created by python3's configure script.
2021-02-01Ports: Move packages.db from Ports/ to Build/Linus Groh
When removing and recreating the Build directory, it's quite annoying having to edit/remove Ports/packages.db as the installer won't install previously installed port dependencies again if they're still listed. This problem is easily solved by just considering packages.db a build-specific file.
2021-02-01Ports: Upgrade dmidecode to version 3.3Liav A
2021-02-01Ports: Add dmidecode to the available ports listLiav A
2021-02-01Ports: Add a port of dmidecodeLiav A
2021-01-29Ports: Update neofetch to 7.1.0Linus Groh
2021-01-29Ports: Revert neofetch shebang patch changeLinus Groh
Looks like this was a search & replace from 0bf5669, but it doesn't actually work in Serenity.
2021-01-28Ports (jq): Add .patch extension to the diff to fit the wildcard (#5148)Jorropo
This fixes the build of `jq`. `diff` were not matched by `patches/*.patch`, this seems to have gone unnoticed in a refactor.
2021-01-25Ports: Improve configure scriptTheMorc
Just a small modification so that ports that are configured e.g. using cmake don't need a dummy configure file anymore.
2021-01-25Ports: Add ProTracker 2 cloneTheMorc
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.