Commit graph

888 commits

Author SHA1 Message Date
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
Sergey Bugaev fdbdbcd775 Ports: Update gcc to 9.2.0
To keep the self-hosting build working (note that it's
still broken even with this change).

This reuses the patch from commit c73aa662bb.
2019-12-23 14:55:17 +01:00
Sergey Bugaev ccfc9d8923 Ports: Do not download sources if they're already present
When running ./package.sh to rebuild an already installed port, we would not
want to spend time re-downlodaing the same tarball again. Ideally, this should
use some sort of hash checking to ensure the file is not truncated or something,
but this is good enough for now.
2019-12-23 14:55:17 +01:00
joshua stein 73c953b674 Build: get rid of UseIt.sh
The build system uses relative paths to the toolchain binaries, so
modifying $PATH is no longer necessary, and nothing needs
$SERENITY_ROOT anymore.
2019-12-20 23:55:08 +01:00
Valtteri Koskivuori 2a21675b01 Ports: C-ray rendering engine 2019-12-10 16:24:47 +01:00
Dan MacDonald 8423be2593 Ports: Update nesalizer port to use Serenity fork 2019-12-08 20:04:59 +01:00
Andreas Kling 5e6368948e Ports: Remove "no-sound" patch for nesalizer
Our SDL port now has an audio backend for Serenity :^)
2019-12-08 11:54:02 +01:00
Andreas Kling 1f95ea1b6d Ports: Make nesalizer build look in the $SERENITY_ROOT/Root for SDL
It would be nice if we could get ports to stop detecting things in
the host system. Then we wouldn't need this kind of hackery as much.
2019-12-07 23:02:59 +01:00
Andreas Kling c399abe3e2 Ports: Make nesalizer build and run (still no sound)
The "nesalizer" emulator can now play NES games on Serenity. :^)
2019-12-07 16:54:04 +01:00
Максим Тарасов 3273dd0478 Ports: Add m4 port (#856) 2019-12-07 13:14:08 +01:00
Larkin e5e0924c0b Ports: Use unzip to extract zips if bsdtar unavailable (#855) 2019-12-06 19:45:57 +01:00
Larkin Nickle d14d6218d1 Ports: Add termcap port 2019-12-06 19:45:32 +01:00
Brandon Scott c7f2fc8a29 Ports: vttest
Test application designed to test various VT's.
2019-12-01 11:52:17 +01:00
Emanuel Sprung 3c8a1ea386 Ports: check for native python3 installation, add build script
For python3 cross compilation, a native installation of python3 is
needed. This patch adds a build script for python3 to the toolchain
and informs the user to run that script if the python port is build
and no native python3 with the same major and minor version is
being found.
2019-11-25 11:57:18 +01:00
Sergey Bugaev 47326042c5 Ports: Make sure Bash loads its built-in commands statically
Bash's configure script is checking whether the system has dlopen().
We do, but it doesn't actually work (yet). So patch the check out.
2019-11-19 16:03:25 +01:00
Sergey Bugaev 63cef4bd5f Ports: Fix ignoring patches
According to gitignore docs,

> It is not possible to re-include a file if a parent directory of that file is excluded.

So make sure to re-include "*/patches" before trying to re-include "*/patches/*".
This commit also converts the .gitignore file to have Unix line endings.
2019-11-19 16:03:25 +01:00
Andreas Kling 39190402e4 Ports: Upgrade the vim port to build with more features :^)
Previously we were only able to build with --with-features=small.
Thanks to all the compatibility work done in the kernel and LibC over
the last couple of months, we can now build --with-features=normal.

It's not the biggest deal in the world, but it's pretty nice to see
this kind of progress!
2019-11-17 21:03:41 +01:00
Andreas Kling ba97548686 Ports: Build ncurses with --with-termlib
This ensures that a libtinfo.a is produced, which is needed by nano.
2019-11-16 13:18:43 +01:00
Brandon Scott 0414e39035 Port: Nano
An early step towards a fully functional nano.
2019-11-16 12:50:50 +01:00
MWGuy b6ccbd32eb Ports: Add openssl package 2019-11-15 10:30:00 +01:00
Dan MacDonald d76fb99403 Ports: Add support for zip files and ensure configure is executable (#773) 2019-11-13 17:22:24 +01:00
Dominik Madarász b0dbd71101 Ports: Add .gitignore for Ports (#766) 2019-11-12 11:36:02 +01:00
Dan MacDonald 941cd003a7 Ports: Fix ncurses port 2019-11-12 07:06:34 +01:00
Emanuel Sprung 71823a6c49 Ports: Add initial Python 3.6 port
This port is experimental and not all pythom modules are working.
But this is an initial shot which can be further worked on, as
SerenityOS gets more mature. :^)

The main limitation is that locales, threading and time related
functions are not working.
2019-11-11 22:04:16 +01:00
Andreas Kling 680a873b76 Ports: Configure libarchive with --without-xml2
Otherwise it won't build on my machine.
2019-11-10 13:09:35 +01:00
Dan MacDonald b7efebe11c Ports: Fix libarchive port (#746) 2019-11-09 20:53:26 +01:00
Paweł Cholewa 031f0ee6bb Ports: add nasm port 2019-11-09 20:52:34 +01:00
Dan MacDonald 56bbf30f28 Ports: Add nesalizer NES emulator (#722) 2019-11-04 15:18:27 +01:00
Andreas Kling 3d239be7b4 Ports: Undo POSIX sh compliance changes for now
Partial revert of 704f48d7f3.
These changes made the ports system unusable.
2019-11-03 10:05:02 +01:00
George Pickering 704f48d7f3 POSIX compliance: (most) shell scripts converted to generic shell
Ports/.port_include.sh, Toolchain/BuildIt.sh, Toolchain/UseIt.sh
have been left largely untouched due to use of Bash-exclusive
functions and variables such as $BASH_SOURCE, pushd and popd.
2019-11-03 09:26:22 +01:00
Stephen Gregoratto 2cc5f3a93f Ports: update make to 4.2.1, disable Guile
Some systems (e.g. Arch Linux) build their gmake with Guile support and
thus have it installed. This patch disables Guile autodetection in the
configure script. It also updates the version of gmake to 4.2.1.

Fixes #645.
2019-11-03 09:23:24 +01:00
Jesse Buhagiar 45e0c841ad Ports: Added quake package
Quake now will build and run on Serenity. There are a few issues,
that'll stop you from playing currently, however, such as SDL
not having any keyboard input, as well as `printf_internal` throwing
an assertion over the `.` format specifier. However, the game launches
perfectly.
2019-11-01 21:01:33 +01:00
Calvin Buckley 282456dc37 Ports: libarchive
Provides a cpio and tar implementation. Unfortunately doesn't work
yet; requires a working mbtowc implementation.
2019-10-13 18:47:12 +02:00
Vincent Sanders d3d972820e Ports: add libiconv port 2019-10-11 12:17:05 +02:00
Vincent Sanders 7162347563 Ports: Add zlib port 2019-10-05 22:37:04 +02:00
Vincent Sanders 4288cfa65a Ports: Add expat port (#628) 2019-10-04 09:18:57 +02:00
Sergey Bugaev ad51a70c54 Ports: Add a TinyCC port
It does build, but doesn't quite work yet.
2019-10-03 08:18:05 +02:00
Larkin Nickle 8060749d04 Ports: Update uninstall function to use $SERENITY_ROOT
Now uninstalling should just work once we have plists in place.
2019-09-24 15:39:35 +02:00
Larkin 18249b5996 Ports: Switch to new ports system (#594)
Much redundancy is removed from package scripts with this system.
It also supports simple dependency management, uninstalling (through
BSD ports style plist files), cleaning up after itself (with clean,
clean_dist, clean_all commands), etc.
2019-09-24 08:56:39 +02:00
Andreas Kling 813deaed45 Ports: Remove now-unnecessary DOOM patch
Now that we're building our own DOOM fork, we don't need any patches.
2019-09-14 10:55:18 +02:00
Andreas Kling 24cc61aae2 Ports: Point doom port to our own SerenityDOOM fork
This will make it easier to make improvements to the port.
2019-09-14 10:05:02 +02:00
Andreas Kling 615d823b55 Ports: Port DOOM
Okay, here's something we've all been waiting for. A DOOM port :^)

It's based on the "doomgeneric" port and doesn't have sound support at
the moment, but it does let you play DOOM on Serenity.

Note that you have to provide DOOM1.WAD yourself.

Fixes #33.
2019-09-09 19:52:08 +02:00
Andreas Kling db48dfcaaf Ports: Add "nyancat" port :^)
This is a cute little program for testing out your terminal's color
support, and it also works pretty well as a general stress test.
2019-09-06 20:34:21 +02:00
Andreas Kling bc2bd1e64a Ports: Always export Serenity's GCC and G++ in the build environment
Export the appropriate CC and CXX to all port commands.
2019-09-06 20:33:18 +02:00
Andreas Kling 35d9ac6dbf Ports: Add "curl" port :^) 2019-08-29 11:40:39 +02:00
Andreas Kling 453ca65a96 Ports/ncurses: Unbreak patch so we can build with latest ncurses master
Maybe we should build a specific version of ncurses instead but this at
least makes it work again for now.
2019-08-25 11:43:48 +02:00
Conrad Pankoff cd235ce27d Ports: mbedtls
This is a very basic mbedtls port. I've disabled the networking bits,
since they want some macros that we don't have defined. We might not even
want the networking functions anyway, since they wouldn't play very nice
with CEventLoop and friends.
2019-08-04 18:54:12 +02:00
Andreas Kling be7dcca1a6 Ports: Add GNU make 4.2! :^) 2019-07-21 19:26:02 +02:00
Dan MacDonald 362ac8f1ba Ports: Force curl to follow redirects in run_fetch_web() (#266)
This fixes downloading files from github when building ports.
2019-07-01 20:57:46 +02:00
Andreas Kling 2daf89e2f7 Ports: Fix SDL2 port trying to build against PulseAudio for some reason.
I didn't look into why, but for some reason the SDL2 cmake build system
thinks it should build against PulseAudio which we definitely don't have.
So just tell it explicitly not to do that.

Fixes #265.
2019-07-01 14:08:15 +02:00
Andreas Kling 3bc699a336 Ports: Add 'figlet' port.
This was the first piece of 3rd party software I got running on Serenity,
so having it as a port feels like some kind of milestone. I think :^)
2019-06-09 12:20:43 +02:00
Larkin Nickle d080f6e8dd Ports: Remove bashisms and switch all scripts to /bin/sh. 2019-06-05 14:00:01 +02:00
Andreas Kling 7710863e3c Ports: Add gcc-8.3.0 port :^) 2019-05-30 15:27:56 +02:00
Andreas Kling ed58abb911 Ports: Build binutils from tarball instead of git. 2019-05-30 13:59:24 +02:00
Mustafa Ali CAN 3ffb2ad4e0 LibM LibC: add fixes for Lua port. 2019-05-29 16:03:51 +02:00
Mustafa Ali CAN 5fa8858dfb Port:Add Lua 2019-05-29 16:03:51 +02:00
Christopher Dumas 1c4882892c Port: less 2019-05-29 05:39:03 +02:00
Robin Burchell b7d315319d Ports: Add links
Doesn't actually run yet. in_term's read() fails with EFAULT for reasons that
are presently beyond me, points to a bug in Serenity.
2019-05-28 20:06:47 +02:00
Christopher Dumas 674be46afd Ports: Vim and ncurses 2019-05-28 20:05:22 +02:00
Andreas Kling 246dd93fe9 Ports: Add GNU binutils. 2019-05-28 16:26:39 +02:00
Andreas Kling cbd858544d LibC: Move struct timeval to sys/time.h. #POSIX 2019-05-28 13:48:06 +02:00
Robin Burchell 335d0e52a4 Ports: Replace run_command use in bash with a run_replace_in_file helper
This way, we don't (in the ports themselves) depend on perl as a public
interface, which means if we ever have to, we can port to something else easier.
2019-05-28 11:03:18 +02:00
Robin Burchell 2b1a52745e Ports: Remove MAKEOPTS hacks from bash
This doesn't seem to go wrong anymore.
2019-05-28 11:03:18 +02:00
Robin Burchell 9a284ad3f7 Move everything to a subdirectory
Also don't run cd for the initial git clone (DERP!), and other bash port fixes.
2019-05-28 03:07:18 +02:00
Robin Burchell b12a096437 Add WIP bash port 2019-05-28 02:45:54 +02:00
Robin Burchell 19afcfe03c port_include: Various updates
* Prints what is run, which is useful for trace purposes.
* Fix autotools configure to respect arguments
* Add run_patch for applying patches
2019-05-28 02:45:54 +02:00
Robin Burchell 5c82d14128 Add the start of a simple ports infrastructure 2019-05-28 00:21:14 +02:00