Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CPack to support FreeBSD Packages #2601

Open
1 of 5 tasks
AndrewQuijano opened this issue Jan 11, 2025 · 0 comments
Open
1 of 5 tasks

Update CPack to support FreeBSD Packages #2601

AndrewQuijano opened this issue Jan 11, 2025 · 0 comments

Comments

@AndrewQuijano
Copy link
Contributor

AndrewQuijano commented Jan 11, 2025

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")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant