[Libreoffice-commits] core.git: download.lst external/freetype RepositoryExternal.mk

David Tardon dtardon at redhat.com
Thu Feb 2 07:38:00 UTC 2017


 RepositoryExternal.mk                                |    7 
 download.lst                                         |    3 
 external/freetype/ExternalProject_freetype.mk        |    5 
 external/freetype/UnpackedTarball_freetype.mk        |    4 
 external/freetype/freetype-2.4.8.patch               |   20 --
 external/freetype/freetype-2.6.5.patch.1             |  158 +++++++++++++++++++
 external/freetype/freetype-msvc-disable-sse2.patch.1 |   57 ++++--
 7 files changed, 206 insertions(+), 48 deletions(-)

New commits:
commit cc96f0c841961961f9274c4717419da8d5d27533
Author: David Tardon <dtardon at redhat.com>
Date:   Wed Feb 1 12:32:35 2017 +0100

    upload freetype 2.7.1
    
    Change-Id: I8da4395cefe6bb542ab7cac2a849ec587a63f37c
    Reviewed-on: https://gerrit.libreoffice.org/33814
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: David Tardon <dtardon at redhat.com>

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 13c9ddf..b00776c 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -1474,6 +1474,8 @@ $(call gb_LinkTarget_add_libs,$(1),$(HARFBUZZ_LIBS))
 
 endef
 
+gb_ExternalProject__use_harfbuzz :=
+
 else # SYSTEM_HARFBUZZ != TRUE
 
 define gb_LinkTarget__use_harfbuzz
@@ -1486,6 +1488,11 @@ $(call gb_LinkTarget_use_external_project,$(1),harfbuzz)
 
 endef
 
+define gb_ExternalProject__use_harfbuzz
+$(call gb_ExternalProject_use_external_project,$(1),harfbuzz)
+
+endef
+
 endif # SYSTEM_HARFBUZZ
 
 ifeq ($(DISABLE_OPENSSL),TRUE)
diff --git a/download.lst b/download.lst
index bf2ac36..2a67327 100644
--- a/download.lst
+++ b/download.lst
@@ -55,7 +55,8 @@ export FONT_EMOJIONE_COLOR_MD5SUM := 919389b307ee8696288ea3b8210ab974
 export FONT_EMOJIONE_COLOR_TARBALL := EmojiOneColor-SVGinOT-1.3.tar.gz
 export FREEHAND_MD5SUM := 8cf70c5dc4d24d2dc4a107f509d2d6d7
 export FREEHAND_TARBALL := libfreehand-0.1.1.tar.bz2
-export FREETYPE_TARBALL := dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2
+export FREETYPE_MD5SUM := b3230110e0cab777e0df7631837ac36e
+export FREETYPE_TARBALL := freetype-2.7.1.tar.bz2
 export GLM_TARBALL := bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
 export GRAPHITE_TARBALL := 3069842a88b8f40c6b83ad2850cda293-graphite2-minimal-1.3.9.tgz
 export HARFBUZZ_MD5SUM := 5986e1bfcd983d1f6caa53ef64c4abc5
diff --git a/external/freetype/ExternalProject_freetype.mk b/external/freetype/ExternalProject_freetype.mk
index 2353030..b12303c6 100644
--- a/external/freetype/ExternalProject_freetype.mk
+++ b/external/freetype/ExternalProject_freetype.mk
@@ -9,6 +9,10 @@
 
 $(eval $(call gb_ExternalProject_ExternalProject,freetype))
 
+$(eval $(call gb_ExternalProject_use_externals,freetype,\
+	harfbuzz \
+))
+
 $(eval $(call gb_ExternalProject_register_targets,freetype,\
 	build \
 ))
@@ -29,7 +33,6 @@ $(call gb_ExternalProject_get_state_target,freetype,build) :
 			--prefix=$(call gb_UnpackedTarball_get_dir,freetype/instdir) \
 			--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) \
 			CFLAGS="$(if $(debug),-g) $(gb_VISIBILITY_FLAGS)" \
-		&& chmod +x builds/unix/freetype-config \
 		&& $(MAKE) install \
 		&& touch $@	)
 endif
diff --git a/external/freetype/UnpackedTarball_freetype.mk b/external/freetype/UnpackedTarball_freetype.mk
index 769d39a..847ae6f 100644
--- a/external/freetype/UnpackedTarball_freetype.mk
+++ b/external/freetype/UnpackedTarball_freetype.mk
@@ -11,10 +11,8 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,freetype))
 
 $(eval $(call gb_UnpackedTarball_set_tarball,freetype,$(FREETYPE_TARBALL),,freetype))
 
