Commit graph

888 commits

Author SHA1 Message Date
Idan Horowitz ba9a525ba6 Ports: Remove obsolete siginfo_t::si_error Python3 patch 2021-12-22 22:53:56 +02:00
Tim Schumacher 48dc28996d Ports: Update Python patches for the recent signal changes
The old patch to define `HAVE_SIGSET_T` is no longer needed, as we now
have implementations for `sigwaitinfo` and `sigtimedwait`.

Instead, for the same reason, we now have to remove a reference to
`si_errno`, which we haven't implemented yet but is just assumed to be
there.
2021-12-22 11:28:20 +01:00
Tim Schumacher 1145638de5 Ports: Remove wchar parts from openssh patches 2021-12-21 20:35:52 -08:00
Tim Schumacher 939469c831 Ports: Remove wchar patch from dosbox-staging 2021-12-21 20:35:52 -08:00
Tim Schumacher ee994832cf Ports: Remove wstring patch from LLVM
One of the chunks in `remove-wstring.patch` was not wchar-related and
has been moved to `insert-ifdef-serenity.patch` instead.
2021-12-21 20:35:52 -08:00
Tim Schumacher e6c90a3048 Ports: Remove the cmake wstring patch 2021-12-21 20:35:52 -08:00
Ben Reeves 58ec2f688b Ports/ncurses: Check for proper tic version during install
MacOS ships with an out of date ncurses that can't properly generate
terminfo from the newer source code. This change checks for a valid
`tic` executable of the proper version, first in PATH and then in
the Homebrew cellar if brew is installed. Otherwise it aborts
installation.

See comment in the code as well as the following for details:
https://github.com/termux/termux-packages/issues/4487#issuecomment-626277493
https://lists.gnu.org/archive/html/bug-ncurses/2019-07/msg00020.html.
2021-12-20 10:45:52 -08:00
Rafał Babiarz 196bd11743 Ports: Add libssh2 port 2021-12-20 10:43:47 -08:00
Rafał Babiarz ef1d4aab73 Ports: Updated lua port to version 5.3.6 2021-12-17 03:25:52 -08:00
Rafał Babiarz 39e3c68e94 Ports: Updated links port to version 2.25 2021-12-16 22:45:05 +01:00
Daniel Bertalan 2c1a6ce9a5 Ports: Update gcc patch to match the toolchain 2021-12-16 21:27:03 +02:00
Daniel Bertalan edb810f854 Ports: Remove obsolete openssh password prompt patch
As of 8dd11ae, we have `/dev/tty`, which is used by openssh's built-in
read_passphrase function to access the TTY, making our patch
unnecessary.

Removing it also fixes a subtle issue: we did not handle the case of
stdout not being a TTY correctly, so prompts failed to show up when e.g.
the ssh process was being piped to. This made `git clone` not work when
the server's fingerprint was not already verified.
2021-12-13 00:12:28 +01:00
Sahan Fernando 398f1ca842 Ports: Don't return errno value as pointer in openssh port 2021-12-12 13:16:55 +02:00
Linus Groh db610d0cd6 Ports: Restore Python's setup.py patch
It appears that the patch still applied partially, which led to me
believing our changes were fully upstreamed. Only the _uuid module
specific changes didn't apply and are no longer needed, so simply
restore the other ones that I removed.
2021-12-12 00:23:04 +00:00
Linus Groh 6d9a1d3c93 Ports: Update Python to 3.10.1 :^)
This was released a couple of days ago, on 2021-12-06 and contains
various changes that we previously needed custom patches for, so we are
now able to remove those and compile more unchanged upstream sources.
Thanks to Rodrigo for making that effort! :^)
2021-12-11 19:02:00 +00:00
Nathan Ell a1580a1d00 dos2unix: Swap to official signature validation
In the initial port of dos2unix, there was a miss in the validation
of the files. Let's switch to the original author's official
signed verification of the source :^)
2021-12-09 09:48:43 +01:00
Andreas Kling 78252d7777 Ports: Add SHA256 checksum to dos2unix port 2021-12-08 10:48:39 +01:00
Nathan Ell 444a7eb929 dos2unix: Introduce dos2unix port
Port the ubiquitous dos2unix tool to Serenity. Dos2Unix is a suite of
tools for converting file line endings, from dos/mac to unix and unix
to dos/mac.
2021-12-08 09:20:04 +01:00
Daniel Bertalan e88ca09609 Ports: Upgrade LLVM to version 13.0.0
With this update, we now use our custom `serenity` Clang target, which
means that all system-specific compilation options (e.g. default PIE,
header search paths) will be handled automatically.

This port has been tested to build `Source/little` on all 4
toolchain-architecture pairs. Furthermore, `lib(std)c++` headers are
picked up correctly and our AK headers can be included without any
issues.

Due to recent kernel fixes related to memory-mapped files, the LLD
linker can now be used by default, so there's no need to also build the
GCC port alongside this.

Although our patches cover building libLLVM as a shared library, this is
currently not enabled by default, as DynamicLoader is very slow in
dealing with such a large number of relocations.
2021-11-28 09:38:57 -08:00
Jelle Raaijmakers ce6fd38e5d Ports: Remove ScummVM's SVG patch
No longer necessary now that we have a better `acosf` implementation.
2021-11-18 21:10:30 +01:00
EWouters 069e64efd1 Ports/libuv: Update libuv to version 1.42.0 and fix cmake argument
Add CMAKE_BUILD_WITH_INSTALL_RPATH=true to the cmake arguments as it
wouldn't compile on MacOS without this argument
2021-11-14 16:20:55 +00:00
Brian Gianforcaro 2c4db837e7 Ports: Add initial Pipe Viewer (pv) 1.6.20 port 2021-11-14 16:18:45 +00:00
Daniel Bertalan df06552b48 Ports: Fix building zlib with Clang
Even though Clang generates PIC objects by default, an R_386_PC32
relocation still slips into libz.a if we don't set -fPIC explicitly.
2021-11-14 11:38:40 +00:00
Tim Schumacher 26a48f3516 Ports: Use GNU patch instead of the OpenBSD version
The OpenBSD version is having some weird issues, so:

