Commit graph

677 commits

Author SHA1 Message Date
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
Gunnar Beutner 46de51f467 Ports: Create launchers for the stpuzzles port
This changes the .port_include.sh script so that ports can more easily
create more than one launcher by making the install_launcher function
available to the port's package.sh script.

This creates launchers for the stpuzzles port in the Games/Puzzles
category.
2021-06-04 09:38:25 +02:00
Gunnar Beutner 101e4233b8 Ports: Don't set the current working directory in the launcher script
This removes the hack for launching Super Mario.
2021-06-04 09:38:25 +02:00
Gunnar Beutner 8c18c7e4c2 Ports: Don't crash when starting uMario outside of /opt/Super_Mario
Previously this port would just crash. There was a workaround in
the way the app launcher started the game but I'd really like to
get rid of that hack.
2021-06-04 09:38:25 +02:00
John Brehm 2dfd95767a
Ports: Add p7zip 2021-06-04 08:21:33 +01:00
Oleg Kosenkov 971523621c
Ports: Add opentyrian and opentyrian-data 2021-05-31 19:01:49 +01:00
Egor Ananyin ed89cd93aa Ports: Add Simon Tatham's Puzzle Collection 2021-05-31 18:44:56 +01:00
Tim Schumacher 040d2479bf Ports: Add port for wget 2021-05-30 14:56:50 +01:00
Gunnar Beutner 0ee8c1ed27 Ports: Install mbedtls into the right directory and build shared libs
Previously we'd install mbedtls into /lib, /include, etc. Instead we
should install this port into /usr/local/lib.

This also builds shared libraries for this port.
2021-05-28 16:40:02 +01:00
Andreas Kling 993211f184 Ports: Bump curl to 7.77.0 :^) 2021-05-27 08:48:29 +02:00
Linus Groh c1b2813ddf Ports: Only do build check for configure, build, and install steps
This was breaking ports linting, which runs the script with the
'showproperty' option. This check is not needed for some other options
as well, so let's do it conditionally.
2021-05-20 20:04:58 +01:00
Linus Groh 068ddf4513 Ports: Add build completion sanity check to .port_include.sh
Simply by checking whether a built libc.so exists, we should be able to
avoid strange build errors where that's not the case and just tell the
user upfront.

Fixes #7309.
2021-05-20 19:41:45 +01:00
Gunnar Beutner cdb0a08946 Ports: Build shared libraries for the GnuPG libraries
This builds all the GnuPG libraries as shared libraries so that -lintl
is linked when building the final GnuPG executable.
2021-05-19 22:45:02 +02:00
Gunnar Beutner 6808cd1915 Ports: Remove dns and getpw pledges for the OpenSSH client
These are not valid flags for SerenityOS.
2021-05-18 16:33:48 +02:00
Ömer Kurttekin cab821cd22
Ports: Update the packages.db directory in README
"packages.db" used to be directly in the "Build" directory but it has
been moved to "Build/i686/Root/usr/Ports/" in 6877a5b.
2021-05-16 22:52:51 +01:00
nooga da4928feea Ports: Add port for Brogue (BrogueCE) 2021-05-15 10:13:43 +01:00
Tim Schumacher 3ba3d2ddfd Ports: Add libiconv dependency to gettext
libiconv is explicitly linked later and required by gettext as well.

Add it to the dependencies to make builds in a clean environment work.
2021-05-15 09:01:55 +02:00
Gunnar Beutner e9a8646d3e Ports: Add missing dependencies for openttd 2021-05-12 08:37:07 +01:00
Gunnar Beutner 83c78971e2 Ports: Fix building the libicu port
If you're on the new toolchain with std support already
you'd be unable to build libicu because <cmath> #undefs
some of the defines from <math.h> (e.g. isfinite).
2021-05-12 08:37:07 +01:00
Gunnar Beutner 659c22e17e Ports: Add missing dependency for vim
The vim port links against gettext when it's available so we
should add it as a dependency in the package.sh script.
2021-05-11 13:13:08 +01:00
Gunnar Beutner 6e2d59b49f Ports: Link gettext against libpthread
Apparently libintl uses pthread_cond_broadcast() so let's make sure
that we link it against libpthread so we don't call libc's pthread
stubs.
2021-05-11 13:13:08 +01:00
Gunnar Beutner 9909a3f015 Ports: Remove obsolete patch for flatbuffers
The patch is not neccessary anymore, in fact it breaks the build
now because we have those functions in the std namespace.
2021-05-10 20:39:19 +02:00
Gunnar Beutner a14a1f2d61 Ports: Add missing curl dependency for the git port
fixes #6724
2021-05-10 17:44:18 +01:00
Gunnar Beutner 9a41e7df2d Ports: Update build options for curl
This enables SSL support (verified to work), IPv6 (won't work for
lack of IPv6 support in the kernel) and threads.
2021-05-09 23:47:37 +01:00
Gunnar Beutner 62b76a7c95 Ports: Remove obsolete patches for openttd 2021-05-09 21:16:11 +02:00
Gunnar Beutner 76160ba3be Ports: Remove IPv6 patches for cmake 2021-05-09 21:16:11 +02:00
Gunnar Beutner 2a10257f33 Ports: Remove obsolete patches for stress-ng 2021-05-09 21:16:11 +02:00
Gunnar Beutner 2d600a8675 Ports: Add port for libopenal 2021-05-09 17:26:50 +01:00
Gunnar Beutner 8603041ed8 Ports: Add missing .so extension for ffmpeg library SONAMEs 2021-05-09 17:26:50 +01:00
Linus Groh 80a742b1b3 Ports: Remove obsolete patch for dropbear 2021-05-09 17:25:41 +01:00
Gunnar Beutner 52861226c3 Ports: Remove obsolete patches for stress-ng 2021-05-09 17:21:38 +01:00
Linus Groh 25cf59f2f6 Ports: Add note about Python webbrowser patch upstreaming 2021-05-09 17:15:15 +01:00
Linus Groh 2cbe510e89 Ports: Remove obsolete rlimit patch for Python
Stubs for getrlimit()/setrlimit() have been added in 1c3c072.
2021-05-09 17:11:02 +01:00
Gunnar Beutner b223233b15 Toolchain+Ports: Skip link tests for libstdc++v3
This makes stdlib.h and stdio.h functions available in the std
namespace for C++.