-$(eval $(call gb_UnpackedTarball_set_patchlevel,freetype,3))
-
 $(eval $(call gb_UnpackedTarball_add_patches,freetype,\
-	external/freetype/freetype-2.4.8.patch \
+	external/freetype/freetype-2.6.5.patch.1 \
 	external/freetype/freetype-msvc-disable-sse2.patch.1 \
 ))
 
diff --git a/external/freetype/freetype-2.4.8.patch b/external/freetype/freetype-2.4.8.patch
deleted file mode 100644
index 9ae69a3..0000000
--- a/external/freetype/freetype-2.4.8.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- misc/build/freetype-2.4.8/builds/unix/configure
-+++ misc/build/freetype-2.4.8/builds/unix/configure
-@@ -3619,7 +3619,7 @@
- 
- if test "x$GCC" = xyes; then
-   XX_CFLAGS="-Wall"
--  XX_ANSIFLAGS="-pedantic -ansi"
-+  XX_ANSIFLAGS=
- else
-   case "$host" in
-   *-dec-osf*)
-@@ -10039,7 +10039,7 @@
- 	*Sun\ F*)			# Sun Fortran 8.3
- 	  tmp_sharedflag='-G' ;;
- 	esac
--	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags -o $lib'
- 
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
diff --git a/external/freetype/freetype-2.6.5.patch.1 b/external/freetype/freetype-2.6.5.patch.1
new file mode 100644
index 0000000..49f7702
--- /dev/null
+++ b/external/freetype/freetype-2.6.5.patch.1
@@ -0,0 +1,158 @@
+diff -up freetype/builds/unix/configure.dt freetype/builds/unix/configure
+--- freetype/builds/unix/configure.dt	2017-02-01 22:14:45.206257952 +0100
++++ freetype/builds/unix/configure	2017-02-01 22:16:31.076183707 +0100
+@@ -8858,7 +8858,7 @@ _LT_EOF
+       case $host_cpu in
+       powerpc)
+             # see comment about AmigaOS4 .so support
+-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
++            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $lib'
+             archive_expsym_cmds=''
+         ;;
+       m68k)
+@@ -8874,7 +8874,7 @@ _LT_EOF
+ 	allow_undefined_flag=unsupported
+ 	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+ 	# support --undefined.  This deserves some investigation.  FIXME
+-	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
++	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags -o $lib'
+       else
+ 	ld_shlibs=no
+       fi
+@@ -8908,7 +8908,7 @@ _LT_EOF
+       ;;
+ 
+     haiku*)
+-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
++      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $lib'
+       link_all_deplibs=yes
+       ;;
+ 
+@@ -9003,13 +9003,13 @@ _LT_EOF
+ 	*Sun\ F*)			# Sun Fortran 8.3
+ 	  tmp_sharedflag='-G' ;;
+ 	esac
+-	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
++	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags -o $lib'
+ 
+         if test yes = "$supports_anon_versioning"; then
+           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+             echo "local: *; };" >> $output_objdir/$libname.ver~
+-            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
++            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+         fi
+ 
+ 	case $cc_basename in
+@@ -9039,8 +9039,8 @@ _LT_EOF
+ 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ 	wlarc=
+       else
+-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags -o $lib'
++	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-retain-symbols-file $wl$export_symbols -o $lib'
+       fi
+       ;;
+ 
+@@ -9058,8 +9058,8 @@ _LT_EOF
+ 
+ _LT_EOF
+       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags -o $lib'
++	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-retain-symbols-file $wl$export_symbols -o $lib'
+       else
+ 	ld_shlibs=no
+       fi
+@@ -9087,8 +9087,8 @@ _LT_EOF
+ 	  # requires that you compile everything twice, which is a pain.
+ 	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ 	    hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+-	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+-	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $lib'
++	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ 	  else
+ 	    ld_shlibs=no
+ 	  fi
+@@ -9105,8 +9105,8 @@ _LT_EOF
+ 
+     *)
+       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+-	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags -o $lib'
++	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-retain-symbols-file $wl$export_symbols -o $lib'
+       else
+ 	ld_shlibs=no
+       fi
+@@ -9405,7 +9405,7 @@ fi
+       case $host_cpu in
+       powerpc)
+             # see comment about AmigaOS4 .so support
+-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
++            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $lib'
+             archive_expsym_cmds=''
+         ;;
+       m68k)
+@@ -9674,7 +9674,7 @@ fi
+ 
+     irix5* | irix6* | nonstopux*)
+       if test yes = "$GCC"; then
+-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
++	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ 	# Try to use the -exported_symbol ld option, if it does not
+ 	# work, assume that -exports_file does not work either and
+ 	# implicitly export all symbols.
+@@ -9702,7 +9702,7 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
+ 	if test yes = "$lt_cv_irix_exported_symbol"; then
+-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
++          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+ 	fi
+       else
+ 	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+@@ -9797,7 +9797,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >
+     osf3*)
+       if test yes = "$GCC"; then
+ 	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+-	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
++	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+       else
+ 	allow_undefined_flag=' -expect_unresolved \*'
+ 	archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+@@ -9810,7 +9810,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >
+     osf4* | osf5*)	# as osf3* with the addition of -msym flag
+       if test yes = "$GCC"; then
+ 	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+-	archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
++	archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ 	hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+       else
+ 	allow_undefined_flag=' -expect_unresolved \*'
+@@ -13143,10 +13143,10 @@ if test "x$GCC" = xyes; then
+   XX_CFLAGS="-Wall"
+   case "$host" in
+   *-*-mingw*)
+-    XX_ANSIFLAGS="-pedantic"
++    XX_ANSIFLAGS=""
+     ;;
+   *-*-aix*)
+-    XX_ANSIFLAGS="-pedantic"
++    XX_ANSIFLAGS=""
+     ;;
+   *)
+     GCC_VERSION=`$CC -dumpversion`
+@@ -13195,7 +13195,7 @@ _ACEOF
+ if ac_fn_c_try_compile "$LINENO"; then :
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok, add it to XX_ANSIFLAGS" >&5
+ $as_echo "ok, add it to XX_ANSIFLAGS" >&6; }
+-         XX_ANSIFLAGS="${XX_ANSIFLAGS} ${a}"
++         XX_ANSIFLAGS="${XX_ANSIFLAGS}"
+ 
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+diff -up freetype/configure.dt freetype/configure
diff --git a/external/freetype/freetype-msvc-disable-sse2.patch.1 b/external/freetype/freetype-msvc-disable-sse2.patch.1
index 2e4b440..ba6ff4f 100644
--- a/external/freetype/freetype-msvc-disable-sse2.patch.1
+++ b/external/freetype/freetype-msvc-disable-sse2.patch.1
@@ -1,26 +1,37 @@
---- freetype/builds/win32/vc2010/freetype.vcxproj.orig	2014-10-02 15:41:17.712900843 +0200
-+++ freetype/builds/win32/vc2010/freetype.vcxproj	2014-10-02 15:41:59.059897637 +0200
-@@ -105,6 +105,7 @@
-   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-     <ClCompile>
-       <Optimization>MaxSpeed</Optimization>
+diff -up freetype/builds/windows/vc2010/freetype.vcxproj.dt freetype/builds/windows/vc2010/freetype.vcxproj
+--- freetype/builds/windows/vc2010/freetype.vcxproj.dt	2017-02-01 22:49:01.394494374 +0100
++++ freetype/builds/windows/vc2010/freetype.vcxproj	2017-02-01 22:49:22.392286704 +0100
+@@ -392,7 +392,7 @@
+       <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+       <MultiProcessorCompilation>true</MultiProcessorCompilation>
+       <WholeProgramOptimization>false</WholeProgramOptimization>
+-      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
 +      <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
