Commit Graph

616 Commits

Author SHA1 Message Date
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
Brendan Coles
6718941715 Ports: Links: Bump version from 2.19 to 2.22 2021-03-31 22:47:40 +02:00
Linus Groh
4fac577cf0 Ports: Use 'env bash' in hatari and pt2-clone package.sh shebang 2021-03-30 21:13:12 +02:00
Manuel Palenzuela
54b4d7611c Ports: Added a chester port, a very simple GameBoy emulator. 2021-03-30 21:11:23 +02:00
Jelle Raaijmakers
3cd8d7e968 Ports/SQLite: Remove HAVE_UTIME compilation flag 2021-03-29 19:58:12 +02:00
Andreas Kling
52ce7ed842 Ports: Switch to new SDL2 port
I've rebased the SDL2 port on top of the latest SDL2 main branch.
This patch simply points the SDL2 port scripts to the new branch.
2021-03-27 22:57:08 +01:00
Jelle Raaijmakers
9c141d0a87 Ports: Add SQLite 2021-03-27 19:43:14 +01:00
AnicJov
d3630a7b1f Ports: Fix m4
This patch fixes the m4 port by removing unneeded make subdirs that
would cause the build to fail on some systems. We now only care about
the `lib` and `src`.
2021-03-25 10:58:45 +01:00
Jaan
226e063207 Ports: vitetris 2021-03-21 09:33:35 +01:00
Dan MacDonald
3dfa3d2d9d
Ports: Add Hatari Atari ST/STE/TT/Falcon emulator (#5812) 2021-03-16 21:53:13 +01:00
Tom Needham
daf2e5d335 Ports: Do not call ./package.sh from a subshell in ./build_all.sh
This patch ensures that ./package.sh is run in the same shell
This solves compiling issues when building certain ports.

This fix was suggested by linusg in
https://github.com/SerenityOS/serenity/issues/5783#issuecomment-798906817
2021-03-15 09:07:17 +01:00
Tom Needham
26d72d3048 Ports: Allow verbose argument in build_all.sh
This patch allows for a verbose argument to be passed
so that the build output of the individual builds
is printed to stdout instead of /dev/null to help with diagnosing errors

If the verbose argument is not passed the old behaviour is preserved
and the build output is printed to /dev/null
2021-03-15 09:07:17 +01:00
Ben Wiederhake
6cf8e3c980 Ports: Make gnuplot build fail later 2021-03-14 11:30:38 +01:00
Ben Wiederhake
60b458f5b3 Ports: Fix 'bc' port
Previously, these features were apparently auto-disabled, because we do not yet
support and never did support translations or the FIONREAD ioctl.
2021-03-14 11:30:38 +01:00
Ben Wiederhake
071b31338a Ports: Remove ever-broken 'editline' build
I'm sorry @The-King-of-Toasters, but it never worked and apparently noone uses/fixes it,
so let's remove it? Alternatively, see discussion in #2677.
2021-03-14 11:30:38 +01:00
Ben Wiederhake
4100aa52d9 Ports: Fix cross-compiling git for serenity
No idea how this is supposed to work, because git's buildscripts execute
'uname -S' to determine which functions are available - and that's not how
cross-compilation works.
2021-03-14 11:30:38 +01:00
Ben Wiederhake
e23fc195e7 Ports: Fix package.sh executable bits 2021-03-14 11:30:38 +01:00
Linus Groh
161b36bb09 Ports: Update c-ray patches 2021-03-13 22:44:16 +01:00
Linus Groh
5e4808878d Ports: Fix klong's package.sh 2021-03-13 13:35:24 +01:00
Linus Groh
15a820e9ad Ports: Use SERENITY_ARCH in .port_include.sh if already defined
Instead of always hardcoding i686, only use it as fallback value as we
already do in other scripts.
2021-03-13 13:13:03 +01:00
Linus Groh
4c497228a9 Ports: Use SERENITY_ARCH in --target/--host
Recent ports already do this, let's update the others as well. One step
closer to multi-arch support for ports! :^)
2021-03-13 13:13:03 +01:00
Linus Groh
7cb9237be9 Ports: Remove/replace hardcoded i686-pc-serenity-{gcc,g++,ar,ranlib}
Except in the Lua port's Makefile patch, I couldn't figure this out...
2021-03-13 13:13:03 +01:00
Linus Groh
f9cf6bfce1 Ports: Remove redundant 'workdir' entries 2021-03-13 13:13:03 +01:00
Linus Groh
37f837bde7 Ports: Replace hardcoded versions in 'files' URLs
Let's just use $version everywhere (we already do this for most ports).
2021-03-13 13:13:03 +01:00
Linus Groh
f318ab6bed Ports: Replace hardcoded Build/ paths with SERENITY_BUILD_DIR
Fixes #5710.
2021-03-11 21:01:29 +01:00
AnicJov
68f2ef1097 Ports: Add libogg
This library will allow us to port more multimedia programs and games,
since it's a common dependency of such projects. I was looking at
Scummvm's dependencies in particular, with a goal of porting them all
eventually, so that we can have Myst running in Serenity!
2021-03-09 07:29:35 +01:00
Andreas Kling
096c4571bb Ports: Add SDL2_mixer 2021-03-08 13:15:35 +01:00
Jorropo
9eff9b8cea Ports/git: remove no longer needed patches 2021-03-08 10:22:14 +01:00
Emanuele Torre
1f81bc6879 Everywhere: Remove unnecessary whitespace at the end of some lines. 2021-03-08 09:20:53 +01:00
aabajyan
0dfbc2c702 Ports: Add Genemu
This is a Basic Genesis / MegaDrive Emulator, that only requires
SDL2 to run it.