libstdc++v3's link tests can fail if you don't have an up-to-date
build directory, for example:

1. Have libc with missing _Exit symbol because you haven't done
   a build since that was added.

2. Run toolchain rebuild. libstdc++v3's configure script will
   realize that it can do link tests in general but will fail
   later on when it tries to link a program that tests for _Exit.

Even though this is a toolchain patch this does not necessarily
require rebuilding the toolchain right away. This is only required
once we start using any of these new members in the std namespace,
e.g. for ports.
2021-05-09 15:35:01 +02:00
Gunnar Beutner d301bd6732 Ports: Fix building icu
LC_MESSAGES was recently added in LibC which makes the hack in the
package.sh script unnecessary. In fact, this breaks building the
port now.
2021-05-08 20:48:23 +02:00
Gunnar Beutner b05a6a1701 Ports: Add port for gettext 2021-05-08 19:14:21 +02:00
Gunnar Beutner fc2ddd5843 Ports: Build shared libraries for ffmpeg 2021-05-08 19:14:09 +02:00
Gunnar Beutner be724f184b Ports: Link libtiff against libjpeg
Apparently libtiff uses symbols from libjpeg when that port was
previously built.
2021-05-08 19:14:09 +02:00
Gunnar Beutner 611019e938 Ports: Add port for harfbuzz 2021-05-08 19:13:42 +02:00
Gunnar Beutner 2f3ded4dfd Ports: Add port for libsodium 2021-05-08 18:12:01 +02:00
Gunnar Beutner 5093b76f85 Ports: Add port for libphysfs 2021-05-08 18:11:52 +02:00
Gunnar Beutner a2f919c760 Ports: SDL2-GNUBoy shouldn't try to link against host libs
Without this patch I'm unable to build this port because it tries
to link against my host's libgcc_s.so.
2021-05-08 00:30:30 +01:00
Rafał Babiarz 7004fab643 Ports: Add SDL2-GNUBoy Gameboy emulator 2021-05-08 00:05:04 +01:00
Gunnar Beutner 224755e6ef Ports: Update the gcc patch to match the toolchain 2021-05-07 15:35:50 +02:00
Linus Groh f1791eca13 Ports: Always set Python MACHDEP to version-less 'serenityos'
This is used for `sys.platform`, so it's important to get it right and
ideally never change it again. When not cross-compiling this would
append the `uname -r` version number, so let's explicitly override the
generated value and set it to `serenityos`. Various other systems do
this as well.
2021-05-06 16:46:43 +01:00
Linus Groh 8cfbeb78ff Ports: Remove Python printf fraction length patch
This functionality was implemented in f0fe449, making the patch
unnecessary.
2021-05-06 15:26:49 +01:00
Linus Groh 9f970c3459 Ports: Register Browser in the Python webbrowser module
This makes the following work:

    >>> import webbrowser
    >>> webbrowser.open("http://serenityos.org")

As well as this well-known easter egg:

    >>> import antigravity

Pretty cool! :^)
2021-05-06 14:26:09 +01:00
Linus Groh e76342e242 Ports: Update Python to 3.9.5
Released on 2021-05-03.
https://www.python.org/downloads/release/python-395/
2021-05-06 13:04:38 +01:00
Linus Groh 013b2c1627 Ports: Fix hatari install step
Fixes #6798.
2021-05-01 23:22:27 +02:00
Gunnar Beutner 9b2dd0f3b4 Ports: Fix building libpuffy 2021-05-01 22:52:15 +02:00
Gunnar Beutner a6201f708e Ports: Generate host keys for OpenSSH 2021-05-01 12:40:12 +02:00
Gunnar Beutner e69b729733 Ports: Use sendfd()/recvfd() for mm_send_fd()/mm_receive_fd() 2021-05-01 12:40:12 +02:00
Gunnar Beutner ce77caf479 LibC: Move crypt() and crypt_r() to the right header file
According to POSIX.1 these should be in <crypt.h>.
2021-05-01 12:40:12 +02:00
Gunnar Beutner 03f4c48de1 Ports: Disable GetPerformanceTimer() for OpenTTD
OpenTTD calls gettimeofday() so many times per second that the
game becomes unusable after joining a reasonably active network
game.
2021-05-01 09:02:57 +02:00
Jesse Buhagiar cae33305b0 Ports: QuakeII port 2021-04-30 11:35:17 +02:00
jakewestrip 81eab1a9d1 Ports: Remove SDL Timer replacement in MilkyTracker 2021-04-30 09:26:12 +02:00
jakewestrip 1ce70bb418 Ports: Fix MilkyTracker install script 2021-04-30 09:26:12 +02:00
Andreas Kling def1f1444a WindowServer: Move configuration file to /etc/WindowServer.ini
This was in the /etc/WindowServer/ directory which had nothing else in
it, so let's just get rid of the directory and move this up one step.
2021-04-29 22:16:18 +02:00
Gunnar Beutner 2f1ee91b3e Ports: Make Super Mario work with GCC 11 2021-04-29 10:33:44 +02:00
Gunnar Beutner 797cb8858a Ports: Update binutils to version 2.36.1
Otherwise linking fails when building object files with
DWARF 5 symbols.
2021-04-29 10:33:44 +02:00
Gunnar Beutner 77087780a2 Ports: Remove duplicate configopts var 2021-04-29 10:33:44 +02:00
Gunnar Beutner 669676b635 Ports: Build fix for gcc when building the port with gcc 11.1.0 2021-04-29 10:33:44 +02:00
Gunnar Beutner d2a5d76b54 Ports: Use SHA256 for the gcc port
This updates the way we verify signatures for the gcc
port because we were previously downloading the keychain
from the mirror which defeats the point of doing signature
checks.
2021-04-29 10:33:44 +02:00
Gunnar Beutner 8cd62b5780 Toolchain+Ports: Update GCC to version 11.1.0 2021-04-29 10:33:44 +02:00
Brian Gianforcaro 1d3bc482a5 Ports: Fix ports linting, ffmpeg is missing from AvailablePorts.md 2021-04-29 09:50:10 +02:00
Holden Green 0d74dffe3b Ports: ffmpeg 4.4 2021-04-29 09:34:27 +02:00
Gunnar Beutner f94f381210 Ports: Fix the SHA256 checksum for the yasm port 2021-04-29 09:29:53 +02:00
Gunnar Beutner 21ba438ad3 Ports: Remove unused signature file for the rsync port 2021-04-29 01:12:55 +02:00
Gunnar Beutner aa792062cb Kernel+LibC: Implement the socketpair() syscall 2021-04-28 14:19:45 +02:00
Jelle Raaijmakers 212c3e7f2a Ports/scummvm: Add libtheora as a dependency 2021-04-27 22:31:07 +02:00
Jelle Raaijmakers c1c6002e28 Ports: Add libtheora 2021-04-27 22:31:07 +02:00
Gunnar Beutner 0b47ea408c Ports: Change how we invoke ccache because some ports didn't use it
This prepends ccache to the PATH instead of setting CC/CXX. Doing it
this way ensures all ports use ccache because some of them didn't
before.
2021-04-27 18:01:43 +02:00
Gunnar Beutner 7576761543 Ports: Use HOST_PATH when updating the PATH variable
Previously we'd just append to the existing PATH environment variable
rather than resetting it to HOST_PATH first.
2021-04-27 18:01:43 +02:00
Gunnar Beutner 7ab68b6c83 Ports: Fix path for the tcl port's patch file 2021-04-27 17:59:52 +02:00
jake.westrip f4a05611c6 Ports: Add MilkyTracker port 2021-04-27 11:32:19 +02:00
Linus Groh 653a60cd13 Ports: Add missing SHA256 hashes to dash and zstd
We don't support hashes from external files (anymore), downloading
another file for integrity validation is pointless. As as result, these
two ports would refuse to build as their hashes were missing.

Fixes #6645.
2021-04-25 23:30:38 +02:00
Linus Groh 15cccdba7b Ports: Add readline 2021-04-25 17:29:28 +02:00
Gunnar Beutner 64d05152f7 Ports: Try to download files again when verification fails 2021-04-25 13:30:18 +02:00
Gunnar Beutner 5a3f63ea00 Ports: Remove support for algos other than sha256 and sig 2021-04-25 13:30:18 +02:00
Gunnar Beutner 5911d379a6 Ports: Update checksums to use the SHA256 algorithm 2021-04-25 13:30:18 +02:00
Gunnar Beutner 5b69e8d2c6 Ports: Build shared libraries with -Wl,-soname
Without a SONAME gcc will put the whole library path into executables
which link against these libraries:

$ readelf -d Root/usr/local/games/openttd