-       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-       <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-@@ -130,6 +131,7 @@
-   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">
-     <ClCompile>
-       <Optimization>MaxSpeed</Optimization>
+       <FloatingPointExceptions>false</FloatingPointExceptions>
+       <CreateHotpatchableImage>false</CreateHotpatchableImage>
+       <CompileAsManaged>false</CompileAsManaged>
+@@ -472,7 +472,7 @@
+       <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+       <MultiProcessorCompilation>true</MultiProcessorCompilation>
+       <WholeProgramOptimization>false</WholeProgramOptimization>
+-      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
 +      <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
-       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-       <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-@@ -155,6 +157,7 @@
-   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">
-     <ClCompile>
-       <Optimization>MaxSpeed</Optimization>
+       <FloatingPointExceptions>false</FloatingPointExceptions>
+       <CreateHotpatchableImage>false</CreateHotpatchableImage>
+       <RuntimeTypeInfo>false</RuntimeTypeInfo>
+@@ -554,7 +554,7 @@
+       <DisableSpecificWarnings>4001</DisableSpecificWarnings>
+       <MultiProcessorCompilation>true</MultiProcessorCompilation>
+       <WholeProgramOptimization>false</WholeProgramOptimization>
+-      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
 +      <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
-       <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-       <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-       <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+       <FloatingPointExceptions>false</FloatingPointExceptions>
+       <CreateHotpatchableImage>false</CreateHotpatchableImage>
+       <CompileAsManaged>false</CompileAsManaged>
+@@ -1715,4 +1715,4 @@
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+   <ImportGroup Label="ExtensionTargets">
+   </ImportGroup>
+-</Project>
+\ No newline at end of file
++</Project>


More information about the Libreoffice-commits mailing list