Skip to content

Update CPack to support FreeBSD Packages #2601

Open
@AndrewQuijano

Description

@AndrewQuijano

Feature

  • New architecture module
  • Support for processor extension
  • Add more instruction details (elaborated below)
  • Binding support for: language
  • Other (elaborated below)

Describe the feature you'd like
Update CPack to create FreeBSD Packages

Additional context
Once #2590 is merged, CPackConfig can create DEB and RPM files, but it can also create Free BSD Files files. The general gist how to do this:

1- Update build_release to also have a Mac OSX instance for using cpack -G FreeBSD
2- Update CMakeConfig.cmake to set the name for FreeBSD packages. Not sure what the format is for these files, update CPackConfig
3- Check CPackConfig.txt, fill out stuff under FreeBSD package settings in CPackConfig.txt, see example below and link provided
4- Clean up the packages/freebsd/** folder

https://cmake.org/cmake/help/latest/cpack_gen/freebsd.html#cpack_gen:CPack%20FreeBSD%20Generator

# Set FreeBSD-specific package variables
set(CPACK_FREEBSD_PACKAGE_NAME "capstone")
set(CPACK_FREEBSD_PACKAGE_VERSION "${PROJECT_VERSION}")
set(CPACK_FREEBSD_PACKAGE_MAINTAINER "Rot127 <[email protected]>")
set(CPACK_FREEBSD_PACKAGE_COMMENT "Lightweight multi-architecture disassembly framework - devel files")
set(CPACK_FREEBSD_PACKAGE_DESCRIPTION "Capstone is a lightweight multi-platform, multi-architecture disassembly framework. These are the development headers and libraries.\n Features:\n - Support hardware architectures: AArch64, ARM, Alpha, BPF, EVM, HPPA, LongArch, M680X, M68K, MOS65XX, Mips, PowerPC, RISCV, SH, Sparc, SystemZ, TMS320C64x, TriCore, WASM, x86, XCore, Xtensa.\n - Clean/simple/lightweight/intuitive architecture-neutral API.\n - Provide details on disassembled instructions (called \\\"decomposer\\\" by some others).\n - Provide some semantics of the disassembled instruction, such as list of implicit registers read & written.\n - Thread-safe by design.\n - Special support for embedding into firmware or OS kernel.\n - Distributed under the open source BSD license.")
set(CPACK_FREEBSD_PACKAGE_LICENSE "BSD")

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions