1local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ; 2 3 4local haikuPackage = haiku.hpkg ; 5HaikuPackage $(haikuPackage) ; 6 7 8# wifi firmware 9local driver ; 10for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) { 11 local archive = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_ARCHIVE) ] ; 12 local extract = [ on $(driver) return $(HAIKU_WIFI_FIRMWARE_DO_EXTRACT) ] ; 13 if $(archive) { 14 AddWifiFirmwareToPackage $(driver) : : $(archive) : $(extract) ; 15 } 16} 17 18# bootloaders 19local bootTarget ; 20for bootTarget in $(HAIKU_BOOT_TARGETS) { 21 AddFilesToPackage data platform_loaders : haiku_loader.$(bootTarget) ; 22} 23 24# modules 25AddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ; 26AddFilesToPackage add-ons kernel busses agp_gart : 27 <agp_gart>intel@x86,x86_64 28 ; 29 30AddFilesToPackage add-ons kernel busses ata : 31 generic_ide_pci 32 it8211 33 legacy_sata 34 silicon_image_3112 35 highpoint_ide_pci 36 ide_isa@x86 37 ; 38 39AddFilesToPackage add-ons kernel busses i2c : 40 pch_i2c@x86,x86_64 41 ; 42AddFilesToPackage add-ons kernel busses mmc : 43 sdhci 44 ; 45AddFilesToPackage add-ons kernel busses pci : 46 <pci>designware@riscv64 47 <pci>ecam@riscv64,arm,arm64 48 <pci>x86@x86,x86_64 49 ; 50AddFilesToPackage add-ons kernel busses random : 51 ccp_rng@x86,x86_64 52 virtio_rng 53 ; 54AddFilesToPackage add-ons kernel busses scsi : 55 ahci 56 virtio_scsi 57 ; 58AddFilesToPackage add-ons kernel busses usb : 59 <usb>uhci 60 <usb>ohci 61 <usb>ehci 62 <usb>xhci 63 ; 64AddFilesToPackage add-ons kernel busses virtio : 65 virtio_mmio@riscv64,arm,arm64 66 virtio_pci 67 ; 68AddFilesToPackage add-ons kernel console : 69 vga_text 70 ; 71AddFilesToPackage add-ons kernel debugger : 72 <kdebug>demangle 73 <kdebug>disasm@x86,x86_64 74 <kdebug>hangman 75 <kdebug>invalidate_on_exit 76 <kdebug>usb_keyboard 77 <kdebug>qrencode@libqrencode 78 <kdebug>run_on_exit 79 ; 80AddFilesToPackage add-ons kernel file_systems 81 : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ; 82AddFilesToPackage add-ons kernel generic : 83 ata_adapter 84 bios@x86,x86_64 85 dpc 86 locked_pool 87 mpu401 88 scsi_periph 89 smbios@x86,x86_64 90 <module>tty 91 ; 92AddFilesToPackage add-ons kernel partitioning_systems : 93 amiga_rdb@m68k 94 apple@ppc 95 sun@sparc 96 efi_gpt 97 intel 98 session 99 ; 100AddFilesToPackage add-ons kernel interrupt_controllers : 101 openpic@ppc 102 ; 103AddFilesToPackage add-ons kernel power cpufreq : 104 amd_pstates@x86,x86_64 105 intel_pstates@x86,x86_64 106 ; 107AddFilesToPackage add-ons kernel power cpuidle : 108 intel_cstates@x86,x86_64 109 ; 110 111if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 { 112 AddFilesToPackage add-ons kernel cpu : 113 generic_x86 114 ; 115} 116 117# drivers 118AddNewDriversToPackage : 119 wmi@x86,x86_64 120 ; 121AddNewDriversToPackage disk : 122 nvme_disk 123 usb_disk 124 ; 125AddNewDriversToPackage disk mmc : 126 mmc_disk 127 ; 128AddNewDriversToPackage disk scsi : 129 scsi_cd 130 scsi_disk 131 ; 132AddNewDriversToPackage disk virtual : 133 ram_disk 134 virtio_block 135 ; 136AddNewDriversToPackage graphics : 137 virtio_gpu 138 ; 139AddNewDriversToPackage power 140 : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ; 141AddNewDriversToPackage sensor 142 : $(SYSTEM_ADD_ONS_DRIVERS_SENSOR) ; 143AddNewDriversToPackage network : 144 usb_ecm 145 virtio_net 146 ; 147AddNewDriversToPackage input : 148 i2c_elan 149 virtio_input 150 ; 151AddNewDriversToPackage display : 152# display_adapter@x86 153 ; 154AddNewDriversToPackage audio hmulti : 155# virtio_sound 156 ; 157 158# legacy drivers 159AddDriversToPackage : 160 console 161 dprintf 162 null 163 <driver>tty 164 usb_modeswitch 165 zero 166 ; 167AddDriversToPackage audio hmulti : 168 $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ; 169AddDriversToPackage audio old : 170 $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ; 171AddDriversToPackage bluetooth h2 : 172 $(SYSTEM_ADD_ONS_DRIVERS_BT_H2) ; 173AddDriversToPackage midi : 174 $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ; 175AddDriversToPackage bus : 176 usb_raw 177 ; 178AddDriversToPackage disk virtual : 179 nbd 180 ; 181AddDriversToPackage dvb : 182 cx23882 183 ; 184AddDriversToPackage graphics 185 : $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ; 186AddDriversToPackage input : 187 ps2_hid 188 usb_hid 189 wacom 190 ; 191AddDriversToPackage misc : 192 <driver>poke 193 <driver>mem 194 ; 195AddDriversToPackage net 196 : $(SYSTEM_ADD_ONS_DRIVERS_NET) ; 197AddDriversToPackage ports : 198 pc_serial 199 usb_serial 200 ; 201 202# kernel 203AddFilesToPackage : <revisioned>kernel_$(TARGET_ARCH) ; 204 205# libs 206AddLibrariesToPackage lib 207 : [ HaikuImageGetSystemLibs ] [ HaikuImageGetPrivateSystemLibs ] ; 208 209# libnetwork.so replaces quite a few libraries 210if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 { 211 local libNetworkAliases = libsocket.so libbind.so libnet.so ; 212 local lib ; 213 for lib in $(libNetworkAliases) { 214 AddSymlinkToPackage lib : libnetwork.so : $(lib) ; 215 } 216 217 AddSymlinkToPackage lib : libbnetapi.so : libnetapi.so ; 218} 219 220 221# trusted keys 222SEARCH on haiku-2019.pub = [ FDirName $(HAIKU_TOP) data trust_db ] ; 223AddFilesToPackage data trust_db : haiku-2019.pub ; 224 225# servers 226AddFilesToPackage servers : $(SYSTEM_SERVERS) ; 227 228# apps 229AddFilesToPackage : 230 runtime_loader 231 Deskbar 232 Tracker 233 ; 234AddFilesToPackage bin : 235 $(SYSTEM_BIN) 236 consoled 237 ; 238AddFilesToPackage apps 239 : $(SYSTEM_APPS) ; 240AddFilesToPackage preferences 241 : $(SYSTEM_PREFERENCES) ; 242AddFilesToPackage demos 243 : $(SYSTEM_DEMOS) ; 244 245SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ; 246AddFilesToPackage bin : install-wifi-firmwares.sh ; 247 248AddSymlinkToPackage bin : trash : untrash ; 249AddSymlinkToPackage bin : less : more ; 250 251# scripts and data files 252local bootScripts = PostInstallScript SetupEnvironment ; 253SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ; 254AddFilesToPackage boot : $(bootScripts) ; 255 256local launchScripts = <data!launch>system ; 257SEARCH on $(launchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ; 258AddFilesToPackage data launch : $(launchScripts) ; 259 260local userLaunchScripts = <data!launch>user ; 261SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ; 262AddFilesToPackage data user_launch : $(userLaunchScripts) ; 263 264# first login scripts 265local firstLoginFiles = default_deskbar_items.sh ; 266firstLoginFiles = $(firstLoginFiles:G=first-login) ; 267SEARCH on $(firstLoginFiles) 268 = [ FDirName $(HAIKU_TOP) data system boot first_login ] ; 269AddFilesToPackage boot first-login : $(firstLoginFiles) ; 270 271# artwork and sounds 272local logoArtwork = 273 $(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - big.png" 274 $(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - normal.png" ; 275SEARCH on $(logoArtwork) = [ FDirName $(HAIKU_TOP) data artwork ] ; 276AddFilesToPackage data artwork : $(logoArtwork) ; 277 278# Mail spell check dictionaries 279local spellFiles = words geekspeak ; 280spellFiles = $(spellFiles:G=spell) ; 281SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ; 282AddFilesToPackage data spell_check word_dictionary : $(spellFiles) ; 283 284local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes 285 : [a-zA-Z0-9]* ] ; 286fortuneFiles = $(fortuneFiles:G=data!fortunes) ; 287AddFilesToPackage data fortunes : $(fortuneFiles) ; 288 289local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ; 290local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ; 291AddFilesToPackage data fonts psfonts : $(psFonts) ; 292 293# keymaps 294AddFilesToPackage data Keymaps : $(HAIKU_KEYMAP_FILES) ; 295local keymapAlias ; 296for keymapAlias in $(HAIKU_KEYMAP_ALIASES) { 297 local aliasedTo = [ on $(keymapAlias) return $(HAIKU_KEYMAP_FILE) ] ; 298 AddSymlinkToPackage data Keymaps : $(aliasedTo:BSM) : $(keymapAlias:BSM) ; 299} 300 301# keyboard layouts 302AddFilesToPackage data KeyboardLayouts 303 : $(HAIKU_KEYBOARD_LAYOUT_FILES) ; 304AddFilesToPackage data KeyboardLayouts Apple\ Aluminum 305 : $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) ; 306AddFilesToPackage data KeyboardLayouts ThinkPad 307 : $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) ; 308 309# terminal themes 310local terminalThemes = [ Glob $(HAIKU_TOP)/data/system/data/terminal_themes : "[a-zA-Z0-9 ]*" ] ; 311AddFilesToPackage data Terminal Themes : $(terminalThemes) ; 312 313# boot module links 314AddBootModuleSymlinksToPackage 315 acpi@x86,x86_64,arm64 316 ahci 317 ata 318 ata_adapter 319 bfs 320 dpc 321 efi_gpt 322 generic_ide_pci 323 ide_isa@x86 324 isa@x86,x86_64 325 intel 326 it8211 327 legacy_sata 328 locked_pool 329 mmc 330 mmc_disk 331 nvme_disk 332 openpic@ppc 333 packagefs 334 pci 335 <pci>designware@riscv64 336 <pci>ecam@riscv64,arm,arm64 337 <pci>x86@x86,x86_64 338 fdt@riscv64,arm,arm64 339 scsi 340 scsi_cd 341 scsi_disk 342 scsi_periph 343 silicon_image_3112 344 highpoint_ide_pci 345 sdhci 346 usb 347 usb_disk 348 <usb>ehci 349 <usb>ohci 350 <usb>uhci 351 <usb>xhci 352 virtio 353 virtio_block 354 virtio_mmio@riscv64,arm,arm64 355 virtio_pci 356 virtio_scsi 357; 358 359# add-ons 360AddFilesToPackage add-ons accelerants : 361 $(SYSTEM_ADD_ONS_ACCELERANTS) ; 362AddFilesToPackage add-ons locale catalogs : 363 $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; 364 365AddFilesToPackage add-ons mail_daemon inbound_protocols : 366 POP3 367 IMAP 368 ; 369AddFilesToPackage add-ons mail_daemon outbound_protocols : 370 SMTP 371 ; 372AddFilesToPackage add-ons mail_daemon inbound_filters : 373 MatchHeader 374 SpamFilter 375 NewMailNotification 376 ; 377AddFilesToPackage add-ons mail_daemon outbound_filters : 378 Fortune 379 ; 380 381AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ; 382 383AddFilesToPackage add-ons Network\ Settings : 384 IPv4Interface 385 IPv6Interface 386 DNSClientService 387 Hostname 388 FTPService 389 SSHService 390 TelnetService 391 ; 392 393AddFilesToPackage add-ons Tracker : 394 FileType 395 Mark\ as… 396 Mark\ as\ Read 397 Open\ Target\ Folder 398 Open\ Terminal 399 ZipOMatic 400 ; 401AddSymlinkToPackage add-ons Tracker 402 : /boot/system/preferences/Backgrounds : Background ; 403AddSymlinkToPackage add-ons Tracker 404 : /boot/system/apps/TextSearch : TextSearch ; 405AddSymlinkToPackage add-ons Tracker 406 : /boot/system/apps/DiskUsage : DiskUsage ; 407 408AddFilesToPackage add-ons input_server devices : 409 <input>keyboard 410 <input>mouse 411 <input>tablet 412 <input>virtio 413 <input>wacom 414 ; 415AddFilesToPackage add-ons input_server filters : 416 padblocker 417 screen_saver 418 shortcut_catcher 419 switch_workspace 420 ; 421AddDirectoryToPackage add-ons input_server methods ; 422 423AddFilesToPackage add-ons kernel network : 424 <net>notifications 425 stack 426 ; 427AddFilesToPackage add-ons kernel network : 428 dns_resolver 429 ; 430AddFilesToPackage add-ons kernel network devices 431 : $(SYSTEM_NETWORK_DEVICES) ; 432AddFilesToPackage add-ons kernel network datalink_protocols 433 : $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ; 434AddFilesToPackage add-ons kernel network ppp 435 : $(SYSTEM_NETWORK_PPP) ; 436AddFilesToPackage add-ons kernel network protocols 437 : $(SYSTEM_NETWORK_PROTOCOLS) ; 438 439AddFilesToPackage add-ons Screen\ Savers : $(SYSTEM_ADD_ONS_SCREENSAVERS) ; 440 441AddFilesToPackage add-ons disk_systems : 442 <disk_system>fat 443 <disk_system>intel 444 <disk_system>gpt 445 <disk_system>bfs 446 <disk_system>ntfs 447 ; 448 449# Kernel bluetooth stack 450AddFilesToPackage add-ons kernel bluetooth : $(SYSTEM_BT_STACK) ; 451 452# the MIME DB 453CopyDirectoryToPackage data : <mimedb>mime_db : : : isTarget ; 454 455# directory attributes 456AddDirectoryToPackage apps : system-apps.rdef ; 457AddDirectoryToPackage preferences : system-preferences.rdef ; 458 459# Deskbar menu symlinks 460 461local linkTarget ; 462 463# "Applications" links 464AddDirectoryToPackage data deskbar menu Applications 465 : deskbar-applications.rdef ; 466for linkTarget in $(DESKBAR_APPLICATIONS) { 467 AddSymlinkToPackage data deskbar menu Applications 468 : ../../../../apps/$(linkTarget) : $(linkTarget) ; 469} 470 471# "Desktop applets" links 472AddDirectoryToPackage data deskbar menu Desktop\ applets 473 : deskbar-applets.rdef ; 474for linkTarget in $(DESKBAR_DESKTOP_APPLETS) { 475 AddSymlinkToPackage data deskbar menu Desktop\ applets 476 : ../../../../apps/$(linkTarget) : $(linkTarget) ; 477} 478 479# "Preferences" links 480AddDirectoryToPackage data deskbar menu Preferences 481 : deskbar-preferences.rdef ; 482DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ; 483for linkTarget in $(DESKBAR_PREFERENCES) { 484 AddSymlinkToPackage data deskbar menu Preferences 485 : ../../../../preferences/$(linkTarget) 486 : $(linkTarget) ; 487} 488 489# "Demo" links 490AddDirectoryToPackage data deskbar menu Demos 491 : deskbar-demos.rdef ; 492for linkTarget in $(SYSTEM_DEMOS) { 493 AddSymlinkToPackage data deskbar menu Demos 494 : ../../../../demos/$(linkTarget) : $(linkTarget) ; 495} 496 497# Deskbar menu entries file 498AddFilesToPackage data deskbar : <deskbar>menu_entries ; 499 500# licenses 501CopyDirectoryToPackage data 502 : [ FDirName $(HAIKU_TOP) data system data licenses ] 503 : licenses ; 504 505# netresolv support files 506CopyDirectoryToPackage data 507 : [ FDirName $(HAIKU_TOP) data system data network ] 508 : network ; 509 510# Copy documentation as per DiskUsage's license requirement. 511CopyDirectoryToPackage documentation 512 : [ FDirName $(HAIKU_TOP) docs apps diskusage ] 513 : diskusage ; 514 515 516# empty directory 517AddDirectoryToPackage data empty ; 518 519 520BuildHaikuPackage $(haikuPackage) : haiku ; 521