Reject OpenBSD, return to GNU.
2021-11-10 14:48:39 +01:00
Daniel Bertalan 05cb72e2c3 Ports: Unbreak and update oksh
This port has been broken since the introduction of `sys_signame` (which
was almost 3 months ago), as oksh provided a conflicting definition for
it.

This commit also cleans up some of the patches, defining the appropriate
config macro instead of commenting out code.

When I opened this program's GitHub releases page, I noticed that a new
version was available, so I also did the update.
2021-11-08 01:36:54 +01:00
Tim Schumacher 5c75216361 Ports: Update byacc to 20210808 2021-11-06 20:49:47 -07:00
Tim Schumacher b26e4874ec Ports: Update to ncurses 6.3 2021-11-06 20:49:18 -07:00
Tim Schumacher 18792a6305 Ports: Remove the obsolete howto guide from cmake
We have long been able to build CMake fully on the host.
2021-11-06 18:07:15 +03:30
Tim Schumacher e3a0e93390 Ports: Add a missing hyphen to GNinja in cmake 2021-11-06 18:07:15 +03:30
Tim Schumacher b220b45c5e Ports: Don't add ports to the "built" list unless successful 2021-11-06 11:54:00 +01:00
Tim Schumacher 85db9aac49 Ports: Update pcre to 8.45 2021-11-06 12:40:19 +02:00
Brian Gianforcaro abf1585a3f Ports: Fix cmatrix version in AvailablePorts.md to appease the linter 2021-11-06 01:24:28 -07:00
Tim Schumacher d1588dc806 Ports: Add a dependency on pcre to glib
This previously only worked because glib will automatically try and
compile pcre, but due to ftp.pcre.org being down this no longer works.

Instead, just rely on the pcre port that we already have anyways.
2021-11-06 01:16:14 -07:00
EWouters 2b5c377781 Ports/cmatrix: Fix hash and update version
The download links to the master branch of a repository, hence the
hash doesn't match anymore. Now setup to download a new version
with a known hash.
2021-11-06 00:42:02 -07:00
Tim Schumacher 7391104e5d Ports: Update pcre2 to 10.39
PCRE2 has moved to GitHub for code and release hosting, and ftp.pcre.org
is decommissioned.
2021-11-06 00:32:36 -07:00
EWouters 20f730dc1c Ports/libtheora: Change download link to mirror with TLS1.2 support
Fixes download on Mac where an old version of LibreSSL won't redirect to
the download mirror.
2021-11-04 17:14:33 +01:00
EWouters 617c06e82e Ports: Patch Makefile to use normal soname flags on Mac
Remove if statement altogether, as suggested by timschumi.
2021-11-03 11:22:50 +01:00
EWouters 3a8c423447 Ports: Update zstd to version 1.5.0 2021-11-03 11:22:50 +01:00
Tim Schumacher 37aa75c370 Ports: Use immutable tarballs for libsodium
The "stable" tarballs appear to be continuously updated after the
release.
2021-11-03 11:10:38 +01:00
Brendan Coles 5537334f66 Ports: quake: Do no set PATH environment variable in package.sh 2021-11-02 23:04:22 +01:00
Tim Schumacher 02446a5431 Ports: Enable SDL support in Angband 2021-11-01 11:34:25 +01:00
Tim Schumacher 8e6de62d57 Ports: Fix typo in ffmpeg dependencies
This makes ffmpeg build again!
2021-11-01 10:45:15 +01:00
Brendan Coles aea2583cde Ports: gnucobol: Build with ncurses and without NLS 2021-11-01 10:44:57 +01:00
Kenneth Myhra f848d65fd9 Ports/vim: Add symlink 'vi' pointing to target 'vim'
This adds a symlink named 'vi' which points to the target 'vim'. It's
useful in scenarios where a third-party application might rely on 'vi'.
2021-10-31 21:09:49 +01:00
Brendan Coles 3ce4d0f89a Ports: Add FreeDink port 2021-10-31 11:52:27 +01:00
Brendan Coles 287bbabbc1 Ports: Add OpenGL Mathematics (GLM) port 2021-10-31 11:52:27 +01:00
Jelle Raaijmakers a6c5ce11b8 Ports: Remove ScummVM FMOPL patch
This patch is no longer required after this PR fixes the x86_64 PLT
trampoline:
https://github.com/SerenityOS/serenity/pull/10711
2021-10-31 00:21:42 +02:00
Brendan Coles c1511ebbea Ports: Add Fontconfig port 2021-10-28 11:25:56 +02:00
Jelle Raaijmakers ae405ed2eb Ports: Disable MAME FMOPL emulation in ScummVM
It crashes with an unrecoverable page fault. The DOSBox emulation works
fine however, so let ScummVM default to that engine for now.
2021-10-28 00:23:30 +02:00
Jelle Raaijmakers 5f5fe16d4b Ports: Disable SVG in ScummVM themes
The ScummVM modern remastered theme contains SVG images that are
rendered through NanoSVG. Somehow, the ScummVM logo gets all messed up,
but all other SVGs render nicely.

It takes a lot of time to debug NanoSVG, so disable loading SVGs in
themes for now so BMPs are used instead.
2021-10-28 00:23:30 +02:00
Jelle Raaijmakers 3941e4fe24 Ports: Prevent exporting symbols for ScummVM
Both LibGUI and ScummVM have a GUI::Widget class. This interferes with
normal operation of LibGUI, since the wrong GUI::Widget::~Widget() is
invoked when SerenitySDLWidget (from the SDL2 port) is destructed.

By adding `-fvisibility=hidden` to the compiler flags, we set the
symbol visibility to hidden by default and the correct destructor is
invoked again.
2021-10-28 00:23:30 +02:00
Jelle Raaijmakers 59b2bac3a5 Ports: Update ScummVM to 2.5.0 2021-10-28 00:23:30 +02:00
Daniel Bertalan 5241c5f219 Ports: Enable history handling in bc
An oversight in the TTY defaults caused bc to reach an assertion failure
when it tried to set up raw mode for printing the history.

