Commit graph

1397 commits

Author SHA1 Message Date
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
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