How To Install clover2 on Fedora 34

clover2 is Yet another compiler language

Introduction

In this tutorial we learn how to install clover2 on Fedora 34.

What is clover2

clover2 is a Ruby-like compiler language with static type like Java. This language consists of compilers and virtual machines like Java and C#. In order to compile, type checking can be done at compile time. In addition, it is designed to be able to use an easy-to-use library like Ruby. Regular expressions, lambda, closure etc are first class objects.

We can use yum or dnf to install clover2 on Fedora 34. In this tutorial we discuss both methods but you only need to choose one of method to install clover2.

Install clover2 on Fedora 34 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

The output should look something like this:

Fedora 34 - x86_64                               20 kB/s | 6.6 kB     00:00
Fedora 34 openh264 (From Cisco) - x86_64        1.4 kB/s | 989  B     00:00
Fedora Modular 34 - x86_64                       68 kB/s | 6.5 kB     00:00
Fedora 34 - x86_64 - Updates                    3.5 kB/s | 6.2 kB     00:01
Fedora Modular 34 - x86_64 - Updates             17 kB/s | 5.9 kB     00:00
Metadata cache created.

After updating yum database, We can install clover2 using dnf by running the following command:

sudo dnf -y install clover2

Install clover2 on Fedora 34 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

The output should look something like this:

Fedora 34 - x86_64                               20 kB/s | 6.6 kB     00:00
Fedora 34 openh264 (From Cisco) - x86_64        1.4 kB/s | 989  B     00:00
Fedora Modular 34 - x86_64                       68 kB/s | 6.5 kB     00:00
Fedora 34 - x86_64 - Updates                    3.5 kB/s | 6.2 kB     00:01
Fedora Modular 34 - x86_64 - Updates             17 kB/s | 5.9 kB     00:00
Metadata cache created.

After updating yum database, We can install clover2 using yum by running the following command:

sudo yum -y install clover2

How To Uninstall clover2 on Fedora 34

To uninstall only the clover2 package we can use the following command:

sudo dnf remove clover2

clover2 Package Contents on Fedora 34