Now that this is fixed, we can finally enable history handling.
2021-10-25 21:42:26 +02:00
Brendan Coles 518b8fb292 Ports: Bump bc from version 2.5.1 to 5.1.1 2021-10-25 13:01:40 +02:00
Brendan Coles c1d915afe6 Ports: byacc+gmp+m4: Split auth_opts strings into array elements 2021-10-25 00:06:43 -07:00
Brendan Coles 2876aebb32 Ports: Add GNU gperf port 2021-10-24 22:34:02 -07:00
Daniel Bertalan ff1b72c95c Ports: Remove obsolete bash locale patch
Now that we have a semi-decent support for wide characters and a stubbed
out locale API, this hack is not needed anymore.
2021-10-23 23:31:43 -07:00
Jelle Raaijmakers 28e0aa59a8 Ports: Register all dependencies of ports
Previously, only `manual` installs would register dependencies of an
installed port package. Since in the future we might want to check all
dependents, not only those for manually installed packages, we should
take care to register dependencies for `auto` installs as well.

Additionally, this surpresses some unnecessary verbose output from the
package management and fixes warnings when the package DB directory did
not yet exist.
2021-10-21 14:48:21 +01:00
Jelle Raaijmakers 7ff99cb516 Ports: Return early in parse_arguments() in .port_include.sh 2021-10-21 14:48:21 +01:00
Daniel Bertalan dabd8dbedd Ports: Make it possible to build (some) ports with Clang
This commit introduces the changes needed in the port build system that
will allow us to compile ports with Clang. Note that many ports still
don't build, especially due to linker differences. Fixing these is
outside the scope of this PR.

For now, building bash, ncurses and nano is known to work. Bash runs
fine, while nano crashes due to DT_VERSYM not being supported by our
dynamic loader.
2021-10-17 17:09:58 +01:00
Linus Groh f8e89306e0 Ports: Remove long unused SERENITY_ROOT from .hosted_defs.sh 2021-10-17 13:26:26 +01:00
Tim Schumacher e01c968d00 Ports: Add an Angband port :^) 2021-10-17 12:40:48 +01:00
Tim Schumacher ed8c1e961c Ports: Provide designated wide-char versions of ncurses 2021-10-17 12:40:48 +01:00
Tim Schumacher 418d69c0ad Ports: Fix dependencies for SDL2
We are doing nonstandard stuff with our headers, so SDL assumed that
both iconv and dlopen are available inside LibC, which they aren't.

Fix that by adding a dependency on libiconv and adding additional
linker flags.
2021-10-16 15:36:04 -07:00
Eric Seifert 89e52faa22 Ports: Use ruby irb legacy mode
Legacy mode seems to work better than the --nomultiline --nosingleline
mode I was using.
2021-10-15 21:56:06 -07:00
Tim Schumacher 8ced224f04 Ports: Enable wide-char support for ncurses
Hello ncursesw!
2021-10-15 21:50:19 -07:00
Tim Schumacher 5d38cf4973 Ports: Force-create ncurses compatibility symlinks
I haven't considered that someone might try to build ncurses twice.
2021-10-13 01:23:01 +02:00
Tim Schumacher e9ce1a8d83 Ports: Add compatibility symlinks to ncurses
Some applications search for the external version of libtic and
libtinfo, which are no longer present after
91ad7754fe.