Dynamic section at offset 0xf0747c contains 32 entries:
 Tag        Type     Name/Value
0x00000001 (NEEDED) [libgcc_s.so]
0x00000001 (NEEDED) [/serenity/Build/i686/Root/usr/local/lib/libpng.so]
0x00000001 (NEEDED) [/serenity/Build/i686/Root/usr/local/lib/libz.so]
0x00000001 (NEEDED) [/serenity/Build/i686/Root/usr/local/lib/liblzma.so]
0x00000001 (NEEDED) [libSDL2-2.0.so.1]
0x00000001 (NEEDED) [libicui18n.so.69]
0x00000001 (NEEDED) [libicuuc.so.69]
0x00000001 (NEEDED) [libicudata.so.69]
0x00000001 (NEEDED) [libpthread.so]
0x00000001 (NEEDED) [libm.so]
0x00000001 (NEEDED) [libc.so]

This causes the executable to fail because the dynamic linker
tries to find the library in the incorrect path.
2021-04-25 10:14:50 +02:00
Gunnar Beutner 6a825510a0 Ports: Fix detection for -ldl 2021-04-25 10:14:50 +02:00
Gunnar Beutner adaf2b347c Ports: Remove obsolete patches for Python
This enables shared library support for Python and removes
a few patches which are not necessary anymore now that
we have dlfcn support.
2021-04-25 10:14:50 +02:00
Gunnar Beutner cfa095b44a Port: Add port for tcl 2021-04-25 09:54:39 +02:00
Gunnar Beutner f89c60664c Ports: Fix building openssh
This fixes a spelling mistake in the timespeccmp() macro and
enables debug symbols for OpenSSH to make diagnosing problems
easier.
2021-04-25 09:28:21 +02:00
Brian Gianforcaro 0398e4a48a Ports: Fix python3 package so linting script doesn't error out.
I have my environment configured to use https://pre-commit.com/.
I guess the scripts were changed recently to lint all ports, and
the python port was barfing on my system because of this bug.
2021-04-25 00:57:36 +02:00
Jelle Raaijmakers 4c26e318a3 Ports: Pass along any command arguments in package.sh
Commit b3db01e20 broke simple commands without arguments like:

  ./package.sh clean

Now, all available arguments are passed along, even if there are none.
2021-04-25 00:38:27 +02:00
Jelle Raaijmakers 2a0f92ef1f Ports/scummvm: Add launcher 2021-04-24 00:17:47 +02:00
Gunnar Beutner ede0d7c04f Ports: Add launcher for OpenTTD 2021-04-23 20:15:49 +02:00
Gunnar Beutner ae32abffe9 Ports: Add openttd 2021-04-23 20:15:49 +02:00
Gunnar Beutner b3db01e20e Ports: Detect more types of errors in the AvailablePorts.md file
This adds support for detecting incorrect version numbers and links
in the ports list.

Also, unlike before it doesn't parse the package.sh script but executes
it instead which allows us to detect syntax errors.
2021-04-23 16:11:48 +02:00
Gunnar Beutner fb67e99562 Ports: Fix version numbers for some of the ports 2021-04-23 16:11:48 +02:00
Gunnar Beutner e72235b981 Ports: Add launchers for some of the ports 2021-04-23 11:33:57 +02:00
Gunnar Beutner 6a957daba4 Ports: Use a specific version for frotz
The hash for the master zip file changed again. Probably because
GitLab only caches those zip files for a bit and re-generates them
with slightly different zip headers after some time even though
the repository didn't change.
2021-04-23 11:33:03 +02:00
Gunnar Beutner 3a3f47115d Ports: Shorten the build message for skipped builds
The new message for skipping builds makes it hard to
distinguish failed builds from builds that were just skipped
so change it back to the old one - but don't actually build
packages twice again.
2021-04-23 11:33:03 +02:00
Jelle Raaijmakers f54a6d273e Ports/scummvm: Build with C++11 support
This unbreaks the ScummVM port build. Some `[[noreturn]]` keywords were
added to `<assert.h>` recently and this required an additional flag to
the ScummVM configure script to fix.

Also removed the now unnecessary `export LIBS`.
2021-04-22 13:05:30 +02:00
Gunnar Beutner 4115fcc933 Ports: Build ports only once when running build_all.sh
Previously we'd end up building some ports multiple times, e.g.
as a dependency for another port. This changes the build_all.sh
script so that it builds ports only once.
2021-04-21 23:41:48 +02:00
Gunnar Beutner 8a95408673 Ports: Rename dirname to port to clarify its meaning 2021-04-21 23:41:48 +02:00
Gunnar Beutner e9604f1bd6 Ports: Add missing dependency for libgcrypt 2021-04-21 23:41:48 +02:00
Linus Groh b06f68c3d2 Ports: Fix Python _crypt module linkage error
we need to link against LibCrypt and subsubsequently LibCore (which
LibCrypt does not link against itself due to a circular dependency
issue).
Not sure why this broke, it worked when I last updated the port.
2021-04-21 23:35:35 +02:00
Brendan Coles 5f10c0628a Ports: emu2: Bump version to 2021.01 2021-04-21 15:14:10 +02:00
Gunnar Beutner 1e06a9b10f Ports: Build shared library for xz with -pthread 2021-04-20 21:08:17 +02:00
Gunnar Beutner 75d41657d5 Toolchain+Ports: Enable threads for gcc
This enables POSIX threads for GCC and makes the -pthread
argument available.
2021-04-20 21:08:17 +02:00
Linus Groh 09f8d52b00 Ports: Consistently indent with four spaces 2021-04-20 18:38:13 +02:00
Panagiotis Vasilopoulos 492f7132d2 Ports: Improve consistency and quality of ports
- Replaced /Root with
- Improved documentation.
- Removed a few typos.
- Replaced  with
- Added brackets in some cases.

