Commit graph

132 commits

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