Having a symlink fixes that, since libncurses exports the necessary
functions if they aren't available as a seperate library.
2021-10-11 10:51:43 -07:00
Tim Schumacher 3908753347 Ports: Fix issues with the libmodplug and SDL_sound ports
- Lock SDL_sound to specific commit
- Convert properties to arrays where required
- Fix depends being called "deps"
2021-10-10 19:11:02 -07:00
Tim Schumacher 262b718912 Ports: Fix nano authentication options splitting
This was a typo from when everything was migrated to arrays.
2021-10-11 00:37:02 +01:00
xSlendiX 6782cf5193 Ports: Add SDL_sound 2021-10-10 15:26:05 -07:00
xSlendiX f573b7b47a Ports: Add libmodplug 2021-10-10 15:26:05 -07:00
Rodrigo Tobar c3a6d96988 Ports: Patch Python to deal with Serenity's strftime
The xmlrpc.client module has some trial-and-error logic at module import
time to figure out how to properly format years using strftime. There
have already been problems in the past with this code in Python (see
https://bugs.python.org/issue13305, which is still open), and Serenity
only adds to that.

This problem has been reported at https://bugs.python.org/issue45386, so
hopefully in time we won't need this patch anymore.
2021-10-06 13:57:52 +01:00
Rodrigo Tobar c38c93bff1 Ports: Patch Python's http.client due to unimplemented socket option
This problem has been reported on https://bugs.python.org/issue45328 and
a fix has been provided, potential review and merge are pending.
2021-10-06 13:57:52 +01:00
Rodrigo Tobar 3c192f492a Ports: Compile Python against OpenSSL to gain ssl module
Compiling against an OpenSSL thread-enabled shared library (see #10207)
lets Python compile its _ssl module, which yields an importable ssl
module.

The ssl module suffers from the same problem described in #10014 though,
namely that python crashes when importing different modules results in
multiple libcrypto.so loads, and its functions are later invoked by one
of the modules. Once #10277 is merged though the module becomes quite
usable.
2021-10-05 15:45:08 +01:00
Rodrigo Tobar dc03c559df Ports: Compile OpenSSL with threads and as a shared library
By defining our own target platform in the OpenSSL compilation
configuration we can now compile an OpenSSL shared library. We need to
avoid symbol versioning though, as serenity's LibELF doesn't support
this yet.

We are now also compiling with threading support to allow using this
from Python.
2021-10-05 15:35:48 +01:00
Tim Schumacher c07f91474d Ports: Make array-like settings actual arrays
We may need entries with spaces in makeopts, installopts, and
configopts, and at that point we should also convert depends and
auth_opts to avoid confusion.
2021-10-05 02:13:08 +02:00
Tim Schumacher e507cfcdb0 Ports: Set defaults before loading package.sh
This is too much bash magic for a simple "Use this value if the script
doesn't set anything", especially since only one default setting depends
on values from the script.
2021-10-05 02:13:08 +02:00
Ben Wiederhake 52e9f25403 Everywhere: Change from http to https where feasible
I used "git grep -FIn http://" to find all occurrences, and looked at
each one. If an occurrence was really just a link, and if a https
version exists, and if our Browser can access it at least as well as the
http version, then I changed the occurrence to https.

I'm happy to report that I didn't run into a single site where Browser
can't deal with the https version.
2021-10-05 02:08:08 +02:00
Linus Groh fb98e12f86 Ports: Update Python to 3.10.0
Released on 2021-10-04.
https://www.python.org/downloads/release/python-3100/
2021-10-04 21:46:25 +01:00
Jelle Raaijmakers 06f84d927e Ports: Add Ncdu 2021-10-02 21:07:47 +01:00
Jelle Raaijmakers 91ad7754fe Ports: Compile ncurses with --enable-term-driver
In commit ba97548686 `--with-termlib` was added to produce a
`libtinfo.a` file that nano then required. However, this causes ncurses
to build with _only_ screen-pointer ext funcs: e.g.
`reset_prog_mode_sp` exists, but `reset_prog_mode` does not.

By switching to `--enable-term-driver`, all functions are properly
exported again and the nano port compiles and runs just fine. :^)
2021-10-02 21:07:47 +01:00
Jelle Raaijmakers 8487ff551c Ports: Switch ncurses to SHA256 auth type 2021-10-02 21:07:47 +01:00
Liav A 09bdb00eb0 Ports: Remove unnecessary patch from the neofetch port 2021-09-24 10:48:30 +02:00
Eric Seifert 01a06dde0e Ports: Add Ruby 3.0.2 2021-09-24 10:04:47 +02:00
Jelle Raaijmakers 37b5baf9ff Ports: Build PHP-FPM instead of CGI 2021-09-23 18:51:21 +02:00
Jelle Raaijmakers 6f4fbd59d9 Ports: Update PHP to version 8.0.10 2021-09-23 18:51:21 +02:00
Jelle Raaijmakers 36a7091531 Ports: Remove the now superfluous PHP network patch 2021-09-23 18:51:21 +02:00
Kenneth Myhra 6819193671 Ports/glib: Bump GLib to 2.70.0 2021-09-19 18:18:47 +02:00
Kenneth Myhra 83a4c1732b Ports/glib: Maintain compatibility with meson < 0.57.0 2021-09-19 18:18:47 +02:00
Kenneth Myhra 177765642e Ports/glib: Remove patch 0008-add-missing-macro-IN6_IS_ADDR_V4MAPPED
Since we now have the 'IN6_IS_ADDR_V4MAPPED' macro in LibC this patch
is no longer needed.
2021-09-19 15:53:43 +02:00
Linus Groh 5426901521 Ports: Update Python to 3.10.0rc2
Released on 2021-09-07.
https://www.python.org/downloads/release/python-3100rc2/
2021-09-18 21:20:18 +02:00
Tim Schumacher dda216c334 Ports: Add a gawk port 2021-09-16 16:42:40 +02:00
Andrew Kaster 9dff6acc55 Ports: Use new CMakeToolchain.txt located in the build directory
Now that we're generating the CMake toolchain file in the build
directory, we need to redirect the ports that use CMake to the new
location. Looking into this showed that there's still a bunch of work to
do in general to make the ports agnostic to which toolchain they're
using, there's a lot of hard-coded ${ARCH}-pc-serenity-gcc assumptions
still here.
2021-09-15 19:04:52 +04:30
Linus Groh 6595db9ecf Ports: Build Python with --enable-optimizations
This no longer results in linker errors as the FIXME states, so let's
get some perf for free :^)
2021-09-11 00:28:39 +02:00
Linus Groh 6b15faed30 Ports: Build Python with libuuid
This makes the _uuid module work :^)
2021-09-11 00:28:39 +02:00
Linus Groh 8b3e1c0016 Ports: Add libuuid 2021-09-11 00:28:39 +02:00
Ken Herner 84f0d2aece Ports: Update libarchive to v3.5.2
Updated GPG fingerprint to Martin Matuska's latest public key
Fixes #9921
2021-09-09 22:57:09 +01:00
Ken Herner f5071e7b2d Ports: Disable IPV6 in OpenSSL
Fixes #9902
2021-09-09 22:39:45 +01:00
Rodrigo Tobar 430e5d27aa Ports: Fix compilation of python3 socket module 2021-09-09 17:51:15 +01:00
Rodrigo Tobar 3373090993 Ports: Add gsl 2021-09-08 08:49:56 +01:00
Andreas Kling aa2e19e58f Ports: Update relocated ports
Port repos have been moved to the new SerenityPorts organization on
GitHub, to declutter the main SerenityOS organization.
2021-08-30 20:18:07 +02:00
Dante Catalfamo 0f3f814945 Ports: Add port for mruby 2021-08-25 02:22:01 +02:00
Federico Guerinoni ed5ae7b093 Ports: Bump git to 2.33.0 2021-08-23 23:35:39 +02:00
Linus Groh 9e225d2d05 Ports: Add libatomic_ops 2021-08-21 13:16:51 +01:00
Nico Weber 788472f91a Ports: Add libsixel
This contains `img2sixel`.
2021-08-15 19:48:11 +01:00
sin-ack 06a6b68690 Ports: Make the build step messages use ellipsis rather than excl. point
This stops the port build system from yelling at the user. This commit
also adds a "success" message after the "Adding to database" message.
2021-08-15 14:50:39 +01:00
Kenneth Myhra df176ca2d9 Ports: Add glib version 2.69.0 2021-08-14 22:32:00 +01:00
Gunnar Beutner 4b4fe29c39 Ports: Remove SHA256 checksum for the doom port 2021-08-14 20:28:55 +02:00
Gunnar Beutner 582d74b729 Ports: Bump vlang version to weekly.2021.31
The previous version failed to build.
2021-08-14 20:28:55 +02:00
Gunnar Beutner 909e19f753 Ports: Fix reinstalling the mysthous port
Reinstalling the port failed because some of its files were installed
with permissions that prevented overwriting the existing files with cp.
2021-08-14 20:28:55 +02:00
Gunnar Beutner e7d7b43f99 Ports: Fix reinstalling the lure port
Reinstalling the port failed because some of its files were installed
with permissions that prevented overwriting the existing files with cp.
2021-08-14 20:28:55 +02:00
Nico Weber 7d4addc6d3 Ports: Add a space to end of shell name in neofetch
Matches what neofetch does for other shell names.
2021-08-14 22:46:34 +04:30
Gunnar Beutner 7d493bbf98 Ports: Fix building the wget port 2021-08-14 12:40:49 +02:00
Gunnar Beutner ff8e016d94 Ports: Fix building the nano port 2021-08-14 12:40:49 +02:00
Gunnar Beutner f8d91c8f8f Ports: Make sure to remove the .la file after building libxml2
Otherwise libtool gets confused and tries to link against files that
don't exist.
2021-08-14 12:40:49 +02:00
Gunnar Beutner 5eae6ccfb0 Ports: Add missing dependency for libxml2
When xz was previously built we'd end up with a shared library for
libxml2 that depends on xz features but isn't linked against liblzma.
2021-08-14 12:40:49 +02:00
Gunnar Beutner bd43530750 Ports: Make sure to remove the .la file after building libiconv
Otherwise libtool gets confused and tries to link against files that
don't exist.
2021-08-14 12:40:49 +02:00
Gunnar Beutner c5b069eb9d Ports: Build a shared library for curl
This fixes building the git port.
2021-08-13 21:29:48 +02:00
Gunnar Beutner 79db56eb82 Ports: Make sure re-installing the gcc port doesn't fail
Re-installing the gcc port would previously fail because we failed to
overwrite the symlink.
2021-08-13 21:29:48 +02:00
Gunnar Beutner 6eee60de41 Ports: Make sure HOST_* variables are set correctly for nested builds
When building a port as a dependency for another port the HOST_*
variables were previously initialized with values referring to the
SerenityOS toolchain.

