--- /dev/null
+config BR2_PACKAGE_ANGULARJS
+ bool "angularjs"
+ help
+ AngularJS web application framework.
+
+ http://angularjs.org
+
+if BR2_PACKAGE_ANGULARJS
+
+menuconfig BR2_ANGULARJS_MODULES
+ bool "angularjs modules"
+ help
+ Select which modules to install. If disabled, all modules
+ will be installed.
+
+if BR2_ANGULARJS_MODULES
+
+config BR2_ANGULARJS_MODULE_ANIMATE
+ bool "animate"
+ help
+ The ngAnimate module provides support for CSS-based animations
+ (keyframes and transitions) as well as JavaScript-based animations
+ via callback hooks. Animations are not enabled by default, however,
+ by including ngAnimate then the animation hooks are enabled for an
+ Angular app.
+
+config BR2_ANGULARJS_MODULE_ARIA
+ bool "aria"
+ help
+ The ngAria module provides support for common ARIA attributes that
+ convey state or semantic information about the application for users
+ of assistive technologies, such as screen readers.
+
+config BR2_ANGULARJS_MODULE_COOKIES
+ bool "cookies"
+ help
+ The ngCookies module provides a convenient wrapper for reading and
+ writing browser cookies.
+
+config BR2_ANGULARJS_MODULE_MESSAGE_FORMAT
+ bool "message-format"
+ help
+ The ngMessageFormat module is used recognize MessageFormat extensions
+ in interpolation expressions.
+
+config BR2_ANGULARJS_MODULE_MESSAGES
+ bool "messages"
+ help
+ The ngMessages module provides enhanced support for displaying
+ messages within templates (typically within forms or when rendering
+ message objects that return key/value data).
+
+config BR2_ANGULARJS_MODULE_RESOURCE
+ bool "resource"
+ help
+ The ngResource module provides interaction support with RESTful
+ services via the $resource service.
+
+config BR2_ANGULARJS_MODULE_ROUTE
+ bool "route"
+ help
+ The ngRoute module provides routing and deeplinking services and
+ directives for angular apps.
+
+config BR2_ANGULARJS_MODULE_SANITIZE
+ bool "sanitize"
+ help
+ The ngSanitize module provides functionality to sanitize HTML.
+
+config BR2_ANGULARJS_MODULE_TOUCH
+ bool "touch"
+ help
+ The ngTouch module provides touch events and other helpers for
+ touch-enabled devices. The implementation is based on jQuery Mobile
+ touch event handling (jquerymobile.com).
+
+endif
+
+endif
--- /dev/null
+################################################################################
+#
+# angularjs
+#
+################################################################################
+
+ANGULARJS_VERSION = 1.4.3
+ANGULARJS_SOURCE = angular-$(ANGULARJS_VERSION).zip
+ANGULARJS_SITE = https://code.angularjs.org/$(ANGULARJS_VERSION)/
+ANGULARJS_LICENSE = MIT
+# There's no separate license file in the archive, so use angular.js instead.
+ANGULARJS_LICENSE_FILES = angular.js
+
+define ANGULARJS_EXTRACT_CMDS
+ unzip $(DL_DIR)/$(ANGULARJS_SOURCE) -d $(@D)
+ mv $(@D)/angular-$(ANGULARJS_VERSION)/* $(@D)
+ rmdir $(@D)/angular-$(ANGULARJS_VERSION)
+endef
+
+ANGULARJS_FILES = angular
+
+ANGULARJS_MODULES = animate aria cookies message-format messages resource \
+ route sanitize touch
+
+ifeq ($(BR2_ANGULARJS_MODULES),y)
+ANGULARJS_FILES += $(foreach mod,$(ANGULARJS_MODULES),\
+ $(if $(BR2_ANGULARJS_MODULE_$(call UPPERCASE,$(mod))),\
+ angular-$(mod)))
+else
+ANGULARJS_FILES += $(foreach mod,$(ANGULARJS_MODULES),angular-$(mod))
+endif
+
+define ANGULARJS_INSTALL_TARGET_CMDS
+ $(foreach f,$(ANGULARJS_FILES),\
+ $(INSTALL) -m 0644 -D $(@D)/$(f).min.js \
+ $(TARGET_DIR)/var/www/$(f).js$(sep))
+endef
+
+$(eval $(generic-package))