Most of the changes were reviewed and applied manually.
2021-04-20 18:20:00 +02:00
Panagiotis Vasilopoulos 139288b071 Ports: Fix up imgcat 2021-04-20 17:32:10 +02:00
Gunnar Beutner 12ed436562 Ports: Remove auth_type for our own packages
Otherwise we'd have to update them in this repository
every time something changes.
2021-04-20 17:04:51 +02:00
Panagiotis Vasilopoulos e45e0eeb47 Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIR 2021-04-20 15:27:52 +02:00
Panagiotis Vasilopoulos 152c54a00a
Ports: Improve variable names in .hosted_defs.sh
- SERENITY_ROOT is being kept around for compatibility reasons, and will
  be removed gradually
- SERENITY_INSTALL_ROOT points to DESTDIR but will be preferred over
  that in the future
- SERENITY_SOURCE_DIR points to the root folder of the repository. Let's
  keep the root terminology in the directory structure sort of sense out
  of here
2021-04-19 22:43:54 +02:00
Gunnar Beutner 81f85746f6 Ports: Link libtiff against xz 2021-04-19 18:27:09 +02:00
Gunnar Beutner ca06dfd1a0 Ports: Update tarball hash for quake 2021-04-19 18:27:09 +02:00
Gunnar Beutner 14de8c2dd2 Ports: Remove obsolete patch for hatari 2021-04-19 18:27:09 +02:00
Gunnar Beutner f4bd739bd5 Ports: Link libtiff against zstd 2021-04-19 18:27:09 +02:00
Gunnar Beutner e0363a612d Ports: Fix ports when building with ccache
When building with ccache these ports failed to build because
CC contains more than one word.

The ncurses port also doesn't like how ccache preprocesses
files. This patch fixes that.
2021-04-19 18:27:09 +02:00
Gunnar Beutner 253c1aa644 Ports: Fix SDLPoP
This port was still using the upstream's master branch as opposed to
a fixed git commit.

Also, now that SDL2 is installed into /usr/local the build failed.

