Hello everyone!
Since last week I worked on enabling Haiku support for running the swift test-suite. This allows the newly built compiler to be put through the same series of test-cases run by the swift buildbots for macOS, Linux and FreeBSD platforms. These tests cover different areas of the toolchain, from simple unit-tests to validation-tests that cover the compiler internals, major standard library API changes and most importantly, compiler stability via testing with malformed inputs. I ran the Swift 3.1 tests with the command ./utils/build-script -R -x
, in which 2022 tests passed and 149 failed. A brief summary of the test results can be found here, and a list of the tests that have failed.
Hello Everyone!
It's been more than a week since I wrote my last blog post. In this post I
would brief you on the work done during this time.
I spent a little more time digging into the Haiku source (mostly the locale
kit) to work on bugs and possible improvements as I came across quite a few
places that would require it, while working on the Calendar app.
The current date is now highlighted in BCalendarView. This can be seen in the
deskbar calendar. I fixed a few bugs with my first commit regarding the same.
As we work to stabilize Haiku and move closer to the R1 beta releases, USB driver issues are becomming more apparent.
At the moment, bugs with our XHCI (usb 3.0) stack are high on the problem list. New hardware is beginning to ship
with XHCI-only controllers, which means we can no-longer fall back to our stable EHCI (usb 2.0) stack.
A large number of bug reports have been opened around these kinds of issues:
Greetings
It has been a while since the last Report. So here I go. Firstly, I would like to thank all the Haiku mentors and developers for the first GSoC evaluation, thank you for believing in me. Now coming to the report.
Progress
I am still at the Linux compatibility layer, adding new headers and dependencies one by one. Things are not moving as fast as I would like them to, mainly because of my lack of understanding of Haiku’s internals. Linux has great documentation and thus a simple Google search brings up reading material which can be understood easily. It is pretty much the same with FreeBSD, but not the case with Haiku. Thus, the only two options I am left with is asking people in the mailing list and figuring it out myself. Both of which I try to do every time I face a problem but is a time-consuming process.
Hello everyone.
Since my last report, apart from working on the remaining changes, I have been more focused towards testing the tcp module against the already made changes. In the first week of the previous month I did try to port a testing tool to Haiku but did not succeed. So I have been writing a tool of my own to artifically inject packets into the stack and read the replies.
Hello World.
It’s been almost 3 weeks since my last update. The first evaluation was complete, I’d like
to thank Haiku for recognizing my work so far. And here’s an update on what I worked on for the past few weeks.
I replaced all IconView with BButton, since it has built in functions for label, icon handling.
I worked on categorizing all preflets based on their categories, and sorted them into
respective BBox.
TL;DR: Compiling Swift programs works, added C library interoperability and adding support for running the test-suite.
Hello Everyone,
This report covers my activities done since the first evaluation of GSoC. I spent the first week looking into the most critical aspects of the compiler and focused my attention on the TaskQueue class. Whenever a task is executed, the TaskQueue tries to read its data via a pipe and it was found that it read 0 bytes from it, despite poll() reporting that there is still data available for reading. Therefore, the compiler fails to output a executable and becomes stuck in a infinite loop; at least with the Unix implementation.
Hello Everyone!
It has been three weeks since my last blog post. In this post I would update
you with the current progress on the Calendar Application.
I have been working on the following since the past three weeks:
- Writing the Event and Category class.
- Working on UI of Event Manager.
- Working on UI of Category Manager and Category Edit Window.
- Working on a pop-up Calendar control to select event start and end date.
- Working on the Calendar View class to highlight the current system
date.
- Fixing bugs in the existing code and improvements.
- Working on Add/Modify/Delete events functionality.
- Exploring existing Haiku applications to look for widgets, trying to
implement new ones(For e.g DateTimeEdit - to select calendar start and end
date)
Add/Modify/Delete events
Basic Add/Modify/Delete events functionality is complete now. There has been
a little change from the initial mockups. Instead of switching views(I thought
of using the BCardLayout initially to switch been Day View and Add Event
section) and showing the Add Event section in the MainWindow, there will be a
separate Event Manager window for it. Event details such as Event's name, place,
description, start and end date/time can be filled. Also an event can be made
an all day event which will make it appear on the top of the Day View. Event
recurrence is not implemented currently and event category is not complete so
it's disabled for now. Because of not having a DateTimeEdit currently there's
just a text control that shows the date selected in Calendar View and a dummy
time. Also the calendar pop-up control is under work which would be a part of
DateTimeEdit. Currently, for storing purposes I am using BMessage and flat
files.
Hello again,
Sorry for late report, things are not going as I planned. In order to implement tree manipulation or copy-on-write function, I must first have a blocks/extents allocator that works well. Also, those things need to handle transactions as well.
In the previous weeks, I did some “edgy” works that are supported functions, add some on-disks structures, modify some parts of the source code, etc. Currently, I am implementing the extent allocator, it can now dump all the free extents and used extents for all roots, included backup roots. The goal is allocating continuous extents and preventing external fragmentation, but I’m stuck at it. My initial idea is using AVLTree that is existed in Haiku for tracking extents, and from that I can find a next necessary extent for allocating, but I’m not sure it is the right way. You can read all the works in my commit history[1].
Hey there, it's time for the monthly report again!
This report covers hrev51196-hrev51253.
Kernel
time_t now uses 64-bit on 64-bit systems. This fixes the year 2038 bug for
64-bit Haiku, so we can continue to run it after 2038.
This breaks the ABI, so all the 64bit packages were rebuilt.
Some bug fixes in packagefs, to avoid some annoying issues when updating the system
or repeatedly installing and uninstalling packages without rebooting.