If I understand correctly, the Portable Object Compiler already has objcpak as a set of framework objects, can this be replaced with GNUstep framework instead? What will be the gotchas we have to consider when trying to do so?
Thanks.
Last edit: Tito Mari Francis Escano 2022-04-20
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
objpak is an implementation of the basic collection class library as described in Brad Cox' book on Objective-C. This implementation is relatively close to the classes as discussed there (see the file Books.txt in the src/objc-3.3.25 package) but it is not 100% the same because objpak uses Objective-C Blocks which were not available at the time the book was published and I have no intention to change anything about objpak. In fact if I'd change anything, it would rather be to fix some of the small differences between the book and Portable Object Compiler ... or perhaps to make very small changes while preserving full compatibility with the objpak class library as it is. My understanding is that you asked as well whether Portable Object Compiler works on OpenBSD 7.1. Yes, objc-3.3.25 compiles out of the box on OpenBSD 7.1 without any issues it seems. Also see the Platforms.txt in the src/objc-3.3.25 package because Portable Object Compiler has always worked on OpenBSD since OpenBSD 2.4.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi David,
Can you please guide me on the requirements to build this from source for
OpenBSD?
OpenBSD makes release every 6 months and would like to help making this
project regularly available to that platform.
Please advise.
Thanks.
objpak is an implementation of the basic collection class library as
described in Brad Cox' book on Objective-C. This implementation is
relatively close to the classes as discussed there (see the file Books.txt
in the src/objc-3.3.25 package) but it is not 100% the same because objpak
uses Objective-C Blocks which were not available at the time the book was
published and I have no intention to change anything about objpak. In fact
if I'd change anything, it would rather be to fix some of the small
differences between the book and Portable Object Compiler ... or perhaps to
make very small changes while preserving full compatibility with the objpak
class library as it is. My understanding is that you asked as well whether
Portable Object Compiler works on OpenBSD 7.1. Yes, objc-3.3.25 compiles
out of the box on OpenBSD 7.1 without any issues it seems. Also see the
Platforms.txt in the src/objc-3.3.25 package because Portable Object
Compiler has always worked on OpenBSD since OpenBSD 2.4.
First build objc-bootstrap and install in some non-standard directory or non-standard location like:
gnutar xvfz objc-3.3.38-bootstrap.tar.gz
cd objc-3.3.38-bootstrap
./configure --prefix=/opt/objc-bootstrap
make
make install
This installs in an unusual or non-standard place like /opt/objc-bootstrap, which is intentional. By this I mean, that the purpose is to install these files in an unusual location ...
The real Portable Object Compiler package (objc-3.3.38) can then be built like :
In the above the installation is the /usr/local directory so in this case you have to be careful because the prefix could also be set to /usr to really package for the operating system /usr directory.
It depends on OpenBSD policies whether they prefer /usr/local or /usr.
Note that in contrast to the objc-bootstrap, in any case for the objc Portable Object Compiler you'd use a standard location like /opt, /usr or /usr/local and not some unusual place like /opt/objc-bootstrap.
Then you can run some checks with
make check
This make will test the compiler.
The test suite is fairly limited at this point, but in the future I will add more tests.
You can then make install the compiler if the "make check" was succesful.
Also other software should build like the AT&T based cursel
If I understand correctly, the Portable Object Compiler already has objcpak as a set of framework objects, can this be replaced with GNUstep framework instead? What will be the gotchas we have to consider when trying to do so?
Thanks.
Last edit: Tito Mari Francis Escano 2022-04-20
objpak is an implementation of the basic collection class library as described in Brad Cox' book on Objective-C. This implementation is relatively close to the classes as discussed there (see the file Books.txt in the src/objc-3.3.25 package) but it is not 100% the same because objpak uses Objective-C Blocks which were not available at the time the book was published and I have no intention to change anything about objpak. In fact if I'd change anything, it would rather be to fix some of the small differences between the book and Portable Object Compiler ... or perhaps to make very small changes while preserving full compatibility with the objpak class library as it is. My understanding is that you asked as well whether Portable Object Compiler works on OpenBSD 7.1. Yes, objc-3.3.25 compiles out of the box on OpenBSD 7.1 without any issues it seems. Also see the Platforms.txt in the src/objc-3.3.25 package because Portable Object Compiler has always worked on OpenBSD since OpenBSD 2.4.
Hi David,
Can you please guide me on the requirements to build this from source for
OpenBSD?
OpenBSD makes release every 6 months and would like to help making this
project regularly available to that platform.
Please advise.
Thanks.
On Fri, May 13, 2022 at 2:18 AM David Stes stes@users.sourceforge.net
wrote:
Installations instructions are at
https://sourceforge.net/p/objc/code/ci/master/tree/Install.txt
First build objc-bootstrap and install in some non-standard directory or non-standard location like:
This installs in an unusual or non-standard place like /opt/objc-bootstrap, which is intentional. By this I mean, that the purpose is to install these files in an unusual location ...
The real Portable Object Compiler package (objc-3.3.38) can then be built like :
In the above the installation is the /usr/local directory so in this case you have to be careful because the prefix could also be set to /usr to really package for the operating system /usr directory.
It depends on OpenBSD policies whether they prefer /usr/local or /usr.
Note that in contrast to the objc-bootstrap, in any case for the objc Portable Object Compiler you'd use a standard location like /opt, /usr or /usr/local and not some unusual place like /opt/objc-bootstrap.
Then you can run some checks with
This make will test the compiler.
The test suite is fairly limited at this point, but in the future I will add more tests.
You can then make install the compiler if the "make check" was succesful.
Also other software should build like the AT&T based cursel
https://sourceforge.net/projects/cursel/
If there are some issues, I'm sure it will not be too difficult to sort them out.