Fixes #9168.
2021-08-13 21:29:48 +02:00
TheFightingCatfish 0921390109 Ports: Support libcurl in the git build
Previously, libcurl is not used in the git build because the test
program in configure fails to link against it properly. We bypass the
test and make sure we link against all necessary libraries (libssl,
libcrypto and zlib).
2021-08-13 15:43:36 +02:00
TheFightingCatfish ff8630c66f Ports: Disable uname detection when building git
Previously, the git port would fail in various ways because it uses an
uname detection mechanism to update the configurations, and Makefile
would receive incorrect configurations from the host system. This makes
sure the build uses the correct configurations detected by ./configure.

Fixes #9357.
2021-08-13 15:43:36 +02:00
TheFightingCatfish 2fbeacb9e7 Ports: Use TextEditor and less as git's default editor and pager 2021-08-13 15:43:36 +02:00
Kenneth Myhra 6ace2187e2 Ports/stress-ng: Remove custom pause function from patch
This removes the custom pause function in patch so that we can use our
own LibC pause function.
2021-08-13 07:54:26 +02:00
Jean-Baptiste Boric 072961090f Ports: Add cc symlink to gcc port 2021-08-12 18:56:30 +02:00
Jean-Baptiste Boric c9d287b226 Ports: Add awk symlink to mawk port 2021-08-12 18:56:30 +02:00
roytam1 8545bd5fdb Ports/ed: Make the configure script use the target toolchain
With this patch, ed's configure script will not override
CC and *FLAGS if they are not unset.
2021-08-11 08:41:17 +02:00
Kenneth Myhra 3e0d0847b6 Ports: Compile ncurses as a shared library
This sets the --with-shared switch for the configure script so that
ncurses is compiled as a shared library in addition the default which is
a static library.
Without the --with-shared switch ncurses will only be compiled as a
static library.

To properly set the environment variables LOCAL_LDFLAGS and
LOCAL_LDFLAGS2,  a case in the configure script had to be updated to
include '*serenity*'.
2021-08-09 20:08:36 +02:00
roytam1 6de6dff5b9 Ports: Add missing fnmatch patch for diffutils
It requires FNM_EXTMATCH in order to build.

This patch is based on an existing patch for gettext
(Ports/gettext/patches/fnmatch.patch).
2021-08-09 17:56:29 +01:00
Gunnar Beutner a29c18f969 Toolchain+Ports: Let -nostdlib make us not link against libgcc_s
For now this is not a mandatory toolchain rebuild.
2021-08-08 16:41:51 +02:00
Linus Groh 81784afbe1 Ports: Fix Python's expected SHA256 sum
Fixes #9265.
2021-08-07 15:10:50 +01:00
Jelle Raaijmakers d2379dfe96 Ports: Add PHP entry to taskbar menu 2021-08-04 13:54:08 +01:00
Jelle Raaijmakers a76c208bae Ports: Support icons for launchers with arguments 2021-08-04 13:54:08 +01:00
Jelle Raaijmakers 8493477cc7 Ports: Convert only first index of ico files
When installing an icon, we fall back to a resizing strategy when an
exact match on the image dimensions is missing. However, if we are
dealing with an `.ico` file with multiple indices, `convert` will
resize every separate index and will create multiple files.

This changes makes sure we only resize the first index. A future
improvement could be to select an index most closely matching the
requested dimensions.
2021-08-04 13:54:08 +01:00
Jelle Raaijmakers 546af2d9ef Ports: Notify user of missing ImageMagick binaries 2021-08-04 13:54:08 +01:00
Linus Groh 18f507520e Ports: Update Python to 3.10.0rc1
Released on 2021-08-02.
https://www.python.org/downloads/release/python-3100rc1/

