Commit Graph

1901 Commits

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