Commit graph

548 commits

Author SHA1 Message Date
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
Jorropo eafe4f942d
Ports (jq): Add .patch extension to the diff to fit the wildcard (#5148)
This fixes the build of `jq`.

`diff` were not matched by `patches/*.patch`, this seems to have gone
unnoticed in a refactor.
2021-01-28 22:20:03 +01:00
TheMorc d4668507d4 Ports: Improve configure script
Just a small modification so that ports that are configured e.g.
using cmake don't need a dummy configure file anymore.
2021-01-25 22:34:43 +01:00
TheMorc ffc51853bf Ports: Add ProTracker 2 clone 2021-01-25 22:34:43 +01:00
Linus Groh 212c90d68f Ports: Add table of all available ports
This adds a separate Markdown document comtaining a table with all
available ports, including name, version number and website.

This should make it easier to get an overview of what's available or
learn more about ports one is not familiar with, as well as checking the
current version of each port (many are outdated by now, and the version
being hidden in the package.sh script doesn't improve that situation)
and spotting ports with no defined version (i.e. install from the main
branch), which can break easily and should be avoided.

Please keep this list in sync when adding or updating ports. :^)
2021-01-23 08:28:25 +01:00
Linus Groh 1328f54ea9 Ports: Add documentation :^)
This documents and explains how ports work and what variables, functions
and options are available for `package.sh` scripts.
2021-01-23 08:28:25 +01:00
Linus Groh 92908259b8 Ports: Tweak shebang of python3's package.sh
This was missed in c702845.
2021-01-23 08:28:25 +01:00
Linus Groh 7cc7f7ac54 Ports: Clean up some package.sh scripts
- Remove superfluous function overrides and use makeopts instead
- Remove superfluous installopts
- Use run rather than cd'ing manually
- Ensure empty line between functions
2021-01-23 08:28:25 +01:00
Linus Groh a4fbdb97c7 Ports: Install dependencies in separate "installdepends" step
Calling installdepends in do_fetch seems kinda silly and unexpected.
Let's add a separate step with the same name instead.
2021-01-23 08:28:25 +01:00
Jonathan Turner 0bf5669ba3
Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
Linus Groh efc091df81 Ports: Build python3 with libffi
This makes building the _ctypes module succeed. We still can't import
it, but hey, that's progress! :^)
2021-01-22 11:10:01 +01:00
Linus Groh cb8e4be3b5 Ports: Add missing version.sh file to python3 port
I thought I had committed this, but it's .gitignore'd. Add an exception
to Ports/.gitignore and add it for real this time. :^)

Fixes #5008.
2021-01-19 22:18:32 +01:00
Linus Groh 39af1f8519 Ports: Add Python 3.9
The current version of our Python port (3.6.0) is over four years old by
now and has (or had, I haven't actually tried it in a while) some
limitations - time for an upgrade! The latest Python release is 3.9.1,
so I used that version. It's a from-scratch port, no patches are taken
from the previous port to ensure the smallest possible amount of code is
patched. The BuildPython.sh script is useful so I kept it, with some
tweaks. I added a short document explaining each patch to ease judging
their underlying problem and necessity in the future.

Compared to the old Python port, this one does support both the time
module as well as threading (at least _thread) just fine. Importing
modules written in C (everything in /usr/local/lib/python3.9/lib-dynload)
currently asserts in Serenity's dynamic loader, which is unfortunate but
probably solvable. Possibly related to #4642. I didn't try building
Python statically, which might be one possibility to circumvent this
issue.

I also renamed the directory to just "python3", which is analogous to
the Python 3.x package most Linux distributions provide. That implicitly
means that we likely will not support multiple versions of the Python
port at any given time, but again, neither do many other systems by
default. Recent versions are usually backwards compatible anyway though,
so having the latest shouldn't be a problem.
On the other hand bumping the version should now be be as simple as
updating the variables in version.sh, given that no new patches are
required.

These core modules to currently not build - I chose to ignore that for
now rather than adding more patches to make them work somehow, which
means they're fully unavailable. This should probably be fixed in
Serenity itself.

    _ctypes, _decimal, _socket, mmap, resource, termios

These optional modules requiring 3rd-party dependencies do currently not
build (even with depends="ncurses openssl zlib"). Especially the absence
of a readline port makes the REPL a bit painful to use. :^)

    _bz2, _curses, _curses_panel, _dbm, _gdbm, _hashlib, _lzma, _sqlite3,
    _ssl, _tkinter, _uuid, nis, ossaudiodev, readline, spwd, zlib