I have also removed an obsolete patch because we're now linking
against shared libraries for SDL2 and those already have appropriate
library dependencies.
2021-04-19 18:27:09 +02:00
Gunnar Beutner 8388e822cb Ports: Add xz port 2021-04-19 17:55:35 +02:00
Gunnar Beutner f7c9cd06ac Ports: Build shared library for libtiff 2021-04-18 16:35:00 +02:00
Gunnar Beutner 97ecdd5215 Ports: Fix the tarball hash for nasm
For some reason the hash was incorrect. Also, changed the hash
type to SHA256. We should consider deprecating everything other than
SHA256 maybe.
2021-04-18 16:35:00 +02:00
Gunnar Beutner 4104846bd1 Ports: Fix dependency and linker options for SDL2_image 2021-04-18 16:35:00 +02:00
Gunnar Beutner 33a9b2a3c3 Ports: Enable building cmake on the host 2021-04-18 11:09:44 +02:00
Gunnar Beutner 407b066ba4 Ports: Update the gcc port with the patches from the toolchain 2021-04-18 10:55:25 +02:00
Gunnar Beutner 6eedb570a2 Ports: Enable building ports with ccache 2021-04-18 10:42:41 +02:00
Brendan Coles 258a49346d Ports: AvailablePorts.md: Fix column alignment 2021-04-17 22:01:00 +02:00
Brendan Coles 8e0beda13a Ports: genemu: Pin version to latest release rather than use master branch 2021-04-17 19:25:23 +02:00
Brendan Coles 65a89ea67e Ports: vim: Pin version to latest release rather than use master branch 2021-04-17 18:29:50 +02:00
Panagiotis Vasilopoulos 40c2c24984 Ports: Add imgcat port
Co-authored-by: Linus Groh <mail@linusgroh.de>
2021-04-17 16:28:58 +02:00
Brendan Coles a89986608a Ports: c-ray: Pin version to latest commit rather than use master branch 2021-04-17 11:19:33 +02:00
Gunnar Beutner eee8352494 Ports: Fix key path for ed 2021-04-17 09:30:06 +02:00
Brendan Coles cfad6606f0 Ports: SDL2: Use correct CMAKE_TOOLCHAIN_FILE in configopts 2021-04-16 21:49:51 +02:00
Brendan Coles a206ab2211 Ports: Add auth_type verification to all package.sh files 2021-04-16 21:14:00 +02:00
Gunnar Beutner da92c0e1ca Ports: Build shared libraries for a few more ports
This manually builds shared libraries for a bunch of ports. Using
libtool would be preferable but that's currently broken so I'm
linking the shared libraries manually.
2021-04-16 19:04:24 +02:00
Gunnar Beutner c9d5358685 Ports: Make sure ports are installed into /usr/local 2021-04-16 19:04:24 +02:00
Gunnar Beutner 594d480391 Toolchain+Ports: Move the CMake toolchain file into a subdirectory 2021-04-16 19:04:24 +02:00
Gunnar Beutner 1aa34d9d6a Ports: Update the gcc port to 10.3.0 2021-04-16 17:57:22 +02:00
Gunnar Beutner 3d8311ac7b Ports: Remove obsolete patch for mrsh 2021-04-16 17:56:12 +02:00
Federico Guerinoni e9837bed33
Ports: Bump git to 2.31.1 2021-04-16 17:38:54 +02:00
Gunnar Beutner e932129e5a Ports: Use HTTPS when accessing ftpmirror.gnu.org
Unlike what the name might suggest ftpmirror.gnu.org isn't
accessible via FTP.
2021-04-15 17:06:59 +02:00
Gunnar Beutner 46d8104012 Ports: Fix download URL for libiconv 2021-04-15 17:06:47 +02:00
Gunnar Beutner 94bc886593 Ports: Make sure we're building libvorbis before SDL2_mixer 2021-04-15 09:41:32 +02:00
Brendan Coles 62ced35346 Ports: Use ftpmirror.gnu.org mirror server for GNU ports 2021-04-15 09:30:42 +02:00
Gunnar Beutner d96354f58e Ports: Remove obsolete patch for the oksh port
The patch is not necessary anymore and breaks the build
now that LibC has isblank.
2021-04-14 22:43:53 +02:00
Gunnar Beutner f62f6c2b37 Ports: Add missing dependency for the gnupg port 2021-04-14 22:43:27 +02:00
Gunnar Beutner 2ef7e757ad Ports: Enable audio for the Super-Mario port
According to @Baitinq the original port crashed with audio enabled.
I suspect that this was because the SDL2 headers didn't match between
the host and target system. Now that we properly use target's headers
this is no longer an issue so I enabled audio:

https://www.youtube.com/watch?v=ZTFvrcpZjY8
2021-04-14 22:43:13 +02:00
Brendan Coles d65e74bffa Ports: Add emu2 DOS emulator 2021-04-14 21:48:55 +02:00
Gunnar Beutner 6ac7d946be Ports: Don't export the DESTDIR variable by default
Exporting DESTDIR interferes with cmake-based ports:

Install the project...
-- Install configuration: ""
-- Up-to-date: /home/gunnar/serenity/Build/i686/Root/home/gunnar/serenity/Build/i686/Root/usr/lib/libSDL2.a
-- Up-to-date: /home/gunnar/serenity/Build/i686/Root/home/gunnar/serenity/Build/i686/Root/usr/lib/libSDL2-2.0.a
-- Up-to-date: /home/gunnar/serenity/Build/i686/Root/home/gunnar/serenity/Build/i686/Root/usr/lib/libSDL2main.a
-- Up-to-date: /home/gunnar/serenity/Build/i686/Root/home/gunnar/serenity/Build/i686/Root/usr/lib/cmake/SDL2/SDL2Targets.cmake
2021-04-14 21:46:20 +02:00
Gunnar Beutner b02f215ca7 Ports: Remove obsolete patch for tr
The tr port had its own ctype functions. With the recent LibC
changes these are no longer necessary.
2021-04-14 21:46:20 +02:00
Gunnar Beutner f0b34277bb Ports: Fix building the mrsh port 2021-04-14 21:46:20 +02:00
Gunnar Beutner 097901818e Ports: Fix building the dash port 2021-04-14 21:46:20 +02:00
Gunnar Beutner 80af81bab6 Ports: Fix building the nano port 2021-04-14 21:46:20 +02:00
Gunnar Beutner 86189bd93b Ports: Link libarchive against pcre because the system's libregex doesn't support re_nsub 2021-04-14 21:46:20 +02:00
Gunnar Beutner 97471030e7 Ports: Add port for pcre 2021-04-14 21:46:20 +02:00
Gunnar Beutner f5ccecacc5 Ports: Remove obsolete _SC_CLK_TCK patch for hatari 2021-04-14 21:46:20 +02:00
Gunnar Beutner 27befa6595 Ports: Fix building the ninja port
The build failed because the main symbol has hidden visibility.
2021-04-14 21:46:20 +02:00
Gunnar Beutner 509c5c6577 Ports: Add nethack 2021-04-14 21:46:20 +02:00
Gunnar Beutner 6a808d96b5 Ports: Add port for libicu
I was trying to port openttd which I ultimately gave up on because
too much of the C++ standard library's functionality is missing at this
point. The libicu library was a dependency for that.