/usr/bin/cclover2
/usr/bin/clover2
/usr/bin/iclover2
/usr/bin/tyclover2
/usr/lib/.build-id
/usr/lib/.build-id/12
/usr/lib/.build-id/12/ff584626103158439c525b0ec09d7a3363776b
/usr/lib/.build-id/7c
/usr/lib/.build-id/7c/2ef7732d5a68afaac76464b81702841ec6b24a
/usr/lib/.build-id/83
/usr/lib/.build-id/83/9e2500281f75dd9c3bd2597ad7138932e1693a
/usr/lib/.build-id/df
/usr/lib/.build-id/df/04e443d17b4b194da04e19fde6fe0708d77b96
/usr/share/clover2
/usr/share/clover2/Array.js
/usr/share/clover2/Array.oclcl
/usr/share/clover2/Array.ojsclcl
/usr/share/clover2/ArrayBuffer.ojsclcl
/usr/share/clover2/Blob.ojsclcl
/usr/share/clover2/Bool.js
/usr/share/clover2/Bool.oclcl
/usr/share/clover2/Bool.ojsclcl
/usr/share/clover2/Buffer.oclcl
/usr/share/clover2/Byte.oclcl
/usr/share/clover2/C.oclcl
/usr/share/clover2/[email protected]
/usr/share/clover2/CGI.clcl
/usr/share/clover2/CLang.oclcl
/usr/share/clover2/CLangFunc.oclcl
/usr/share/clover2/CLangVariable.oclcl
/usr/share/clover2/CLibrary.clcl
/usr/share/clover2/Char.oclcl
/usr/share/clover2/Class.oclcl
/usr/share/clover2/Clover.js
/usr/share/clover2/Clover.oclcl
/usr/share/clover2/Clover.ojsclcl
/usr/share/clover2/Command.clcl
/usr/share/clover2/Command.oclcl
/usr/share/clover2/Container.clcl
/usr/share/clover2/DataView.js
/usr/share/clover2/DataView.ojsclcl
/usr/share/clover2/Directory.oclcl
/usr/share/clover2/Document.ojsclcl
/usr/share/clover2/Double.oclcl
/usr/share/clover2/Element.ojsclcl
/usr/share/clover2/EqualableArray.oclcl
/usr/share/clover2/EqualableList.oclcl
/usr/share/clover2/Error.ojsclcl
/usr/share/clover2/Event.ojsclcl
/usr/share/clover2/EventListnerOpetion.ojsclcl
/usr/share/clover2/Exception.js
/usr/share/clover2/Exception.oclcl
/usr/share/clover2/Exception.ojsclcl
/usr/share/clover2/Field.oclcl
/usr/share/clover2/File.clcl
/usr/share/clover2/File.oclcl
/usr/share/clover2/Float.oclcl
/usr/share/clover2/Float32Array.js
/usr/share/clover2/Float32Array.ojsclcl
/usr/share/clover2/Float64Array.js
/usr/share/clover2/Float64Array.ojsclcl
/usr/share/clover2/Function.js
/usr/share/clover2/Function.ojsclcl
/usr/share/clover2/Fundamental.clcl
/usr/share/clover2/GCMemory.oclcl
/usr/share/clover2/Global.oclcl
/usr/share/clover2/Global.ojsclcl
/usr/share/clover2/Hash.oclcl
/usr/share/clover2/HashItem.oclcl
/usr/share/clover2/IEqualable.oclcl
/usr/share/clover2/IEqualable.ojsclcl
/usr/share/clover2/IHashKey.oclcl
/usr/share/clover2/IHashKey.ojsclcl
/usr/share/clover2/IIteratorable.oclcl
/usr/share/clover2/IIteratorable.ojsclcl
/usr/share/clover2/ISortable.oclcl
/usr/share/clover2/ISortable.ojsclcl
/usr/share/clover2/Int16Array.js
/usr/share/clover2/Int16Array.ojsclcl
/usr/share/clover2/Int32Array.js
/usr/share/clover2/Int32Array.ojsclcl
/usr/share/clover2/Int8Array.js
/usr/share/clover2/Int8Array.ojsclcl
/usr/share/clover2/Integer.oclcl
/usr/share/clover2/Iterator.ojsclcl
/usr/share/clover2/IteratorResult.ojsclcl
/usr/share/clover2/JS.jsclcl
/usr/share/clover2/Job.oclcl
/usr/share/clover2/Lambda.js
/usr/share/clover2/Lambda.ojsclcl
/usr/share/clover2/List.oclcl
/usr/share/clover2/ListItem.oclcl
/usr/share/clover2/Long.oclcl
/usr/share/clover2/MArray.clm
/usr/share/clover2/MEqualableArray.clm
/usr/share/clover2/MEqualableList.clm
/usr/share/clover2/MInclude.clm
/usr/share/clover2/MList.clm
/usr/share/clover2/MPrintOutObject.clm
/usr/share/clover2/MWrapperClassBase.clm
/usr/share/clover2/Map.js
/usr/share/clover2/Map.ojsclcl
/usr/share/clover2/Method.oclcl
/usr/share/clover2/MethodParam.oclcl
/usr/share/clover2/Mutex.oclcl
/usr/share/clover2/MyOwnLibrary.clcl
/usr/share/clover2/Node.ojsclcl
/usr/share/clover2/NodeList.ojsclcl
/usr/share/clover2/Null.oclcl
/usr/share/clover2/Null.ojsclcl
/usr/share/clover2/Number.js
/usr/share/clover2/Number.ojsclcl
/usr/share/clover2/Object.oclcl
/usr/share/clover2/Object.ojsclcl
/usr/share/clover2/Path.oclcl
/usr/share/clover2/PcreOVec.oclcl
/usr/share/clover2/Pointer.oclcl
/usr/share/clover2/Range.clcl
/usr/share/clover2/Range.oclcl
/usr/share/clover2/Reflection.clcl
/usr/share/clover2/Set.js
/usr/share/clover2/Set.ojsclcl
/usr/share/clover2/Short.oclcl
/usr/share/clover2/Socket.clcl
/usr/share/clover2/SortableArray.oclcl
/usr/share/clover2/SortableList.oclcl
/usr/share/clover2/String.clcl
/usr/share/clover2/String.js
/usr/share/clover2/String.oclcl
/usr/share/clover2/String.ojsclcl
/usr/share/clover2/System.js
/usr/share/clover2/System.oclcl
/usr/share/clover2/System.ojsclcl
/usr/share/clover2/SystemCalls.clcl
/usr/share/clover2/Thread.clcl
/usr/share/clover2/Thread.oclcl
/usr/share/clover2/Tuple1.js
/usr/share/clover2/Tuple1.oclcl
/usr/share/clover2/Tuple1.ojsclcl
/usr/share/clover2/Tuple10.oclcl
/usr/share/clover2/Tuple2.js
/usr/share/clover2/Tuple2.oclcl
/usr/share/clover2/Tuple2.ojsclcl
/usr/share/clover2/Tuple3.js
/usr/share/clover2/Tuple3.oclcl
/usr/share/clover2/Tuple3.ojsclcl
/usr/share/clover2/Tuple4.js
/usr/share/clover2/Tuple4.oclcl
/usr/share/clover2/Tuple4.ojsclcl
/usr/share/clover2/Tuple5.js
/usr/share/clover2/Tuple5.oclcl
/usr/share/clover2/Tuple5.ojsclcl
/usr/share/clover2/Tuple6.js
/usr/share/clover2/Tuple6.oclcl
/usr/share/clover2/Tuple6.ojsclcl
/usr/share/clover2/Tuple7.js
/usr/share/clover2/Tuple7.oclcl
/usr/share/clover2/Tuple7.ojsclcl
/usr/share/clover2/Tuple8.js
/usr/share/clover2/Tuple8.oclcl
/usr/share/clover2/Tuple8.ojsclcl
/usr/share/clover2/Tuple9.js
/usr/share/clover2/Tuple9.oclcl
/usr/share/clover2/Tuple9.ojsclcl
/usr/share/clover2/UByte.oclcl
/usr/share/clover2/UInteger.oclcl
/usr/share/clover2/ULong.oclcl
/usr/share/clover2/UShort.oclcl
/usr/share/clover2/Uint16Array.js
/usr/share/clover2/Uint16Array.ojsclcl
/usr/share/clover2/Uint32Array.js
/usr/share/clover2/Uint32Array.ojsclcl
/usr/share/clover2/Uint8Array.js
/usr/share/clover2/Uint8Array.ojsclcl
/usr/share/clover2/Uint8ClampedArray.js
/usr/share/clover2/Uint8ClampedArray.ojsclcl
/usr/share/clover2/WebSocket.js
/usr/share/clover2/WebSocket.ojsclcl
/usr/share/clover2/fd_set.oclcl
/usr/share/clover2/getopt_long_option.oclcl
/usr/share/clover2/hostent.oclcl
/usr/share/clover2/in_addr.oclcl
/usr/share/clover2/pthread_cond_t.oclcl
/usr/share/clover2/pthread_mutex_t.oclcl
/usr/share/clover2/servent.oclcl
/usr/share/clover2/sockaddr.oclcl
/usr/share/clover2/sockaddr_in.oclcl
/usr/share/clover2/sockaddr_un.oclcl
/usr/share/clover2/stat.oclcl
/usr/share/clover2/termios.oclcl
/usr/share/clover2/timespec.oclcl
/usr/share/clover2/timeval.oclcl
/usr/share/clover2/tm.oclcl
/usr/share/doc/clover2
/usr/share/doc/clover2/Home-en.md
/usr/share/doc/clover2/Home.md
/usr/share/doc/clover2/README.md
/usr/share/doc/clover2/Range-en.md
/usr/share/doc/clover2/Range.md
/usr/share/doc/clover2/_Footer.md
/usr/share/doc/clover2/_Sidebar.md
/usr/share/doc/clover2/anonymous-en.md
/usr/share/doc/clover2/anonymous.md
/usr/share/doc/clover2/buffer-en.md
/usr/share/doc/clover2/buffer.md
/usr/share/doc/clover2/changelog-en.md
/usr/share/doc/clover2/changelog.md
/usr/share/doc/clover2/clover-en.md
/usr/share/doc/clover2/clover.md
/usr/share/doc/clover2/collection-en.md
/usr/share/doc/clover2/collection.md
/usr/share/doc/clover2/command-en.md
/usr/share/doc/clover2/command.md
/usr/share/doc/clover2/conclusion-en.md
/usr/share/doc/clover2/conclusion.md
/usr/share/doc/clover2/conribution-en.md
/usr/share/doc/clover2/contribution.md
/usr/share/doc/clover2/diary-en.md
/usr/share/doc/clover2/diary.md
/usr/share/doc/clover2/directory-en.md
/usr/share/doc/clover2/directory.md
/usr/share/doc/clover2/extension-en.md
/usr/share/doc/clover2/extension.md
/usr/share/doc/clover2/feature-en.md
/usr/share/doc/clover2/feature.md
/usr/share/doc/clover2/file-en.md
/usr/share/doc/clover2/file.md
/usr/share/doc/clover2/global-en.md
/usr/share/doc/clover2/global.md
/usr/share/doc/clover2/lambda-en.md
/usr/share/doc/clover2/lambda.md
/usr/share/doc/clover2/libraries-en.md
/usr/share/doc/clover2/libraries.md
/usr/share/doc/clover2/object-en.md
/usr/share/doc/clover2/object.md
/usr/share/doc/clover2/path-en.md
/usr/share/doc/clover2/path.md
/usr/share/doc/clover2/pointer-en.md
/usr/share/doc/clover2/pointer.md
/usr/share/doc/clover2/reflection-en.md
/usr/share/doc/clover2/reflection.md
/usr/share/doc/clover2/regex-en.md
/usr/share/doc/clover2/regex.md
/usr/share/doc/clover2/string-en.md
/usr/share/doc/clover2/string.md
/usr/share/doc/clover2/syntax.md
/usr/share/doc/clover2/system-en.md
/usr/share/doc/clover2/system.md
/usr/share/doc/clover2/thread-en.md
/usr/share/doc/clover2/thread.md
/usr/share/doc/clover2/typing-en.md
/usr/share/doc/clover2/typing.md
/usr/share/doc/clover2/usage-en.md
/usr/share/doc/clover2/usage.md
/usr/share/doc/clover2/usage2-en.md
/usr/share/doc/clover2/usage2.md
/usr/share/man/man1/clover2.1.gz

References

Summary

In this tutorial we learn how to install clover2 on Fedora 34 using yum and dnf.