I did some work on LibC and LibM beforehand to add at least stubs of
missing required functions, it still encounters an ASSERT_NOT_REACHED()
/ TODO() every now and then, notably frexp() (implementations of that
can be found online easily if you want to get that working right now).
But then again that's our fault and not this port's. :^)
2021-01-18 22:28:56 +01:00
Linus Groh 2bc9726e3c Ports: Rename a few .diff files to .patch
Let's keep things consistent, .diff is the name we use pretty much
everywhere. Also tweak the glob in .port_includes.sh to be
'patches/*.patch' rather than just 'patches/*'.
2021-01-17 08:43:46 +01:00
Andreas Kling 096d2d5071 Ports: Remove some no-longer-needed patches for git :^)
We can mmap files with MAP_PRIVATE these days.
2021-01-12 13:50:39 +01:00
Emanuele Torre ef782c805f TextEditor+Meta+Ports+Shell: Remove blank lines at the end of some files 2021-01-03 17:12:50 +01:00
Emanuele Torre ec8577ac3c LibGfx+Ports: Add missing newlines at the end of file. 2021-01-03 17:12:50 +01:00
Dan MacDonald b7fd5315e5
Ports: Hard-code SERENITY_ARCH=i686 until other architectures work (#4688) 2020-12-31 21:54:51 +01:00
meme 23b23cee5a Build: Support non-i686 toolchains
* Add SERENITY_ARCH option to CMake for selecting the target toolchain
* Port all build scripts but continue to use i686
* Update GitHub Actions cache to include BuildIt.sh
2020-12-29 17:42:04 +01:00
Itamar 6990d62977 Ports: Tweak configuration flags of gcc port to support shared binaries 2020-12-24 21:46:35 +01:00
Brian Gianforcaro 02ea193630 Ports: Add initial stress-ng port to find bugs in serenity
This is a very WIP port bringing stress-ng to SerenityOS.

stress-ng is great at doing multi-workload stress testing, this allows it to
find unique and interesting intermixed pairs of stressful operations which cause bugs.

This initial port just rips out an non applicable functionality in order to get
the port to compile.
2020-12-21 00:19:45 +01:00
Andreas Kling bcabbbda8b Ports: Bump GNU make to version 4.3 2020-12-15 01:06:18 +01:00
Andreas Kling fb8ae33633 Ports: Bump ncurses to version 6.2 2020-12-15 00:38:57 +01:00
Itamar 2ba5a325d5 Toolchain+Ports: Fix gcc patch file
Previously, some hunks of the t-slibgcc patch failed to apply
2020-12-14 23:05:53 +01:00
Itamar 758fc8c063 Toolchain: Fix usage of libgcc_s & build PIE executables by default
We can now build the porst with the shared libraries toolchain.
2020-12-14 23:05:53 +01:00
Itamar c917fcbac4 Ports: Update gcc patch to support shared libs 2020-12-14 23:05:53 +01:00
Brendan Coles 7fbf890717 Ports: Add GNU indent 2020-11-09 16:22:52 +01:00
Andreas Kling c538e22516 Ports: Bump GCC port to 10.2.0
Since we've already updated the toolchain, might as well update the
port as well. :^)
2020-11-03 18:08:13 +01:00
Stephen Gregoratto b82da6b78b
Ports: Add pkgconf (#3757) 2020-10-13 13:53:17 +02:00
Luke 0f52144477 Ports: Add OpenSSH port 2020-09-27 01:02:11 +02:00
Itamar e5ceec8621 Ports: Add default .gitconfig for Git port
This stops git from asking us to configure a username and email when we
try to commit.
2020-09-15 21:43:29 +02:00
Sergey Bugaev 40fbdd4e9e Ports: Add libffi 2020-09-10 19:57:38 +02:00
Noah Rosamilia f1a65d1d70 Ports: Install lua to /usr/local 2020-09-07 13:34:44 +02:00
Noah Rosamilia f35b19e72d Ports: Clean up lua port and enable dynamic library loading 2020-09-07 13:34:27 +02:00
Andreas Kling 28ff8f3376 Ports: Bump version of the "vttest" port 2020-09-01 17:48:37 +02:00
Nico Weber 4eb967b5eb LibC+Kernel: Start implementing sysconf
For now, only the non-standard _SC_NPROCESSORS_CONF and
_SC_NPROCESSORS_ONLN are implemented.

Use them to make ninja pick a better default -j value.
While here, make the ninja package script not fail if
no other port has been built yet.
2020-07-15 00:07:20 +02:00
Peter Elliott f87cf701a4 Ports: Build ncurses with sigwinch enabled 2020-07-12 21:03:16 +02:00
Linus Groh 85e7bfc047 Ports: Use "jq" in neofetch for /proc/{cpuinfo,memstat}
Now that a "jq" port is available we can re-enable CPU name detection in
neofetch and don't need to use "read" for extracting values from
/proc/memstat anymore :^)
2020-07-12 17:45:38 +02:00
AnotherTest dc719f3b61 Ports: Add jq :^) 2020-07-12 01:19:48 +02:00
Linus Groh fa98dcc05d Ports: Use "ini" in neofetch to read theme name 2020-07-11 23:56:33 +02:00
Linus Groh 8716d1fe99 Ports: Disable /proc/cpuinfo parsing in neofetch, for now
We don't really have a good way of parsing and processing JSON in the
shell yet, and the solution used for /proc/memstat (read) is very
limited and doesn't work for the more complex /proc/cpuinfo array. Let's
disable cpu detection in neofetch for now until we can come up with a
good solution.
2020-07-11 23:16:16 +02:00
Nico Weber afb03dd249 Ports: Make ninja use ppoll instead of pselect 2020-06-23 14:12:20 +02:00
Nico Weber 7f73f0300c Ports: Add ninja
- 1.8.2 for now, newer versions need high-res timestamp file APIs
  which serenity doesn't have yet
- pselect() instead of ppoll() for now, same reason (depends on #2609)
- no good default for -j yet (see nproc.patch)
- `-l` probably doesn't work yet (see loadavg.patch), but I've never
  used that anyways
- some minor include patches that I've also sent upstream

Other than that, this seems to work reasonably well. It currently
produces some spam on stdout from probably the shell.
2020-06-22 16:10:06 +02:00
Nico Weber e34299a136 Ports: Remove dropbear patch that removed calls to seteuid()
This is no longer necessary now that seteuid() / setegid()
is implemented.
2020-06-19 20:34:59 +02:00
Nico Weber 748ac5e01b Ports: Pull dropbear from a mirror
The main web page has been offline for at least a week.
This gets the dropbear port building again.
2020-06-19 20:34:59 +02:00
Nico Weber 33d6d640d3
Ports: Use keyserver.ubuntu.com as .sig keyserver (#2535)
Increases the number of successfully building ports from
27 to 36 (of 56) on my system.
2020-06-09 21:10:00 +02:00
Andreas Kling a85506009f LibC: Don't assert on unknown mode character in fopen()
Just carry on with some debug log whining.
Gets rid of one dropbear patch. :^)
2020-06-08 21:57:13 +02:00
Andreas Kling c88ea2f54a LibC: Add nanosleep() wrapper around clock_nanosleep(CLOCK_REALTIME)
Gets rid of one dropbear patch. :^)
2020-06-08 21:53:41 +02:00
Andreas Kling 57b6f51137 LibC: Add IPPORT_RESERVED and IPPORT_USERRESERVED
Gets rid of one dropbear patch. :^)
2020-06-08 21:50:45 +02:00
Andreas Kling 5448a670c0 Base: Symlink /dev/urandom to /dev/random
Some software expects to find /dev/urandom so we might as well provide.
Gets rid of one dropbear patch. :^)
2020-06-08 21:42:33 +02:00
Andreas Kling 3ee1b3cbd4 LibC: Add ws_xpixel and ws_ypixel members to struct winsize
This matches what other systems have, although we don't use them.
Gets rid of one dropbear patch. :^)
2020-06-08 21:40:22 +02:00
Stephen Gregoratto 53d4c7e207
Ports: Add editline library (#2532) 2020-06-08 21:38:13 +02:00
Linus Groh 07c765e258 Ports: Make bash link again
No idea why this was suddenly broken, but removing these duplicated
declarations make it build to completion again.
2020-05-18 11:29:08 +02:00
Shannon Booth 2ffbdf5680 Toolchain/Ports: Update to gcc 10.1.0 2020-05-16 09:51:31 +02:00
Sergey Bugaev 450a2a0f9c Build: Switch to CMake :^)
Closes https://github.com/SerenityOS/serenity/issues/2080
2020-05-14 20:15:18 +02:00
Yonatan Goldschmidt c377e6af29 Ports: Add preliminary dropbear port
This is very basic and doesn't support many features. Instead
of describing what it *doesn't* support, I'll describe what I
have tested:
1. Public key authentication (password is not supported)
2. Single command execution
3. PTY-less interactive bash shell (/bin/sh doesn't work)
4. Multi-user (i.e you can ssh as 'anon' as well as root)
2020-05-11 09:50:42 +02:00
Brian Callahan f660fd2aef Ports: Build ncurses --without-ada to avoid potential build failures. 2020-05-10 22:40:51 +02:00
Brian Callahan f15b467b5d Ports: Add dash shell 2020-05-10 19:42:48 +02:00
Brian Callahan 092bda2f14 Ports: Add tr utility 2020-05-10 19:41:35 +02:00
Brian Callahan baf6efb46f Ports: Fix binutils runtime 2020-05-10 19:41:09 +02:00
Ed Rochenski ca1d11b180 Ports: Added rsync port 2020-05-02 14:12:07 +02:00
Linus Groh 92671be906 Ports: Add neofetch 2020-04-28 10:18:58 +02:00
Noah Rosamilia 3c9a870b8f
Ports: Add frotz port (#1859) 2020-04-19 02:10:41 +02:00
Linus Groh 4c0ec846a8 Ports: Add gnuplot port
Obviously we don't support many of the common terminals as we're missing
X11, Qt, WxWidgets, Cairo etc. - but at least the "dumb" terminal
(ASCII output) and "canvas" terminal (generates JS to plot on a HTML
<canvas>) are confirmed to be working :^)
2020-04-15 16:39:09 +02:00
Linus Groh 7feb48b1da Ports: Support pre_configure script
This is useful if we want to do something after patching but before
running the configure script - e.g. creating the configure script using
another script :^)
2020-04-15 16:39:09 +02:00
Noah Rosamilia d09bea5beb
Ports: sl (#1802) 2020-04-15 08:46:11 +02:00
Sergey Bugaev 1d9a7b5143 Ports: Unhardcode Python configuration
This ensures that ./configure results are actually used by the build.
This way, Python picks up the new sizeof(time_t) (which is 8), and
the build succeeds.
2020-04-14 18:40:24 +02:00
Linus Groh ad230e8839 Ports: Update git to 2.26.0 2020-04-13 00:46:58 +02:00
Linus Groh 061badeaea Ports: Remove LibDraw from c-ray CMakeLists.txt 2020-04-06 17:17:52 +02:00