Commit Graph

616 Commits

Author SHA1 Message Date
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
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
Xiao NuoFu
bb1ad4b649 Ports: refresh OpenSSL, make it build its command line utils.
This patch refreshes the openssl port and makes it build the utilities
in apps/, e.g. the openssl utility.

Now you can do this from Serenity:

    $ openssl s_client -connect example.org:443
    ...
    GET / HTTP/1.1
    Host: example.org

    <HTTP response here>

The download URL was bit-rotten and needed a fix.
2020-04-06 11:44:13 +02:00
Andreas Kling
f5418f40cc Ports/bash: Make a /bin/bash symlink to /usr/local/bin/bash
I've added a post_install step to the system that allows you to run
arbitrary commands after the regular install step.

This allows scripts that start with "#!/bin/bash" to work in Serenity.
2020-03-25 15:55:28 +01:00
Shannon Booth
c47ef61ed8 Toolchain/Ports: Update gcc to 9.3.0
Ever closer to C++20! Also fix up some of those pesky "'s
2020-03-23 08:22:41 +01:00
Tibor Nagy
e0c16d1b43 Ports: Unbreak vttest build by updating package version 2020-03-19 22:52:01 +01:00
Brian Callahan
149a9ba5d7 Ports: Add zstd port 2020-03-14 22:25:22 +01:00
Brian Callahan
a521d2f950 Add the libpuffy helper library and jot, patch, and printf utils
from OpenBSD.
2020-03-14 22:24:37 +01:00
Andreas Kling
8bbec97824 Ports: Build ncurses with --with-tlib=tinfo
This way it finds tgetent() from ncurses and things go back to working.
I'm not sure how this broke, or when, but meh.
2020-03-04 23:59:02 +01:00
Valtteri Koskivuori
22259bf85d Ports: Update the C-ray renderer port 2020-02-27 09:53:36 +01:00
Andreas Kling
1dfc66c7cc Ports: Add git port
There are various issues with this port that need to be fixed, but it's
at least possible to inspect and modify the SerenityOS repo if I clone
it into the disk image from the outside.

Very cool! :^)
2020-02-20 07:07:33 +01:00
Jesse Buhagiar
591870c7b4 Ports: Disable JACK for SDL2 in configopts
This is causing build errors for myself and a few other people.
This config option disables the SDL2 port from trying to compile
with the JACK audio server (which we don't need).
2020-02-10 13:10:51 +01:00
Emanuel Sprung
f46d80ac4f Ports: Added checksums / signature files and other fixes
* Use ${version} instead of explicit version numbers in urls/filenames
* Move -L option to port script, as this is always good
* Fix some various other stuff
2020-02-06 14:06:23 +01:00
Emanuel Sprung
991953ab0a Ports: Improve port build sript
* Add authenticity methods: sig, asc, md5sum, sha1sum, sha256sum
* Split patch into own step
* Improve extraction and patching: only do it, if it hasn't already be done,
  to do that, hidden files are created when a file is extracted or a patch is
  applied
* Patch function is named patched_internal to not overwrite patch command in /usr/bin
2020-02-06 14:06:23 +01:00
Emanuel Sprung
e3dcea9b27 Ports: Added build script to build all ports
Use the option clean to clean up the working directory/downloads before building:
 ./build_all.sh clean
2020-02-06 14:06:23 +01:00
Sergey Bugaev
ce56770875 Ports: Add mrsh port 2020-02-05 18:15:15 +01:00
Andreas Kling
0f81e8d9af Ports: Add klong language port
Patch contributed by nut (casaca on IRC)
2020-02-01 22:52:33 +01:00
Brian Callahan
c904095333
Ports: Add ed port (#1159) 2020-02-01 20:54:04 +01:00
MWGuy
0c544052a5 Ports+OpenSSL: Fix RAND_poll patch 2020-01-26 15:27:12 +01:00
Andreas Kling
8fb9dc7425 Ports: Fix zlib build
We only support static linking at the moment, and zlib was trying to
build itself as a shared library.

Fixes #1135.
2020-01-26 10:33:43 +01:00
Brian Callahan
d847368c88 Ports: Add grep port 2020-01-26 09:46:41 +01:00
Brian Callahan
78ddf2e048 Ports: Add mandoc port 2020-01-26 09:10:37 +01:00
Brian Callahan
77ed943275 Ports: Add diffutils port 2020-01-26 08:48:19 +01:00
Brian Callahan
c8f61de191 Ports: Add bc port 2020-01-25 09:06:20 +01:00
Dan MacDonald
f1e9588040 Ports: Add GNU sed 4.2.1 (#1127)
4.2.1 was the last version not to depend upon Gnulib.
2020-01-24 14:09:52 +01:00
Brian Callahan
d22415631f Ports: Add byacc port 2020-01-24 11:36:18 +01:00
Brian Callahan
b8b2b30102 Ports: Add flex and pcre2 ports 2020-01-24 11:36:01 +01:00
Brian Callahan
b90af9b1ed Ports: Add mawk port (#1117) 2020-01-23 20:41:40 +01:00
elodotwe
587b80bf0f Ports: Add missing ' after timestamp in GCC patch (#1004)
Looks like this got missed, maybe a messy `git add --patch` job? It
caused packaging of the gcc port to fail.
2020-01-03 02:09:53 +01:00
Andrew Kaster
2979491512 Toolchain: Use crtbeginS and crtendS for shared objects
Turns out the reason GCC wasn't as smart about startup code for
shared objects as we hoped is because nobody told it to be :D

Change the STARTFILE_SPEC and ENDFILE_SPEC in gcc/config/serenity.h to
skip crt0.o and to link the S variants of crtbegin
and crtend for shared objects.

Because we're using the crtbegin and crtend from libgcc, also tell
libgcc in libgcc/config.host to compile crtbeginS and crtendS from
crtstuff.c.
2020-01-01 23:05:17 +01:00
Andreas Kling
8fd7f3d9fa Ports: Update GCC patch to match our toolchain 2019-12-30 00:36:37 +01:00
Andreas Kling
965cae47b4 Ports: Build nesalizer in release mode
Together with the new futex-backed pthread_cond_t, this makes nesalizer
run downright well on my machine. :^)
2019-12-25 23:57:25 +01:00
Andreas Kling
4b8b100b83 Ports: Fix SDL2 install step
Ports using CMake already install into the right place, so we don't
need to do the usual port system DESTDIR override.
2019-12-25 23:18:08 +01:00
Sergey Bugaev
c96c33624d Ports: Build gcc with -j $(nproc)
GCC is a huge project that takes a lot of time to build; let's at least
make this a little less painful by using all the available CPU cores.
2019-12-23 14:55:17 +01:00