Usage: genemu /path/to/game.bin
2021-03-08 08:57:12 +01:00
Jelle Raaijmakers
f9f9cda025 LibCompress: Rename libcompression.so to libcompress.so 2021-03-07 18:14:54 +01:00
Andreas Kling
30b957e46c Ports: Add SDL2_ttf 2021-03-07 17:48:21 +01:00
Jorropo
25e4a3467d Ports/git: Forcing NO_IPV6 option.
This fixes the build, how ever I don't know why the auto detection
broke in the first place.
2021-03-06 14:57:44 +01:00
Luke
89846b5b7c Ports: Add bzip2 port
Saw that it can be included with the freetype port, so I added it.
2021-03-06 14:56:51 +01:00
Luke
3f969286d7 Ports: Add zlib dependency to libpng
I didn't have zlib installed when I was trying to compile libpng.
It said it was missing, so add a dependency to zlib.
2021-03-06 14:53:46 +01:00
Andreas Kling
e0e8c6f70e Ports: Add FreeType 2.10.4 2021-03-05 21:58:52 +01:00
TheMorc
538975b713 Ports: Add libpng 1.6.37 2021-03-03 23:12:53 +01:00
Andreas Kling
74d1caf7d1 Ports: Build curl with --disable-ipv6 2021-03-01 19:51:23 +01:00
Linus Groh
4166765292 Ports: Update Python to 3.9.2
Released on 2021-02-19, no patch changes required.
https://www.python.org/downloads/release/python-392/
2021-02-21 21:44:52 +01:00
Linus Groh
46efd2f741 Ports: Update vttest version in AvailablePorts.md 2021-02-20 18:31:00 +01:00
Andreas Kling
61c5bd08af Ports: Update vttest to latest version 2021-02-20 17:04:46 +01:00
Itamar
7df61e2c9b Toolchain: Use -ftls-model=initial-exec by default
Our TLS implementation relies on the TLS model being "initial-exec".
We previously enforced this by adding the '-ftls-model=initial-exec'
flag in the root CmakeLists file, but that did not affect ports - So
now we put that flag in the gcc spec files.

