Commit graph

882 commits

Author SHA1 Message Date
Jelle Raaijmakers 11f1753be1 Ports: Unset env vars after configure in php
These environment variables would linger after the `php` port was done
building. This would pose issues in the future if other ports depend on
this package, since these vars then leak into the build scripts.
2022-01-08 00:45:49 +01:00
Jelle Raaijmakers 40737341a8 Ports: Update php port to version 8.1.1 2022-01-08 00:45:49 +01:00
Jelle Raaijmakers 5293832fc3 Ports: Reinstate config.sub patch for libogg
Commit fee43e3544 broke the `libogg` port build by removing the
`config.sub` patch. This reinstates that patch.
2022-01-08 00:24:23 +01:00
Martin Bříza ddeacce905 Ports/qt6: Add qt6-serenity
And this is the platform plugin we need to run Qt6 apps properly
2022-01-07 18:38:32 +01:00
Martin Bříza ac762c5520 Ports/qt6: Add a very basic Qt6 Base package
It's necessary to have a working serenity platform plugin for it to work
with GUI applications
2022-01-07 18:38:32 +01:00
Erlend Lind Madsen aa6e5e8cdc Ports: Describe in README that 'depends' is an array
The README previously described `depends` as a space-separated
string. This is now changed to an array, which seem to be the
correct type used in the other Ports.
2022-01-07 14:57:50 +03:30
Brian Gianforcaro e2e9560580 Ports/stress-ng: Remove patches which disable lchown testing
Serenity's LibC now supports lchown, so we no longer need to disable
these stressors. The port can build and run cleanly without these
patches.
2022-01-06 18:52:26 -08:00
Brian Gianforcaro c21622ff4d Ports/stress-ng: Update to the latest version - v0.13.10 2022-01-06 18:52:26 -08:00
Noah Rosamilia f3b5f03b2a Ports: Add npiet
Add interpreter for piet programming language
https://www.bertnase.de/npiet/
https://www.dangermouse.net/esoteric/piet.html
2022-01-07 02:12:51 +01:00
Noah Rosamilia e570f9abc5 Ports: Add libgd
Required for npiet port
2022-01-07 02:12:51 +01:00
Rafał Babiarz ea90a1ebac Ports: Add liboggz port 2022-01-06 23:19:20 +01:00
Tim Schumacher fa902cd5d5 Ports: Fix the sha256sum for libjpeg
While the modification time still points back to 2020, it looks like the
tarball got updated secretly.
2022-01-05 22:53:53 -08:00
Rafał Babiarz fee43e3544 Ports: Updated libogg to version 1.3.5 2022-01-05 16:35:49 -08:00
Daniel Bertalan 84c6d6649e Toolchain: Fix building the aarch64 toolchain
The `aarch64/t-aarch64` makefile fragment needs to be included for the
aarch64-specific parts of GCC to be built. Before 738e52da5, this was
done implicitly, but now it is not. This caused the following error when
building the toolchain: "aarch64-builtins.o: No such file or directory".
2022-01-04 17:40:09 +00:00
Andrew Kaster 4dc538da0e Ports: Remove build-crt patch from llvm
This patch has been integrated into the toolchain.patch file.
2022-01-03 11:08:45 +00:00
Liav A 4abc2f669a Ports: Add pfetch utility
This is a nice and small utility that prints system info based on POSIX
interfaces only.
2022-01-01 17:35:17 +00:00
Jelle Raaijmakers 8d8f74e334 Ports: Implement SDL_QUIT event in Tux Racer
This allows the user to close Tux Racer by closing the window.
2021-12-30 14:24:29 +01:00
Brian Gianforcaro e308536005 Ports/gdb: Add basic ptrace based native target for SerenityOS/i386
This patch adds a ptrace based gdb backend, which is then enlightended
to known how to read the serenity i386 registers via ptrace.

This is just a basic implementation to get the port bootstrapped.
2021-12-29 03:17:41 -08:00
Brian Gianforcaro 6137b9f272 Ports/gdb: Fix compiler -fpermissive warnings from using latest GCC
These are compilation errors coming form upstream gdb.
2021-12-29 03:17:41 -08:00
Daniel Bertalan 9f2e8683de Ports/gdb: Use mmap instead of malloc for sigaltstack()
Stack regions can't be made volatile, which makes it impossible for
malloc to manage memory that's used for `sigaltstack()`. Let's use mmap
instead.