This contains the first upstreamed change for SerenityOS, making the
webbrowser module work with Browser out of the box :^)
2021-08-03 21:01:07 +01:00
Linus Groh 5a0a426c18 Ports: Make Python version check work with suffixed versions
E.g. a1, b1, rc1. Simply don't parse anything beyond major and minor.
2021-08-03 21:01:07 +01:00
Linus Groh a613e00caa Ports: Change Python's auth_type to sha256 2021-08-03 21:01:07 +01:00
Kenneth Myhra cb9de1d741 Ports: Bump pkgconf from version 1.7.3 to 1.8.0 2021-08-02 00:35:35 +02:00
Luke 4ca14d6e67 Ports: Update OpenSSL to 1.1.1k 2021-07-30 20:49:56 +02:00
Luke dc34cbe28b Ports: Update curl to 7.78.0 2021-07-30 10:23:33 +02:00
Luke 999448066f Ports: Update bash to 5.1.8
Also switches to using a sha256 signature check.
2021-07-29 19:35:03 +01:00
Jelle Raaijmakers 6eb3bfb171 Ports: Update PHP to version 8.0.8 2021-07-29 15:58:38 +02:00
Jelle Raaijmakers 0d75637ffa Ports: Add readline support to PHP 2021-07-29 15:58:38 +02:00
Jelle Raaijmakers 16dbba3b8f Ports: Force cross compiling for zlib
By setting `--uname=Linux`, we tell `configure` to use the right tools
for cross compilation. Without this on e.g. macOS it would try to use
XCode's `libtool` which would then fail.
2021-07-29 15:58:38 +02:00
Jelle Raaijmakers 5bb64c57f9 Ports: Use sha256 sig check for zlib 2021-07-29 15:58:38 +02:00
Jelle Raaijmakers 79066e4b03 Ports: Remove outdated patch for OpenSSL
Additionally, this patch failed to apply on some versions of `patch`
since it was a git diff instead of a `diff -u` patch.
2021-07-29 15:58:38 +02:00
Jelle Raaijmakers c9c3f6c20f Ports: Use sha256 sig check for readline 2021-07-29 15:58:38 +02:00
Jelle Raaijmakers 8ab0518712 Ports: Use sha256 sig check for libiconv 2021-07-29 15:58:38 +02:00
Luke 0a8209ab81 Ports: Add MPC
Required to build the toolchain inside Serenity.
2021-07-28 21:55:00 +02:00
Luke 36af58c187 Ports: Add MPFR
Required to build the toolchain inside Serenity.
2021-07-28 21:55:00 +02:00
Luke 6fe8d1da97 Ports: Add more spacing for the name column in AvailablePorts.md 2021-07-28 21:55:00 +02:00
Gunnar Beutner 5df8c274bb Toolchain+Ports: Fix building ports on x86_64
Fixes #8377.
2021-07-28 21:28:31 +02:00
Gunnar Beutner a11070ab15 Ports: Update GCC to version 11.2.0 2021-07-28 21:28:31 +02:00
Gunnar Beutner f7d772282d Ports: Use SHA256 to verify file integrity for binutils
There's no point in using a keyring file we just downloaded from the
same file mirror to verify the authenticity of the binutils tarball.

If someone were to compromise the file mirror they could just as easily
replace the keyring file and we'd happily tell the user that their copy
of binutils is genuine.
2021-07-28 21:28:31 +02:00
Gunnar Beutner edce9153af Ports: Update binutils to version 2.37 2021-07-28 21:28:31 +02:00
Gunnar Beutner 9252addf55 Ports: Make libxml2 work when Python is installed
Building libxml2 fails when Python was previously installed.
2021-07-28 19:02:41 +02:00
Gunnar Beutner 12bfc7b3fc Toolchain+Ports: Ignore -arch on macOS M1 hosts
CMake specifies -arch arm64 for our toolchain. Unfortunately that's an
option GCC only understands when built for macOS. This causes the build
to fail.

I haven't been able to get CMake to not specify that option so this adds
a dummy option to GCC.
2021-07-24 14:04:13 +02:00
Kenneth Myhra cc45ccbd9b Ports: Add ScummVM game Soltys 2021-07-22 22:30:55 +02:00
Kenneth Myhra d84102de99 Ports: Add ScummVM game Sfinx 2021-07-22 22:30:55 +02:00
Kenneth Myhra caca5b0b3e Ports: Add ScummVM game Nippon Safes Inc 2021-07-22 22:30:55 +02:00
Kenneth Myhra 924930f357 Ports: Add ScummVM game Lure of the Temptress 2021-07-22 22:30:55 +02:00
Kenneth Myhra 8853d94032 Ports: Add ScummVM game DreamWeb 2021-07-22 22:30:55 +02:00
Kenneth Myhra 59e303cc54 Ports: Add ScummVM game Dráscula: The Vampire Strikes Back 2021-07-22 22:30:55 +02:00
Kenneth Myhra 281cff7845 Ports: Add ScummVM game Hi-Res Adventure #1: Mystery House 2021-07-22 22:30:55 +02:00
Kenneth Myhra bcd96df2ac Ports: Add ScummVM game The Griffon Legend 2021-07-22 22:30:55 +02:00
Kenneth Myhra f11fc28351 Ports: Add ScummVM game Flight of the Amazon Queen
This adds the ScummVM game Flight of the Amazon Queen.

Since all files are on the root of the zip file we utilize 'pre_fetch'
to create the directory 'workdir'. In 'post_fetch' we move all the files
into 'workdir' except for the zip file and 'package.sh'. Doing this lets
us use the 'clean' command without any modifications.
2021-07-22 22:30:55 +02:00
Kenneth Myhra f7161b03ca Ports: Add overridable pre_fetch method in .port_include.sh
This adds an overridable pre_fetch method which is called from the fetch
method at the very beginning.

The pre_fetch method can be overridden in your package.sh script so that
you can do any necessary preparations before the fetch method is called.
2021-07-22 22:30:55 +02:00
Linus Groh 84efed502a Ports: Add a launcher for Python
We're even downloading an additional older icon from the git repo
instead of using their current ones for accurate look and feel :^)
2021-07-20 00:58:26 +01:00
Linus Groh b8cd6ae02e Ports: Use "launcher_run_in_terminal=true" instead of "Terminal -e ..." 2021-07-20 00:58:26 +01:00
Linus Groh 6b9e0d98d9 Ports: Add launcher_run_in_terminal package.sh variable
This is being used to generate the RunInTerminal entry in launcher app
files.
2021-07-20 00:58:26 +01:00
Kenneth Myhra 157fccfe7b Ports/dosbox-staging: Change 'serenity*' build target to '*serenity*'
The serenity build target in config.sub did not match
'i686-pc-serenity'. This commit changes the build target from
'serenity*' to '*serenity*'.
2021-07-19 16:59:56 +02:00
Kenneth Myhra 777e103908 Ports: Bump libarchive from version 3.4.0 to 3.5.1 2021-07-19 16:24:15 +02:00
Kenneth Myhra 37543234ce Ports: Bump libffi from version 3.3 to 3.4.2 2021-07-19 10:45:47 +02:00
Kenneth Myhra d60f617644 Ports: Add Launcher for Epsilon 2021-07-15 01:47:51 +02:00
Kenneth Myhra 6fa4eb7c8e Ports: Add missing dependency 'freetype' for Epsilon 2021-07-15 01:47:51 +02:00
Joachim Le Fournis 1420549abf Ports: Add epsilon 15.5.0 2021-07-14 05:27:25 +02:00
pancake eb7b755937 Ports: Add vlang weekly.2021.28 package 2021-07-13 23:30:59 +02:00
Linus Groh c77215fc61 Ports: Build Python with ncurses and termcap
Neither the _curses nor the termios module builds to completion
currently due to some missing functions, but we can let it try
nonetheless - it'll likely get fixed at some point :^)
2021-07-10 11:13:02 +01:00
Linus Groh b2d68913d3 Ports: Build Python with sqlite
This makes the _sqlite3 module work :^)
2021-07-10 11:13:02 +01:00
Linus Groh 3b863561d7 Ports: Build Python with bzip2
This makes the _bz2 module work :^)
2021-07-10 11:13:02 +01:00
Linus Groh 5e3af8b7db Ports: Build Python with readline
This provides a *much* improved REPL experience :^)
2021-07-10 11:13:02 +01:00
Linus Groh 123c2f2f7f Ports: Add a patch for Python's setup.py to consider /usr/local
This makes it find more includes and libraries than by default when
crosscompiling.
2021-07-10 11:13:02 +01:00
Linus Groh 96331d7d87 Ports: Export CC with added --sysroot for building Python
This is used in the setup.py file when adding include and lib paths to
the list when crosscompiling, if it's not found in any of the checked
environment variables they don't get added.
2021-07-10 11:13:02 +01:00
Linus Groh 2c78fa066f Ports: Remove Python setlocale patch that's no longer needed
Since 4cd45f5, setlocale() always pretends to succeed.
2021-07-09 20:14:08 +01:00
Ali Mohammad Pur 67362b1f85 Ports: Make the CMake port use the LibUV port
Now that we've ported libuv, we can remove the libuv patches from cmake
and make it use the ported libuv.
2021-07-09 15:36:50 +02:00
Ali Mohammad Pur fcd56f2172 Ports: Add libuv
We've had a half-arsed port of libuv inside the cmake port, but let's
just port it properly.
Note that this pins a specific commit (which is currently the latest
commit in their default branch).
2021-07-09 15:36:50 +02:00
modmuss50 1b4138e687 Ports: Fix building gcc on arm64 macs 2021-07-08 16:07:14 +02:00
pancake f1266335e7 Ports: Add './package.sh shell' to get a shell with the build env set 2021-07-08 15:42:51 +02:00
pancake 633dc74606 Ports: Add radare2-5.4.0-git package 2021-07-08 14:34:08 +02:00
Linus Groh 116f1c5c56 Ports: Update Python to 3.9.6
Released on 2021-06-28.
https://www.python.org/downloads/release/python-396/
2021-07-07 20:24:48 +01:00
Andreas Kling 4ad389d0d6 Ports: Add a missing pipe character to AvailablePorts.md 2021-07-07 21:21:37 +02:00
Andreas Kling cf77d6aa98 Ports: Add r0 to AvailablePorts.md 2021-07-07 21:08:54 +02:00
pancake 4ac8d9c2ac Ports: Add minimalistic r0 hexadecimal editor 2021-07-07 20:27:15 +02:00
Gunnar Beutner 148679d1b5 Ports: Update gcc patch to match the toolchain 2021-07-06 19:08:22 +02:00
Gunnar Beutner 43e46df561 Ports: Remove obsolete patches for ninja 2021-07-04 00:35:35 +02:00
Gunnar Beutner ef4efce897 Ports: Remove obsolete patches for libexpat 2021-07-04 00:35:35 +02:00
Gunnar Beutner 27005fe846 Ports: Remove obsolete patches for cmake 2021-07-04 00:35:35 +02:00
Gunnar Beutner 12c98105bc Ports: Remove obsolete patches for chester 2021-07-04 00:35:35 +02:00
Gunnar Beutner 8c062e8bef Ports: Remove obsolete patches for bc 2021-07-04 00:35:35 +02:00
Gunnar Beutner 18ae608815 Ports: Remove obsolete patches for libicu 2021-07-04 00:35:35 +02:00
Liav A 0259781402 Ports: Fix dmidecode patches
Since we have a SysFS now, we can just let dmidecode to read the DMI
blobs from it.
2021-06-29 20:53:59 +02:00
Daniel Bertalan f68932cac1 Ports: Bump nano to version 5.8 2021-06-21 12:21:03 +02:00
breakgimme 995594b403 Ports: Add libpng to dependencies of dosbox-staging 2021-06-20 01:50:20 +01:00
Gunnar Beutner 94f56b5f6d Ports: Add port for DOSBox Staging 2021-06-18 16:35:15 +02:00
Gavin Downard 3c6d99f696 Ports: Fix less by disabling wctype
The commit c2b47c067 (LibC: Add stubs for wctype and iswctype,
2021-05-27) introduced the wctype.h header, which caused the less port
to try to build with wchar support. This patches the header generated by
the configure script to remove wchar support.
2021-06-18 10:19:00 +02:00
Gunnar Beutner 8ba0533138 Ports: Add port for DungeonRush 2021-06-16 20:08:13 +02:00
Gunnar Beutner d7f0d5ffb8 Ports: Disable gettext support for libiconv
libiconv and gettext have a circular dependency. In an ideal world we'd
build libiconv without gettext support first, then gettext and finally
libiconv again with gettext support.

However, if the libiconv port detects gettext on the host system while
the gettext port hasn't been built yet things break.

This disables gettext support for the libiconv port for now.
2021-06-16 20:08:13 +02:00
Gunnar Beutner dd35bd158e Ports: Add port for SDL2_net 2021-06-16 20:08:13 +02:00
Brian Gianforcaro 13dc26eb0f Ports: Remove note about ssh needing port numbers explicitly specified
This is no longer true, I'm not sure where this got fixed, but I can
successfully connect via IP without specifying a port number using
the latest HEAD of master.
2021-06-16 10:38:12 +02:00
Pavel Safar c38f051bf7 Ports: Adds Another World VM interpreter implementation 2021-06-14 12:19:54 +01:00
Jelle Raaijmakers ba7e025320 Ports: Add Composer 2021-06-13 17:06:45 +01:00
Jelle Raaijmakers ed62fc9a43 Ports: Update diffutils to version 3.7 2021-06-13 17:05:03 +01:00
Jelle Raaijmakers 77e085d8c4 Ports/OpenSSL: Switch to sha256 signature check 2021-06-11 11:33:36 +02:00
Jelle Raaijmakers c5ece5e787 Ports/OpenSSL: Use install_prefix to fix resource install
The `--openssldir` parameter was causing OpenSSL to search for its
resources in the wrong location, e.g.:

  `/serenity/Build/i686/Root/usr/local/ssl/...`