Closes #5366
2021-02-19 15:21:24 +01:00
jonno85uk
a4d4571522 Ports: Add libjpeg 9d 2021-02-19 12:18:46 +01:00
Marcel Hernandez
b07799060f
Ports: Add tinyscheme 1.42 (#5387) 2021-02-17 23:07:34 +01:00
jonno85uk
2d1cfa7d11
Ports: Add bison 1.25 (#5382)
bison -h works. Not tried with any grammar files
2021-02-17 22:54:37 +01:00
jonno85uk
6e1117a688
Ports: Add libtiff (#5383) 2021-02-17 22:54:04 +01:00
Emil Engler
ce13b258ca Ports: Use new curl domain
curl switched it's domain to curl.se last year:
https://daniel.haxx.se/blog/2020/11/04/the-journey-to-a-curl-domain/

I think we should follow this change and adapt the new domain name.
2021-02-17 14:40:50 +01:00
AnotherTest
80d6f46d4e Ports: Add a cmake port
Yes, you build this *inside* serenity.
2021-02-15 17:32:56 +01:00
Linus Groh
e8ff61e64b Ports: Document build_{all,installed}.sh 2021-02-15 11:46:36 +01:00
Ben Wiederhake
87e4bcdf69 Everywhere: Canonicalize 'ReadMe' capitalization
We now follow a common capitalization throughout the project:

./Ports/openssh/ReadMe.md
./Ports/python3/patches/ReadMe.md
./Ports/ReadMe.md
./Meta/Lagom/ReadMe.md
./ReadMe.md

This filename is still obvious enough to be seen immediately.
2021-02-15 07:41:16 +01:00
Linus Groh
917f7d668c Ports: Add build_installed.sh script to rebuild installed ports 2021-02-14 16:46:40 +01:00
Linus Groh
a38f5aa026 Ports: Tweak wording in build_all.sh error message 2021-02-14 16:46:40 +01:00
Brian Gianforcaro
d107cabf5d Ports: Fix linking of the stress-ng port 2021-02-07 12:16:37 +01:00
Linus Groh
de676bbf97 Ports: Build python3 with zlib
With the right include paths and linker flags, the _zlib module now
builds & works. :^)
2021-02-02 16:53:06 +01:00
Linus Groh
404dab5383 Ports: Build most python3 extension modules statically
Attempting to import C-extensions (lib-dynload/*.so) currently asserts
in the dynamic loader - let's just build them statically instead for the
time being.
This makes a large number of modules available for use and the port a
lot more functional! :^)
2021-02-02 16:53:06 +01:00
Linus Groh
92ca22a5e1 Ports: Add post_configure function
There's pre_configure to do things required by the configure script,
let's also add post_configure for things not covered by the configure
script.
The specific use case is overwriting a file created by python3's
configure script.
2021-02-02 16:53:06 +01:00
Linus Groh
02520f16e3 Ports: Move packages.db from Ports/ to Build/
When removing and recreating the Build directory, it's quite annoying
having to edit/remove Ports/packages.db as the installer won't install
previously installed port dependencies again if they're still listed.
This problem is easily solved by just considering packages.db a
build-specific file.
2021-02-01 19:40:34 +01:00
Liav A
6e8f86b44b Ports: Upgrade dmidecode to version 3.3 2021-02-01 17:13:23 +01:00
Liav A
338c6eec65 Ports: Add dmidecode to the available ports list 2021-02-01 17:13:23 +01:00
Liav A
a9d1ddb1a5 Ports: Add a port of dmidecode 2021-02-01 17:13:23 +01:00
Linus Groh
af605afb27 Ports: Update neofetch to 7.1.0 2021-01-29 22:48:58 +01:00
Linus Groh
34902f18ce Ports: Revert neofetch shebang patch change
Looks like this was a search & replace from 0bf5669, but it doesn't
actually work in Serenity.
2021-01-29 22:48:58 +01:00