In its current state the libicu port is not thread-safe because of
missing functionality in the C++ standard library (mainly std::mutex,
std::condition_variable, etc.).
2021-04-14 21:46:20 +02:00
Gunnar Beutner 28b3c8bc1d Port: Support running some configure/build commands with the host toolchain
This is useful for ports which depend on running tools on the host system.
In this case we can build the port twice - once for the host and once for
the target system.
2021-04-14 21:46:20 +02:00
Gunnar Beutner 9e9b508390 Ports: Fix building SDL2_ttf when X11 headers are installed on the host system 2021-04-14 21:46:20 +02:00
Gunnar Beutner 8874b4b4fe Ports: Make sure pkg-config only picks up packages from the target 2021-04-14 21:46:20 +02:00
Gunnar Beutner 1942c1061c Ports: Fix building the nasm port 2021-04-14 13:13:21 +02:00
Gunnar Beutner 0a600a3c36 Ports: Add gnupg port 2021-04-14 13:13:06 +02:00
Gunnar Beutner ba5710871b Ports: Add libgcrypt port 2021-04-14 13:13:06 +02:00
Gunnar Beutner 3cfc05fb8a Ports: Add ntbtls port 2021-04-14 13:13:06 +02:00
Gunnar Beutner 45f1170691 Ports: Add libgpg-error port 2021-04-14 13:13:06 +02:00
Gunnar Beutner c3aac8cbe7 Ports: Add libassuan port 2021-04-14 13:13:06 +02:00
Gunnar Beutner 700cad4508 Ports: Add libksba port 2021-04-14 13:13:06 +02:00
Gunnar Beutner 0b7079a76a Ports: Add npth port 2021-04-14 13:13:06 +02:00
Gunnar Beutner a937182254 Ports: Build the shared library for the libiconv port
I'd rather use libtool to build the library but that would
require more extensive changes to the configure script
and maybe even libtool itself. So instead I just build
it manually.
2021-04-14 13:13:06 +02:00
Gunnar Beutner 341b44b6f7 Ports: Fix building the stress-ng port 2021-04-14 13:12:52 +02:00
Tom Needham 209de3bcb3
Ports: Update nasm port to version 2.15.05 (#6292)
Fixes #6157.
2021-04-14 10:20:07 +02:00
Tom Needham 9b75b1be5f Ports: patch config.sub instead of the configure script in the yasm port 2021-04-13 21:47:11 +02:00
Gunnar Beutner 84ad8a51d3 Ports: Link curl against openssl and disable non-blocking I/O
For some reason curl complains that SSL_connect() fails when
non-blocking I/O is enabled. With blocking I/O it works just
fine though.
2021-04-12 22:44:49 +02:00
Gunnar Beutner 317b2d7f92 Ports: Remove configure option which disables getattrinfo() for curl 2021-04-12 22:44:49 +02:00
Gunnar Beutner f34d951f28 Ports: Fix for building openssh 2021-04-12 22:44:49 +02:00
Gunnar Beutner 0f98569617 Ports: Remove obsolete patches for <limits.h> 2021-04-12 22:37:34 +02:00
Peter Elliott fbbb4b3395 Ports: fallback to pro when curl is not installed 2021-04-12 14:06:24 +02:00
Peter Elliott f71102a474 Ports: Require less commands in .port_include.sh
- fallback to http with curl when https fails
- add --no-gpg-verification, which will skip gpg signature verification
2021-04-12 14:06:24 +02:00
Peter Elliott a09421f1be Ports: Don't use getaddrinfo for curl
serenity's getaddrinfo is a stub, but curl detects it anyway, and uses
it instead of gethostbyname.
2021-04-12 14:06:24 +02:00
Peter Elliott 938924f36d Meta: Add install-ports CMake target
install-ports copys the necessary files from Ports/ to /usr/Ports. Also
refactor the compiler and destiation variables from .port_include.sh
into .hosted_defs.sh. .hosted_defs.sh does not exists when ports are
built in serenity
2021-04-12 14:06:24 +02:00
Brendan Coles 9c3948ef3e Ports: Add Dialog 2021-04-12 11:24:31 +02:00
Brendan Coles 435bd841ee Ports: Add GNU libtool 2021-04-12 11:23:48 +02:00
Tom Needham ad4a4ba1c6
Ports: Add Port for the yasm assembler (#6149)
This is a required dependency for many libraries.
2021-04-11 18:25:26 +02:00
Brian Gianforcaro b6726df828 Ports: Fix Ports/README.md to match lint rule 2021-04-11 11:15:22 +02:00
Gunnar Beutner 9c8ba58029 Ports: Fix building diffutils 2021-04-11 09:51:20 +02:00
Gunnar Beutner 6e51ea1e2e Ports: Fix building the git port
Because libiconv is now buildable the configure script fails when
libiconv was installed.
2021-04-11 09:51:20 +02:00
Gunnar Beutner dc446920e0 Ports: Fix building the libexpat port 2021-04-11 09:51:20 +02:00
Gunnar Beutner 6f514b6803 Ports: Fix building the nesalizer port when SDL2 isn't installed on the host 2021-04-11 09:51:20 +02:00
Gunnar Beutner 468be9292e Ports: Fix building the dropbear port 2021-04-11 09:51:20 +02:00
Gunnar Beutner 5ae64035a6 Ports: Fix install actions for the dmidecode port when re-installing the port
When re-installing the port the symlink already exists which causes
'ln -s' to fail.
2021-04-11 09:51:20 +02:00
Gunnar Beutner 184fea5fc1 Ports: Fix building the frotz port 2021-04-11 09:51:20 +02:00
Gunnar Beutner 437a214085 Ports: Remove config opts for dash 2021-04-11 01:18:02 +02:00
Gunnar Beutner f43f4a16e7 Ports: Fix install actions for the bash port when re-installing the port
When re-installing the port the symlink already exists which causes
'ln -s' to fail.
2021-04-11 01:18:02 +02:00
Brendan Coles 1d7bec0fe7 Ports: Download GNU port archives and signatures using HTTPS 2021-04-10 21:05:20 +02:00
Brendan Coles ee25d6940f Ports: Add GnuCOBOL 2021-04-08 21:58:57 +02:00
Brendan Coles 6c3e0cc98a Ports: Add GNU Multiple Precision Arithmetic Library (GMP) 2021-04-08 09:17:42 +02:00
Linus Groh a9fa3fb095 Ports: Update Python to 3.9.4
Released on 2021-04-04 as a hotfix release superseding 3.9.3.
https://www.python.org/downloads/release/python-394/
2021-04-06 22:25:33 +02:00
Arthur Mendes 0fd50f0283
Ports: Add flatbuffers library (#6050)
The flatbuffers library is a serialization library, created by Google
for game development and performance-critical applications.
It aims to be fast and efficient.

This commit creates a port of it to SerenityOS.

The flatbuffers build process generates three things: some header files,
a library (libflatbuffers) and a schema compiler (flatc).

There are tests, but they are not compiled, because it runs the
flatbuffers schema compiler, one of the things we are cross-compiling.
The compiler will not run because the target is different from the host
2021-04-06 17:54:28 +02:00
Manuel Palenzuela 4f690408af Ports: Added a Super-Mario clone port.
Added a minimal dependency super mario port. (Only depends on SDL, SDL_image and SDL_mixer).
2021-04-06 09:32:37 +02:00
Manuel Palenzuela 8b0f1f816b Ports: Added an oksh port
Currently has some problems such as not killing jobs when (ctrl + c)
and depends on an implementation of sigsuspend.
2021-04-06 08:10:18 +02:00
Manuel Palenzuela a1815b0f87 Ports: Added the libzip library 2021-04-05 20:04:15 +02:00
Larkin Nickle 1333fa7cf7 Ports: Add carl 2021-04-05 18:25:46 +02:00
Linus Groh 0490540e21 Ports: Add SDL2_gfx 2021-04-04 19:56:11 +02:00
Linus Groh dabfeb6dd8 Ports: Set freetype2 include path for SDL2_ttf
It tried to use some headers from my host machine and failed to build.
2021-04-04 17:42:50 +02:00
Manuel Palenzuela 136588e240 Ports: Removed now unnecesary patch for the Prince of Persia port
As now strtoimax() is implemented we have no need to replace it to
strtol().
2021-04-04 16:14:23 +02:00
Alexander 8e4e640717 Ports: fix libvorbis installtion prefix 2021-04-04 16:04:38 +02:00
Jelle Raaijmakers a856e8d805 Ports: Add ScummVM 2021-04-04 08:28:47 +02:00
Manuel Palenzuela 83b5655977 Ports: Added a Prince of Persia (SDLPoP) port.
This is a port of the dissasembly version of the DOS prince of persia
game :)
2021-04-03 23:30:27 +02:00
Manuel Palenzuela d09cd85b6c Ports: Added a cmatrix port 2021-04-03 18:55:02 +02:00
Linus Groh 563712abce Ports: Build Python with --disable-ipv6
The addition of some IPv6 related things makes the configure script
think we support it now. We don't.
2021-04-01 22:49:44 +02:00
Manuel Palenzuela a8f8e883c1 Ports: Updated the SDL2_mixer port to make it compile without
the opus and modplug music libraries.

Previously it wasnt compiling as we do not have ports of those
libraries. I have also changed the install location of the library so it
installs under /usr/include/SDL2 instead of /usr/local/include/SDL2.
2021-04-01 20:55:49 +02:00
Manuel Palenzuela 8324e48218 Ports: Added a SDL2_image port 2021-04-01 20:55:32 +02:00
Linus Groh 4e2d4b193a Ports: Get Python's --build value from config.guess 2021-04-01 20:54:05 +02:00
Alexander 86ecbd809f Ports: add libvorbis 2021-04-01 08:28:20 +02:00