By using `--install_prefix`, the build system understands where to put
the OpenSSL files and does not leak the build path into the compiled
binaries.
2021-06-11 11:33:36 +02:00
Jelle Raaijmakers b6c1f0af5d Ports/OpenSSL: Remove test statement 2021-06-11 11:33:36 +02:00
Jelle Raaijmakers 8cc8c64ef5 Ports/OpenSSL: Remove unnecessary patch 2021-06-11 11:33:36 +02:00
Egor Ananyin 023df8e596 Ports: Add LLVM port 2021-06-10 20:21:08 +01:00
Egor Ananyin 142f9db5bd Ports: Add pre_fetch to .port_include.sh 2021-06-10 20:21:08 +01:00
Thiago Henrique Hupner d0bed24ca1 Ports: Add ZSH port 2021-06-09 19:41:23 +01:00
Jelle Raaijmakers 8b1d4d1b8e Ports: Build an .so file for SQLite 2021-06-09 20:04:25 +02:00
Jelle Raaijmakers 832127121b Ports: Update SQLite to version 3.35.5 2021-06-09 20:04:25 +02:00
Jelle Raaijmakers 340f6cde2d Ports: Use shared icon logic for ScummVM 2021-06-09 18:53:21 +02:00
Gunnar Beutner a4d5745e2f Ports: Remove checksum for the stpuzzles port
The Git repository is hosted on GitHub and is owned by the SerenityOS
GitHub organization which means our root of trust is GitHub anyway
(where did you get _this_ repository from?) So let's remove the
checksum.
2021-06-09 17:39:00 +04:30
Gunnar Beutner a5e6a373cc Ports: Embed icons for the stpuzzles port 2021-06-09 17:39:00 +04:30
Max Trussell b889bfe0f6 Ports: .port_include.sh add install_icon function 2021-06-09 17:37:56 +04:30
Jelle Raaijmakers efae7b7748 Ports/ScummVM: Add freetype, libiconv, libjpeg and libpng to build deps 2021-06-08 17:29:57 +02:00
Jelle Raaijmakers 4bf9f334d5 Ports/ScummVM: Use SERENITY_INSTALL_ROOT instead of _BUILD_DIR 2021-06-08 17:29:57 +02:00
Jelle Raaijmakers 774fb4dede Ports: Make curl detect our OpenSSL port
Without a proper prefix, the `configure` script will probably pick up
the host's OpenSSL library. This change makes sure the script always
looks at the library present in the Serenity build dir.
2021-06-07 22:43:43 +02:00
Jelle Raaijmakers 5183952d1d Ports: Add Beneath a Steel Sky 2021-06-07 19:04:57 +02:00
Gunnar Beutner 988dfa7f33 Toolchain+Ports: Fix building binutils on FreeBSD
This imports the upstream patch from
https://sourceware.org/bugzilla/show_bug.cgi?id=27382

Fixes #7407.
2021-06-07 09:51:12 +02:00
Gunnar Beutner 6591d423d4 Ports: Install launcher for Freeciv 2021-06-06 20:31:38 +02:00
Kenneth Myhra 4ca4c43cbd Ports/freeciv: Add missing dependencies SDL2_gfx and curl (libcurl) 2021-06-06 18:22:56 +02:00
Edwin Hoksberg 6a15bd06cb Ports: Fix zlib include directory for libzip 2021-06-06 17:45:15 +02:00
Timothy 65d4ac1c14 Ports: Add sam 2021-06-06 00:17:37 +01:00
Jelle Raaijmakers e72e621d89 Ports/PHP: Enable OpenSSL extension 2021-06-05 13:02:13 +02:00
Jelle Raaijmakers fccba571a2 Ports/PHP: Disable PCRE JIT
The PCRE JIT creates memory that needs to be readable, writable and
executable at the same time. Serenity does not like this, so disable
it. This JIT is of limited use for the current applications of PHP
within Serenity anyway :-)
2021-06-05 13:02:13 +02:00
Jelle Raaijmakers 012a5b145b Ports/PHP: Enable Zlib extension 2021-06-05 13:02:13 +02:00
Jelle Raaijmakers 64e2e2cff3 Ports/PHP: Enable Phar extension 2021-06-05 13:02:13 +02:00
Gunnar Beutner aec941b46c Ports: Add port for freeciv 2021-06-05 10:56:37 +02:00
Gunnar Beutner 431bed5158 Ports: Specify missing library when linking SDL2_ttf 2021-06-05 10:56:37 +02:00
Gunnar Beutner 7e1f413a89 Ports: Build shared library for freetype 2021-06-05 10:56:37 +02:00
yegor 6f0092edb8 Ports: fix gcc for mac users
BSD sed differs from GNU sed with the `-i` option.
This commit changes the sed line in package.sh to be
portable across macOS and Linux.
2021-06-05 10:56:04 +02:00
Jelle Raaijmakers 18a5ac1e66 Ports: Enable PHP XML extensions 2021-06-04 19:10:58 +02:00
Jelle Raaijmakers 93e605e415 Ports: Add libxml2 2021-06-04 19:10:58 +02:00
Jelle Raaijmakers 977addf76d Ports/PHP: Enable SQLite3 and iconv extensions 2021-06-04 13:03:13 +02:00
Jelle Raaijmakers a446530c0d Ports: Embed ScummVM icons into the binary
Slightly inspired by 9c0cfede.
2021-06-04 12:54:27 +02:00
Jelle Raaijmakers 280785f0fa Ports: Add PHP 2021-06-04 10:39:41 +02:00
Gunnar Beutner 9c0cfede59 Ports: Embed icon into the Super Mario port 2021-06-04 09:38:25 +02:00