You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
3.1 KiB

  1. #
  2. # Copyright (C) 2008-2014 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=coreutils
  9. PKG_VERSION:=8.23
  10. PKG_RELEASE:=1
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
  12. PKG_SOURCE_URL:=@GNU/coreutils
  13. PKG_MD5SUM:=abed135279f87ad6762ce57ff6d89c41
  14. PKG_BUILD_DEPENDS:=libpthread
  15. PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
  16. PKG_BUILD_PARALLEL:=1
  17. include $(INCLUDE_DIR)/package.mk
  18. COREUTILS_APPLETS := \
  19. base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit \
  20. cut date dd dir dircolors dirname du echo env expand expr factor \
  21. false fmt fold groups head hostid id install join kill link ln logname \
  22. ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od paste \
  23. pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir \
  24. runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred \
  25. shuf sleep sort split stat stdbuf stty sum sync tac tail tee test \
  26. timeout touch tr true truncate tsort tty uname unexpand uniq unlink \
  27. uptime users vdir wc who whoami yes
  28. DEPENDS_sort = +libpthread
  29. DEPENDS_timeout = +librt
  30. DEPENDS_expr = +libgmp
  31. DEPENDS_factor = +libgmp
  32. DEPENDS_cp = +libacl
  33. DEPENDS_dir = +libacl
  34. DEPENDS_install = +libacl
  35. DEPENDS_ls = +libacl
  36. DEPENDS_mv = +libacl
  37. DEPENDS_vdir = +libacl
  38. define Package/coreutils/Default
  39. SECTION:=utils
  40. CATEGORY:=Utilities
  41. TITLE:=The GNU core utilities
  42. URL:=http://www.gnu.org/software/coreutils/
  43. endef
  44. define Package/coreutils
  45. $(call Package/coreutils/Default)
  46. TITLE:=The GNU core utilities
  47. MENU:=1
  48. endef
  49. define Package/coreutils/description
  50. Full versions of standard GNU utilities. Normally, you would not use this
  51. package, since the functionality in BusyBox is more than sufficient and
  52. smaller.
  53. endef
  54. define GenPlugin
  55. define Package/$(1)
  56. $(call Package/coreutils/Default)
  57. DEPENDS:=coreutils $(DEPENDS_$(2))
  58. TITLE:=Utility $(2) from the GNU core utilities
  59. endef
  60. define Package/$(1)/description
  61. Full version of standard GNU $(2) utility. Normally, you would not use this
  62. package, since the functionality in BusyBox is more than sufficient.
  63. endef
  64. endef
  65. $(foreach a,$(COREUTILS_APPLETS),$(eval $(call GenPlugin,coreutils-$(a),$(a))))
  66. CONFIGURE_VARS += \
  67. gl_cv_func_mbrtowc_incomplete_state=yes \
  68. gl_cv_func_mbrtowc_retval=yes \
  69. gl_cv_func_wcrtomb_retval=yes
  70. ifneq ($(CONFIG_USE_UCLIBC),)
  71. CONFIGURE_VARS += \
  72. ac_cv_type_pthread_spinlock_t=$(if $(filter 0.9.30% 0.9.2% 0.9.31%,$(call qstrip,$(CONFIG_UCLIBC_VERSION))),no,yes)
  73. endif
  74. CONFIGURE_ARGS += \
  75. --disable-xattr \
  76. --enable-install-program=su
  77. define Build/Compile
  78. $(MAKE) -C $(PKG_BUILD_DIR) \
  79. DESTDIR="$(PKG_INSTALL_DIR)" \
  80. SHELL="/bin/bash" \
  81. all install
  82. endef
  83. define Package/coreutils/install
  84. true
  85. endef
  86. define BuildPlugin
  87. define Package/$(1)/install
  88. $(INSTALL_DIR) $$(1)/usr/bin
  89. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $$(1)/usr/bin/
  90. endef
  91. $$(eval $$(call BuildPackage,$(1)))
  92. endef
  93. $(eval $(call BuildPackage,coreutils))
  94. $(foreach a,$(COREUTILS_APPLETS),$(eval $(call BuildPlugin,coreutils-$(a),$(a))))