Co-authored-by: Idan Horowitz <idan.horowitz@gmail.com>
2021-12-29 03:17:41 -08:00
Brian Gianforcaro bd3bbd0329 Ports: Add initial GDB 11.1 port
This builds and runs, but crashes when you attempt to try to debug
something at the moment.
2021-12-29 03:17:41 -08:00
Brian Gianforcaro ec21edb602 Ports: Update stress-ng port to 0.13.09
This change updates the port to the latest version, as part of that work
I basically reported the application, as we have added a lot of LibC
functionality which we were missing before. I've also updated the port
to mark stressor's we don't support as nops, instead of trying to avoid
compiling them at all. This will make the port much easier to maintain
in the future.
2021-12-28 11:00:51 +01:00
Javier Alvarez 4b47daaadc Ports: Make lua buildable on x86_64
Our lua Makefile patch contained hardcoded binaries from the i686
toolchain. Use the CC, AR, and RANLIB variables from .port_include.sh
instead to make it architecture independent.
2021-12-28 00:24:32 +01:00
Jelle Raaijmakers b3672236bd Ports: Add Tux Racer
The patches take care of a port from SDL1 to SDL2 and replace the
keyboard mapping logic, which will otherwise take a whopping 16 GiB of
memory to run.
2021-12-27 11:58:43 +01:00
Jelle Raaijmakers 02647fd485 Ports: Add Mesa GLU
This is a dependency for Tux Racer, and is compiled against Serenity's
LibGL.
2021-12-27 11:58:43 +01:00
Jelle Raaijmakers ce37c138b4 Ports: Compile SDL2_mixer with libmodplug support 2021-12-27 11:58:43 +01:00
Daniel Bertalan dbdb6abdb9 Ports/libuv: Fix build failure due to missing statfs() function
In 43c27e8, I mistakenly deleted the patch that removed calls to the
statfs() function, which we do not have. This made building the port
with a clean source tree fail.

This commit changes `libuv` to use our statvfs() function instead.
2021-12-27 02:02:03 -08:00
Daniel Bertalan d70595c09e Ports/tr: Remove obsolete getopt.h patch 2021-12-24 17:02:40 +03:30
Daniel Bertalan 05ce5d82fe Ports/stress-ng: Remove obsolete patches
The following features are now available in the system, making these
patches unnecessary:
- isblank() function
- SIGSTKSZ constant
- MS_SYNC and MS_ASYNC msync() flags
- EDQUOT errno constant
2021-12-24 17:02:40 +03:30
Daniel Bertalan 1c054ac56e Ports/mrsh: Remove obsolete PIPE_BUF patch
We now have this macro in LibC.
2021-12-24 17:02:40 +03:30
Daniel Bertalan 7893ae4233 Ports/mandoc: Remove obsolete patches
Since the creation of the port, we gained support for nanosleep(),
WSTOPSIG(), and the getopt family of functions is now available in
unistd.h.
2021-12-24 17:02:40 +03:30
Daniel Bertalan 29960faf20 Ports/m4: Remove obsolete wint_t patch 2021-12-24 17:02:40 +03:30
Daniel Bertalan de5937b45e Ports/m4: Fix build error
The addition of the siginfo() function to LibC caused this port to
enable its stack overflow detection feature which, however, depends on
more features that we don't have.
2021-12-24 17:02:40 +03:30
Daniel Bertalan 5b8098497e Ports/libxml2: Remove obsolete ESHUTDOWN errno patch 2021-12-24 17:02:40 +03:30
Daniel Bertalan 43c27e891b Ports/libuv: Remove obsolete statfs/pwrite patch 2021-12-24 17:02:40 +03:30
Daniel Bertalan a28ad600f2 Ports/libicu: Remove obsolete <cmath> header patch
All issues with `cmath` have been resolved quite some time ago, and
ICU seems to build without issues.
2021-12-24 17:02:40 +03:30
Daniel Bertalan f35b6ee3fc Ports/emu2: Remove obsolete scandir patch 2021-12-24 17:02:40 +03:30
Daniel Bertalan ff4787ad2d Ports/chester: Enable -Werror
We no longer emit compiler warnings on deprecated/unsafe functions like
strcpy, so building more ports with -Werror is possible.
2021-12-24 17:02:40 +03:30
Daniel Bertalan 9418d4bf25 Ports/byacc: Remove obsolete getopt.h patch
We (correctly) declare getopt() and the related variables in unistd.h,
so this patch is unnecessary.
2021-12-24 17:02:40 +03:30
Daniel Bertalan 55a42906a7 Ports: Remove obsolete /dev/tty patches 2021-12-24 17:02:40 +03:30
Ali Mohammad Pur 39b5bb4162 Ports: Upgrade CMake to 3.22.1
That's the latest release, and includes one of the patches we had - so
we can drop that patch :^)
2021-12-24 17:01:10 +03:30
Daniel Bertalan e539a1d077 Ports/cmake: Remove obsolete conflicting declaration patches
I'm not quite sure why, but CMake compiles fine without these.
2021-12-24 17:01:10 +03:30
Ali Mohammad Pur f7b399da44 Ports: Fix the conflicting types issue in the cmake port
This patch is pending upstream, but until then, let's keep it locally to
make the port work :^)
2021-12-24 17:01:10 +03:30
Brian Gianforcaro 4490668af2 Ports: Add fio port
fio allows you to test various different IO subsystems and patterns.
It can help us test and benchmark the I/O subsystems of Serenity.

This port gets the fio bootstrapped and working, using the included
.fio file, I have been able to test the file I/O performance already.
2021-12-22 13:28:13 -08:00
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