Page 1 of 1

Debian 12 Bookworm CopperSpice 1.8.2 Binaries

Posted: Sat Oct 28 2023 7:42 pm
by crispina
I have noticed that there is no CopperSpice 1.8.2 binary download file in compressed format for Debian 12 (just Debian 11) on your "" page and so I built CopperSpice from source and put together a guide for other Debian Bookworm users.

Will you be posting a Debian 12 CopperSpice 1.8.2 pre-built binary for download? I have noticed file sizes are different is some cases between the Debian 12 and Debian 11 binary files.

Thank you for all your work on CopperSpice.

Re: Debian 12 Bookworm CopperSpice 1.8.2 Binaries

Posted: Sun Oct 29 2023 6:32 pm
by barbara
We update the OS versions for Linux on a rotating basis. Right now we are in the process of swapping out some of the older versions of Fedora and Rocky. Debian 12 was just released a few months ago and will be added to our CI by December.

New CS binary files for newer platforms will be uploaded with our next CS release.


Re: Debian 12 Bookworm CopperSpice 1.8.2 Binaries

Posted: Sun Oct 29 2023 8:11 pm
by crispina
Thanks for the information. Debian 12 Bookworm will be around for many years to come because Debian has a longer release schedule compared to other distributions.

Also when I downloaded and uncompressed the CopperSpice API documentation from “” I found it contained some strange files. I will not put the contents on the forum. Are you aware of this?

Re: Debian 12 Bookworm CopperSpice 1.8.2 Binaries

Posted: Sun Oct 29 2023 11:13 pm
by barbara
Yes, we do know about the release cycle for Debian. Some platforms update more frequently and others doing rolling releases like Arch.

Thank you for letting us know the "tar.bz2" file was damaged. The ".zip" file was correct. We will remove the extra files and re-upload.


Re: Debian 12 Bookworm CopperSpice 1.8.2 Binaries

Posted: Fri Nov 03 2023 5:56 pm
by ansel
I took some time to read your “Debian 12 guide” and I would strongly suggest changing several items. Documentation can be messy and some of what you said could be misunderstood by new developers.

(1) Even though Ubuntu is based on Debian, you simply can not assume that a Ubuntu program will work on Debian. Your explanation about the Designer program issues having something to do with a new JPEG version is misleading. The real issue is ABI incompatibilities. You need to run programs compiled for Debian on Debian.

(2) Later on in your readme file you mention the following text and it is problematic. Developers who do not know CS will be confused. Please know that we appreciate your enthusiasm and the great amount of work you have done.
Notice that the MainWindow class uses CS_OBJECT and not the Q_OBJECT macro as would be the case in a Qt application. With Qt, when the moc tool reads a C++ header file and finds a class declaration that contain the Q_OBJECT macro, it produces a C++ source file containing the meta-object code required for the Qt signals and slots mechanism amongst other things.
a) The moc program is a code generator which produces boilerplate code containing the implementation of the metaobject for your class. It must be run as part of the build process.
Because a CopperSpice application does not use the Q_OBJECT macro the signal and slot mechanism is different and can be written as shown above.
b) CopperSpice renamed the Q_OBJECT macro to CS_OBJECT. The CS_OBJECT macro will automatically invoke templates which will register the necessary information with the CopperSpice meta object system. This replaces the need for a meta object compiler (moc). No Signal / Slot functionality was removed or lost.

The Signal/Slot system in CopperSpice can use several different types of syntax depending on what you need to declare.

a) You can use the following to declare a Slot.

Code: Select all

CS_SLOT_1(Private, void on_pushButton_clicked())
b) For Slots which are connected using the method pointer syntax, you can simply declare the Slot method as shown below. Yes, Slots can be normal methods.

Code: Select all

   void on_pushButton_clicked();

(3) There are some issues with your license text.

a) You should also not use a GPL license for example code since it limits people from borrowing your source code.

b) Another problem is the license of CS is based on our preference, not simply the derivation.

c) The wording of “hello Copperspice project” is a bit off. Some readers might think the CopperSpice Project is GPL. In this text you are talking about an application or a program, not a project.
The hello Copperspice project is licensed under GPL v2.0 as CopperSpice (originally derived from Qt4.8) is released under the LGPL V2.1 license.
Please change this to the following:
My ‘hello’ Copperspice application is licensed under BSD. CopperSpice is released under the LGPL V2.1 license.

(4) At the bottom of the document you have misspelled CopperSpice as “CoperSpice”

Thank you again for your effort, we hope these suggestions are helpful to you.

Re: Debian 12 Bookworm CopperSpice 1.8.2 Binaries

Posted: Fri Nov 03 2023 7:11 pm
by barbara
Not sure if you have seen our CopperSpice Journal. It consists of several articles and 40 different examples.

We have an article which provides a full explanation about how to build CS on every supported platform. There are also other ones which explain the basic CMake commands required to build an application which links with CopperSpice.

Additional examples are in the works.


Re: Debian 12 Bookworm CopperSpice 1.8.2 Binaries

Posted: Fri Nov 03 2023 8:17 pm
by crispina
Thanks for your suggestions. It was not meant to be a formal set of instructions just a record of the steps that I took in chronological order to get up and running with CopperSpice on Debian 12. The guide is now located at